From 9c3be66b7eaa9da87f279f87022e267fd15c0695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rialland?= Date: Wed, 1 Feb 2023 21:32:20 +0100 Subject: [PATCH] Fix translation in "avec" --- site/source/locales/rules-en.yaml | 4 ++++ site/source/locales/translateRules.ts | 19 ++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/site/source/locales/rules-en.yaml b/site/source/locales/rules-en.yaml index 0bfd7bd9d..3fe9f3fb5 100644 --- a/site/source/locales/rules-en.yaml +++ b/site/source/locales/rules-en.yaml @@ -4129,6 +4129,10 @@ entreprise . catégorie juridique: entreprise . catégorie juridique . EI: titre.en: '[automatic] Sole proprietorship (including auto-entrepreneurs)' titre.fr: Entreprise individuelle (y compris auto-entrepreneurs) + avec: + auto-entrepreneur: + question.en: '[automatic] Are you an auto-entrepreneur?' + question.fr: Êtes-vous auto-entrepreneur ? entreprise . catégorie juridique . SARL: titre.en: '[automatic] EURL or SARL' titre.fr: EURL ou SARL diff --git a/site/source/locales/translateRules.ts b/site/source/locales/translateRules.ts index 0dd0e6181..6b887e5fa 100644 --- a/site/source/locales/translateRules.ts +++ b/site/source/locales/translateRules.ts @@ -1,6 +1,8 @@ import { Rule } from 'publicodes' -type Translation = Record +type Translation = Record & { + avec?: Record +} type translateAttribute = ( prop: string, rule: Rule, @@ -37,14 +39,25 @@ export const attributesToTranslate = [ ] const translateProp = - (lang: string, translation: Translation) => (rule: Rule, prop: string) => { + (lang: string, translation: Translation) => + (rule: Rule & { avec?: Record }, prop: string) => { if (prop === 'suggestions' && rule?.suggestions) { return translateSuggestion(prop, rule, translation, lang) } let propTrans = translation[prop + '.' + lang] propTrans = propTrans?.replace(/^\[automatic\] /, '') - return propTrans ? { ...rule, [prop]: propTrans } : rule + let avec + if ( + 'avec' in rule && + rule.avec && + 'avec' in translation && + translation.avec + ) { + avec = { avec: translateRules(lang, translation.avec, rule.avec) } + } + + return propTrans ? { ...rule, [prop]: propTrans, ...avec } : rule } function translateRule(