Conversation
|
@linhvovan29546 @pecanoro One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
🦜 Polyglot Parrot! 🦜Squawk! Looks like you added some shiny new English strings. Allow me to parrot them back to you in other tongues: View the translation diffdiff --git a/src/languages/de.ts b/src/languages/de.ts
index f14625e3..bfcfbd8e 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -771,7 +771,7 @@ const translations: TranslationDeepObject<typeof en> = {
revoke: 'Widerrufen',
title: 'Gesicht/Fingerabdruck & Passkeys',
explanation:
- 'Die Gesichts-/Fingerabdruck- oder Passkey-Verifizierung ist auf einem oder mehreren Geräten aktiviert. Durch das Widerrufen des Zugriffs wird für die nächste Verifizierung auf jedem Gerät ein magischer Code erforderlich',
+ 'Gesichts-/Fingerabdruck- oder Passkey-Verifizierung ist auf einem oder mehreren Geräten aktiviert. Das Widerrufen des Zugriffs erfordert für die nächste Verifizierung auf einem beliebigen Gerät einen Magic-Code',
confirmationPrompt: 'Bist du sicher? Du benötigst einen magischen Code für die nächste Verifizierung auf jedem Gerät',
cta: 'Zugriff widerrufen',
noDevices: 'Du hast keine Geräte für Gesichts-/Fingerabdruck- oder Passkey-Verifizierung registriert. Wenn du welche registrierst, kannst du den Zugriff hier widerrufen.',
@@ -2470,7 +2470,7 @@ ${amount} für ${merchant} – ${date}`,
title: 'Regel hinzufügen',
expenseContains: 'Wenn Ausgabe enthält:',
applyUpdates: 'Wenden Sie dann diese Aktualisierungen an:',
- merchantHint: 'Gib . ein, um eine Regel zu erstellen, die für alle Händler gilt',
+ merchantHint: 'Geben Sie . ein, um eine Regel zu erstellen, die für alle Händler gilt',
addToReport: 'Zu einem Bericht mit dem Namen hinzufügen',
createReport: 'Bericht bei Bedarf erstellen',
applyToExistingExpenses: 'Auf passende vorhandene Spesen anwenden',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 16984a4e..aa63090c 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -774,7 +774,7 @@ const translations: TranslationDeepObject<typeof en> = {
revoke: 'Révoquer',
title: 'Reconnaissance faciale/empreinte digitale et passkeys',
explanation:
- 'La vérification par reconnaissance faciale/empreinte digitale ou par passkey est activée sur un ou plusieurs appareils. Révoquer l’accès exigera un code magique pour la prochaine vérification sur n’importe quel appareil',
+ 'La vérification par reconnaissance faciale/empreinte digitale ou par clé d’accès est activée sur un ou plusieurs appareils. Révoquer l’accès exigera un code magique pour la prochaine vérification sur n’importe quel appareil',
confirmationPrompt: 'Êtes-vous sûr ? Vous aurez besoin d’un code magique pour la prochaine vérification sur n’importe quel appareil',
cta: 'Révoquer l’accès',
noDevices:
@@ -7241,7 +7241,7 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin
addedConnection: ({connectionName}: ConnectionNameParams) => `connecté à ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}`,
leftTheChat: 'a quitté la discussion',
companyCardConnectionBroken: ({feedName, workspaceCompanyCardRoute}: {feedName: string; workspaceCompanyCardRoute: string}) =>
- `La connexion à ${feedName} est rompue. Pour rétablir l'importation des cartes, <a href='${workspaceCompanyCardRoute}'>connectez-vous à votre banque</a>`,
+ `La connexion ${feedName} est interrompue. Pour rétablir l’importation des cartes, <a href='${workspaceCompanyCardRoute}'>connectez-vous à votre banque</a>`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`la connexion Plaid à votre compte bancaire professionnel est interrompue. Veuillez <a href='${walletRoute}'>reconnecter votre compte bancaire ${maskedAccountNumber}</a> pour continuer à utiliser vos cartes Expensify.`,
settlementAccountLocked: ({maskedBankAccountNumber}: OriginalMessageSettlementAccountLocked, linkURL: string) =>
diff --git a/src/languages/it.ts b/src/languages/it.ts
index 445aebe3..678f2913 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -772,7 +772,7 @@ const translations: TranslationDeepObject<typeof en> = {
revoke: 'Revoca',
title: 'Riconoscimento facciale/impronta digitale & passkey',
explanation:
- 'La verifica con volto/impronta digitale o passkey è abilitata su uno o più dispositivi. La revoca dell’accesso richiederà un codice magico per la prossima verifica su qualsiasi dispositivo',
+ 'La verifica tramite volto/impronta digitale o passkey è abilitata su uno o più dispositivi. La revoca dell’accesso richiederà un codice magico per la prossima verifica su qualsiasi dispositivo',
confirmationPrompt: 'Sei sicuro? Ti servirà un codice magico per la prossima verifica su qualsiasi dispositivo',
cta: 'Revoca accesso',
noDevices: 'Non hai alcun dispositivo registrato per la verifica con volto/impronta digitale o passkey. Se ne registri uno, potrai revocare tale accesso da qui.',
@@ -7218,7 +7218,7 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori
addedConnection: ({connectionName}: ConnectionNameParams) => `connesso a ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}`,
leftTheChat: 'ha lasciato la chat',
companyCardConnectionBroken: ({feedName, workspaceCompanyCardRoute}: {feedName: string; workspaceCompanyCardRoute: string}) =>
- `La connessione ${feedName} non funziona. Per ripristinare le importazioni delle carte, <a href='${workspaceCompanyCardRoute}'>accedi alla tua banca</a>`,
+ `La connessione ${feedName} è interrotta. Per ripristinare l’importazione delle carte, <a href='${workspaceCompanyCardRoute}'>accedi alla tua banca</a>`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`la connessione Plaid al tuo conto bancario aziendale è interrotta. <a href='${walletRoute}'>Ricollega il tuo conto bancario ${maskedAccountNumber}</a> per continuare a usare le tue carte Expensify.`,
settlementAccountLocked: ({maskedBankAccountNumber}: OriginalMessageSettlementAccountLocked, linkURL: string) =>
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index 52325b95..cc938506 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -770,8 +770,9 @@ const translations: TranslationDeepObject<typeof en> = {
revoke: {
revoke: '取り消す',
title: '顔/指紋 & パスキー',
- explanation: '1 台以上のデバイスで顔 / 指紋またはパスキー認証が有効になっています。アクセスを取り消すと、今後どのデバイスでも次回の認証時にマジックコードが必要になります',
- confirmationPrompt: '本当に実行しますか?次回、どのデバイスで確認する場合でも、マジックコードが必要になります',
+ explanation:
+ '1 つ以上のデバイスで顔認証/指紋認証またはパスキー認証が有効になっています。アクセスを取り消すと、次回いずれのデバイスで認証する際にもマジックコードが必要になります',
+ confirmationPrompt: '本当によろしいですか?今後、どのデバイスでの次回確認にもマジックコードが必要になります',
cta: 'アクセスを取り消す',
noDevices: '顔認証 / 指紋認証 またはパスキー認証用に登録されているデバイスがありません。 \nいずれかを登録すると、ここでそのアクセスを取り消せるようになります。',
dismiss: '了解',
@@ -2454,7 +2455,7 @@ ${merchant} への ${amount}(${date})`,
title: 'ルールを追加',
expenseContains: '経費に以下が含まれる場合:',
applyUpdates: '次に、これらの更新を適用します。',
- merchantHint: 'すべての加盟店に適用されるルールを作成するには . を入力してください',
+ merchantHint: 'すべての加盟店に適用されるルールを作成するには「.」を入力してください',
addToReport: '「…という名前のレポートに追加」',
createReport: '必要に応じてレポートを作成',
applyToExistingExpenses: '既存の一致する経費に適用',
@@ -7155,7 +7156,7 @@ ${reportName}
addedConnection: ({connectionName}: ConnectionNameParams) => `${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]} に接続済み`,
leftTheChat: 'チャットを退出しました',
companyCardConnectionBroken: ({feedName, workspaceCompanyCardRoute}: {feedName: string; workspaceCompanyCardRoute: string}) =>
- `${feedName} との接続が切断されています。カードの取引明細の取り込みを再開するには、<a href='${workspaceCompanyCardRoute}'>銀行にログイン</a>してください`,
+ `${feedName} との接続が切断されています。カードの取引明細のインポートを再開するには、<a href='${workspaceCompanyCardRoute}'>銀行にログイン</a> してください`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`ビジネス銀行口座へのPlaid接続が切断されています。Expensifyカードを引き続きご利用いただくには、<a href='${walletRoute}'>銀行口座 ${maskedAccountNumber} を再接続</a>してください。`,
settlementAccountLocked: ({maskedBankAccountNumber}: OriginalMessageSettlementAccountLocked, linkURL: string) =>
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index c28f7dfb..207ebbdb 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -2465,7 +2465,7 @@ ${amount} voor ${merchant} - ${date}`,
title: 'Regel toevoegen',
expenseContains: 'Als de uitgave bevat:',
applyUpdates: 'Breng vervolgens deze updates aan:',
- merchantHint: 'Typ . om een regel te maken die voor alle leveranciers geldt',
+ merchantHint: 'Typ . om een regel te maken die van toepassing is op alle handelaren',
addToReport: 'Toevoegen aan een rapport met de naam',
createReport: 'Maak rapport indien nodig',
applyToExistingExpenses: 'Toepassen op bestaande overeenkomende onkosten',
@@ -7201,7 +7201,7 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten
addedConnection: ({connectionName}: ConnectionNameParams) => `verbonden met ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}`,
leftTheChat: 'heeft de chat verlaten',
companyCardConnectionBroken: ({feedName, workspaceCompanyCardRoute}: {feedName: string; workspaceCompanyCardRoute: string}) =>
- `De ${feedName}-verbinding is verbroken. Om kaartimporten te herstellen, <a href='${workspaceCompanyCardRoute}'>log in bij uw bank</a>`,
+ `De ${feedName}-verbinding is verbroken. <a href='${workspaceCompanyCardRoute}'>Log in bij uw bank</a> om kaartimports te herstellen`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`de Plaid-verbinding met uw zakelijke bankrekening is verbroken. <a href='${walletRoute}'>Verbind uw bankrekening ${maskedAccountNumber} opnieuw</a> om uw Expensify-kaarten te kunnen blijven gebruiken.`,
settlementAccountLocked: ({maskedBankAccountNumber}: OriginalMessageSettlementAccountLocked, linkURL: string) =>
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 3278272f..444d8737 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -769,10 +769,10 @@ const translations: TranslationDeepObject<typeof en> = {
biometrics: 'Włącz szybką i bezpieczną weryfikację za pomocą twarzy lub odcisku palca. Bez haseł ani kodów.',
},
revoke: {
- revoke: 'Unieważnij',
+ revoke: 'Odwołaj',
title: 'Rozpoznawanie twarzy/odcisk palca i klucze dostępu',
explanation:
- 'Weryfikacja za pomocą twarzy/odcisku palca lub klucza dostępu (passkey) jest włączona na jednym lub większej liczbie urządzeń. Cofnięcie dostępu spowoduje, że przy następnej weryfikacji na dowolnym urządzeniu wymagany będzie magiczny kod',
+ 'Weryfikacja twarzą/odciskiem palca lub kluczem dostępu jest włączona na jednym lub kilku urządzeniach. Cofnięcie dostępu spowoduje, że przy następnej weryfikacji na dowolnym urządzeniu wymagany będzie magiczny kod',
confirmationPrompt: 'Czy na pewno? Będziesz potrzebować magicznego kodu do następnej weryfikacji na dowolnym urządzeniu',
cta: 'Cofnij dostęp',
noDevices:
@@ -2459,7 +2459,7 @@ ${amount} dla ${merchant} - ${date}`,
title: 'Dodaj regułę',
expenseContains: 'Jeśli wydatek zawiera:',
applyUpdates: 'Następnie zastosuj te aktualizacje:',
- merchantHint: 'Wpisz . , aby utworzyć regułę, która ma zastosowanie do wszystkich sprzedawców',
+ merchantHint: 'Wpisz . , aby utworzyć regułę, która będzie miała zastosowanie do wszystkich sprzedawców',
addToReport: 'Dodaj do raportu o nazwie',
createReport: 'Utwórz raport, jeśli to konieczne',
applyToExistingExpenses: 'Zastosuj do istniejących pasujących wydatków',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 824255c8..2570c74b 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -771,8 +771,8 @@ const translations: TranslationDeepObject<typeof en> = {
revoke: 'Revogar',
title: 'Rosto/digital & chaves de acesso',
explanation:
- 'A verificação por rosto/digital ou chave de acesso está ativada em um ou mais dispositivos. Revogar o acesso exigirá um código mágico para a próxima verificação em qualquer dispositivo',
- confirmationPrompt: 'Tem certeza? Você precisará de um código mágico para a próxima verificação em qualquer dispositivo',
+ 'Verificação por reconhecimento facial/digital ou chave de acesso está ativada em um ou mais dispositivos. Revogar o acesso exigirá um código mágico para a próxima verificação em qualquer dispositivo',
+ confirmationPrompt: 'Você tem certeza? Você precisará de um código mágico para a próxima verificação em qualquer dispositivo',
cta: 'Revogar acesso',
noDevices: 'Você não tem nenhum dispositivo registrado para verificação por rosto/digital ou passkey. Se você registrar algum, poderá revogar esse acesso aqui.',
dismiss: 'Entendi',
@@ -7190,7 +7190,7 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe
addedConnection: ({connectionName}: ConnectionNameParams) => `conectado a ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}`,
leftTheChat: 'saiu do chat',
companyCardConnectionBroken: ({feedName, workspaceCompanyCardRoute}: {feedName: string; workspaceCompanyCardRoute: string}) =>
- `A conexão ${feedName} está quebrada. Para restaurar as importações do cartão, <a href='${workspaceCompanyCardRoute}'>faça login no seu banco</a>`,
+ `A conexão ${feedName} está quebrada. Para restaurar as importações de cartão, <a href='${workspaceCompanyCardRoute}'>faça login no seu banco</a>`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`a conexão Plaid com sua conta bancária empresarial está quebrada. Por favor, <a href='${walletRoute}'>reconecte sua conta bancária ${maskedAccountNumber}</a> para continuar usando seus Cartões Expensify.`,
settlementAccountLocked: ({maskedBankAccountNumber}: OriginalMessageSettlementAccountLocked, linkURL: string) =>
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index ee9645e8..ce199122 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -766,8 +766,8 @@ const translations: TranslationDeepObject<typeof en> = {
revoke: {
revoke: '撤销',
title: '面部识别/指纹识别与通行密钥',
- explanation: '在一台或多台设备上已启用面部 / 指纹或通行密钥验证。撤销访问权限后,下次在任何设备上进行验证时都需要使用魔法验证码',
- confirmationPrompt: '你确定吗?在任何设备上进行下一步验证时,你都需要一个魔法代码',
+ explanation: '一台或多台设备已启用面容/指纹或通行密钥验证。撤销访问权限后,下次在任意设备上进行验证时都将需要魔法验证码',
+ confirmationPrompt: '你确定吗?在任何设备上进行下一次验证时,你都需要一个魔法代码',
cta: '撤销访问权限',
noDevices: '您尚未注册任何用于人脸/指纹或通行密钥验证的设备。如果您注册了设备,您将可以在此撤销其访问权限。',
dismiss: '明白了',
@@ -7030,7 +7030,7 @@ ${reportName}
addedConnection: ({connectionName}: ConnectionNameParams) => `已连接到 ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}`,
leftTheChat: '已离开聊天',
companyCardConnectionBroken: ({feedName, workspaceCompanyCardRoute}: {feedName: string; workspaceCompanyCardRoute: string}) =>
- `${feedName} 连接已中断。要恢复卡片导入,请<a href='${workspaceCompanyCardRoute}'>登录到您的银行</a>`,
+ `${feedName} 连接已中断。要恢复卡片导入,请<a href='${workspaceCompanyCardRoute}'>登录到您的银行账户</a>`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`您的企业银行账户的 Plaid 连接已中断。请<a href='${walletRoute}'>重新连接您的银行账户 ${maskedAccountNumber}</a>,以便继续使用您的 Expensify 卡。`,
settlementAccountLocked: ({maskedBankAccountNumber}: OriginalMessageSettlementAccountLocked, linkURL: string) =>
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
JmillsExpensify
left a comment
There was a problem hiding this comment.
Whoops, this might have been my mistake. Regardless, looks great to me.
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/luacmartins in version: 9.3.11-19 🚀
|
|
🚀 Deployed to production by https://github.com/Julesssss in version: 9.3.12-1 🚀
|
Explanation of Change
In classic, we use "." to signify apply to all, we dont use "*"
Fixed Issues
$ #81107
Tests
Create a personal rule using "."
Create a new expense
Ensure the rule is applied
Note, this doesnt apply to workspace rules
Offline tests
N/A
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari