diff --git a/generators/angular/entity-files-angular.mts b/generators/angular/entity-files-angular.mts index 8d88e4a8ff41..85255713efad 100644 --- a/generators/angular/entity-files-angular.mts +++ b/generators/angular/entity-files-angular.mts @@ -60,16 +60,11 @@ export const angularFiles = { ], }; -export async function writeEntitiesFiles( - this: CoreGenerator, - { application, entities, control }: GeneratorDefinition['writingEntitiesTaskParam'], -) { - await control.loadClientTranslations?.(); - +export async function writeEntitiesFiles(this: CoreGenerator, { application, entities }: GeneratorDefinition['writingEntitiesTaskParam']) { for (const entity of entities.filter(entity => !entity.skipClient && !entity.builtIn)) { await this.writeFiles({ sections: angularFiles, - context: { ...application, ...entity, getWebappTranslation: control.getWebappTranslation }, + context: { ...application, ...entity }, }); } } diff --git a/generators/angular/files-angular.mjs b/generators/angular/files-angular.mjs index 59631734a9d6..325da262da98 100644 --- a/generators/angular/files-angular.mjs +++ b/generators/angular/files-angular.mjs @@ -464,16 +464,11 @@ export const files = { ], }; -export async function writeFiles({ application, control }) { +export async function writeFiles({ application }) { if (!application.clientFrameworkAngular) return; - await control.loadClientTranslations?.(); - await this.writeFiles({ sections: files, - context: { - ...application, - getWebappTranslation: control.getWebappTranslation, - }, + context: application, }); } diff --git a/generators/angular/generator.spec.mts b/generators/angular/generator.spec.mts index 77f8ec489bbb..fc257775a446 100644 --- a/generators/angular/generator.spec.mts +++ b/generators/angular/generator.spec.mts @@ -13,7 +13,6 @@ import { shouldSupportFeatures, testBlueprintSupport } from '../../test/support/ import Generator from './index.mjs'; import { clientFrameworkTypes } from '../../jdl/jhipster/index.mjs'; import { CLIENT_MAIN_SRC_DIR } from '../generator-constants.mjs'; -import BaseApplicationGenerator from '../base-application/index.mjs'; import { GENERATOR_ANGULAR } from '../generator-list.mjs'; const { snakeCase } = lodash; @@ -77,16 +76,6 @@ const clientAdminFiles = clientSrcDir => [ `${clientSrcDir}app/admin/metrics/metrics.service.spec.ts`, ]; -class MockedLanguagesGenerator extends BaseApplicationGenerator { - get [BaseApplicationGenerator.PREPARING]() { - return { - mockTranslations({ control }) { - control.getWebappTranslation = () => 'translations'; - }, - }; - } -} - describe(`generator - ${clientFramework}`, () => { it('generator-list constant matches folder name', async () => { await expect((await import('../generator-list.mjs'))[`GENERATOR_${snakeCase(generator).toUpperCase()}`]).toBe(generator); @@ -108,8 +97,8 @@ describe(`generator - ${clientFramework}`, () => { runResult = await helpers .run(generatorFile) .withJHipsterConfig(sampleConfig, entities) - .withGenerators([[MockedLanguagesGenerator, 'jhipster:languages']]) - .withMockedGenerators(['jhipster:common']); + .withControl({ getWebappTranslation: () => 'translations' }) + .withMockedGenerators(['jhipster:common', 'jhipster:languages']); }); after(() => runResult.cleanup()); diff --git a/generators/angular/support/translate-angular.mjs b/generators/angular/support/translate-angular.mjs index 6cf2cba5de2e..e2c4226af01f 100644 --- a/generators/angular/support/translate-angular.mjs +++ b/generators/angular/support/translate-angular.mjs @@ -105,7 +105,7 @@ function replaceErrorMessage(getWebappTranslation, content) { * @this {import('../generator-base.js')} */ export const createTranslationReplacer = (getWebappTranslation, enableTranslation) => { - const htmlJhiTranslateReplacer = createJhiTransformTranslateReplacer(getWebappTranslation, { escapeHtml: true }); + const htmlJhiTranslateReplacer = createJhiTransformTranslateReplacer(getWebappTranslation); const htmlJhiTranslateStringifyReplacer = createJhiTransformTranslateStringifyReplacer(getWebappTranslation); return function replaceAngularTranslations(content, filePath) { if (/\.html$/.test(filePath)) { @@ -116,6 +116,10 @@ export const createTranslationReplacer = (getWebappTranslation, enableTranslatio content = htmlJhiTranslateReplacer(content); content = htmlJhiTranslateStringifyReplacer(content); } + if (/\.ts$/.test(filePath)) { + content = htmlJhiTranslateReplacer(content); + content = htmlJhiTranslateStringifyReplacer(content); + } if (!enableTranslation) { if (/(:?route|module)\.ts$/.test(filePath)) { content = replacePageTitles(getWebappTranslation, content); @@ -128,7 +132,7 @@ export const createTranslationReplacer = (getWebappTranslation, enableTranslatio }; }; -const minimatch = new Minimatch('**/*{.html,.route.ts,.module.ts}'); +const minimatch = new Minimatch('**/*{.html,.component.ts,.route.ts,.module.ts}'); export const isTranslatedAngularFile = file => minimatch.match(file.path); const translateAngularFilesTransform = (getWebappTranslation, enableTranslation) => { diff --git a/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs b/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs index c3a422aaa26a..4d00407e5382 100644 --- a/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +++ b/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs @@ -19,7 +19,7 @@
-

Translate="password.title" [translateValues]="{ username: account.login }">__jhiTransformTranslate__('password.title', { username: '{{ account.login }}' })

+

Translate="password.title" [translateValues]="{ username: account.login }">__jhiTransformTranslate__('password.title', { "username": "{{ account.login }}" })

Translate="password.messages.success">__jhiTransformTranslate__('password.messages.success')
diff --git a/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs b/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs index 823d82c662d4..c895e29aeb01 100644 --- a/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +++ b/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs @@ -17,7 +17,7 @@ limitations under the License. -%>
-

Translate="sessions.title" [translateValues]="{ username: account.login }" *ngIf="account">__jhiTransformTranslate__('sessions.title', { username: '{{ account.login }}' })

+

Translate="sessions.title" [translateValues]="{ username: account.login }" *ngIf="account">__jhiTransformTranslate__('sessions.title', { "username": "{{ account.login }}" })

Translate="sessions.messages.success">__jhiTransformTranslate__('sessions.messages.success')
diff --git a/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs b/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs index dcb795ac6c27..e10391ddb4d2 100644 --- a/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +++ b/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs @@ -19,7 +19,7 @@
-

Translate="settings.title" [translateValues]="{ username: settingsForm.value.login }" *ngIf="settingsForm.value.login">__jhiTransformTranslate__('settings.title', { username: '{{ settingsForm.value.login }}' })

+

Translate="settings.title" [translateValues]="{ username: settingsForm.value.login }" *ngIf="settingsForm.value.login">__jhiTransformTranslate__('settings.title', { "username": "{{ settingsForm.value.login }}" })

Translate="settings.messages.success">__jhiTransformTranslate__('settings.messages.success')
diff --git a/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs b/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs index b1b200815f15..9fa979d5da2a 100644 --- a/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +++ b/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs @@ -34,7 +34,7 @@
-

Translate="logs.nbloggers" [translateValues]="{ total: loggers.length }">__jhiTransformTranslate__('logs.nbloggers', { total: '{{ loggers.length }}' })

+

Translate="logs.nbloggers" [translateValues]="{ total: loggers.length }">__jhiTransformTranslate__('logs.nbloggers', { "total": "{{ loggers.length }}" })

Translate="logs.filter">__jhiTransformTranslate__('logs.filter') diff --git a/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs b/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs index 045ba1c4225e..ba515f5706b1 100644 --- a/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +++ b/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs @@ -26,7 +26,7 @@
@@ -78,7 +78,7 @@ *ngIf="editForm.get('lastName')?.errors?.maxlength" <%= jhiPrefix %>Translate="entity.validation.maxlength" [translateValues]="{ max: 50 }" - >__jhiTransformTranslate__('entity.validation.maxlength', { max: '50' }) + >__jhiTransformTranslate__('entity.validation.maxlength', { "max": 50 })
@@ -98,14 +98,14 @@ *ngIf="editForm.get('email')?.errors?.maxlength" <%= jhiPrefix %>Translate="entity.validation.maxlength" [translateValues]="{ max: 100 }" - >__jhiTransformTranslate__('entity.validation.maxlength', { max: '100' }) + >__jhiTransformTranslate__('entity.validation.maxlength', { "max": 100 }) Translate="entity.validation.minlength" [translateValues]="{ min: 5 }" - >__jhiTransformTranslate__('entity.validation.minlength', { min: '5' }) + >__jhiTransformTranslate__('entity.validation.minlength', { "min": 5 }) <<%= jhiPrefixDashed %>-alert-error>-alert-error> -

Translate="<%= i18nKeyPrefix %>.delete.question" [translateValues]="{ id: <%= entityInstance %>.<%= primaryKey.name %> }">__jhiTransformTranslate__(i18nKeyPrefix + '.delete.question', { id: '{{ ' + entityInstance + '.' + primaryKey.name + ' }}' })

+

Translate="<%= i18nKeyPrefix %>.delete.question" [translateValues]="{ id: <%= entityInstance %>.<%= primaryKey.name %> }">__jhiTransformTranslate__('<%- i18nKeyPrefix %>.delete.question', { "id": "{{ <%- entityInstance%>.<%- primaryKey.name%> }}" })