[WIP][HOLD] Introduce setting commuter exclusions for policies #92496
Draft
Gonals wants to merge 14 commits into
Draft
[WIP][HOLD] Introduce setting commuter exclusions for policies #92496Gonals wants to merge 14 commits into
Gonals wants to merge 14 commits into
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This branch unintentionally bumped the Mobile-Expensify submodule pointer; this commit restores it to the same SHA as main so the PR does not include any submodule changes. Co-authored-by: Cursor <cursoragent@cursor.com>
main advanced its Mobile-Expensify pointer to f7524c3533 while this branch was open; re-aligning to keep the PR diff free of submodule changes. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
🦜 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 3e873a051fc..ca3de4ed6a8 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -6553,19 +6553,16 @@ _Für ausführlichere Anweisungen [besuchen Sie unsere Hilfeseite](${CONST.NETSU
distanceRates: {
oopsNotSoFast: 'Ups! Nicht so schnell ...',
workspaceNeeds: 'Ein Arbeitsbereich benötigt mindestens einen aktivierten Entfernungssatz.',
-
commuterExclusions: {
- title: 'Exclude commutes',
- summaryDisabled: 'No commute exclusion',
- summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Exclude ${distance} ${unit} per claim`,
- optionDisabledTitle: 'Do not exclude commutes',
- optionDisabledHelp: 'No commute exclusion is applied.',
- optionFixedDistanceTitle: 'Exclude a fixed distance per claim',
- optionFixedDistanceHelp: 'Remove the same commute distance from each claim. Best for members who submit one claim per workday.',
- distanceLabel: 'Distance',
- errors: {
- distanceMustBePositive: 'Distance must be greater than 0.',
- },
+ title: 'Arbeitswege ausschließen',
+ summaryDisabled: 'Kein Ausschluss von Pendelstrecken',
+ summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `${distance} ${unit} pro Abrechnung ausschließen`,
+ optionDisabledTitle: 'Pendelfahrten nicht ausschließen',
+ optionDisabledHelp: 'Es wird kein Ausschluss für den Arbeitsweg angewendet.',
+ optionFixedDistanceTitle: 'Eine feste Entfernung pro Antrag ausschließen',
+ optionFixedDistanceHelp: 'Ziehen Sie die gleiche Pendelstrecke von jeder Abrechnung ab. Am besten für Mitglieder geeignet, die eine Abrechnung pro Arbeitstag einreichen.',
+ distanceLabel: 'Entfernung',
+ errors: {distanceMustBePositive: 'Die Entfernung muss größer als 0 sein.'},
},
distance: 'Entfernung',
centrallyManage: 'Tarife zentral verwalten, in Meilen oder Kilometern nachverfolgen und eine Standardkategorie festlegen.',
@@ -7814,22 +7811,21 @@ Fügen Sie weitere Ausgabelimits hinzu, um den Cashflow Ihres Unternehmens zu sc
},
addedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `„${prohibitedExpense}“ zu verbotenen Ausgaben hinzugefügt`,
removedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `„${prohibitedExpense}“ aus verbotenen Ausgaben entfernt`,
-
commuterExclusions: {
- changedToFixedDistance: 'changed exclude commutes to a fixed distance per claim',
+ changedToFixedDistance: 'hat das Ausschließen von Pendelstrecken in eine feste Entfernung pro Antrag geändert',
setFixedDistance: ({distance, unit}: {distance: number; unit: string}) => {
const isSingular = distance === 1;
let unitLabel: string;
if (unit === 'mi') {
- unitLabel = isSingular ? 'mile' : 'miles';
+ unitLabel = isSingular ? 'Meile' : 'Meilen';
} else {
- unitLabel = isSingular ? 'kilometer' : 'kilometers';
+ unitLabel = isSingular ? 'Kilometer' : 'Kilometer';
}
- return `set fixed distance exclusion to ${distance} ${unitLabel} per claim`;
+ return `feste Distanz von ${distance} ${unitLabel} pro Antrag ausschließen`;
},
changedFixedDistance: ({newDistance, oldDistance, unit}: {newDistance: number; oldDistance: number; unit: string}) =>
- `changed fixed distance exclusion to ${newDistance} ${unit} per claim (previously ${oldDistance} ${unit})`,
- disabled: 'disabled exclude commutes for distance rates',
+ `feste Entfernungsausschlussgrenze auf ${newDistance} ${unit} pro Antrag geändert (zuvor ${oldDistance} ${unit})`,
+ disabled: 'Ausschluss von Pendelstrecken für Distanzsätze deaktiviert',
},
updatedReimbursementChoice: (newReimbursementChoice: string, oldReimbursementChoice: string) =>
`Erstattungmethode zu „${newReimbursementChoice}“ geändert (vorher „${oldReimbursementChoice}“)`,
diff --git a/src/languages/es.ts b/src/languages/es.ts
index 4b8c56cd40c..71953744459 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -6470,17 +6470,15 @@ ${amount} para ${merchant} - ${date}`,
oopsNotSoFast: 'Ups! No tan rápido...',
workspaceNeeds: 'Un espacio de trabajo necesita al menos una tasa de distancia activa.',
commuterExclusions: {
- title: 'Excluir trayectos',
- summaryDisabled: 'Sin exclusión de trayectos',
- summaryFixedDistance: ({distance, unit}) => `Excluir ${distance} ${unit} por solicitud`,
- optionDisabledTitle: 'No excluir trayectos',
- optionDisabledHelp: 'No se aplica ninguna exclusión de trayecto.',
- optionFixedDistanceTitle: 'Excluir una distancia fija por solicitud',
- optionFixedDistanceHelp: 'Resta la misma distancia de trayecto a cada solicitud. Ideal para miembros que envían una solicitud por día laboral.',
+ title: 'Excluir desplazamientos al trabajo',
+ summaryDisabled: 'Sin exclusión por desplazamiento al trabajo',
+ summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Excluir ${distance} ${unit} por reclamación`,
+ optionDisabledTitle: 'No excluir los desplazamientos al trabajo',
+ optionDisabledHelp: 'No se aplica ninguna exclusión de desplazamiento.',
+ optionFixedDistanceTitle: 'Excluir una distancia fija por reclamación',
+ optionFixedDistanceHelp: 'Resta la misma distancia de desplazamiento de cada solicitud. Ideal para personas que envían una solicitud por día laborable.',
distanceLabel: 'Distancia',
- errors: {
- distanceMustBePositive: 'La distancia debe ser mayor que 0.',
- },
+ errors: {distanceMustBePositive: 'La distancia debe ser mayor que 0.'},
},
distance: 'Distancia',
centrallyManage: 'Gestiona centralizadamente las tasas, elige si contabilizar en millas o kilómetros, y define una categoría por defecto',
@@ -7544,8 +7542,8 @@ ${amount} para ${merchant} - ${date}`,
addedProhibitedExpense: ({prohibitedExpense}) => `añadió "${prohibitedExpense}" a los gastos prohibidos`,
removedProhibitedExpense: ({prohibitedExpense}) => `eliminó "${prohibitedExpense}" de los gastos prohibidos`,
commuterExclusions: {
- changedToFixedDistance: 'cambió la exclusión de trayectos a una distancia fija por solicitud',
- setFixedDistance: ({distance, unit}) => {
+ changedToFixedDistance: 'cambió la exclusión de trayectos al trabajo a una distancia fija por reclamación',
+ setFixedDistance: ({distance, unit}: {distance: number; unit: string}) => {
const isSingular = distance === 1;
let unitLabel: string;
if (unit === 'mi') {
@@ -7553,10 +7551,11 @@ ${amount} para ${merchant} - ${date}`,
} else {
unitLabel = isSingular ? 'kilómetro' : 'kilómetros';
}
- return `estableció la exclusión de distancia fija en ${distance} ${unitLabel} por solicitud`;
+ return `establecer exclusión de distancia fija en ${distance} ${unitLabel} por reclamación`;
},
- changedFixedDistance: ({newDistance, oldDistance, unit}) => `cambió la exclusión de distancia fija a ${newDistance} ${unit} por solicitud (anteriormente ${oldDistance} ${unit})`,
- disabled: 'desactivó la exclusión de trayectos para tarifas de distancia',
+ changedFixedDistance: ({newDistance, oldDistance, unit}: {newDistance: number; oldDistance: number; unit: string}) =>
+ `cambió la exclusión de distancia fija a ${newDistance} ${unit} por reclamación (previamente ${oldDistance} ${unit})`,
+ disabled: 'desactivó la opción de excluir desplazamientos para las tarifas por distancia',
},
updatedReimbursementChoice: (newReimbursementChoice, oldReimbursementChoice) =>
`cambió el método de reembolso a "${newReimbursementChoice}" (previamente "${oldReimbursementChoice}")`,
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index eb8a6351134..1456f7a77f0 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -6580,19 +6580,16 @@ _Pour des instructions plus détaillées, [visitez notre site d’aide](${CONST.
distanceRates: {
oopsNotSoFast: 'Oups ! Pas si vite...',
workspaceNeeds: 'Un espace de travail doit avoir au moins un taux de distance activé.',
-
commuterExclusions: {
- title: 'Exclude commutes',
- summaryDisabled: 'No commute exclusion',
- summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Exclude ${distance} ${unit} per claim`,
- optionDisabledTitle: 'Do not exclude commutes',
- optionDisabledHelp: 'No commute exclusion is applied.',
- optionFixedDistanceTitle: 'Exclude a fixed distance per claim',
- optionFixedDistanceHelp: 'Remove the same commute distance from each claim. Best for members who submit one claim per workday.',
+ title: 'Exclure les trajets domicile-travail',
+ summaryDisabled: 'Pas d’exclusion du trajet domicile-travail',
+ summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Exclure ${distance} ${unit} par demande`,
+ optionDisabledTitle: 'Ne pas exclure les trajets domicile-travail',
+ optionDisabledHelp: 'Aucune exclusion de trajet domicile-travail n’est appliquée.',
+ optionFixedDistanceTitle: 'Exclure une distance fixe par demande',
+ optionFixedDistanceHelp: 'Soustraire la même distance de trajet domicile-travail de chaque demande. Idéal pour les membres qui soumettent une demande par jour de travail.',
distanceLabel: 'Distance',
- errors: {
- distanceMustBePositive: 'Distance must be greater than 0.',
- },
+ errors: {distanceMustBePositive: 'La distance doit être supérieure à 0.'},
},
distance: 'Distance',
centrallyManage: 'Gérez les taux de manière centralisée, suivez en miles ou en kilomètres et définissez une catégorie par défaut.',
@@ -7848,22 +7845,21 @@ Ajoutez davantage de règles de dépenses pour protéger la trésorerie de l’e
},
addedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `a ajouté « ${prohibitedExpense} » aux dépenses interdites`,
removedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `a supprimé « ${prohibitedExpense} » des dépenses interdites`,
-
commuterExclusions: {
- changedToFixedDistance: 'changed exclude commutes to a fixed distance per claim',
+ changedToFixedDistance: 'a modifié l’exclusion des trajets domicile-travail en une distance fixe par demande',
setFixedDistance: ({distance, unit}: {distance: number; unit: string}) => {
const isSingular = distance === 1;
let unitLabel: string;
if (unit === 'mi') {
unitLabel = isSingular ? 'mile' : 'miles';
} else {
- unitLabel = isSingular ? 'kilometer' : 'kilometers';
+ unitLabel = isSingular ? 'kilomètre' : 'kilomètres';
}
- return `set fixed distance exclusion to ${distance} ${unitLabel} per claim`;
+ return `définir l’exclusion de distance fixe à ${distance} ${unitLabel} par demande`;
},
changedFixedDistance: ({newDistance, oldDistance, unit}: {newDistance: number; oldDistance: number; unit: string}) =>
- `changed fixed distance exclusion to ${newDistance} ${unit} per claim (previously ${oldDistance} ${unit})`,
- disabled: 'disabled exclude commutes for distance rates',
+ `a modifié l’exclusion de distance fixe à ${newDistance} ${unit} par demande (auparavant ${oldDistance} ${unit})`,
+ disabled: 'désactivé exclure les trajets domicile-travail pour les taux de distance',
},
updatedReimbursementChoice: (newReimbursementChoice: string, oldReimbursementChoice: string) =>
`a modifié le mode de remboursement en « ${newReimbursementChoice} » (auparavant « ${oldReimbursementChoice} »)`,
diff --git a/src/languages/it.ts b/src/languages/it.ts
index 3017ba2c1ea..350fa88efd7 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -6539,19 +6539,16 @@ _Per istruzioni più dettagliate, [visita il nostro sito di assistenza](${CONST.
distanceRates: {
oopsNotSoFast: 'Ops! Non così in fretta...',
workspaceNeeds: 'Uno spazio di lavoro necessita di almeno una tariffa distanza abilitata.',
-
commuterExclusions: {
- title: 'Exclude commutes',
- summaryDisabled: 'No commute exclusion',
- summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Exclude ${distance} ${unit} per claim`,
- optionDisabledTitle: 'Do not exclude commutes',
- optionDisabledHelp: 'No commute exclusion is applied.',
- optionFixedDistanceTitle: 'Exclude a fixed distance per claim',
- optionFixedDistanceHelp: 'Remove the same commute distance from each claim. Best for members who submit one claim per workday.',
- distanceLabel: 'Distance',
- errors: {
- distanceMustBePositive: 'Distance must be greater than 0.',
- },
+ title: 'Escludi spostamenti casa-lavoro',
+ summaryDisabled: 'Nessuna esclusione per il tragitto',
+ summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Escludi ${distance} ${unit} per rimborso`,
+ optionDisabledTitle: 'Non escludere gli spostamenti casa-lavoro',
+ optionDisabledHelp: 'Non è applicata alcuna esclusione per il tragitto casa-lavoro.',
+ optionFixedDistanceTitle: 'Escludi una distanza fissa per richiesta',
+ optionFixedDistanceHelp: 'Detrai la stessa distanza del tragitto casa-lavoro da ogni richiesta. Ideale per chi invia una richiesta per ogni giorno lavorativo.',
+ distanceLabel: 'Distanza',
+ errors: {distanceMustBePositive: 'La distanza deve essere maggiore di 0.'},
},
distance: 'Distanza',
centrallyManage: 'Gestisci centralmente le tariffe, monitora in miglia o chilometri e imposta una categoria predefinita.',
@@ -7803,22 +7800,21 @@ Aggiungi altre regole di spesa per proteggere il flusso di cassa aziendale.`,
},
addedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `ha aggiunto "${prohibitedExpense}" alle spese vietate`,
removedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `ha rimosso "${prohibitedExpense}" dalle spese vietate`,
-
commuterExclusions: {
- changedToFixedDistance: 'changed exclude commutes to a fixed distance per claim',
+ changedToFixedDistance: 'ha modificato l’esclusione dei tragitti casa-lavoro in una distanza fissa per rimborso',
setFixedDistance: ({distance, unit}: {distance: number; unit: string}) => {
const isSingular = distance === 1;
let unitLabel: string;
if (unit === 'mi') {
- unitLabel = isSingular ? 'mile' : 'miles';
+ unitLabel = isSingular ? 'miglio' : 'miglia';
} else {
- unitLabel = isSingular ? 'kilometer' : 'kilometers';
+ unitLabel = isSingular ? 'chilometro' : 'chilometri';
}
- return `set fixed distance exclusion to ${distance} ${unitLabel} per claim`;
+ return `imposta un'esclusione di distanza fissa di ${distance} ${unitLabel} per richiesta`;
},
changedFixedDistance: ({newDistance, oldDistance, unit}: {newDistance: number; oldDistance: number; unit: string}) =>
- `changed fixed distance exclusion to ${newDistance} ${unit} per claim (previously ${oldDistance} ${unit})`,
- disabled: 'disabled exclude commutes for distance rates',
+ `ha modificato l’esclusione a distanza fissa a ${newDistance} ${unit} per richiesta (in precedenza ${oldDistance} ${unit})`,
+ disabled: 'esclusione delle tratte casa-lavoro per le tariffe a distanza disattivata',
},
updatedReimbursementChoice: (newReimbursementChoice: string, oldReimbursementChoice: string) =>
`ha cambiato il metodo di rimborso in "${newReimbursementChoice}" (in precedenza "${oldReimbursementChoice}")`,
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index f7ce86ac89d..c77eee24a37 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -6469,19 +6469,16 @@ _詳しい手順については、[ヘルプサイトをご覧ください](${CO
distanceRates: {
oopsNotSoFast: 'おっと!ちょっと待って…',
workspaceNeeds: 'ワークスペースには、少なくとも 1 つの有効な距離レートが必要です。',
-
commuterExclusions: {
- title: 'Exclude commutes',
- summaryDisabled: 'No commute exclusion',
- summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Exclude ${distance} ${unit} per claim`,
- optionDisabledTitle: 'Do not exclude commutes',
- optionDisabledHelp: 'No commute exclusion is applied.',
- optionFixedDistanceTitle: 'Exclude a fixed distance per claim',
- optionFixedDistanceHelp: 'Remove the same commute distance from each claim. Best for members who submit one claim per workday.',
- distanceLabel: 'Distance',
- errors: {
- distanceMustBePositive: 'Distance must be greater than 0.',
- },
+ title: '通勤を除外',
+ summaryDisabled: '通勤除外なし',
+ summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `申請ごとに ${distance} ${unit} を除外します`,
+ optionDisabledTitle: '通勤を除外しない',
+ optionDisabledHelp: '通勤除外は適用されていません。',
+ optionFixedDistanceTitle: '申請ごとに一定距離を除外します',
+ optionFixedDistanceHelp: '各申請から同じ通勤距離を差し引きます。1勤務日につき1件の申請を行うメンバーに最適です。',
+ distanceLabel: '距離',
+ errors: {distanceMustBePositive: '距離は0より大きい値でなければなりません。'},
},
distance: '距離',
centrallyManage: '料金を一元管理し、マイルまたはキロメートルで追跡し、デフォルトのカテゴリを設定できます。',
@@ -7710,22 +7707,21 @@ ${reportName}
},
addedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `禁止経費に「${prohibitedExpense}」を追加しました`,
removedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `禁止経費から「${prohibitedExpense}」を削除しました`,
-
commuterExclusions: {
- changedToFixedDistance: 'changed exclude commutes to a fixed distance per claim',
+ changedToFixedDistance: '通勤分の除外方法を、申請ごとの固定距離に変更しました',
setFixedDistance: ({distance, unit}: {distance: number; unit: string}) => {
const isSingular = distance === 1;
let unitLabel: string;
if (unit === 'mi') {
- unitLabel = isSingular ? 'mile' : 'miles';
+ unitLabel = isSingular ? 'マイル' : 'マイル';
} else {
- unitLabel = isSingular ? 'kilometer' : 'kilometers';
+ unitLabel = isSingular ? 'キロメートル' : 'キロメートル';
}
- return `set fixed distance exclusion to ${distance} ${unitLabel} per claim`;
+ return `1件の経費申請につき固定除外距離を${distance} ${unitLabel}に設定します`;
},
changedFixedDistance: ({newDistance, oldDistance, unit}: {newDistance: number; oldDistance: number; unit: string}) =>
- `changed fixed distance exclusion to ${newDistance} ${unit} per claim (previously ${oldDistance} ${unit})`,
- disabled: 'disabled exclude commutes for distance rates',
+ `1件あたりの固定距離除外を${oldDistance} ${unit}から${newDistance} ${unit}に変更しました`,
+ disabled: '距離レートで通勤を除外する設定を無効にしました',
},
updatedReimbursementChoice: (newReimbursementChoice: string, oldReimbursementChoice: string) =>
`精算方法を「${newReimbursementChoice}」(以前は「${oldReimbursementChoice}」)に変更しました`,
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index e51f0771f17..f5d5e1c7dd6 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -6519,19 +6519,16 @@ _Voor meer gedetailleerde instructies, [bezoek onze help-site](${CONST.NETSUITE_
distanceRates: {
oopsNotSoFast: 'Oeps! Niet zo snel...',
workspaceNeeds: 'Een workspace heeft minstens één ingeschakelde afstandstarief nodig.',
-
commuterExclusions: {
- title: 'Exclude commutes',
- summaryDisabled: 'No commute exclusion',
- summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Exclude ${distance} ${unit} per claim`,
- optionDisabledTitle: 'Do not exclude commutes',
- optionDisabledHelp: 'No commute exclusion is applied.',
- optionFixedDistanceTitle: 'Exclude a fixed distance per claim',
- optionFixedDistanceHelp: 'Remove the same commute distance from each claim. Best for members who submit one claim per workday.',
- distanceLabel: 'Distance',
- errors: {
- distanceMustBePositive: 'Distance must be greater than 0.',
- },
+ title: 'Woon-werkverkeer uitsluiten',
+ summaryDisabled: 'Geen woon-werkuitzondering',
+ summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Sluit ${distance} ${unit} per declaratie uit`,
+ optionDisabledTitle: 'Woon-werkverkeer niet uitsluiten',
+ optionDisabledHelp: 'Er is geen woon-werkuitzondering toegepast.',
+ optionFixedDistanceTitle: 'Een vaste afstand per declaratie uitsluiten',
+ optionFixedDistanceHelp: 'Trek dezelfde woon-werkafstand van elke declaratie af. Het meest geschikt voor leden die één declaratie per werkdag indienen.',
+ distanceLabel: 'Afstand',
+ errors: {distanceMustBePositive: 'Afstand moet groter zijn dan 0.'},
},
distance: 'Afstand',
centrallyManage: 'Beheer tarieven centraal, volg in mijlen of kilometers en stel een standaardcategorie in.',
@@ -7772,22 +7769,21 @@ er bestedingsregels toe om de kasstroom van het bedrijf te beschermen.`,
},
addedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `heeft ‘${prohibitedExpense}’ toegevoegd aan verboden uitgaven`,
removedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `heeft „${prohibitedExpense}” verwijderd uit verboden uitgaven`,
-
commuterExclusions: {
- changedToFixedDistance: 'changed exclude commutes to a fixed distance per claim',
+ changedToFixedDistance: 'heeft ‘woon-werkverkeer uitsluiten’ gewijzigd naar een vaste afstand per declaratie',
setFixedDistance: ({distance, unit}: {distance: number; unit: string}) => {
const isSingular = distance === 1;
let unitLabel: string;
if (unit === 'mi') {
- unitLabel = isSingular ? 'mile' : 'miles';
+ unitLabel = isSingular ? 'mijl' : 'mijlen';
} else {
unitLabel = isSingular ? 'kilometer' : 'kilometers';
}
- return `set fixed distance exclusion to ${distance} ${unitLabel} per claim`;
+ return `stel vaste afstandsuitsluiting in op ${distance} ${unitLabel} per declaratie`;
},
changedFixedDistance: ({newDistance, oldDistance, unit}: {newDistance: number; oldDistance: number; unit: string}) =>
- `changed fixed distance exclusion to ${newDistance} ${unit} per claim (previously ${oldDistance} ${unit})`,
- disabled: 'disabled exclude commutes for distance rates',
+ `heeft de vaste afstandsuitsluiting gewijzigd naar ${newDistance} ${unit} per declaratie (voorheen ${oldDistance} ${unit})`,
+ disabled: 'uitschakelen woon-werkverkeer uitsluiten voor afstandstarieven',
},
updatedReimbursementChoice: (newReimbursementChoice: string, oldReimbursementChoice: string) =>
`vergoedingsmethode gewijzigd naar ‘${newReimbursementChoice}’ (voorheen ‘${oldReimbursementChoice}’)`,
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index e6fc1506364..a19c945b87d 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -6512,19 +6512,16 @@ _Aby uzyskać bardziej szczegółowe instrukcje, [odwiedź naszą stronę pomocy
distanceRates: {
oopsNotSoFast: 'Ups! Nie tak szybko...',
workspaceNeeds: 'Miejsce pracy musi mieć włączoną co najmniej jedną stawkę za dystans.',
-
commuterExclusions: {
- title: 'Exclude commutes',
- summaryDisabled: 'No commute exclusion',
- summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Exclude ${distance} ${unit} per claim`,
- optionDisabledTitle: 'Do not exclude commutes',
- optionDisabledHelp: 'No commute exclusion is applied.',
- optionFixedDistanceTitle: 'Exclude a fixed distance per claim',
- optionFixedDistanceHelp: 'Remove the same commute distance from each claim. Best for members who submit one claim per workday.',
- distanceLabel: 'Distance',
- errors: {
- distanceMustBePositive: 'Distance must be greater than 0.',
- },
+ title: 'Wyklucz dojazdy',
+ summaryDisabled: 'Bez wykluczenia dojazdów',
+ summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Wyklucz ${distance} ${unit} na zgłoszenie`,
+ optionDisabledTitle: 'Nie wykluczaj dojazdów',
+ optionDisabledHelp: 'Nie zastosowano wyłączenia dojazdów.',
+ optionFixedDistanceTitle: 'Wyklucz stały dystans na każde rozliczenie',
+ optionFixedDistanceHelp: 'Odejmij tę samą odległość dojazdu od każdego rozliczenia. Najlepsze dla osób, które składają jedno rozliczenie na każdy dzień pracy.',
+ distanceLabel: 'Dystans',
+ errors: {distanceMustBePositive: 'Dystans musi być większy niż 0.'},
},
distance: 'Dystans',
centrallyManage: 'Centralnie zarządzaj stawkami, śledź w milach lub kilometrach i ustaw domyślną kategorię.',
@@ -7764,22 +7761,21 @@ Dodaj więcej zasad wydatków, żeby chronić płynność finansową firmy.`,
},
addedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `dodano „${prohibitedExpense}” do zabronionych wydatków`,
removedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `usunięto „${prohibitedExpense}” z wydatków zabronionych`,
-
commuterExclusions: {
- changedToFixedDistance: 'changed exclude commutes to a fixed distance per claim',
+ changedToFixedDistance: 'zmienił wykluczanie dojazdów na stały dystans na zgłoszenie',
setFixedDistance: ({distance, unit}: {distance: number; unit: string}) => {
const isSingular = distance === 1;
let unitLabel: string;
if (unit === 'mi') {
- unitLabel = isSingular ? 'mile' : 'miles';
+ unitLabel = isSingular ? 'mile' : 'mile';
} else {
- unitLabel = isSingular ? 'kilometer' : 'kilometers';
+ unitLabel = isSingular ? 'kilometr' : 'kilometry';
}
- return `set fixed distance exclusion to ${distance} ${unitLabel} per claim`;
+ return `ustaw stałe wykluczenie dystansu na ${distance} ${unitLabel} na zgłoszenie`;
},
changedFixedDistance: ({newDistance, oldDistance, unit}: {newDistance: number; oldDistance: number; unit: string}) =>
- `changed fixed distance exclusion to ${newDistance} ${unit} per claim (previously ${oldDistance} ${unit})`,
- disabled: 'disabled exclude commutes for distance rates',
+ `zmienił stałe wykluczenie dystansu na ${newDistance} ${unit} na zgłoszenie (wcześniej ${oldDistance} ${unit})`,
+ disabled: 'wyłączono wykluczanie dojazdów dla stawek za odległość',
},
updatedReimbursementChoice: (newReimbursementChoice: string, oldReimbursementChoice: string) =>
`zmieniono metodę zwrotu kosztów na „${newReimbursementChoice}” (wcześniej „${oldReimbursementChoice}”)`,
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 2e5599f4859..1a29dcc5c52 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -6517,19 +6517,16 @@ _Para instruções mais detalhadas, [visite nossa central de ajuda](${CONST.NETS
distanceRates: {
oopsNotSoFast: 'Opa! Não tão rápido...',
workspaceNeeds: 'Um workspace precisa de pelo menos uma taxa de distância ativada.',
-
commuterExclusions: {
- title: 'Exclude commutes',
- summaryDisabled: 'No commute exclusion',
- summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Exclude ${distance} ${unit} per claim`,
- optionDisabledTitle: 'Do not exclude commutes',
- optionDisabledHelp: 'No commute exclusion is applied.',
- optionFixedDistanceTitle: 'Exclude a fixed distance per claim',
- optionFixedDistanceHelp: 'Remove the same commute distance from each claim. Best for members who submit one claim per workday.',
- distanceLabel: 'Distance',
- errors: {
- distanceMustBePositive: 'Distance must be greater than 0.',
- },
+ title: 'Excluir deslocamentos para o trabalho',
+ summaryDisabled: 'Sem exclusão de deslocamento',
+ summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Excluir ${distance} ${unit} por solicitação`,
+ optionDisabledTitle: 'Não excluir deslocamentos de casa para o trabalho',
+ optionDisabledHelp: 'Nenhuma exclusão de deslocamento é aplicada.',
+ optionFixedDistanceTitle: 'Excluir uma distância fixa por solicitação',
+ optionFixedDistanceHelp: 'Remova a mesma distância de deslocamento de cada reembolso. Ideal para membros que enviam um reembolso por dia de trabalho.',
+ distanceLabel: 'Distância',
+ errors: {distanceMustBePositive: 'A distância deve ser maior que 0.'},
},
distance: 'Distância',
centrallyManage: 'Gerencie tarifas centralmente, acompanhe em milhas ou quilômetros e defina uma categoria padrão.',
@@ -7766,22 +7763,21 @@ Adicione mais regras de gasto para proteger o fluxo de caixa da empresa.`,
},
addedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `adicionou "${prohibitedExpense}" às despesas proibidas`,
removedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `removeu "${prohibitedExpense}" das despesas proibidas`,
-
commuterExclusions: {
- changedToFixedDistance: 'changed exclude commutes to a fixed distance per claim',
+ changedToFixedDistance: 'alterou "excluir trajetos casa-trabalho" para uma distância fixa por solicitação',
setFixedDistance: ({distance, unit}: {distance: number; unit: string}) => {
const isSingular = distance === 1;
let unitLabel: string;
if (unit === 'mi') {
- unitLabel = isSingular ? 'mile' : 'miles';
+ unitLabel = isSingular ? 'milha' : 'milhas';
} else {
- unitLabel = isSingular ? 'kilometer' : 'kilometers';
+ unitLabel = isSingular ? 'quilômetro' : 'quilômetros';
}
- return `set fixed distance exclusion to ${distance} ${unitLabel} per claim`;
+ return `definir exclusão de distância fixa de ${distance} ${unitLabel} por solicitação`;
},
changedFixedDistance: ({newDistance, oldDistance, unit}: {newDistance: number; oldDistance: number; unit: string}) =>
- `changed fixed distance exclusion to ${newDistance} ${unit} per claim (previously ${oldDistance} ${unit})`,
- disabled: 'disabled exclude commutes for distance rates',
+ `alterou a exclusão de distância fixa para ${newDistance} ${unit} por solicitação (antes ${oldDistance} ${unit})`,
+ disabled: 'excluiu deslocamentos diários para tarifas por distância',
},
updatedReimbursementChoice: (newReimbursementChoice: string, oldReimbursementChoice: string) =>
`alterou o método de reembolso para "${newReimbursementChoice}" (antes "${oldReimbursementChoice}")`,
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 0cd2fc3e697..777f62fd080 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -6353,19 +6353,16 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM
distanceRates: {
oopsNotSoFast: '哎呀!先别急……',
workspaceNeeds: '一个工作区至少需要一个已启用的距离费率。',
-
commuterExclusions: {
- title: 'Exclude commutes',
- summaryDisabled: 'No commute exclusion',
- summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `Exclude ${distance} ${unit} per claim`,
- optionDisabledTitle: 'Do not exclude commutes',
- optionDisabledHelp: 'No commute exclusion is applied.',
- optionFixedDistanceTitle: 'Exclude a fixed distance per claim',
- optionFixedDistanceHelp: 'Remove the same commute distance from each claim. Best for members who submit one claim per workday.',
- distanceLabel: 'Distance',
- errors: {
- distanceMustBePositive: 'Distance must be greater than 0.',
- },
+ title: '排除通勤',
+ summaryDisabled: '不排除通勤',
+ summaryFixedDistance: ({distance, unit}: {distance: number; unit: string}) => `每次报销排除 ${distance} ${unit}`,
+ optionDisabledTitle: '不要排除通勤',
+ optionDisabledHelp: '未应用通勤排除规则。',
+ optionFixedDistanceTitle: '为每笔报销排除固定距离',
+ optionFixedDistanceHelp: '从每笔报销中扣除相同的通勤距离。最适合每个工作日提交一笔报销的成员使用。',
+ distanceLabel: '距离',
+ errors: {distanceMustBePositive: '距离必须大于 0。'},
},
distance: '距离',
centrallyManage: '集中管理费率,以英里或公里跟踪,并设置默认类别。',
@@ -7565,22 +7562,21 @@ ${reportName}
},
addedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `已将“${prohibitedExpense}”添加到禁止报销的费用中`,
removedProhibitedExpense: ({prohibitedExpense}: {prohibitedExpense: string}) => `已从禁用报销类别中移除“${prohibitedExpense}”`,
-
commuterExclusions: {
- changedToFixedDistance: 'changed exclude commutes to a fixed distance per claim',
+ changedToFixedDistance: '已将“排除通勤”更改为“按每次报销固定距离”',
setFixedDistance: ({distance, unit}: {distance: number; unit: string}) => {
const isSingular = distance === 1;
let unitLabel: string;
if (unit === 'mi') {
- unitLabel = isSingular ? 'mile' : 'miles';
+ unitLabel = isSingular ? '英里' : '英里';
} else {
- unitLabel = isSingular ? 'kilometer' : 'kilometers';
+ unitLabel = isSingular ? '公里' : '千米';
}
- return `set fixed distance exclusion to ${distance} ${unitLabel} per claim`;
+ return `将每次报销的固定排除距离设置为 ${distance} ${unitLabel}`;
},
changedFixedDistance: ({newDistance, oldDistance, unit}: {newDistance: number; oldDistance: number; unit: string}) =>
- `changed fixed distance exclusion to ${newDistance} ${unit} per claim (previously ${oldDistance} ${unit})`,
- disabled: 'disabled exclude commutes for distance rates',
+ `已将固定距离排除调整为每笔报销 ${newDistance} ${unit}(之前为 ${oldDistance} ${unit})`,
+ disabled: '已停用“排除通勤距离费率”',
},
updatedReimbursementChoice: (newReimbursementChoice: string, oldReimbursementChoice: string) => `将报销方式更改为“${newReimbursementChoice}”(原为“${oldReimbursementChoice}”)`,
setAutoJoin: ({enabled}: {enabled: boolean}) => `${enabled ? '已启用' : '已禁用'} 预先批准加入工作区的请求`,
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
The previous commits switched ImportTransactions over to importing parseCSVDate from @libs/CSVDateUtils, but the new module file itself was never staged, leaving the import (and its test) unresolved. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Explanation of Change
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/642589
PROPOSAL:
Tests
commuterExclusionsOffline tests
Same as online tests
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand 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./** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari