More progress on translations (#9951)
This commit is contained in:
@ -2,14 +2,31 @@ import { Injectable, OnModuleInit } from '@nestjs/common';
|
||||
|
||||
import { i18n } from '@lingui/core';
|
||||
|
||||
import { messages as enMessages } from 'src/engine/core-modules/i18n/locales/generated/en.js';
|
||||
import { messages as frMessages } from 'src/engine/core-modules/i18n/locales/generated/fr.js';
|
||||
|
||||
import { messages as deMessages } from 'src/engine/core-modules/i18n/locales/generated/de';
|
||||
import { messages as enMessages } from 'src/engine/core-modules/i18n/locales/generated/en';
|
||||
import { messages as esMessages } from 'src/engine/core-modules/i18n/locales/generated/es';
|
||||
import { messages as frMessages } from 'src/engine/core-modules/i18n/locales/generated/fr';
|
||||
import { messages as itMessages } from 'src/engine/core-modules/i18n/locales/generated/it';
|
||||
import { messages as koMessages } from 'src/engine/core-modules/i18n/locales/generated/ko';
|
||||
import { messages as pseudoEnMessages } from 'src/engine/core-modules/i18n/locales/generated/pseudo-en';
|
||||
import { messages as ptBRMessages } from 'src/engine/core-modules/i18n/locales/generated/pt-BR';
|
||||
import { messages as ptPTMessages } from 'src/engine/core-modules/i18n/locales/generated/pt-PT';
|
||||
import { messages as zhHansMessages } from 'src/engine/core-modules/i18n/locales/generated/zh-Hans';
|
||||
import { messages as zhHantMessages } from 'src/engine/core-modules/i18n/locales/generated/zh-Hant';
|
||||
@Injectable()
|
||||
export class I18nService implements OnModuleInit {
|
||||
async onModuleInit() {
|
||||
i18n.load('fr', frMessages);
|
||||
i18n.load('en', enMessages);
|
||||
i18n.load('fr', frMessages);
|
||||
i18n.load('pseudo-en', pseudoEnMessages);
|
||||
i18n.load('ko', koMessages);
|
||||
i18n.load('de', deMessages);
|
||||
i18n.load('it', itMessages);
|
||||
i18n.load('es', esMessages);
|
||||
i18n.load('pt-PT', ptPTMessages);
|
||||
i18n.load('pt-BR', ptBRMessages);
|
||||
i18n.load('zh-Hans', zhHansMessages);
|
||||
i18n.load('zh-Hant', zhHantMessages);
|
||||
|
||||
i18n.activate('en');
|
||||
}
|
||||
|
||||
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/de.po
Normal file
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/de.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/es.po
Normal file
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/es.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/it.po
Normal file
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/it.po
Normal file
File diff suppressed because it is too large
Load Diff
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/ko.po
Normal file
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/ko.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/pt-br.po
Normal file
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/pt-br.po
Normal file
File diff suppressed because it is too large
Load Diff
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/pt-pt.po
Normal file
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/pt-pt.po
Normal file
File diff suppressed because it is too large
Load Diff
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/pt.po
Normal file
2236
packages/twenty-server/src/engine/core-modules/i18n/locales/pt.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,9 @@
|
||||
import { APP_LOCALES } from 'twenty-shared';
|
||||
|
||||
export type I18nContext = {
|
||||
req: {
|
||||
headers: {
|
||||
'x-locale': string | undefined;
|
||||
'x-locale': (typeof APP_LOCALES)[keyof typeof APP_LOCALES] | undefined;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -5,6 +5,7 @@ import { i18n } from '@lingui/core';
|
||||
import { Query, QueryOptions } from '@ptc-org/nestjs-query-core';
|
||||
import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm';
|
||||
import { isDefined } from 'class-validator';
|
||||
import { APP_LOCALES } from 'twenty-shared';
|
||||
import { FindManyOptions, FindOneOptions, In, Not, Repository } from 'typeorm';
|
||||
|
||||
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||
@ -538,7 +539,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
async resolveTranslatableString(
|
||||
objectMetadata: ObjectMetadataDTO,
|
||||
labelKey: 'labelPlural' | 'labelSingular' | 'description',
|
||||
locale: string | undefined,
|
||||
locale: keyof typeof APP_LOCALES | undefined,
|
||||
): Promise<string> {
|
||||
if (objectMetadata.isCustom) {
|
||||
return objectMetadata[labelKey];
|
||||
@ -548,6 +549,8 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
return objectMetadata[labelKey];
|
||||
}
|
||||
|
||||
i18n.activate(locale);
|
||||
|
||||
const messageId = generateMessageId(objectMetadata[labelKey] ?? '');
|
||||
const translatedMessage = i18n._(messageId);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user