Skip to content

Commit

Permalink
Merge pull request #44646 from Expensify/revert-44418-jamesdeanexpens…
Browse files Browse the repository at this point in the history
…ify-patch-8

[NoQA] Revert "Update en.ts"
  • Loading branch information
carlosmiceli authored Jun 28, 2024
2 parents 6fa1e5a + 742af39 commit 34690f1
Show file tree
Hide file tree
Showing 18 changed files with 207 additions and 234 deletions.
2 changes: 1 addition & 1 deletion .github/libs/sanitizeStringForJSONParse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const replacer = (str: string): string =>
'\r': '\\r',
'\f': '\\f',
'"': '\\"',
})[str] ?? '';
}[str] ?? '');

/**
* Replace any characters in the string that will break JSON.parse for our Git Log output
Expand Down
11 changes: 4 additions & 7 deletions src/hooks/useStepFormSubmit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,10 @@ export default function useStepFormSubmit<T extends keyof OnyxFormValuesMapping>
return useCallback(
(values: FormOnyxValues<T>) => {
if (shouldSaveDraft) {
const stepValues = fieldIds.reduce(
(acc, key) => {
acc[key] = values[key];
return acc;
},
{} as Record<TupleToUnion<typeof fieldIds>, OnyxValues[T][Exclude<keyof OnyxValues[T], keyof BaseForm>]>,
);
const stepValues = fieldIds.reduce((acc, key) => {
acc[key] = values[key];
return acc;
}, {} as Record<TupleToUnion<typeof fieldIds>, OnyxValues[T][Exclude<keyof OnyxValues[T], keyof BaseForm>]>);

FormActions.setDraftValues(formId, stepValues);
}
Expand Down
125 changes: 62 additions & 63 deletions src/languages/en.ts

Large diffs are not rendered by default.

67 changes: 34 additions & 33 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -917,7 +917,7 @@ export default {
initialSettingsPage: {
about: 'Acerca de',
aboutPage: {
description: 'La Nueva Expensify está creada por una comunidad de desarrolladores de código abierto de todo el mundo. Ayúdanos a construir el futuro de Expensify.',
description: 'La nueva Expensify está creada por una comunidad de desarrolladores de código abierto de todo el mundo. Ayúdanos a construir el futuro de Expensify.',
appDownloadLinks: 'Enlaces para descargar la App',
viewKeyboardShortcuts: 'Ver atajos de teclado',
viewTheCode: 'Ver código',
Expand All @@ -941,7 +941,7 @@ export default {
viewConsole: 'Ver la consola de depuración',
debugConsole: 'Consola de depuración',
description: 'Utilice las herramientas que aparecen a continuación para solucionar los problemas de Expensify. Si tiene algún problema, por favor',
submitBug: 'envíe un informe de error',
submitBug: 'envíe un error',
confirmResetDescription: 'Todos los borradores no enviados se perderán, pero el resto de tus datos estarán a salvo.',
resetAndRefresh: 'Restablecer y actualizar',
clientSideLogging: 'Registro a nivel cliente',
Expand All @@ -950,7 +950,7 @@ export default {
profileTrace: 'Traza de ejecución',
releaseOptions: 'Opciones de publicación',
testingPreferences: 'Preferencias para Tests',
useStagingServer: 'Usar servidor “staging”',
useStagingServer: 'Usar Servidor “Staging”',
forceOffline: 'Forzar desconexión',
simulatFailingNetworkRequests: 'Simular fallos en solicitudes de red',
authenticationStatus: 'Estado de autenticación',
Expand Down Expand Up @@ -1191,7 +1191,7 @@ export default {
delaySubmissionDescription: 'Los gastos se comparten de inmediato para una mejor visibilidad del gasto. Establece una cadencia más lenta si es necesario.',
submissionFrequency: 'Frecuencia de envíos',
submissionFrequencyDateOfMonth: 'Fecha del mes',
addApprovalsTitle: 'Aprobaciones',
addApprovalsTitle: 'Requerir aprobaciones',
approver: 'Aprobador',
connectBankAccount: 'Conectar cuenta bancaria',
addApprovalsDescription: 'Requiere una aprobación adicional antes de autorizar un pago.',
Expand Down Expand Up @@ -1582,7 +1582,7 @@ export default {
bankAccount: {
bankInfo: 'Información bancaria',
confirmBankInfo: 'Confirmar información bancaria',
manuallyAdd: '¿Cuáles son los detalles de tu cuenta bancaria comercial?',
manuallyAdd: 'Añadir manualmente tu cuenta bancaria',
letsDoubleCheck: 'Verifiquemos que todo esté correcto.',
accountEnding: 'Cuenta terminada en',
thisBankAccount: 'Esta cuenta bancaria se utilizará para pagos comerciales en tu espacio de trabajo',
Expand All @@ -1591,13 +1591,13 @@ export default {
chooseAnAccountBelow: 'Elige una cuenta a continuación',
addBankAccount: 'Añadir cuenta bancaria',
chooseAnAccount: 'Elige una cuenta',
connectOnlineWithPlaid: 'Conectar con Plaid',
connectOnlineWithPlaid: 'Conéctate a Plaid online',
connectManually: 'Conectar manualmente',
desktopConnection: 'Para conectarse con Chase, Wells Fargo, Capital One o Bank of America, haz clic aquí para completar este proceso en un navegador.',
yourDataIsSecure: 'Tus datos están seguros',
toGetStarted: 'Conecta una cuenta bancaria para reembolsar gastos, emitir tarjetas corporativas, y cobrar y pagar facturas todo desde un mismo lugar.',
toGetStarted: 'Añade una cuenta bancaria y reembolsa gastos, emite tarjetas corporativas, y cobra y paga facturas todo desde un mismo lugar.',
plaidBodyCopy: 'Ofrezca a sus empleados una forma más sencilla de pagar - y recuperar - los gastos de la empresa.',
checkHelpLine: 'Tus números de ruta y de cuenta se pueden encontrar en un cheque de la cuenta bancaria.',
checkHelpLine: 'Tu número de ruta y número de cuenta se pueden encontrar en un cheque de la cuenta bancaria.',
validateAccountError: {
phrase1: '¡Un momento! Primero necesitas validar tu cuenta. Para hacerlo, ',
phrase2: 'vuelve a iniciar sesión con un código mágico',
Expand All @@ -1607,36 +1607,37 @@ export default {
hasPhoneLoginError:
'Para añadir una cuenta bancaria verificada, asegúrate de que tu nombre de usuario principal sea un correo electrónico válido y vuelve a intentarlo. Puedes añadir tu número de teléfono como nombre de usuario secundario.',
hasBeenThrottledError: 'Se produjo un error al intentar añadir tu cuenta bancaria. Por favor, espera unos minutos e inténtalo de nuevo.',
hasCurrencyError: '¡Ups! Parece que la moneda de tu espacio de trabajo no está configurada en USD. Por favor, configúrala en USD e inténtalo nuevamente.',
hasCurrencyError:
'¡Ups! Parece que la moneda de tu espacio de trabajo está configurada en una moneda diferente a USD. Para continuar, por favor configúrala en USD e inténtalo nuevamente.',
error: {
youNeedToSelectAnOption: 'Debes seleccionar una opción para continuar',
noBankAccountAvailable: 'Lo sentimos, no hay ninguna cuenta bancaria disponible',
noBankAccountSelected: 'Por favor, elige una cuenta bancaria',
taxID: 'Por favor, introduce un número de identificación fiscal válido',
youNeedToSelectAnOption: 'Debes seleccionar una opción para continuar.',
noBankAccountAvailable: 'Lo sentimos, no hay ninguna cuenta bancaria disponible.',
noBankAccountSelected: 'Por favor, elige una cuenta bancaria.',
taxID: 'Por favor, introduce un número de identificación fiscal válido.',
website: 'Por favor, introduce un sitio web válido. El sitio web debe estar en minúsculas.',
zipCode: `Formato de código postal incorrecto. Formato aceptable: ${CONST.COUNTRY_ZIP_REGEX_DATA.US.samples}`,
phoneNumber: 'Por favor, introduce un teléfono válido',
companyName: 'Por favor, introduce un nombre comercial legal válido',
addressCity: 'Por favor, introduce una ciudad válida',
addressStreet: 'Por favor, introduce una calle de dirección válida que no sea un apartado postal',
addressState: 'Por favor, selecciona un estado',
incorporationDateFuture: 'La fecha de incorporación no puede ser futura',
incorporationState: 'Por favor, selecciona una estado válido',
industryCode: 'Por favor, introduce un código de clasificación de industria válido',
restrictedBusiness: 'Por favor, confirma que la empresa no está en la lista de negocios restringidos',
routingNumber: 'Por favor, introduce un número de ruta válido',
accountNumber: 'Por favor, introduce un número de cuenta válido',
routingAndAccountNumberCannotBeSame: 'Los números de ruta y de cuenta no pueden ser iguales',
companyType: 'Por favor, selecciona un tipo de compañía válido',
phoneNumber: 'Por favor, introduce un teléfono válido.',
companyName: 'Por favor, introduce un nombre comercial legal válido.',
addressCity: 'Por favor, introduce una ciudad válida.',
addressStreet: 'Por favor, introduce una calle de dirección válida que no sea un apartado postal.',
addressState: 'Por favor, selecciona un estado.',
incorporationDateFuture: 'La fecha de incorporación no puede ser futura.',
incorporationState: 'Por favor, selecciona una estado válido.',
industryCode: 'Por favor, introduce un código de clasificación de industria válido.',
restrictedBusiness: 'Por favor, confirma que la empresa no está en la lista de negocios restringidos.',
routingNumber: 'Por favor, introduce un número de ruta válido.',
accountNumber: 'Por favor, introduce un número de cuenta válido.',
routingAndAccountNumberCannotBeSame: 'El número de ruta y el número de cuenta no pueden ser iguales.',
companyType: 'Por favor, selecciona un tipo de compañía válido.',
tooManyAttempts:
'Debido a la gran cantidad de intentos de inicio de sesión, esta opción ha sido desactivada temporalmente durante 24 horas. Por favor, inténtalo de nuevo más tarde.',
address: 'Por favor, introduce una dirección válida',
dob: 'Por favor, selecciona una fecha de nacimiento válida',
age: 'Debe ser mayor de 18 años',
ssnLast4: 'Por favor, introduce los últimos 4 dígitos del número de seguridad social',
firstName: 'Por favor, introduce el nombre',
lastName: 'Por favor, introduce los apellidos',
noDefaultDepositAccountOrDebitCardAvailable: 'Por favor, añade una cuenta bancaria para depósitos o una tarjeta de débito',
address: 'Por favor, introduce una dirección válida.',
dob: 'Por favor, selecciona una fecha de nacimiento válida.',
age: 'Debe ser mayor de 18 años.',
ssnLast4: 'Por favor, introduce los últimos 4 dígitos del número de seguridad social.',
firstName: 'Por favor, introduce el nombre.',
lastName: 'Por favor, introduce los apellidos.',
noDefaultDepositAccountOrDebitCardAvailable: 'Por favor, añade una cuenta bancaria para depósitos o una tarjeta de débito.',
validationAmounts: 'Los importes de validación que introduciste son incorrectos. Por favor, comprueba tu cuenta bancaria e inténtalo de nuevo.',
},
},
Expand Down
20 changes: 10 additions & 10 deletions src/languages/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -261,22 +261,22 @@ type FlattenObject<TObject, TPrefix extends string = ''> = {
[TKey in keyof TObject]: TObject[TKey] extends (...args: any[]) => any
? `${TPrefix}${TKey & string}`
: // eslint-disable-next-line @typescript-eslint/no-explicit-any
TObject[TKey] extends any[]
? `${TPrefix}${TKey & string}`
: // eslint-disable-next-line @typescript-eslint/ban-types
TObject[TKey] extends object
? FlattenObject<TObject[TKey], `${TPrefix}${TKey & string}.`>
: `${TPrefix}${TKey & string}`;
TObject[TKey] extends any[]
? `${TPrefix}${TKey & string}`
: // eslint-disable-next-line @typescript-eslint/ban-types
TObject[TKey] extends object
? FlattenObject<TObject[TKey], `${TPrefix}${TKey & string}.`>
: `${TPrefix}${TKey & string}`;
}[keyof TObject];

// Retrieves a type for a given key path (calculated from the type above)
type TranslateType<TObject, TPath extends string> = TPath extends keyof TObject
? TObject[TPath]
: TPath extends `${infer TKey}.${infer TRest}`
? TKey extends keyof TObject
? TranslateType<TObject[TKey], TRest>
: never
: never;
? TKey extends keyof TObject
? TranslateType<TObject[TKey], TRest>
: never
: never;

type EnglishTranslation = typeof en;

Expand Down
11 changes: 4 additions & 7 deletions src/libs/Localize/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,10 @@ type Phrase<TKey extends TranslationPaths> = TranslationFlatObject[TKey] extends
* in our cache.
*/
const translationCache = new Map<ValueOf<typeof CONST.LOCALES>, Map<TranslationPaths, string>>(
Object.values(CONST.LOCALES).reduce(
(cache, locale) => {
cache.push([locale, new Map<TranslationPaths, string>()]);
return cache;
},
[] as Array<[ValueOf<typeof CONST.LOCALES>, Map<TranslationPaths, string>]>,
),
Object.values(CONST.LOCALES).reduce((cache, locale) => {
cache.push([locale, new Map<TranslationPaths, string>()]);
return cache;
}, [] as Array<[ValueOf<typeof CONST.LOCALES>, Map<TranslationPaths, string>]>),
);

