-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[No QA] Fix git diff failure in translation workflow #71623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🦜 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 8fea408a..b1a2e2a2 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -611,7 +611,7 @@ const translations = {
disabled: 'Deaktiviert',
import: 'Importieren',
offlinePrompt: 'Sie können diese Aktion momentan nicht ausführen.',
- outstanding: 'Hervorragend',
+ outstanding: 'Ausstehend',
chats: 'Chats',
tasks: 'Aufgaben',
unread: 'Ungelesen',
@@ -636,7 +636,7 @@ const translations = {
downloadAsCSV: 'Als CSV herunterladen',
help: 'Hilfe',
expenseReports: 'Spesenabrechnungen',
- rateOutOfPolicy: 'Außerhalb der Richtlinie bewerten',
+ rateOutOfPolicy: 'Satz außerhalb der Richtlinien',
reimbursable: 'Erstattungsfähig',
editYourProfile: 'Bearbeiten Sie Ihr Profil',
comments: 'Kommentare',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index ddd47968..0ca6234f 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -611,7 +611,7 @@ const translations = {
disabled: 'Désactivé',
import: 'Importation',
offlinePrompt: 'Vous ne pouvez pas effectuer cette action pour le moment.',
- outstanding: 'Exceptionnel',
+ outstanding: 'En attente',
chats: 'Chats',
tasks: 'Tâches',
unread: 'Non lu',
@@ -636,7 +636,7 @@ const translations = {
downloadAsCSV: 'Télécharger en CSV',
help: 'Aide',
expenseReports: 'Rapports de dépenses',
- rateOutOfPolicy: 'Évaluer hors politique',
+ rateOutOfPolicy: 'Taux hors politique',
reimbursable: 'Remboursable',
editYourProfile: 'Modifier votre profil',
comments: 'Commentaires',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index ee1f7465..9db6cb97 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -611,7 +611,7 @@ const translations = {
disabled: 'Disabilitato',
import: 'Importa',
offlinePrompt: 'Non puoi eseguire questa azione in questo momento.',
- outstanding: 'Eccezionale',
+ outstanding: 'In sospeso',
chats: 'Chat',
tasks: 'Attività',
unread: 'Non letto',
@@ -636,7 +636,7 @@ const translations = {
downloadAsCSV: 'Scarica come CSV',
help: 'Aiuto',
expenseReports: 'Report di spesa',
- rateOutOfPolicy: 'Valuta fuori politica',
+ rateOutOfPolicy: 'Tariffa fuori politica',
reimbursable: 'Rimborsabile',
editYourProfile: 'Modifica il tuo profilo',
comments: 'Commenti',
@@ -678,9 +678,7 @@ const translations = {
}: {
command?: string;
} = {}) =>
- `Non sei autorizzato a eseguire questa azione quando il supporto è connesso (comando: ${
- command ?? ''
- }). Se ritieni che Success debba essere in grado di eseguire questa azione, avvia una conversazione su Slack.`,
+ `Non sei autorizzato a eseguire questa azione quando il supporto è connesso (comando: ${command ?? ''}). Se ritieni che Success debba essere in grado di eseguire questa azione, avvia una conversazione su Slack.`,
},
lockedAccount: {
title: 'Account bloccato',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index c09c4020..92bff23b 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -583,7 +583,7 @@ const translations = {
tax: '税金',
shared: '共有',
drafts: '下書き',
- draft: 'ドラフト',
+ draft: '下書き',
finished: '完了',
upgrade: 'アップグレード',
downgradeWorkspace: 'ワークスペースをダウングレードする',
@@ -611,7 +611,7 @@ const translations = {
disabled: '無効',
import: 'インポート',
offlinePrompt: '現在、この操作を行うことはできません。',
- outstanding: '未払い',
+ outstanding: '未処理',
chats: 'チャット',
tasks: 'タスク',
unread: '未読',
@@ -636,7 +636,7 @@ const translations = {
downloadAsCSV: 'CSVとしてダウンロード',
help: '助けて',
expenseReports: '経費報告書',
- rateOutOfPolicy: 'ポリシー外の評価',
+ rateOutOfPolicy: 'ポリシー外のレート',
reimbursable: '払い戻し可能',
editYourProfile: 'プロフィールを編集',
comments: 'コメント',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 05130d6a..ff6e8771 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -583,7 +583,7 @@ const translations = {
tax: 'Belasting',
shared: 'Gedeeld',
drafts: 'Concepten',
- draft: 'Ontwerp',
+ draft: 'Conceptversie',
finished: 'Voltooid',
upgrade: 'Upgrade',
downgradeWorkspace: 'Werkruimte downgraden',
@@ -611,7 +611,7 @@ const translations = {
disabled: 'Uitgeschakeld',
import: 'Importeren',
offlinePrompt: 'Je kunt deze actie nu niet uitvoeren.',
- outstanding: 'Uitstekend',
+ outstanding: 'Uitstaand',
chats: 'Chats',
tasks: 'Taken',
unread: 'Ongelezen',
@@ -635,7 +635,7 @@ const translations = {
downloadAsCSV: 'Downloaden als CSV',
help: 'Help',
expenseReports: "Onkostennota's",
- rateOutOfPolicy: 'Beoordeel buiten beleid',
+ rateOutOfPolicy: 'Tarief buiten beleid',
reimbursable: 'Vergoedbaar',
editYourProfile: 'Bewerk je profiel',
comments: 'Opmerkingen',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index a6c2eee1..6aad3326 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -611,7 +611,7 @@ const translations = {
disabled: 'Wyłączony',
import: 'Importuj',
offlinePrompt: 'Nie możesz teraz podjąć tej akcji.',
- outstanding: 'Zaległe',
+ outstanding: 'Zaległy',
chats: 'Czaty',
tasks: 'Zadania',
unread: 'Nieprzeczytane',
@@ -636,7 +636,7 @@ const translations = {
downloadAsCSV: 'Pobierz jako CSV',
help: 'Pomoc',
expenseReports: 'Raporty wydatków',
- rateOutOfPolicy: 'Oceń poza polityką',
+ rateOutOfPolicy: 'Stawka poza polityką',
reimbursable: 'Podlegające zwrotowi',
editYourProfile: 'Edytuj swój profil',
comments: 'Komentarze',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 3b050f23..c0bf0832 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -612,7 +612,7 @@ const translations = {
disabled: 'Desativado',
import: 'Importar',
offlinePrompt: 'Você não pode realizar esta ação no momento.',
- outstanding: 'Excelente',
+ outstanding: 'Pendente',
chats: 'Chats',
tasks: 'Tarefas',
unread: 'Não lido',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 5aef6982..ff7d189f 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -611,7 +611,7 @@ const translations = {
disabled: '禁用',
import: '导入',
offlinePrompt: '您现在无法执行此操作。',
- outstanding: '优秀',
+ outstanding: '未完成的',
chats: '聊天',
tasks: '任务',
unread: '未读',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
|
Awesome, this is working as expected now |
|
@MonilBhavsar Please 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] |
| @@ -1,3 +1,5 @@ | |||
| name: Translation Dry Run | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unrelated to the other changes here. Just :eye_twitch:
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
|
Looks good to me |
| - name: Setup tmate | ||
| if: runner.debug == '1' | ||
| uses: mxschmitt/action-tmate@e5c7151931ca95bad1c6f4190c730ecf8c7dde48 | ||
| timeout-minutes: 60 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why a 60 minute timeout? That seems long
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just copy/pasted this from auth. You'll notice that tmate only runs if runner.debug == '1'. For context, what this does is suspend execution of the runner and open an ssh portal into the runner. Then you can ssh in and do whatever you want. When you close the ssh connection, the runner continues execution.
The 60 minute timeout just means that you'd have 60 minutes to ssh in and debug whatever you want to debug. I agree it's kind of long, but 🤷🏼
|
LGTM, just one question |
| static isValidRef(ref: string): boolean { | ||
| try { | ||
| execSync(`git rev-parse --verify "${ref}"`, { | ||
| execSync(`git rev-parse --verify "${ref}^{object}"`, { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Good Fix
Excellent fix! Using ^{object} ensures that the reference actually exists in the object database, not just that it's a valid SHA format. This addresses the root cause of the git diff failure in the translation workflow.
| tax: 'Tax', | ||
| shared: 'Shared', | ||
| drafts: 'Drafts', | ||
| // @context as a noun, not a verb |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Good Context Documentation
Great addition of context comments! These @context comments help translators understand the intended meaning and ensure accurate translations. This is a best practice for internationalization.
|
✋ 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/roryabraham in version: 9.2.23-0 🚀
|
|
🚀 Deployed to production by https://github.com/lakchote in version: 9.2.23-3 🚀
|
Explanation of Change
Weird one. I thought that
git rev-parse --verify <sha>would validate that a ref exists in the local repo. But by default, it just validates that a SHA is in a valid format. From the docs:Fixed Issues
$ n/a - https://github.com/Expensify/App/actions/runs/18135172422/job/51611897098?pr=69468
Tests
I ssh'd into the action runner with tmate to figure this out. The failing check was successfully reproduced on this PR. The check should now pass.
Offline tests
None.
QA Steps
None.
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
MacOS: Desktop