diff --git a/src/languages/de.ts b/src/languages/de.ts index 3ec3426e561a..4f2cd08c8e5f 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -91,6 +91,7 @@ import type { DeleteTransactionParams, DemotedFromWorkspaceParams, DidSplitAmountMessageParams, + DomainPermissionInfoRestrictionParams, DuplicateTransactionParams, EarlyDiscountSubtitleParams, EarlyDiscountTitleParams, @@ -3349,11 +3350,9 @@ const translations = { }, domainPermissionInfo: { title: 'Domain', - restrictionPrefix: `Sie haben keine Berechtigung, Expensify Travel für die Domain zu aktivieren.`, - restrictionSuffix: `Sie müssen stattdessen jemanden aus dieser Domäne bitten, Reisen zu aktivieren.`, - accountantInvitationPrefix: `Wenn Sie Buchhalter sind, sollten Sie dem`, - accountantInvitationLink: `ExpensifyApproved! Buchhalterprogramm`, - accountantInvitationSuffix: `um Reisen für diese Domain zu ermöglichen.`, + restriction: ({domain}: DomainPermissionInfoRestrictionParams) => + `Sie haben nicht die Berechtigung, Expensify Travel für die Domain ${domain}zu aktivieren. Sie müssen jemanden von dieser Domain bitten, stattdessen Reisen zu aktivieren.`, + accountantInvitation: `Wenn Sie Buchhalter sind, sollten Sie sich für das ExpensifyApproved!-Buchhalterprogramm anmelden, um Reisen für diesen Bereich zu ermöglichen.`, }, publicDomainError: { title: 'Erste Schritte mit Expensify Travel', diff --git a/src/languages/en.ts b/src/languages/en.ts index 575bc96c876c..5662cfeba4a9 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -80,6 +80,7 @@ import type { DeleteTransactionParams, DemotedFromWorkspaceParams, DidSplitAmountMessageParams, + DomainPermissionInfoRestrictionParams, DuplicateTransactionParams, EarlyDiscountSubtitleParams, EarlyDiscountTitleParams, @@ -3347,11 +3348,9 @@ const translations = { }, domainPermissionInfo: { title: 'Domain', - restrictionPrefix: `You don't have permission to enable Expensify Travel for the domain`, - restrictionSuffix: `You'll need to ask someone from that domain to enable travel instead.`, - accountantInvitationPrefix: `If you're an accountant, consider joining the`, - accountantInvitationLink: `ExpensifyApproved! accountants program`, - accountantInvitationSuffix: `to enable travel for this domain.`, + restriction: ({domain}: DomainPermissionInfoRestrictionParams) => + `You don't have permission to enable Expensify Travel for the domain ${domain}. You'll need to ask someone from that domain to enable travel instead.`, + accountantInvitation: `If you're an accountant, consider joining the ExpensifyApproved! accountants program to enable travel for this domain.`, }, publicDomainError: { title: 'Get started with Expensify Travel', diff --git a/src/languages/es.ts b/src/languages/es.ts index 8b2a86ac2405..3bde5fdcaf06 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -78,6 +78,7 @@ import type { DeleteTransactionParams, DemotedFromWorkspaceParams, DidSplitAmountMessageParams, + DomainPermissionInfoRestrictionParams, DuplicateTransactionParams, EarlyDiscountSubtitleParams, EarlyDiscountTitleParams, @@ -3335,11 +3336,9 @@ const translations = { }, domainPermissionInfo: { title: 'Dominio', - restrictionPrefix: `No tienes permiso para habilitar Expensify Travel para el dominio`, - restrictionSuffix: `Tendrás que pedir a alguien de ese dominio que habilite Travel por ti.`, - accountantInvitationPrefix: `Si eres contador, considera unirte al`, - accountantInvitationLink: `programa de contadores ExpensifyApproved!`, - accountantInvitationSuffix: `para habilitar Travel para este dominio.`, + restriction: ({domain}: DomainPermissionInfoRestrictionParams) => + `No tienes permiso para habilitar Expensify Travel para el dominio ${domain}. Tendrás que pedir a alguien de ese dominio que habilite Travel por ti.`, + accountantInvitation: `Si eres contador, considera unirte al programa de contadores ExpensifyApproved! para habilitar Travel para este dominio.`, }, publicDomainError: { title: 'Comienza con Expensify Travel', diff --git a/src/languages/fr.ts b/src/languages/fr.ts index 60e2525b165d..28c41102c15b 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -91,6 +91,7 @@ import type { DeleteTransactionParams, DemotedFromWorkspaceParams, DidSplitAmountMessageParams, + DomainPermissionInfoRestrictionParams, DuplicateTransactionParams, EarlyDiscountSubtitleParams, EarlyDiscountTitleParams, @@ -3357,11 +3358,9 @@ const translations = { }, domainPermissionInfo: { title: 'Domaine', - restrictionPrefix: `Vous n'avez pas la permission d'activer Expensify Travel pour le domaine.`, - restrictionSuffix: `Vous devrez demander à quelqu'un de ce domaine d'activer le voyage à la place.`, - accountantInvitationPrefix: `Si vous êtes comptable, envisagez de rejoindre le`, - accountantInvitationLink: `Programme ExpensifyApproved! pour comptables`, - accountantInvitationSuffix: `pour activer les voyages pour ce domaine.`, + restriction: ({domain}: DomainPermissionInfoRestrictionParams) => + `Vous n'avez pas l'autorisation d'activer Expensify Travel pour le domaine ${domain}. Vous devrez demander à quelqu'un de ce domaine d'activer Travel à votre place.`, + accountantInvitation: `Si vous êtes comptable, pensez à rejoindre le programme ExpensifyApproved! pour les comptables afin d'activer les déplacements pour ce domaine.`, }, publicDomainError: { title: 'Commencez avec Expensify Travel', diff --git a/src/languages/it.ts b/src/languages/it.ts index 1675d1377b8a..e52c99c1dba9 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -91,6 +91,7 @@ import type { DeleteTransactionParams, DemotedFromWorkspaceParams, DidSplitAmountMessageParams, + DomainPermissionInfoRestrictionParams, DuplicateTransactionParams, EarlyDiscountSubtitleParams, EarlyDiscountTitleParams, @@ -3363,11 +3364,9 @@ const translations = { }, domainPermissionInfo: { title: 'Dominio', - restrictionPrefix: `Non hai il permesso di abilitare Expensify Travel per il dominio`, - restrictionSuffix: `Dovrai chiedere a qualcuno di quel dominio di abilitare i viaggi invece.`, - accountantInvitationPrefix: `Se sei un contabile, considera di unirti al`, - accountantInvitationLink: `Programma per contabili ExpensifyApproved!`, - accountantInvitationSuffix: `abilitare i viaggi per questo dominio.`, + restriction: ({domain}: DomainPermissionInfoRestrictionParams) => + `Non hai l'autorizzazione per abilitare Expensify Travel per il dominio ${domain}. Dovrai chiedere a qualcuno di quel dominio di abilitare invece Travel.`, + accountantInvitation: `Se sei un commercialista, valuta la possibilità di aderire al programma ExpensifyApproved! per commercialisti per abilitare i viaggi per questo dominio.`, }, publicDomainError: { title: 'Inizia con Expensify Travel', diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 4314fc1ced72..7ca4df63eed5 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -91,6 +91,7 @@ import type { DeleteTransactionParams, DemotedFromWorkspaceParams, DidSplitAmountMessageParams, + DomainPermissionInfoRestrictionParams, DuplicateTransactionParams, EarlyDiscountSubtitleParams, EarlyDiscountTitleParams, @@ -3365,11 +3366,9 @@ const translations = { }, domainPermissionInfo: { title: 'ドメイン', - restrictionPrefix: `このドメインに対してExpensify Travelを有効にする権限がありません。`, - restrictionSuffix: `そのドメインの担当者に、代わりにトラベルを有効にするよう依頼してください。`, - accountantInvitationPrefix: `会計士の方は、ぜひこちらに参加してください`, - accountantInvitationLink: `ExpensifyApproved! accountants program`, - accountantInvitationSuffix: `このドメインで旅行を有効にするために。`, + restriction: ({domain}: DomainPermissionInfoRestrictionParams) => + `Y${domain} ドメインで Expensify Travel を有効にする権限がありません。そのドメインの担当者の方に、代わりに旅行機能を有効にしてもらう必要があります。`, + accountantInvitation: `会計士の方で、このドメインでの出張を可能にするため、ExpensifyApproved! 会計士プログラムへの参加をご検討ください。`, }, publicDomainError: { title: 'Expensify Travelを始めましょう', diff --git a/src/languages/nl.ts b/src/languages/nl.ts index edd95838d9ca..c0c9a1b4bc20 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -91,6 +91,7 @@ import type { DeleteTransactionParams, DemotedFromWorkspaceParams, DidSplitAmountMessageParams, + DomainPermissionInfoRestrictionParams, DuplicateTransactionParams, EarlyDiscountSubtitleParams, EarlyDiscountTitleParams, @@ -3369,11 +3370,9 @@ const translations = { }, domainPermissionInfo: { title: 'Domein', - restrictionPrefix: `Je hebt geen toestemming om Expensify Travel voor het domein in te schakelen.`, - restrictionSuffix: `Je zult iemand uit dat domein moeten vragen om in plaats daarvan reizen in te schakelen.`, - accountantInvitationPrefix: `Als je een accountant bent, overweeg dan lid te worden van de`, - accountantInvitationLink: `ExpensifyApproved! accountants programma`, - accountantInvitationSuffix: `om reizen voor dit domein in te schakelen.`, + restriction: ({domain}: DomainPermissionInfoRestrictionParams) => + `Je hebt geen toestemming om Expensify Travel in te schakelen voor het domein ${domain}. Je moet iemand van dat domein vragen om Travel in te schakelen.`, + accountantInvitation: `Als u accountant bent, overweeg dan om lid te worden van het ExpensifyApproved! accountantsprogramma om reizen voor dit domein mogelijk te maken.`, }, publicDomainError: { title: 'Aan de slag met Expensify Travel', diff --git a/src/languages/params.ts b/src/languages/params.ts index 69728285ad95..0a6b4b8a992b 100644 --- a/src/languages/params.ts +++ b/src/languages/params.ts @@ -849,6 +849,10 @@ type MergeFailureDescriptionGenericParams = { email: string; }; +type DomainPermissionInfoRestrictionParams = { + domain: string; +}; + type SubmittedWithMemoParams = { memo?: string; }; @@ -1142,5 +1146,6 @@ export type { MergeSuccessDescriptionParams, MergeFailureUncreatedAccountDescriptionParams, MergeFailureDescriptionGenericParams, + DomainPermissionInfoRestrictionParams, SubmittedWithMemoParams, }; diff --git a/src/languages/pl.ts b/src/languages/pl.ts index 898a709b4bd4..9979798f6b9b 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -91,6 +91,7 @@ import type { DeleteTransactionParams, DemotedFromWorkspaceParams, DidSplitAmountMessageParams, + DomainPermissionInfoRestrictionParams, DuplicateTransactionParams, EarlyDiscountSubtitleParams, EarlyDiscountTitleParams, @@ -3363,11 +3364,9 @@ const translations = { }, domainPermissionInfo: { title: 'Domena', - restrictionPrefix: `Nie masz uprawnień do włączenia Expensify Travel dla tej domeny.`, - restrictionSuffix: `Będziesz musiał poprosić kogoś z tej domeny o włączenie podróży.`, - accountantInvitationPrefix: `Jeśli jesteś księgowym, rozważ dołączenie do`, - accountantInvitationLink: `Program dla księgowych ExpensifyApproved!`, - accountantInvitationSuffix: `aby włączyć podróże dla tej domeny.`, + restriction: ({domain}: DomainPermissionInfoRestrictionParams) => + `Nie masz uprawnień do włączenia Expensify Travel dla domeny ${domain}. Musisz poprosić kogoś z tej domeny o włączenie funkcji podróży.`, + accountantInvitation: `Jeśli jesteś księgowym, rozważ dołączenie do programu dla księgowych ExpensifyApproved!, aby umożliwić podróże w tej dziedzinie.`, }, publicDomainError: { title: 'Rozpocznij korzystanie z Expensify Travel', diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index 6269257afb27..c20bf561677a 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -91,6 +91,7 @@ import type { DeleteTransactionParams, DemotedFromWorkspaceParams, DidSplitAmountMessageParams, + DomainPermissionInfoRestrictionParams, DuplicateTransactionParams, EarlyDiscountSubtitleParams, EarlyDiscountTitleParams, @@ -3369,11 +3370,9 @@ const translations = { }, domainPermissionInfo: { title: 'Domínio', - restrictionPrefix: `Você não tem permissão para habilitar o Expensify Travel para o domínio`, - restrictionSuffix: `Você precisará pedir a alguém desse domínio para habilitar a viagem.`, - accountantInvitationPrefix: `Se você é contador, considere se juntar ao`, - accountantInvitationLink: `Programa de contadores ExpensifyApproved!`, - accountantInvitationSuffix: `para habilitar viagens para este domínio.`, + restriction: ({domain}: DomainPermissionInfoRestrictionParams) => + `Você não tem permissão para ativar o Expensify Travel para o domínio ${domain}. Você precisará pedir a alguém desse domínio para ativar o Travel.`, + accountantInvitation: `Se você é contador, considere participar do programa ExpensifyApproved! para contadores para habilitar viagens para esse domínio.`, }, publicDomainError: { title: 'Comece com o Expensify Travel', diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index 7f45e44abb85..1fc7b5d19fa8 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -91,6 +91,7 @@ import type { DeleteTransactionParams, DemotedFromWorkspaceParams, DidSplitAmountMessageParams, + DomainPermissionInfoRestrictionParams, DuplicateTransactionParams, EarlyDiscountSubtitleParams, EarlyDiscountTitleParams, @@ -3326,11 +3327,8 @@ const translations = { }, domainPermissionInfo: { title: '域名', - restrictionPrefix: `您没有权限为该域启用Expensify Travel`, - restrictionSuffix: `您需要请该领域的某人来启用旅行功能。`, - accountantInvitationPrefix: `如果您是一名会计师,请考虑加入`, - accountantInvitationLink: `ExpensifyApproved! 会计师计划`, - accountantInvitationSuffix: `为此域启用旅行功能。`, + restriction: ({domain}: DomainPermissionInfoRestrictionParams) => `您没有为域名 ${domain} 启用 Expensify 旅行的权限。您需要让该域的其他人代替您启用旅行功能。`, + accountantInvitation: `如果您是会计师,建议您加入ExpensifyApproved!会计师计划,以便为该领域启用差旅功能。`, }, publicDomainError: { title: '开始使用 Expensify Travel', diff --git a/src/pages/Travel/DomainPermissionInfoPage.tsx b/src/pages/Travel/DomainPermissionInfoPage.tsx index ae4f90a8f26b..c4be1e4e50d3 100644 --- a/src/pages/Travel/DomainPermissionInfoPage.tsx +++ b/src/pages/Travel/DomainPermissionInfoPage.tsx @@ -4,15 +4,12 @@ import {View} from 'react-native'; import Button from '@components/Button'; import FixedFooter from '@components/FixedFooter'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; +import RenderHTML from '@components/RenderHTML'; import ScreenWrapper from '@components/ScreenWrapper'; -import Text from '@components/Text'; -import TextLink from '@components/TextLink'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import {openExternalLink} from '@libs/actions/Link'; import Navigation from '@libs/Navigation/Navigation'; import type {TravelNavigatorParamList} from '@libs/Navigation/types'; -import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; type DomainPermissionInfoPageProps = StackScreenProps; @@ -28,18 +25,12 @@ function DomainPermissionInfoPage({route}: DomainPermissionInfoPageProps) { > - - {`${translate('travel.domainPermissionInfo.restrictionPrefix')}`} {route.params.domain} - {'. '} - {`${translate('travel.domainPermissionInfo.restrictionSuffix')}`} - - - {`${translate('travel.domainPermissionInfo.accountantInvitationPrefix')}`}{' '} - openExternalLink(CONST.OLD_DOT_PUBLIC_URLS.EXPENSIFY_APPROVED_PROGRAM_URL)}> - {`${translate('travel.domainPermissionInfo.accountantInvitationLink')}`} - {' '} - {`${translate('travel.domainPermissionInfo.accountantInvitationSuffix')}`} - + + + + + +