/**
Expand Down
28 changes: 11 additions & 17 deletions src/libs/actions/Policy/Policy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2515,16 +2515,13 @@ function enablePolicyTaxes(policyID: string, enabled: boolean) {
taxRates: {
...defaultTaxRates,
taxes: {
...Object.keys(defaultTaxRates.taxes).reduce(
(acc, taxKey) => {
acc[taxKey] = {
...defaultTaxRates.taxes[taxKey],
pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD,
};
return acc;
},
{} as Record<string, TaxRate & {pendingAction: typeof CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD}>,
),
...Object.keys(defaultTaxRates.taxes).reduce((acc, taxKey) => {
acc[taxKey] = {
...defaultTaxRates.taxes[taxKey],
pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD,
};
return acc;
}, {} as Record<string, TaxRate & {pendingAction: typeof CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD}>),
},
},
},
Expand All @@ -2537,13 +2534,10 @@ function enablePolicyTaxes(policyID: string, enabled: boolean) {
value: {
taxRates: {
taxes: {
...Object.keys(defaultTaxRates.taxes).reduce(
(acc, taxKey) => {
acc[taxKey] = {pendingAction: null};
return acc;
},
{} as Record<string, {pendingAction: null}>,
),
...Object.keys(defaultTaxRates.taxes).reduce((acc, taxKey) => {
acc[taxKey] = {pendingAction: null};
return acc;
}, {} as Record<string, {pendingAction: null}>),
},
},
},
Expand Down
27 changes: 12 additions & 15 deletions src/libs/migrations/RenameCardIsVirtual.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,20 @@ export default function () {
}

Log.info('[Migrate Onyx] Running RenameCardIsVirtual migration');
const dataToSave = cardsWithIsVirtualProp.reduce(
(acc, card) => {
if (!card) {
return acc;
}
const dataToSave = cardsWithIsVirtualProp.reduce((acc, card) => {
if (!card) {
return acc;
}

acc[card.cardID] = {
nameValuePairs: {
isVirtual: card?.nameValuePairs?.isVirtual,
},
isVirtual: undefined,
};
acc[card.cardID] = {
nameValuePairs: {
isVirtual: card?.nameValuePairs?.isVirtual,
},
isVirtual: undefined,
};

return acc;
},
{} as Record<string, NullishDeep<OldCard>>,
);
return acc;
}, {} as Record<string, NullishDeep<OldCard>>);

// eslint-disable-next-line rulesdir/prefer-actions-set-data
Onyx.merge(ONYXKEYS.CARD_LIST, dataToSave).then(() => {
Expand Down
23 changes: 10 additions & 13 deletions src/libs/migrations/RenameReceiptFilename.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,17 @@ export default function () {
return resolve();
}
Log.info('[Migrate Onyx] Running RenameReceiptFilename migration');
const dataToSave = transactionsWithReceipt?.reduce(
(acc, transaction) => {
if (!transaction) {
return acc;
}
Log.info(`[Migrate Onyx] Renaming receiptFilename ${transaction.receiptFilename} to filename`);
acc[`${ONYXKEYS.COLLECTION.TRANSACTION}${transaction.transactionID}`] = {
filename: transaction.receiptFilename,
receiptFilename: null,
};
const dataToSave = transactionsWithReceipt?.reduce((acc, transaction) => {
if (!transaction) {
return acc;
},
{} as Record<TransactionKey, NullishDeep<OldTransaction>>,
);
}
Log.info(`[Migrate Onyx] Renaming receiptFilename ${transaction.receiptFilename} to filename`);
acc[`${ONYXKEYS.COLLECTION.TRANSACTION}${transaction.transactionID}`] = {
filename: transaction.receiptFilename,
receiptFilename: null,
};
return acc;
}, {} as Record<TransactionKey, NullishDeep<OldTransaction>>);

// eslint-disable-next-line rulesdir/prefer-actions-set-data
Onyx.mergeCollection(ONYXKEYS.COLLECTION.TRANSACTION, dataToSave).then(() => {
Expand Down
11 changes: 4 additions & 7 deletions src/pages/EnablePayments/utils/getSubstepValues.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,10 @@ function getSubstepValues<T extends keyof WalletAdditionalDetailsForm>(
walletAdditionalDetailsDraft: OnyxEntry<WalletAdditionalDetailsForm>,
walletAdditionalDetails: OnyxEntry<WalletAdditionalDetailsRefactor>,
): {[K in T]: WalletAdditionalDetailsForm[K] | string} {
return Object.entries(inputKeys).reduce(
(acc, [, value]) => {
acc[value] = walletAdditionalDetailsDraft?.[value] ?? walletAdditionalDetails?.[value as keyof PersonalInfoStepProps] ?? '';
return acc;
},
{} as {[K in T]: WalletAdditionalDetailsForm[K] | string},
);
return Object.entries(inputKeys).reduce((acc, [, value]) => {
acc[value] = walletAdditionalDetailsDraft?.[value] ?? walletAdditionalDetails?.[value as keyof PersonalInfoStepProps] ?? '';
return acc;
}, {} as {[K in T]: WalletAdditionalDetailsForm[K] | string});
}

export default getSubstepValues;
Loading

0 comments on commit 34690f1

Please sign in to comment.