Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/CONST/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ import {LOCALES} from './LOCALES';
const EMPTY_ARRAY = Object.freeze([]);
const EMPTY_OBJECT = Object.freeze({});

// Using 28 days to align with OldDot and because all months are guaranteed to be at least 28 days.
const MONTH_DAYS = Object.freeze([...Array(28).keys()].map((i) => i + 1));
Comment thread
s77rt marked this conversation as resolved.

const DEFAULT_NUMBER_ID = 0;
const CLOUDFRONT_DOMAIN = 'cloudfront.net';
const CLOUDFRONT_URL = `https://d2k5nsl2zxldvw.${CLOUDFRONT_DOMAIN}`;
Expand Down Expand Up @@ -418,6 +421,7 @@ const CONST = {
ORDINAL_DAY_OF_MONTH: 'do',
MONTH_DAY_YEAR_ORDINAL_FORMAT: 'MMMM do, yyyy',
SECONDS_PER_DAY: 24 * 60 * 60,
MONTH_DAYS,
},
SMS: {
DOMAIN: '@expensify.sms',
Expand Down Expand Up @@ -3185,6 +3189,7 @@ const CONST = {
AMEX_CUSTOM_FEED: 'AmexCustomFeed',
SELECT_COUNTRY: 'SelectCountry',
PLAID_CONNECTION: 'PlaidConnection',
SELECT_STATEMENT_CLOSE_DATE: 'SelectStatementCloseDate',
},
CARD_TYPE: {
AMEX: 'amex',
Expand Down Expand Up @@ -3226,6 +3231,11 @@ const CONST = {
RESTRICT: 'corporate',
ALLOW: 'personal',
},
STATEMENT_CLOSE_DATE: {
LAST_DAY_OF_MONTH: 'lastDayOfMonth',
LAST_BUSINESS_DAY_OF_MONTH: 'lastBusinessDayOfMonth',
CUSTOM_DAY_OF_MONTH: 'customDayOfMonth',
},
CARD_LIST_THRESHOLD: 8,
DEFAULT_EXPORT_TYPE: 'default',
EXPORT_CARD_TYPES: {
Expand Down
9 changes: 9 additions & 0 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4279,6 +4279,11 @@ const translations = {
pleaseSelectFeedType: 'Bitte wählen Sie einen Feed-Typ aus, bevor Sie fortfahren.',
},
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Letzter Tag des Monats',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_BUSINESS_DAY_OF_MONTH]: 'Letzter Geschäftstag des Monats',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.CUSTOM_DAY_OF_MONTH]: 'Individueller Tag des Monats',
},
assignCard: 'Karte zuweisen',
findCard: 'Karte finden',
cardNumber: 'Kartennummer',
Expand All @@ -4295,6 +4300,7 @@ const translations = {
startDateDescription: 'Wir werden alle Transaktionen ab diesem Datum importieren. Wenn kein Datum angegeben ist, gehen wir so weit zurück, wie es Ihre Bank erlaubt.',
fromTheBeginning: 'Von Anfang an',
customStartDate: 'Benutzerdefiniertes Startdatum',
customCloseDate: 'Benutzerdefiniertes Abschlussdatum',
letsDoubleCheck: 'Lassen Sie uns noch einmal überprüfen, ob alles richtig aussieht.',
confirmationDescription: 'Wir werden sofort mit dem Import von Transaktionen beginnen.',
cardholder: 'Karteninhaber',
Expand Down Expand Up @@ -4519,6 +4525,7 @@ const translations = {
removeCardFeedDescription: 'Möchten Sie diesen Karten-Feed wirklich entfernen? Dadurch werden alle Karten zugewiesen.',
error: {
feedNameRequired: 'Der Name des Karten-Feeds ist erforderlich',
statementCloseDateRequired: 'Bitte wählen Sie ein Abschlussdatum für den Kontoauszug aus.',
},
corporate: 'Löschen von Transaktionen einschränken',
personal: 'Löschen von Transaktionen erlauben',
Expand All @@ -4545,6 +4552,8 @@ const translations = {
expensifyCardBannerSubtitle:
'Genießen Sie Cashback bei jedem Einkauf in den USA, bis zu 50 % Rabatt auf Ihre Expensify-Rechnung, unbegrenzte virtuelle Karten und vieles mehr.',
expensifyCardBannerLearnMoreButton: 'Erfahren Sie mehr',
statementCloseDateTitle: 'Datum des Rechnungsabschlusses',
statementCloseDateDescription: 'Teilen Sie uns mit, wann Ihre Kartenabrechnung geschlossen wird, und wir erstellen eine passende Abrechnung in Expensify.',
},
workflows: {
title: 'Workflows',
Expand Down
9 changes: 9 additions & 0 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4261,6 +4261,11 @@ const translations = {
pleaseSelectFeedType: 'Please select a feed type before continuing',
},
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Last day of the month',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_BUSINESS_DAY_OF_MONTH]: 'Last business day of the month',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.CUSTOM_DAY_OF_MONTH]: 'Custom day of month',
},
assignCard: 'Assign card',
findCard: 'Find card',
cardNumber: 'Card number',
Expand All @@ -4277,6 +4282,7 @@ const translations = {
startDateDescription: "We'll import all transaction from this date onwards. If no date is specified, we’ll go as far back as your bank allows.",
fromTheBeginning: 'From the beginning',
customStartDate: 'Custom start date',
customCloseDate: 'Custom close date',
letsDoubleCheck: 'Let’s double check that everything looks right.',
confirmationDescription: 'We’ll begin importing transactions immediately.',
cardholder: 'Cardholder',
Expand Down Expand Up @@ -4498,6 +4504,7 @@ const translations = {
removeCardFeedDescription: 'Are you sure you want to remove this card feed? This will unassign all cards.',
error: {
feedNameRequired: 'Card feed name is required',
statementCloseDateRequired: 'Please select a statement close date.',
},
corporate: 'Restrict deleting transactions',
personal: 'Allow deleting transactions',
Expand All @@ -4522,6 +4529,8 @@ const translations = {
expensifyCardBannerTitle: 'Get the Expensify Card',
expensifyCardBannerSubtitle: 'Enjoy cash back on every US purchase, up to 50% off your Expensify bill, unlimited virtual cards, and so much more.',
expensifyCardBannerLearnMoreButton: 'Learn more',
statementCloseDateTitle: 'Statement close date',
statementCloseDateDescription: 'Let us know when your card statement closes, and we’ll create a matching statement in Expensify.',
},
workflows: {
title: 'Workflows',
Expand Down
9 changes: 9 additions & 0 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4269,6 +4269,11 @@ const translations = {
pleaseSelectFeedType: 'Seleccione un tipo de pienso antes de continuar',
},
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Último día del mes',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_BUSINESS_DAY_OF_MONTH]: 'Último día hábil del mes',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.CUSTOM_DAY_OF_MONTH]: 'Día personalizado del mes',
},
assignCard: 'Asignar tarjeta',
findCard: 'Encontrar tarjeta',
cardNumber: 'Número de la tarjeta',
Expand All @@ -4285,6 +4290,7 @@ const translations = {
startDateDescription: 'Importaremos todas las transacciones desde esta fecha en adelante. Si no se especifica una fecha, iremos tan atrás como lo permita tu banco.',
fromTheBeginning: 'Desde el principio',
customStartDate: 'Fecha de inicio personalizada',
customCloseDate: 'Fecha de cierre personalizada',
letsDoubleCheck: 'Verifiquemos que todo esté bien.',
confirmationDescription: 'Comenzaremos a importar transacciones inmediatamente.',
cardholder: 'Titular de la tarjeta',
Expand Down Expand Up @@ -4510,6 +4516,7 @@ const translations = {
removeCardFeedDescription: '¿Estás seguro de que deseas eliminar esta fuente de tarjetas? Esto anulará la asignación de todas las tarjetas.',
error: {
feedNameRequired: 'Se requiere el nombre de la fuente de la tarjeta',
statementCloseDateRequired: 'Por favor, selecciona una fecha de cierre del estado de cuenta.',
},
corporate: 'Restringir eliminación de transacciones',
personal: 'Permitir eliminación de transacciones',
Expand All @@ -4536,6 +4543,8 @@ const translations = {
expensifyCardBannerSubtitle:
'Disfruta de una devolución en cada compra en Estados Unidos, hasta un 50% de descuento en tu factura de Expensify, tarjetas virtuales ilimitadas y mucho más.',
expensifyCardBannerLearnMoreButton: 'Más información',
statementCloseDateTitle: 'Fecha de cierre del estado de cuenta',
statementCloseDateDescription: 'Indícanos cuándo cierra el estado de cuenta de tu tarjeta y crearemos uno correspondiente en Expensify.',
},
workflows: {
title: 'Flujos de trabajo',
Expand Down
9 changes: 9 additions & 0 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4288,6 +4288,11 @@ const translations = {
pleaseSelectFeedType: 'Veuillez sélectionner un type de flux avant de continuer',
},
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Dernier jour du mois',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_BUSINESS_DAY_OF_MONTH]: 'Dernier jour ouvrable du mois',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.CUSTOM_DAY_OF_MONTH]: 'Jour personnalisé du mois',
},
assignCard: 'Attribuer la carte',
findCard: 'Trouver la carte',
cardNumber: 'Numéro de carte',
Expand All @@ -4304,6 +4309,7 @@ const translations = {
startDateDescription: "Nous importerons toutes les transactions à partir de cette date. Si aucune date n'est spécifiée, nous remonterons aussi loin que votre banque le permet.",
fromTheBeginning: 'Depuis le début',
customStartDate: 'Date de début personnalisé',
customCloseDate: 'Date de clôture personnalisée',
letsDoubleCheck: 'Vérifions que tout est correct.',
confirmationDescription: 'Nous commencerons à importer les transactions immédiatement.',
cardholder: 'Titulaire de carte',
Expand Down Expand Up @@ -4531,6 +4537,7 @@ const translations = {
removeCardFeedDescription: 'Êtes-vous sûr de vouloir supprimer ce flux de cartes ? Cela désassignera toutes les cartes.',
error: {
feedNameRequired: 'Le nom du flux de carte est requis',
statementCloseDateRequired: 'Veuillez sélectionner une date de clôture du relevé.',
},
corporate: 'Restreindre la suppression des transactions',
personal: 'Autoriser la suppression des transactions',
Expand Down Expand Up @@ -4558,6 +4565,8 @@ const translations = {
expensifyCardBannerSubtitle:
"Profitez de remises en argent sur chaque achat aux États-Unis, jusqu'à 50 % de réduction sur votre facture Expensify, des cartes virtuelles illimitées, et bien plus encore.",
expensifyCardBannerLearnMoreButton: 'En savoir plus',
statementCloseDateTitle: 'Date de clôture du relevé',
statementCloseDateDescription: 'Indiquez-nous la date de clôture de votre relevé de carte et nous créerons un relevé correspondant dans Expensify.',
},
workflows: {
title: 'Workflows',
Expand Down
9 changes: 9 additions & 0 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4292,6 +4292,11 @@ const translations = {
pleaseSelectFeedType: 'Si prega di selezionare un tipo di feed prima di continuare',
},
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Ultimo giorno del mese',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_BUSINESS_DAY_OF_MONTH]: 'Ultimo giorno lavorativo del mese',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.CUSTOM_DAY_OF_MONTH]: 'Giorno del mese personalizzato',
},
assignCard: 'Assegna carta',
findCard: 'Trova carta',
cardNumber: 'Numero di carta',
Expand All @@ -4309,6 +4314,7 @@ const translations = {
'Importeremo tutte le transazioni da questa data in poi. Se non viene specificata alcuna data, risaliremo indietro fino a quanto consentito dalla tua banca.',
fromTheBeginning: "Dall'inizio",
customStartDate: 'Data di inizio personalizzata',
customCloseDate: 'Data di chiusura personalizzata',
letsDoubleCheck: 'Verifichiamo che tutto sia corretto.',
confirmationDescription: 'Inizieremo immediatamente a importare le transazioni.',
cardholder: 'Titolare della carta',
Expand Down Expand Up @@ -4532,6 +4538,7 @@ const translations = {
removeCardFeedDescription: 'Sei sicuro di voler rimuovere questo feed di carte? Questo disassegnerà tutte le carte.',
error: {
feedNameRequired: 'Il nome del feed della carta è obbligatorio',
statementCloseDateRequired: "Selezionare una data di chiusura dell'estratto conto.",
},
corporate: "Limita l'eliminazione delle transazioni",
personal: "Consenti l'eliminazione delle transazioni",
Expand All @@ -4558,6 +4565,8 @@ const translations = {
expensifyCardBannerSubtitle:
'Goditi il cashback su ogni acquisto negli Stati Uniti, fino al 50% di sconto sulla tua fattura Expensify, carte virtuali illimitate e molto altro ancora.',
expensifyCardBannerLearnMoreButton: 'Scopri di più',
statementCloseDateTitle: "Data di chiusura dell'estratto conto",
statementCloseDateDescription: "Comunicateci la data di chiusura dell'estratto conto della vostra carta e creeremo un estratto conto corrispondente in Expensify.",
},
workflows: {
title: 'Flussi di lavoro',
Expand Down
9 changes: 9 additions & 0 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4277,6 +4277,11 @@ const translations = {
pleaseSelectFeedType: '続行する前にフィードタイプを選択してください',
},
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: '月の最終日',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_BUSINESS_DAY_OF_MONTH]: '月の最終営業日',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.CUSTOM_DAY_OF_MONTH]: 'カスタム月日',
},
assignCard: 'カードを割り当てる',
findCard: 'カードを探す',
cardNumber: 'カード番号',
Expand All @@ -4293,6 +4298,7 @@ const translations = {
startDateDescription: 'この日付以降のすべての取引をインポートします。日付が指定されていない場合は、銀行が許可する限り遡ります。',
fromTheBeginning: '最初から',
customStartDate: 'カスタム開始日',
customCloseDate: 'カスタムクローズ日',
letsDoubleCheck: 'すべてが正しいかどうかをもう一度確認しましょう。',
confirmationDescription: 'すぐに取引のインポートを開始します。',
cardholder: 'カードホルダー',
Expand Down Expand Up @@ -4515,6 +4521,7 @@ const translations = {
removeCardFeedDescription: 'このカードフィードを削除してもよろしいですか?これにより、すべてのカードの割り当てが解除されます。',
error: {
feedNameRequired: 'カードフィード名は必須です',
statementCloseDateRequired: '明細書の締め日を選択してください。',
},
corporate: '取引の削除を制限する',
personal: '取引の削除を許可',
Expand All @@ -4539,6 +4546,8 @@ const translations = {
expensifyCardBannerTitle: 'Expensifyカードを取得する',
expensifyCardBannerSubtitle: 'すべての米国での購入でキャッシュバックを楽しみ、Expensifyの請求書が最大50%オフ、無制限のバーチャルカードなど、さらに多くの特典があります。',
expensifyCardBannerLearnMoreButton: '詳細を確認',
statementCloseDateTitle: '利用明細書の締め日',
statementCloseDateDescription: 'カード利用明細書の締め日をお知らせいただければ、Expensifyで一致する明細書を作成します。',
},
workflows: {
title: 'ワークフロー',
Expand Down
9 changes: 9 additions & 0 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4296,6 +4296,11 @@ const translations = {
pleaseSelectFeedType: 'Selecteer een feedtype voordat u doorgaat.',
},
},
statementCloseDate: {
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_DAY_OF_MONTH]: 'Laatste dag van de maand',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.LAST_BUSINESS_DAY_OF_MONTH]: 'Laatste werkdag van de maand',
[CONST.COMPANY_CARDS.STATEMENT_CLOSE_DATE.CUSTOM_DAY_OF_MONTH]: 'Aangepaste dag van de maand',
},
assignCard: 'Kaart toewijzen',
findCard: 'Kaart vinden',
cardNumber: 'Kaartnummer',
Expand All @@ -4312,6 +4317,7 @@ const translations = {
startDateDescription: 'We importeren alle transacties vanaf deze datum. Als er geen datum is opgegeven, gaan we zo ver terug als uw bank toestaat.',
fromTheBeginning: 'Vanaf het begin',
customStartDate: 'Aangepaste startdatum',
customCloseDate: 'Aangepaste sluitingsdatum',
letsDoubleCheck: 'Laten we dubbel controleren of alles er goed uitziet.',
confirmationDescription: 'We beginnen onmiddellijk met het importeren van transacties.',
cardholder: 'Kaart houder',
Expand Down Expand Up @@ -4536,6 +4542,7 @@ const translations = {
removeCardFeedDescription: 'Weet je zeker dat je deze kaartfeed wilt verwijderen? Dit zal alle kaarten deactiveren.',
error: {
feedNameRequired: 'Naam van de kaartfeed is vereist',
statementCloseDateRequired: 'Selecteer een datum waarop het afschrift moet worden gesloten.',
},
corporate: 'Beperk het verwijderen van transacties',
personal: 'Verwijderen van transacties toestaan',
Expand All @@ -4560,6 +4567,8 @@ const translations = {
expensifyCardBannerTitle: 'Verkrijg de Expensify Card',
expensifyCardBannerSubtitle: 'Geniet van cashback op elke aankoop in de VS, tot 50% korting op je Expensify-rekening, onbeperkte virtuele kaarten en nog veel meer.',
expensifyCardBannerLearnMoreButton: 'Meer informatie',
statementCloseDateTitle: 'Datum waarop rekeningafschrift wordt gesloten',
statementCloseDateDescription: 'Laat ons weten wanneer je rekeningafschrift wordt gesloten, dan maken we een bijpassend rekeningafschrift in Expensify.',
},
workflows: {
title: 'Workflows',
Expand Down
Loading
Loading