From 6c9ff57501499c5cba03bb5345494d061a015645 Mon Sep 17 00:00:00 2001 From: Matt Mayer Date: Wed, 8 Nov 2023 07:22:53 +0700 Subject: [PATCH 1/2] feat(person): add job titles for fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This uses the new job_title_pattern to add job titles with a logical order for French e.g. ``` Coordinateur en chef de la tactique Executif central des facteurs Stagiaire corporate des marchés ``` Due to the need to translate “of” in French to de, de la, des, du, etc depending on the number and gender of the noun, this is incorporated into the level definitions. The fr_BE and fe_CH definitions are deleted so the standard fr ones can fall through. --- src/locales/fr/person/index.ts | 2 + src/locales/fr/person/job_title_pattern.ts | 3 ++ src/locales/fr/person/title.ts | 58 ++++++++++++++++++++++ src/locales/fr_BE/person/index.ts | 2 - src/locales/fr_BE/person/title.ts | 22 -------- src/locales/fr_CH/person/index.ts | 2 - src/locales/fr_CH/person/title.ts | 22 -------- test/all-functional.spec.ts | 6 +-- 8 files changed, 66 insertions(+), 51 deletions(-) create mode 100644 src/locales/fr/person/job_title_pattern.ts delete mode 100644 src/locales/fr_BE/person/title.ts delete mode 100644 src/locales/fr_CH/person/title.ts diff --git a/src/locales/fr/person/index.ts b/src/locales/fr/person/index.ts index fd7e10d16df..72bc6c44489 100644 --- a/src/locales/fr/person/index.ts +++ b/src/locales/fr/person/index.ts @@ -6,6 +6,7 @@ import type { PersonDefinition } from '../../..'; import female_first_name from './female_first_name'; import female_prefix from './female_prefix'; import first_name from './first_name'; +import job_title_pattern from './job_title_pattern'; import last_name from './last_name'; import last_name_pattern from './last_name_pattern'; import male_first_name from './male_first_name'; @@ -19,6 +20,7 @@ const person: PersonDefinition = { female_first_name, female_prefix, first_name, + job_title_pattern, last_name, last_name_pattern, male_first_name, diff --git a/src/locales/fr/person/job_title_pattern.ts b/src/locales/fr/person/job_title_pattern.ts new file mode 100644 index 00000000000..188c182527a --- /dev/null +++ b/src/locales/fr/person/job_title_pattern.ts @@ -0,0 +1,3 @@ +export default [ + '{{person.jobType}} {{person.jobDescriptor}} {{person.jobArea}}', +]; diff --git a/src/locales/fr/person/title.ts b/src/locales/fr/person/title.ts index 85f235ff3c2..8b75afceeab 100644 --- a/src/locales/fr/person/title.ts +++ b/src/locales/fr/person/title.ts @@ -19,4 +19,62 @@ export default { 'Agent', 'Stagiaire', ], + descriptor: [ + 'avant', + 'central', + 'client', + 'corporate', + 'direct', + 'en chef', + 'futur', + 'hérité', + 'humain', + 'international', + 'interne', + 'investisseur', + 'mondial', + 'national', + 'principal', + 'produit', + 'régional', + ], + level: [ + 'de configuration', + 'de division', + 'de groupe', + 'de la communication', + 'de la création', + 'de la marque', + 'de la mise en œuvre', + 'de la mobilité', + 'de la qualité', + 'de la réponse', + 'de la responsabilité', + 'de la sécurité', + 'de la tactique', + 'de marque', + 'de paradigme', + 'de programme', + 'de recherche', + 'des applications', + 'des comptes', + 'des directives', + 'des données', + 'des facteurs', + 'des fonctionnalités', + 'des infrastructures', + 'des interactions', + 'des marchés', + 'des métriques', + 'des opérations', + 'des solutions', + 'du marketing', + 'du web', + "de l'assurance", + "de l'identité", + "de l'intégration", + "de l'intranet", + "de l'optimisation", + "de l'utilisabilité", + ], }; diff --git a/src/locales/fr_BE/person/index.ts b/src/locales/fr_BE/person/index.ts index d502ed7890f..7e9203dc3c3 100644 --- a/src/locales/fr_BE/person/index.ts +++ b/src/locales/fr_BE/person/index.ts @@ -14,7 +14,6 @@ import male_prefix from './male_prefix'; import name_ from './name'; import prefix from './prefix'; import suffix from './suffix'; -import title from './title'; const person: PersonDefinition = { female_first_name, @@ -28,7 +27,6 @@ const person: PersonDefinition = { name: name_, prefix, suffix, - title, }; export default person; diff --git a/src/locales/fr_BE/person/title.ts b/src/locales/fr_BE/person/title.ts deleted file mode 100644 index 85f235ff3c2..00000000000 --- a/src/locales/fr_BE/person/title.ts +++ /dev/null @@ -1,22 +0,0 @@ -export default { - job: [ - 'Superviseur', - 'Executif', - 'Manager', - 'Ingenieur', - 'Specialiste', - 'Directeur', - 'Coordinateur', - 'Administrateur', - 'Architecte', - 'Analyste', - 'Designer', - 'Technicien', - 'Developpeur', - 'Producteur', - 'Consultant', - 'Assistant', - 'Agent', - 'Stagiaire', - ], -}; diff --git a/src/locales/fr_CH/person/index.ts b/src/locales/fr_CH/person/index.ts index fd7e10d16df..e1e0ae596ae 100644 --- a/src/locales/fr_CH/person/index.ts +++ b/src/locales/fr_CH/person/index.ts @@ -13,7 +13,6 @@ import male_prefix from './male_prefix'; import name_ from './name'; import prefix from './prefix'; import sex from './sex'; -import title from './title'; const person: PersonDefinition = { female_first_name, @@ -26,7 +25,6 @@ const person: PersonDefinition = { name: name_, prefix, sex, - title, }; export default person; diff --git a/src/locales/fr_CH/person/title.ts b/src/locales/fr_CH/person/title.ts deleted file mode 100644 index 85f235ff3c2..00000000000 --- a/src/locales/fr_CH/person/title.ts +++ /dev/null @@ -1,22 +0,0 @@ -export default { - job: [ - 'Superviseur', - 'Executif', - 'Manager', - 'Ingenieur', - 'Specialiste', - 'Directeur', - 'Coordinateur', - 'Administrateur', - 'Architecte', - 'Analyste', - 'Designer', - 'Technicien', - 'Developpeur', - 'Producteur', - 'Consultant', - 'Assistant', - 'Agent', - 'Stagiaire', - ], -}; diff --git a/test/all-functional.spec.ts b/test/all-functional.spec.ts index 4b822175be2..ce58ee64b92 100644 --- a/test/all-functional.spec.ts +++ b/test/all-functional.spec.ts @@ -67,9 +67,9 @@ const BROKEN_LOCALE_METHODS = { person: { prefix: ['az', 'id_ID', 'ru', 'zh_CN', 'zh_TW'], suffix: ['az', 'it', 'mk', 'pt_PT', 'ro_MD', 'ru'], - jobArea: ['ar', 'fr', 'fr_BE', 'fr_CA', 'fr_CH', 'fr_LU', 'fr_SN'], - jobDescriptor: ['ar', 'fr', 'fr_BE', 'fr_CA', 'fr_CH', 'fr_LU', 'fr_SN'], - jobTitle: ['ar', 'fr', 'fr_BE', 'fr_CA', 'fr_CH', 'fr_LU', 'ur', 'fr_SN'], + jobArea: ['ar'], + jobDescriptor: ['ar'], + jobTitle: ['ar', 'ur'], jobType: ['ur'], }, } satisfies { From e290574f0fe80cad34784c1e7298152b25f5e4e9 Mon Sep 17 00:00:00 2001 From: Matt Mayer Date: Fri, 10 Nov 2023 10:22:34 +0700 Subject: [PATCH 2/2] apply review suggestions --- src/locales/fr/person/job_title_pattern.ts | 2 +- src/locales/fr/person/title.ts | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/locales/fr/person/job_title_pattern.ts b/src/locales/fr/person/job_title_pattern.ts index 188c182527a..17051bdfafe 100644 --- a/src/locales/fr/person/job_title_pattern.ts +++ b/src/locales/fr/person/job_title_pattern.ts @@ -1,3 +1,3 @@ export default [ - '{{person.jobType}} {{person.jobDescriptor}} {{person.jobArea}}', + '{{person.jobType}} {{person.jobArea}} {{person.jobDescriptor}}', ]; diff --git a/src/locales/fr/person/title.ts b/src/locales/fr/person/title.ts index 8b75afceeab..9a657e9a356 100644 --- a/src/locales/fr/person/title.ts +++ b/src/locales/fr/person/title.ts @@ -20,22 +20,16 @@ export default { 'Stagiaire', ], descriptor: [ - 'avant', 'central', 'client', - 'corporate', 'direct', - 'en chef', 'futur', - 'hérité', 'humain', 'international', 'interne', - 'investisseur', 'mondial', 'national', 'principal', - 'produit', 'régional', ], level: [