Compare commits

...
Author SHA1 Message Date
sonarly-bot 71c74bec43 fix: stop translating non-localizable metadata icon keys
Authored via Sonarly Slack mention (run 42719).
2026-05-13 02:26:02 +00:00
4 changed files with 42 additions and 4 deletions
@@ -1,4 +1,4 @@
import { Injectable, type OnModuleInit } from '@nestjs/common';
import { Injectable, Logger, type OnModuleInit } from '@nestjs/common';
import {
type I18n,
@@ -42,6 +42,8 @@ import { messages as zhHantMessages } from 'src/engine/core-modules/i18n/locales
@Injectable()
export class I18nService implements OnModuleInit {
private readonly logger = new Logger(I18nService.name);
private i18nInstancesMap: Record<keyof typeof APP_LOCALES, I18n> =
{} as Record<keyof typeof APP_LOCALES, I18n>;
@@ -83,7 +85,15 @@ export class I18nService implements OnModuleInit {
(
Object.entries(messagesByLocale) as [keyof typeof APP_LOCALES, Messages][]
).forEach(([locale, messages]) => {
const localeI18n = setupI18n();
const localeI18n = setupI18n({
missing: (missingLocale, messageId) => {
this.logger.debug(
`Missing compiled translation message for locale ${missingLocale}: ${messageId}`,
);
return messageId;
},
});
localeI18n.load(locale, messages);
localeI18n.activate(locale);
@@ -99,6 +99,29 @@ describe('resolveFieldMetadataStandardOverride', () => {
);
expect(result).toBe('override-icon');
expect(mockGenerateMessageId).not.toHaveBeenCalled();
expect(mockI18n._).not.toHaveBeenCalled();
});
it('should return original icon without trying to translate it when override is missing', () => {
const fieldMetadata = {
label: 'Standard Label',
description: 'Standard Description',
icon: 'default-icon',
isCustom: false,
standardOverrides: {},
};
const result = resolveFieldMetadataStandardOverride(
fieldMetadata,
'icon',
'fr-FR',
mockI18n,
);
expect(result).toBe('default-icon');
expect(mockGenerateMessageId).not.toHaveBeenCalled();
expect(mockI18n._).not.toHaveBeenCalled();
});
});
@@ -22,8 +22,12 @@ export const resolveFieldMetadataStandardOverride = (
return fieldMetadata[labelKey] ?? '';
}
if (labelKey === 'icon' && isDefined(fieldMetadata.standardOverrides?.icon)) {
return fieldMetadata.standardOverrides.icon;
if (labelKey === 'icon') {
if (isDefined(fieldMetadata.standardOverrides?.icon)) {
return fieldMetadata.standardOverrides.icon;
}
return fieldMetadata.icon ?? '';
}
if (
+1
View File
@@ -0,0 +1 @@
hello