From 53e97e327b5d34bb564745043063cd878cec772b Mon Sep 17 00:00:00 2001 From: ShridharGoel <35566748+ShridharGoel@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:10:54 +0530 Subject: [PATCH 01/15] Use periods at the end of error messages --- package-lock.json | 6 +- package.json | 2 +- src/languages/en.ts | 142 ++++++++++++++++++------------------ src/languages/es.ts | 170 ++++++++++++++++++++++---------------------- 4 files changed, 161 insertions(+), 159 deletions(-) diff --git a/package-lock.json b/package-lock.json index d61279efb85b..834f3a225ac7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -206,7 +206,7 @@ "electron-builder": "24.13.2", "eslint": "^7.6.0", "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-expensify": "^2.0.44", + "eslint-config-expensify": "^2.0.46", "eslint-config-prettier": "^8.8.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^24.1.0", @@ -26606,7 +26606,9 @@ } }, "node_modules/eslint-config-expensify": { - "version": "2.0.44", + "version": "2.0.46", + "resolved": "https://js-registry.sharechat.com/eslint-config-expensify/-/eslint-config-expensify-2.0.46.tgz", + "integrity": "sha512-yRJ1GmIKTN0e0x1bCHbefzvLVlQJeM1Xv7zXuRfY1nll1s0F4f6HI6vs/kMpveWn/KzcKhBmrNqASGslhRUb3A==", "dev": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 0e988576aaa4..13f4c394d2d7 100644 --- a/package.json +++ b/package.json @@ -257,7 +257,7 @@ "electron-builder": "24.13.2", "eslint": "^7.6.0", "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-expensify": "^2.0.44", + "eslint-config-expensify": "^2.0.46", "eslint-config-prettier": "^8.8.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^24.1.0", diff --git a/src/languages/en.ts b/src/languages/en.ts index 3b670f7b6ebc..15fa4b9df13e 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -222,20 +222,20 @@ export default { conjunctionAt: 'at', genericErrorMessage: 'Oops... something went wrong and your request could not be completed. Please try again later.', error: { - invalidAmount: 'Invalid amount', - acceptTerms: 'You must accept the Terms of Service to continue', + invalidAmount: 'Invalid amount.', + acceptTerms: 'You must accept the Terms of Service to continue.', phoneNumber: `Please enter a valid phone number, with the country code (e.g. ${CONST.EXAMPLE_PHONE_NUMBER})`, fieldRequired: 'This field is required.', requestModified: 'This request is being modified by another member.', characterLimit: ({limit}: CharacterLimitParams) => `Exceeds the maximum length of ${limit} characters`, characterLimitExceedCounter: ({length, limit}) => `Character limit exceeded (${length}/${limit})`, - dateInvalid: 'Please select a valid date', + dateInvalid: 'Please select a valid date.', invalidDateShouldBeFuture: 'Please choose today or a future date.', invalidTimeShouldBeFuture: 'Please choose a time at least one minute ahead.', - invalidCharacter: 'Invalid character', - enterMerchant: 'Enter a merchant name', - enterAmount: 'Enter an amount', - enterDate: 'Enter a date', + invalidCharacter: 'Invalid character.', + enterMerchant: 'Enter a merchant name.', + enterAmount: 'Enter an amount.', + enterDate: 'Enter a date.', }, comma: 'comma', semicolon: 'semicolon', @@ -695,17 +695,17 @@ export default { invalidCategoryLength: 'The length of the category chosen exceeds the maximum allowed (255). Please choose a different or shorten the category name first.', invalidAmount: 'Please enter a valid amount before continuing.', invalidTaxAmount: ({amount}: RequestAmountParams) => `Maximum tax amount is ${amount}`, - invalidSplit: 'Split amounts do not equal total amount', - other: 'Unexpected error, please try again later', - genericCreateFailureMessage: 'Unexpected error requesting money, please try again later', - receiptFailureMessage: "The receipt didn't upload. ", - saveFileMessage: 'Download the file ', - loseFileMessage: 'or dismiss this error and lose it', - genericDeleteFailureMessage: 'Unexpected error deleting the money request, please try again later', - genericEditFailureMessage: 'Unexpected error editing the money request, please try again later', - genericSmartscanFailureMessage: 'Transaction is missing fields', - duplicateWaypointsErrorMessage: 'Please remove duplicate waypoints', - atLeastTwoDifferentWaypoints: 'Please enter at least two different addresses', + invalidSplit: 'Split amounts do not equal total amount.', + other: 'Unexpected error, please try again later.', + genericCreateFailureMessage: 'Unexpected error requesting money, please try again later.', + receiptFailureMessage: "The receipt didn't upload.", + saveFileMessage: 'Download the file .', + loseFileMessage: 'or dismiss this error and lose it.', + genericDeleteFailureMessage: 'Unexpected error deleting the money request, please try again later.', + genericEditFailureMessage: 'Unexpected error editing the money request, please try again later.', + genericSmartscanFailureMessage: 'Transaction is missing fields.', + duplicateWaypointsErrorMessage: 'Please remove duplicate waypoints.', + atLeastTwoDifferentWaypoints: 'Please enter at least two different addresses.', splitBillMultipleParticipantsErrorMessage: 'Split bill is only allowed between a single workspace or individual users. Please update your selection.', invalidMerchant: 'Please enter a correct merchant.', }, @@ -942,9 +942,9 @@ export default { currentPassword: 'Current password', newPassword: 'New password', newPasswordPrompt: 'New password must be different than your old password, have at least 8 characters, 1 capital letter, 1 lowercase letter, and 1 number.', - errors: { - currentPassword: 'Current password is required', - newPasswordSameAsOld: 'New password must be different than your old password', + error: { + currentPassword: 'Current password is required.', + newPasswordSameAsOld: 'New password must be different than your old password.', newPassword: 'Your password must have at least 8 characters, 1 capital letter, 1 lowercase letter, and 1 number.', }, }, @@ -974,7 +974,7 @@ export default { }, recoveryCodeForm: { error: { - pleaseFillRecoveryCode: 'Please enter your recovery code', + pleaseFillRecoveryCode: 'Please enter your recovery code.', incorrectRecoveryCode: 'Incorrect recovery code. Please try again.', }, useRecoveryCode: 'Use recovery code', @@ -983,7 +983,7 @@ export default { }, twoFactorAuthForm: { error: { - pleaseFillTwoFactorAuth: 'Please enter your two-factor authentication code', + pleaseFillTwoFactorAuth: 'Please enter your two-factor authentication code.', incorrect2fa: 'Incorrect two-factor authentication code. Please try again.', }, }, @@ -998,7 +998,7 @@ export default { composerLabel: 'Notes', myNote: 'My note', error: { - genericFailureMessage: "Private notes couldn't be saved", + genericFailureMessage: "Private notes couldn't be saved.", }, }, addDebitCardPage: { @@ -1013,15 +1013,15 @@ export default { expensifyPassword: 'Expensify password', error: { invalidName: 'Name can only include letters.', - addressZipCode: 'Please enter a valid zip code', - debitCardNumber: 'Please enter a valid debit card number', - expirationDate: 'Please select a valid expiration date', - securityCode: 'Please enter a valid security code', - addressStreet: 'Please enter a valid billing address that is not a PO Box', - addressState: 'Please select a state', - addressCity: 'Please enter a city', - genericFailureMessage: 'An error occurred while adding your card, please try again', - password: 'Please enter your Expensify password', + addressZipCode: 'Please enter a valid zip code.', + debitCardNumber: 'Please enter a valid debit card number.', + expirationDate: 'Please select a valid expiration date.', + securityCode: 'Please enter a valid security code.', + addressStreet: 'Please enter a valid billing address that is not a PO Box.', + addressState: 'Please select a state.', + addressCity: 'Please enter a city.', + genericFailureMessage: 'An error occurred while adding your card, please try again.', + password: 'Please enter your Expensify password.', }, }, walletPage: { @@ -1281,9 +1281,9 @@ export default { requestNewCode: 'Request a new code in ', requestNewCodeAfterErrorOccurred: 'Request a new code', error: { - pleaseFillMagicCode: 'Please enter your magic code', + pleaseFillMagicCode: 'Please enter your magic code.', incorrectMagicCode: 'Incorrect magic code.', - pleaseFillTwoFactorAuth: 'Please enter your two-factor authentication code', + pleaseFillTwoFactorAuth: 'Please enter your two-factor authentication code.', }, }, passwordForm: { @@ -1334,14 +1334,14 @@ export default { [CONST.ONBOARDING_CHOICES.LOOKING_AROUND]: "I'm just looking around", }, error: { - requiredFirstName: 'Please input your first name to continue', - requiredLastName: 'Please input your last name to continue', + requiredFirstName: 'Please input your first name to continue.', + requiredLastName: 'Please input your last name to continue.', }, }, personalDetails: { error: { - containsReservedWord: 'Name cannot contain the words Expensify or Concierge', - hasInvalidCharacter: 'Name cannot contain a comma or semicolon', + containsReservedWord: 'Name cannot contain the words Expensify or Concierge.', + hasInvalidCharacter: 'Name cannot contain a comma or semicolon.', }, }, privatePersonalDetails: { @@ -1479,32 +1479,32 @@ export default { hasCurrencyError: 'Oops! It appears that your workspace currency is set to a different currency than USD. To proceed, please set it to USD and try again', error: { youNeedToSelectAnOption: 'You need to select an option to proceed.', - noBankAccountAvailable: 'Sorry, no bank account is available', - noBankAccountSelected: 'Please choose an account', - taxID: 'Please enter a valid tax ID number', + noBankAccountAvailable: 'Sorry, no bank account is available.', + noBankAccountSelected: 'Please choose an account.', + taxID: 'Please enter a valid tax ID number.', website: 'Please enter a valid website. The website should be in lowercase.', zipCode: `Incorrect zip code format. Acceptable format: ${CONST.COUNTRY_ZIP_REGEX_DATA.US.samples}`, - phoneNumber: 'Please enter a valid phone number', - companyName: 'Please enter a valid legal business name', - addressCity: 'Please enter a valid city', - addressStreet: 'Please enter a valid street address that is not a PO box', - addressState: 'Please select a valid state', - incorporationDateFuture: 'Incorporation date cannot be in the future', - incorporationState: 'Please select a valid state', + phoneNumber: 'Please enter a valid phone number.', + companyName: 'Please enter a valid legal business name.', + addressCity: 'Please enter a valid city.', + addressStreet: 'Please enter a valid street address that is not a PO box.', + addressState: 'Please select a valid state.', + incorporationDateFuture: 'Incorporation date cannot be in the future.', + incorporationState: 'Please select a valid state.', industryCode: 'Please enter a valid industry classification code. Must be 6 digits.', - restrictedBusiness: 'Please confirm company is not on the list of restricted businesses', - routingNumber: 'Please enter a valid routing number', - accountNumber: 'Please enter a valid account number', - routingAndAccountNumberCannotBeSame: 'The routing number and account number cannot be the same', - companyType: 'Please select a valid company type', + restrictedBusiness: 'Please confirm company is not on the list of restricted businesses.', + routingNumber: 'Please enter a valid routing number.', + accountNumber: 'Please enter a valid account number.', + routingAndAccountNumberCannotBeSame: 'The routing number and account number cannot be the same.', + companyType: 'Please select a valid company type.', tooManyAttempts: 'Due to a high number of login attempts, this option has been temporarily disabled for 24 hours. Please try again later or manually enter details instead.', - address: 'Please enter a valid address', - dob: 'Please select a valid date of birth', - age: 'Must be over 18 years old', - ssnLast4: 'Please enter valid last 4 digits of SSN', - firstName: 'Please enter a valid first name', - lastName: 'Please enter a valid last name', - noDefaultDepositAccountOrDebitCardAvailable: 'Please add a default deposit bank account or debit card', + address: 'Please enter a valid address.', + dob: 'Please select a valid date of birth.', + age: 'Must be over 18 years old.', + ssnLast4: 'Please enter valid last 4 digits of SSN.', + firstName: 'Please enter a valid first name.', + lastName: 'Please enter a valid last name.', + noDefaultDepositAccountOrDebitCardAvailable: 'Please add a default deposit bank account or debit card.', validationAmounts: 'The validation amounts you entered are incorrect. Please double-check your bank statement and try again.', }, }, @@ -1767,7 +1767,7 @@ export default { termsAndConditions: 'terms and conditions', certifyTrueAndAccurate: 'I certify that the information provided is true and accurate', error: { - certify: 'Must certify information is true and accurate', + certify: 'Must certify information is true and accurate.', }, }, completeVerificationStep: { @@ -1980,7 +1980,7 @@ export default { foreignDefault: 'Foreign currency default', customTaxName: 'Custom tax name', value: 'Value', - errors: { + error: { taxRateAlreadyExists: 'This tax name is already in use.', valuePercentageRange: 'Please enter a valid percentage between 0 and 100.', customNameRequired: 'Custom tax name is required.', @@ -2449,8 +2449,8 @@ export default { okay: 'Okay', }, error: { - title: 'Update Check Failed', - message: "We couldn't look for an update. Please check again in a bit!", + title: 'Update Check Failed.', + message: "We couldn't look for an update. Please check again in a bit!.", }, }, report: { @@ -2576,10 +2576,10 @@ export default { contactMethods: 'Contact methods.', schoolMailAsDefault: 'Before you move forward, please make sure to set your school email as your default contact method. You can do so in Settings > Profile > ', error: { - enterPhoneEmail: 'Enter a valid email or phone number', - enterEmail: 'Enter an email', - enterValidEmail: 'Enter a valid email', - tryDifferentEmail: 'Please try a different email', + enterPhoneEmail: 'Enter a valid email or phone number.', + enterEmail: 'Enter an email.', + enterValidEmail: 'Enter a valid email.', + tryDifferentEmail: 'Please try a different email.', }, }, cardTransactions: { @@ -2601,8 +2601,8 @@ export default { subtitle: 'The map will be generated when you go back online', onlineSubtitle: 'One moment while we set up the map', }, - errors: { - selectSuggestedAddress: 'Please select a suggested address or use current location', + error: { + selectSuggestedAddress: 'Please select a suggested address or use current location.', }, }, reportCardLostOrDamaged: { diff --git a/src/languages/es.ts b/src/languages/es.ts index 5027174b2922..d9ca5932aeff 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -212,20 +212,20 @@ export default { conjunctionAt: 'a', genericErrorMessage: 'Ups... algo no ha ido bien y la acción no se ha podido completar. Por favor, inténtalo más tarde.', error: { - invalidAmount: 'Importe no válido', - acceptTerms: 'Debes aceptar los Términos de Servicio para continuar', + invalidAmount: 'Importe no válido.', + acceptTerms: 'Debes aceptar los Términos de Servicio para continuar.', phoneNumber: `Introduce un teléfono válido, incluyendo el código del país (p. ej. ${CONST.EXAMPLE_PHONE_NUMBER})`, fieldRequired: 'Este campo es obligatorio.', requestModified: 'Esta solicitud está siendo modificada por otro miembro.', characterLimit: ({limit}: CharacterLimitParams) => `Supera el límite de ${limit} caracteres`, characterLimitExceedCounter: ({length, limit}) => `Se superó el límite de caracteres (${length}/${limit})`, - dateInvalid: 'Por favor, selecciona una fecha válida', - invalidDateShouldBeFuture: 'Por favor, elige una fecha igual o posterior a hoy', - invalidTimeShouldBeFuture: 'Por favor, elige una hora al menos un minuto en el futuro', - invalidCharacter: 'Carácter invalido', - enterMerchant: 'Introduce un comerciante', - enterAmount: 'Introduce un importe', - enterDate: 'Introduce una fecha', + dateInvalid: 'Por favor, selecciona una fecha válida.', + invalidDateShouldBeFuture: 'Por favor, elige una fecha igual o posterior a hoy.', + invalidTimeShouldBeFuture: 'Por favor, elige una hora al menos un minuto en el futuro.', + invalidCharacter: 'Carácter invalido.', + enterMerchant: 'Introduce un comerciante.', + enterAmount: 'Introduce un importe.', + enterDate: 'Introduce una fecha.', }, comma: 'la coma', semicolon: 'el punto y coma', @@ -693,17 +693,17 @@ export default { invalidCategoryLength: 'El largo de la categoría escogida excede el máximo permitido (255). Por favor, escoge otra categoría o acorta la categoría primero.', invalidAmount: 'Por favor, ingresa un importe válido antes de continuar.', invalidTaxAmount: ({amount}: RequestAmountParams) => `El importe máximo del impuesto es ${amount}`, - invalidSplit: 'La suma de las partes no equivale al importe total', - other: 'Error inesperado, por favor inténtalo más tarde', - genericCreateFailureMessage: 'Error inesperado solicitando dinero. Por favor, inténtalo más tarde', - receiptFailureMessage: 'El recibo no se subió. ', - saveFileMessage: 'Guarda el archivo ', - loseFileMessage: 'o descarta este error y piérdelo', - genericDeleteFailureMessage: 'Error inesperado eliminando la solicitud de dinero. Por favor, inténtalo más tarde', - genericEditFailureMessage: 'Error inesperado al guardar la solicitud de dinero. Por favor, inténtalo más tarde', - genericSmartscanFailureMessage: 'La transacción tiene campos vacíos', - duplicateWaypointsErrorMessage: 'Por favor, elimina los puntos de ruta duplicados', - atLeastTwoDifferentWaypoints: 'Por favor, introduce al menos dos direcciones diferentes', + invalidSplit: 'La suma de las partes no equivale al importe total.', + other: 'Error inesperado, por favor inténtalo más tarde.', + genericCreateFailureMessage: 'Error inesperado solicitando dinero. Por favor, inténtalo más tarde.', + receiptFailureMessage: 'El recibo no se subió. .', + saveFileMessage: 'Guarda el archivo .', + loseFileMessage: 'o descarta este error y piérdelo.', + genericDeleteFailureMessage: 'Error inesperado eliminando la solicitud de dinero. Por favor, inténtalo más tarde.', + genericEditFailureMessage: 'Error inesperado al guardar la solicitud de dinero. Por favor, inténtalo más tarde.', + genericSmartscanFailureMessage: 'La transacción tiene campos vacíos.', + duplicateWaypointsErrorMessage: 'Por favor, elimina los puntos de ruta duplicados.', + atLeastTwoDifferentWaypoints: 'Por favor, introduce al menos dos direcciones diferentes.', splitBillMultipleParticipantsErrorMessage: 'Solo puedes dividir una cuenta entre un único espacio de trabajo o con usuarios individuales. Por favor, actualiza tu selección.', invalidMerchant: 'Por favor, introduce un comerciante correcto.', }, @@ -940,9 +940,9 @@ export default { currentPassword: 'Contraseña actual', newPassword: 'Nueva contraseña', newPasswordPrompt: 'La nueva contraseña debe ser diferente de la antigua, tener al menos 8 caracteres, 1 letra mayúscula, 1 letra minúscula y 1 número.', - errors: { - currentPassword: 'Contraseña actual es requerido', - newPasswordSameAsOld: 'La nueva contraseña tiene que ser diferente de la antigua', + error: { + currentPassword: 'Contraseña actual es requerido.', + newPasswordSameAsOld: 'La nueva contraseña tiene que ser diferente de la antigua.', newPassword: 'Su contraseña debe tener al menos 8 caracteres, 1 letra mayúscula, 1 letra minúscula y 1 número.', }, }, @@ -973,8 +973,8 @@ export default { }, recoveryCodeForm: { error: { - pleaseFillRecoveryCode: 'Por favor, introduce tu código de recuperación', - incorrectRecoveryCode: 'Código de recuperación incorrecto. Por favor, inténtalo de nuevo', + pleaseFillRecoveryCode: 'Por favor, introduce tu código de recuperación.', + incorrectRecoveryCode: 'Código de recuperación incorrecto. Por favor, inténtalo de nuevo.', }, useRecoveryCode: 'Usar código de recuperación', recoveryCode: 'Código de recuperación', @@ -982,8 +982,8 @@ export default { }, twoFactorAuthForm: { error: { - pleaseFillTwoFactorAuth: 'Por favor, introduce tu código de autenticación de dos factores', - incorrect2fa: 'Código de autenticación de dos factores incorrecto. Por favor, inténtalo de nuevo', + pleaseFillTwoFactorAuth: 'Por favor, introduce tu código de autenticación de dos factores.', + incorrect2fa: 'Código de autenticación de dos factores incorrecto. Por favor, inténtalo de nuevo.', }, }, passwordConfirmationScreen: { @@ -997,7 +997,7 @@ export default { composerLabel: 'Notas', myNote: 'Mi nota', error: { - genericFailureMessage: 'Las notas privadas no han podido ser guardadas', + genericFailureMessage: 'Las notas privadas no han podido ser guardadas.', }, }, addDebitCardPage: { @@ -1012,15 +1012,15 @@ export default { expensifyPassword: 'Contraseña de Expensify', error: { invalidName: 'El nombre sólo puede incluir letras.', - addressZipCode: 'Por favor, introduce un código postal válido', - debitCardNumber: 'Por favor, introduce un número de tarjeta de débito válido', - expirationDate: 'Por favor, selecciona una fecha de vencimiento válida', - securityCode: 'Por favor, introduce un código de seguridad válido', - addressStreet: 'Por favor, introduce una dirección de facturación válida que no sea un apartado postal', - addressState: 'Por favor, selecciona un estado', - addressCity: 'Por favor, introduce una ciudad', - genericFailureMessage: 'Se produjo un error al añadir tu tarjeta. Vuelva a intentarlo', - password: 'Por favor, introduce tu contraseña de Expensify', + addressZipCode: 'Por favor, introduce un código postal válido.', + debitCardNumber: 'Por favor, introduce un número de tarjeta de débito válido.', + expirationDate: 'Por favor, selecciona una fecha de vencimiento válida.', + securityCode: 'Por favor, introduce un código de seguridad válido.', + addressStreet: 'Por favor, introduce una dirección de facturación válida que no sea un apartado postal.', + addressState: 'Por favor, selecciona un estado.', + addressCity: 'Por favor, introduce una ciudad.', + genericFailureMessage: 'Se produjo un error al añadir tu tarjeta. Vuelva a intentarlo.', + password: 'Por favor, introduce tu contraseña de Expensify.', }, }, walletPage: { @@ -1283,9 +1283,9 @@ export default { requestNewCode: 'Pedir un código nuevo en ', requestNewCodeAfterErrorOccurred: 'Solicitar un nuevo código', error: { - pleaseFillMagicCode: 'Por favor, introduce el código mágico', + pleaseFillMagicCode: 'Por favor, introduce el código mágico.', incorrectMagicCode: 'Código mágico incorrecto.', - pleaseFillTwoFactorAuth: 'Por favor, introduce tu código de autenticación de dos factores', + pleaseFillTwoFactorAuth: 'Por favor, introduce tu código de autenticación de dos factores.', }, }, passwordForm: { @@ -1297,15 +1297,15 @@ export default { requiredWhen2FAEnabled: 'Obligatorio cuando A2F está habilitado', error: { incorrectPassword: 'Contraseña incorrecta. Por favor, inténtalo de nuevo.', - incorrectLoginOrPassword: 'Usuario o contraseña incorrectos. Por favor, inténtalo de nuevo', - incorrect2fa: 'Código de autenticación de dos factores incorrecto. Por favor, inténtalo de nuevo', - twoFactorAuthenticationEnabled: 'Tienes autenticación de 2 factores activada en esta cuenta. Por favor, conéctate usando tu email o número de teléfono', - invalidLoginOrPassword: 'Usuario o clave incorrectos. Por favor, inténtalo de nuevo o restablece la contraseña', + incorrectLoginOrPassword: 'Usuario o contraseña incorrectos. Por favor, inténtalo de nuevo.', + incorrect2fa: 'Código de autenticación de dos factores incorrecto. Por favor, inténtalo de nuevo.', + twoFactorAuthenticationEnabled: 'Tienes autenticación de 2 factores activada en esta cuenta. Por favor, conéctate usando tu email o número de teléfono.', + invalidLoginOrPassword: 'Usuario o clave incorrectos. Por favor, inténtalo de nuevo o restablece la contraseña.', unableToResetPassword: - 'No se pudo cambiar tu clave. Probablemente porque el enlace para restablecer la contrasenña ha expirado. Te hemos enviado un nuevo enlace. Comprueba tu bandeja de entrada y carpeta de Spam', - noAccess: 'No tienes acceso a esta aplicación. Por favor, añade tu usuario de GitHub para acceder', - accountLocked: 'Tu cuenta ha sido bloqueada tras varios intentos fallidos. Por favor, inténtalo de nuevo dentro de una hora', - fallback: 'Ha ocurrido un error. Por favor, inténtalo mas tarde', + 'No se pudo cambiar tu clave. Probablemente porque el enlace para restablecer la contrasenña ha expirado. Te hemos enviado un nuevo enlace. Comprueba tu bandeja de entrada y carpeta de Spam.', + noAccess: 'No tienes acceso a esta aplicación. Por favor, añade tu usuario de GitHub para acceder.', + accountLocked: 'Tu cuenta ha sido bloqueada tras varios intentos fallidos. Por favor, inténtalo de nuevo dentro de una hora.', + fallback: 'Ha ocurrido un error. Por favor, inténtalo mas tarde.', }, }, loginForm: { @@ -1336,14 +1336,14 @@ export default { [CONST.ONBOARDING_CHOICES.LOOKING_AROUND]: 'Sólo estoy mirando', }, error: { - requiredFirstName: 'Introduce tu nombre para continuar', - requiredLastName: 'Introduce tu apellido para continuar', + requiredFirstName: 'Introduce tu nombre para continuar.', + requiredLastName: 'Introduce tu apellido para continuar.', }, }, personalDetails: { error: { - containsReservedWord: 'El nombre no puede contener las palabras Expensify o Concierge', - hasInvalidCharacter: 'El nombre no puede contener una coma o un punto y coma', + containsReservedWord: 'El nombre no puede contener las palabras Expensify o Concierge.', + hasInvalidCharacter: 'El nombre no puede contener una coma o un punto y coma.', }, }, privatePersonalDetails: { @@ -1500,33 +1500,33 @@ export default { '¡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', + 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: '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', + 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.', }, }, @@ -1793,7 +1793,7 @@ export default { termsAndConditions: 'Términos y condiciones', certifyTrueAndAccurate: 'Certifico que la información dada es correcta', error: { - certify: 'Debe certificar que la información es verdadera y precisa', + certify: 'Debe certificar que la información es verdadera y precisa.', }, }, completeVerificationStep: { @@ -2007,10 +2007,10 @@ export default { foreignDefault: 'Moneda extranjera por defecto', customTaxName: 'Nombre del impuesto', value: 'Valor', - errors: { - taxRateAlreadyExists: 'Ya existe un impuesto con este nombre', + error: { + taxRateAlreadyExists: 'Ya existe un impuesto con este nombre.', customNameRequired: 'El nombre del impuesto es obligatorio.', - valuePercentageRange: 'Por favor, introduce un porcentaje entre 0 y 100', + valuePercentageRange: 'Por favor, introduce un porcentaje entre 0 y 100.', deleteFailureMessage: 'Se ha producido un error al intentar eliminar la tasa de impuesto. Por favor, inténtalo más tarde.', updateFailureMessage: 'Se ha producido un error al intentar modificar la tasa de impuesto. Por favor, inténtalo más tarde.', createFailureMessage: 'Se ha producido un error al intentar crear la tasa de impuesto. Por favor, inténtalo más tarde.', @@ -2481,8 +2481,8 @@ export default { okay: 'Vale', }, error: { - title: 'Comprobación fallida', - message: 'No hemos podido comprobar si existe una actualización. ¡Inténtalo de nuevo más tarde!', + title: 'Comprobación fallida.', + message: 'No hemos podido comprobar si existe una actualización. ¡Inténtalo de nuevo más tarde!.', }, }, report: { @@ -3069,10 +3069,10 @@ export default { schoolMailAsDefault: 'Antes de seguir adelante, asegúrate de establecer el correo electrónico de tu colegio como método de contacto predeterminado. Puede hacerlo en Configuración > Perfil > ', error: { - enterPhoneEmail: 'Ingrese un correo electrónico o número de teléfono válido', - enterEmail: 'Introduce un correo electrónico', - enterValidEmail: 'Introduzca un correo electrónico válido', - tryDifferentEmail: 'Por favor intenta con un e-mail diferente', + enterPhoneEmail: 'Ingrese un correo electrónico o número de teléfono válido.', + enterEmail: 'Introduce un correo electrónico.', + enterValidEmail: 'Introduzca un correo electrónico válido.', + tryDifferentEmail: 'Por favor intenta con un e-mail diferente.', }, }, cardTransactions: { @@ -3094,7 +3094,7 @@ export default { subtitle: 'El mapa se generará cuando vuelvas a estar en línea', onlineSubtitle: 'Un momento mientras configuramos el mapa', }, - errors: { + error: { selectSuggestedAddress: 'Por favor, selecciona una dirección sugerida o usa la ubicación actual.', }, }, From 4a3822ed03119b14a79fb125f00d5248618cbe7b Mon Sep 17 00:00:00 2001 From: ShridharGoel <35566748+ShridharGoel@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:15:22 +0530 Subject: [PATCH 02/15] Use periods at the end of error messages --- src/libs/actions/TaxRate.ts | 14 +++++++------- .../iou/request/step/IOURequestStepWaypoint.tsx | 4 ++-- .../taxes/WorkspaceTaxesSettingsCustomTaxName.tsx | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/libs/actions/TaxRate.ts b/src/libs/actions/TaxRate.ts index ec69ea79b7ee..f8425cd0c40c 100644 --- a/src/libs/actions/TaxRate.ts +++ b/src/libs/actions/TaxRate.ts @@ -39,7 +39,7 @@ const validateTaxName = (policy: Policy, values: FormOnyxValues((acc, taxID) => { acc[taxID] = { pendingAction: null, - errors: ErrorUtils.getMicroSecondOnyxError('workspace.taxes.errors.deleteFailureMessage'), + errors: ErrorUtils.getMicroSecondOnyxError('workspace.taxes.error.deleteFailureMessage'), }; return acc; }, {}), @@ -376,7 +376,7 @@ function updatePolicyTaxValue(policyID: string, taxID: string, taxValue: number) [taxID]: { value: originalTaxRate.value, pendingFields: {value: null}, - errorFields: {value: ErrorUtils.getMicroSecondOnyxError('workspace.taxes.errors.updateFailureMessage')}, + errorFields: {value: ErrorUtils.getMicroSecondOnyxError('workspace.taxes.error.updateFailureMessage')}, }, }, }, @@ -438,7 +438,7 @@ function renamePolicyTax(policyID: string, taxID: string, newName: string) { [taxID]: { name: originalTaxRate.name, pendingFields: {name: null}, - errorFields: {name: ErrorUtils.getMicroSecondOnyxError('workspace.taxes.errors.updateFailureMessage')}, + errorFields: {name: ErrorUtils.getMicroSecondOnyxError('workspace.taxes.error.updateFailureMessage')}, }, }, }, diff --git a/src/pages/iou/request/step/IOURequestStepWaypoint.tsx b/src/pages/iou/request/step/IOURequestStepWaypoint.tsx index 93f9e03a7494..59cc794c2406 100644 --- a/src/pages/iou/request/step/IOURequestStepWaypoint.tsx +++ b/src/pages/iou/request/step/IOURequestStepWaypoint.tsx @@ -96,7 +96,7 @@ function IOURequestStepWaypoint({ // If the user is online, and they are trying to save a value without using the autocomplete, show an error message instructing them to use a selected address instead. // That enables us to save the address with coordinates when it is selected if (!isOffline && waypointValue !== '' && waypointAddress !== waypointValue) { - ErrorUtils.addErrorMessage(errors, `waypoint${pageIndex}`, 'distance.errors.selectSuggestedAddress'); + ErrorUtils.addErrorMessage(errors, `waypoint${pageIndex}`, 'distance.error.selectSuggestedAddress'); } return errors; @@ -204,7 +204,7 @@ function IOURequestStepWaypoint({ ref={(e: HTMLElement | null) => { textInput.current = e as unknown as TextInput; }} - hint={!isOffline ? 'distance.errors.selectSuggestedAddress' : ''} + hint={!isOffline ? 'distance.error.selectSuggestedAddress' : ''} containerStyles={[styles.mt4]} label={translate('distance.address')} defaultValue={waypointAddress} diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx index e9e359d9d059..4054e789af27 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx @@ -43,7 +43,7 @@ function WorkspaceTaxesSettingsCustomTaxName({ const customTaxName = values[INPUT_IDS.NAME]; if (!ValidationUtils.isRequiredFulfilled(customTaxName)) { - errors.name = 'workspace.taxes.errors.customNameRequired'; + errors.name = 'workspace.taxes.error.customNameRequired'; } return errors; From f76a57dd1e20a69ba54f17685826029ae25c4434 Mon Sep 17 00:00:00 2001 From: Shridhar Goel <35566748+ShridharGoel@users.noreply.github.com> Date: Wed, 10 Apr 2024 13:32:10 +0530 Subject: [PATCH 03/15] Update package-lock.json --- package-lock.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 834f3a225ac7..220b072a03ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26606,9 +26606,7 @@ } }, "node_modules/eslint-config-expensify": { - "version": "2.0.46", - "resolved": "https://js-registry.sharechat.com/eslint-config-expensify/-/eslint-config-expensify-2.0.46.tgz", - "integrity": "sha512-yRJ1GmIKTN0e0x1bCHbefzvLVlQJeM1Xv7zXuRfY1nll1s0F4f6HI6vs/kMpveWn/KzcKhBmrNqASGslhRUb3A==", + "version": "2.0.45", "dev": true, "license": "ISC", "dependencies": { From b11176ee988c051952a5cc21c91856222956407a Mon Sep 17 00:00:00 2001 From: Shridhar Goel <35566748+ShridharGoel@users.noreply.github.com> Date: Wed, 10 Apr 2024 13:32:36 +0530 Subject: [PATCH 04/15] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 13f4c394d2d7..336254dddf7a 100644 --- a/package.json +++ b/package.json @@ -257,7 +257,7 @@ "electron-builder": "24.13.2", "eslint": "^7.6.0", "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-expensify": "^2.0.46", + "eslint-config-expensify": "^2.0.45", "eslint-config-prettier": "^8.8.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^24.1.0", From fa80eac51c7356e9c87a7464c69e52441ad91387 Mon Sep 17 00:00:00 2001 From: Shridhar Goel <35566748+ShridharGoel@users.noreply.github.com> Date: Wed, 10 Apr 2024 13:33:34 +0530 Subject: [PATCH 05/15] Update to use 2.0.45 --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 220b072a03ce..f8ec2ca523a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -206,7 +206,7 @@ "electron-builder": "24.13.2", "eslint": "^7.6.0", "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-expensify": "^2.0.46", + "eslint-config-expensify": "^2.0.45", "eslint-config-prettier": "^8.8.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^24.1.0", From 981c45306e5029735bd9aa13ea2f4796fbcbdc2b Mon Sep 17 00:00:00 2001 From: Shridhar Goel <35566748+ShridharGoel@users.noreply.github.com> Date: Wed, 10 Apr 2024 13:35:35 +0530 Subject: [PATCH 06/15] Update en.ts --- src/languages/en.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 15fa4b9df13e..99126e5fd8d3 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -942,11 +942,6 @@ export default { currentPassword: 'Current password', newPassword: 'New password', newPasswordPrompt: 'New password must be different than your old password, have at least 8 characters, 1 capital letter, 1 lowercase letter, and 1 number.', - error: { - currentPassword: 'Current password is required.', - newPasswordSameAsOld: 'New password must be different than your old password.', - newPassword: 'Your password must have at least 8 characters, 1 capital letter, 1 lowercase letter, and 1 number.', - }, }, twoFactorAuth: { headerTitle: 'Two-factor authentication', From 36d3036fb8176cf561505d1ed1d2a849cbdcc39e Mon Sep 17 00:00:00 2001 From: Shridhar Goel <35566748+ShridharGoel@users.noreply.github.com> Date: Wed, 10 Apr 2024 13:36:08 +0530 Subject: [PATCH 07/15] Update es.ts --- src/languages/es.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/languages/es.ts b/src/languages/es.ts index d9ca5932aeff..cb9d9fbc8224 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -940,11 +940,6 @@ export default { currentPassword: 'Contraseña actual', newPassword: 'Nueva contraseña', newPasswordPrompt: 'La nueva contraseña debe ser diferente de la antigua, tener al menos 8 caracteres, 1 letra mayúscula, 1 letra minúscula y 1 número.', - error: { - currentPassword: 'Contraseña actual es requerido.', - newPasswordSameAsOld: 'La nueva contraseña tiene que ser diferente de la antigua.', - newPassword: 'Su contraseña debe tener al menos 8 caracteres, 1 letra mayúscula, 1 letra minúscula y 1 número.', - }, }, twoFactorAuth: { headerTitle: 'Autenticación de dos factores', From 9b2fa9420aa9e3359eb4b4207a2f368f250d7b00 Mon Sep 17 00:00:00 2001 From: ShridharGoel <35566748+ShridharGoel@users.noreply.github.com> Date: Mon, 15 Apr 2024 22:17:00 +0530 Subject: [PATCH 08/15] Update --- .eslintrc.js | 1 + package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index c2198da60c52..21467e061433 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -123,6 +123,7 @@ module.exports = { }, }, ], + 'rulesdir/avoid-anonymous-functions': 'off', }, }, // This helps disable the `prefer-alias` rule to be enabled for specific directories diff --git a/package-lock.json b/package-lock.json index 6013fb5e4dc7..83e1859c889f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -207,7 +207,7 @@ "electron-builder": "24.13.2", "eslint": "^7.6.0", "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-expensify": "^2.0.45", + "eslint-config-expensify": "^2.0.46", "eslint-config-prettier": "^8.8.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^24.1.0", @@ -19245,7 +19245,7 @@ } }, "node_modules/eslint-config-expensify": { - "version": "2.0.45", + "version": "2.0.46", "dev": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index ab699b006a35..cb27f981084c 100644 --- a/package.json +++ b/package.json @@ -258,7 +258,7 @@ "electron-builder": "24.13.2", "eslint": "^7.6.0", "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-expensify": "^2.0.45", + "eslint-config-expensify": "^2.0.46", "eslint-config-prettier": "^8.8.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^24.1.0", From 4a8ff63629644cbbaec2b172498a957e63327fc8 Mon Sep 17 00:00:00 2001 From: Shridhar Goel <35566748+ShridharGoel@users.noreply.github.com> Date: Fri, 19 Apr 2024 16:27:43 +0530 Subject: [PATCH 09/15] Update en.ts --- src/languages/en.ts | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 761399940d1a..0a8d2357f7a5 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -336,8 +336,8 @@ export default { cameraPermissionRequired: 'Camera access', expensifyDoesntHaveAccessToCamera: "Expensify can't take photos without access to your camera. Tap Settings to update permissions.", attachmentError: 'Attachment error', - errorWhileSelectingAttachment: 'An error occurred while selecting an attachment, please try again', - errorWhileSelectingCorruptedImage: 'An error occurred while selecting a corrupted attachment, please try another file', + errorWhileSelectingAttachment: 'An error occurred while selecting an attachment, please try again.', + errorWhileSelectingCorruptedImage: 'An error occurred while selecting a corrupted attachment, please try another file.', takePhoto: 'Take photo', chooseFromGallery: 'Choose from gallery', chooseDocument: 'Choose document', @@ -582,7 +582,7 @@ export default { takePhoto: 'Take a photo', cameraAccess: 'Camera access is required to take pictures of receipts.', cameraErrorTitle: 'Camera Error', - cameraErrorMessage: 'An error occurred while taking a photo, please try again', + cameraErrorMessage: 'An error occurred while taking a photo, please try again.', dropTitle: 'Let it go', dropMessage: 'Drop your file here', flash: 'flash', @@ -1325,7 +1325,7 @@ export default { whatsYourName: "What's your name?", purpose: { title: 'What do you want to do today?', - error: 'Please make a selection before continuing', + error: 'Please make a selection before continuing.', [CONST.ONBOARDING_CHOICES.TRACK]: 'Track business spend for taxes', [CONST.ONBOARDING_CHOICES.EMPLOYER]: 'Get paid back by my employer', [CONST.ONBOARDING_CHOICES.MANAGE_TEAM]: "Manage my team's expenses", @@ -1476,7 +1476,7 @@ export default { }, hasPhoneLoginError: 'To add a verified bank account please ensure your primary login is a valid email and try again. You can add your phone number as a secondary login.', hasBeenThrottledError: 'There was an error adding your bank account. Please wait a few minutes and try again.', - hasCurrencyError: 'Oops! It appears that your workspace currency is set to a different currency than USD. To proceed, please set it to USD and try again', + hasCurrencyError: 'Oops! It appears that your workspace currency is set to a different currency than USD. To proceed, please set it to USD and try again.', error: { youNeedToSelectAnOption: 'You need to select an option to proceed.', noBankAccountAvailable: 'Sorry, no bank account is available.', @@ -1560,7 +1560,7 @@ export default { legalMiddleNameLabel: 'Legal middle name', legalLastNameLabel: 'Legal last name', selectAnswer: 'You need to select a response to proceed.', - ssnFull9Error: 'Please enter a valid 9 digit SSN', + ssnFull9Error: 'Please enter a valid 9 digit SSN.', needSSNFull9: "We're having trouble verifying your SSN. Please enter the full 9 digits of your SSN.", weCouldNotVerify: 'We could not verify', pleaseFixIt: 'Please fix this information before continuing.', @@ -2070,8 +2070,8 @@ export default { unlockNoVBACopy: 'Connect a bank account to reimburse your workspace members online.', fastReimbursementsVBACopy: "You're all set to reimburse receipts from your bank account!", updateCustomUnitError: "Your changes couldn't be saved. The workspace was modified while you were offline, please try again.", - invalidRateError: 'Please enter a valid rate', - lowRateError: 'Rate must be greater than 0', + invalidRateError: 'Please enter a valid rate.', + lowRateError: 'Rate must be greater than 0.', }, accounting: { title: 'Connections', @@ -2155,7 +2155,7 @@ export default { inviteMessagePrompt: 'Make your invitation extra special by adding a message below', personalMessagePrompt: 'Message', genericFailureMessage: 'An error occurred inviting the user to the workspace, please try again.', - inviteNoMembersError: 'Please select at least one member to invite', + inviteNoMembersError: 'Please select at least one member to invite.', }, distanceRates: { oopsNotSoFast: 'Oops! Not so fast...', @@ -2290,11 +2290,11 @@ export default { // eslint-disable-next-line @typescript-eslint/naming-convention public_announceDescription: 'Anyone can find this room', createRoom: 'Create room', - roomAlreadyExistsError: 'A room with this name already exists', + roomAlreadyExistsError: 'A room with this name already exists.', roomNameReservedError: ({reservedName}: RoomNameReservedErrorParams) => `${reservedName} is a default room on all workspaces. Please choose another name.`, - roomNameInvalidError: 'Room names can only include lowercase letters, numbers and hyphens', - pleaseEnterRoomName: 'Please enter a room name', - pleaseSelectWorkspace: 'Please select a workspace', + roomNameInvalidError: 'Room names can only include lowercase letters, numbers and hyphens.', + pleaseEnterRoomName: 'Please enter a room name.', + pleaseSelectWorkspace: 'Please select a workspace.', renamedRoomAction: ({oldName, newName}: RenamedRoomActionParams) => ` renamed this room from ${oldName} to ${newName}`, roomRenamedTo: ({newName}: RoomRenamedToParams) => `Room renamed to ${newName}`, social: 'social', @@ -2382,7 +2382,7 @@ export default { }, generalError: { title: 'Attachment Error', - message: 'Attachment cannot be downloaded', + message: 'Attachment cannot be downloaded.', }, permissionError: { title: 'Storage access', @@ -2457,10 +2457,10 @@ export default { }, }, report: { - genericCreateReportFailureMessage: 'Unexpected error creating this chat, please try again later', - genericAddCommentFailureMessage: 'Unexpected error while posting the comment, please try again later', - genericUpdateReportFieldFailureMessage: 'Unexpected error while updating the field, please try again later', - genericUpdateReporNameEditFailureMessage: 'Unexpected error while renaming the report, please try again later', + genericCreateReportFailureMessage: 'Unexpected error creating this chat, please try again later.', + genericAddCommentFailureMessage: 'Unexpected error while posting the comment, please try again later.', + genericUpdateReportFieldFailureMessage: 'Unexpected error while updating the field, please try again later.', + genericUpdateReporNameEditFailureMessage: 'Unexpected error while renaming the report, please try again later.', noActivityYet: 'No activity yet', }, chronos: { From 36549a848d8a848d6646ff0210a0deab73f6ce94 Mon Sep 17 00:00:00 2001 From: Shridhar Goel <35566748+ShridharGoel@users.noreply.github.com> Date: Fri, 19 Apr 2024 16:36:33 +0530 Subject: [PATCH 10/15] Update es.ts --- src/languages/es.ts | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/languages/es.ts b/src/languages/es.ts index 114577c9aea7..a00eed18b787 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -326,8 +326,8 @@ export default { cameraPermissionRequired: 'Permiso para acceder a la cámara', expensifyDoesntHaveAccessToCamera: 'Expensify no puede tomar fotos sin acceso a la cámara. Haz click en Configuración para actualizar los permisos.', attachmentError: 'Error al adjuntar archivo', - errorWhileSelectingAttachment: 'Ha ocurrido un error al seleccionar un archivo adjunto. Por favor, inténtalo de nuevo', - errorWhileSelectingCorruptedImage: 'Ha ocurrido un error al seleccionar un archivo adjunto corrupto. Por favor, inténtalo con otro archivo', + errorWhileSelectingAttachment: 'Ha ocurrido un error al seleccionar un archivo adjunto. Por favor, inténtalo de nuevo.', + errorWhileSelectingCorruptedImage: 'Ha ocurrido un error al seleccionar un archivo adjunto corrupto. Por favor, inténtalo con otro archivo.', takePhoto: 'Hacer una foto', chooseFromGallery: 'Elegir de la galería', chooseDocument: 'Elegir documento', @@ -1584,7 +1584,7 @@ export default { legalMiddleNameLabel: 'Segundo nombre legal', legalLastNameLabel: 'Apellidos legales', selectAnswer: 'Selecciona una respuesta.', - ssnFull9Error: 'Por favor, introduce los 9 dígitos de un número de seguridad social válido', + ssnFull9Error: 'Por favor, introduce los 9 dígitos de un número de seguridad social válido.', needSSNFull9: 'Estamos teniendo problemas para verificar tu número de seguridad social. Introduce los 9 dígitos del número de seguridad social.', weCouldNotVerify: 'No se pudo verificar', pleaseFixIt: 'Corrige esta información antes de continuar.', @@ -2133,8 +2133,8 @@ export default { unlockNoVBACopy: 'Conecta una cuenta bancaria para reembolsar online a los miembros de tu espacio de trabajo.', fastReimbursementsVBACopy: '¡Todo listo para reembolsar recibos desde tu cuenta bancaria!', updateCustomUnitError: 'Los cambios no han podido ser guardados. El espacio de trabajo ha sido modificado mientras estabas desconectado. Por favor, inténtalo de nuevo.', - invalidRateError: 'Por favor, introduce una tarifa válida', - lowRateError: 'La tarifa debe ser mayor que 0', + invalidRateError: 'Por favor, introduce una tarifa válida.', + lowRateError: 'La tarifa debe ser mayor que 0.', }, bills: { manageYourBills: 'Gestiona tus facturas', @@ -2182,7 +2182,7 @@ export default { inviteMessageTitle: 'Añadir un mensaje', inviteMessagePrompt: 'Añadir un mensaje para hacer tu invitación destacar', personalMessagePrompt: 'Mensaje', - inviteNoMembersError: 'Por favor, selecciona al menos un miembro a invitar', + inviteNoMembersError: 'Por favor, selecciona al menos un miembro a invitar.', genericFailureMessage: 'Se produjo un error al invitar al usuario al espacio de trabajo. Vuelva a intentarlo..', }, distanceRates: { @@ -2320,12 +2320,12 @@ export default { // eslint-disable-next-line @typescript-eslint/naming-convention public_announceDescription: 'Cualquier persona puede unirse a esta sala', createRoom: 'Crea una sala de chat', - roomAlreadyExistsError: 'Ya existe una sala con este nombre', + roomAlreadyExistsError: 'Ya existe una sala con este nombre.', roomNameReservedError: ({reservedName}: RoomNameReservedErrorParams) => `${reservedName} es el nombre una sala por defecto de todos los espacios de trabajo. Por favor, elige otro nombre.`, - roomNameInvalidError: 'Los nombres de las salas solo pueden contener minúsculas, números y guiones', - pleaseEnterRoomName: 'Por favor, escribe el nombre de una sala', - pleaseSelectWorkspace: 'Por favor, selecciona un espacio de trabajo', + roomNameInvalidError: 'Los nombres de las salas solo pueden contener minúsculas, números y guiones.', + pleaseEnterRoomName: 'Por favor, escribe el nombre de una sala.', + pleaseSelectWorkspace: 'Por favor, selecciona un espacio de trabajo.', renamedRoomAction: ({oldName, newName}: RenamedRoomActionParams) => ` cambió el nombre de la sala de ${oldName} a ${newName}`, roomRenamedTo: ({newName}: RoomRenamedToParams) => `Sala renombrada a ${newName}`, social: 'social', @@ -2414,7 +2414,7 @@ export default { }, generalError: { title: 'Error en la descarga', - message: 'No se puede descargar el archivo adjunto', + message: 'No se puede descargar el archivo adjunto.', }, permissionError: { title: 'Permiso para acceder al almacenamiento', @@ -2489,9 +2489,9 @@ export default { }, }, report: { - genericCreateReportFailureMessage: 'Error inesperado al crear el chat. Por favor, inténtalo más tarde', - genericAddCommentFailureMessage: 'Error inesperado al añadir el comentario. Por favor, inténtalo más tarde', - genericUpdateReportFieldFailureMessage: 'Error inesperado al actualizar el campo. Por favor, inténtalo más tarde', + genericCreateReportFailureMessage: 'Error inesperado al crear el chat. Por favor, inténtalo más tarde.', + genericAddCommentFailureMessage: 'Error inesperado al añadir el comentario. Por favor, inténtalo más tarde.', + genericUpdateReportFieldFailureMessage: 'Error inesperado al actualizar el campo. Por favor, inténtalo más tarde.', genericUpdateReporNameEditFailureMessage: 'Error inesperado al cambiar el nombre del informe. Vuelva a intentarlo más tarde.', noActivityYet: 'Sin actividad todavía', }, From eac61eed3efbf58cb46f25dc512a364cd3e8176c Mon Sep 17 00:00:00 2001 From: ShridharGoel <35566748+ShridharGoel@users.noreply.github.com> Date: Fri, 19 Apr 2024 16:50:58 +0530 Subject: [PATCH 11/15] Enable --- .eslintrc.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.eslintrc.js b/.eslintrc.js index 23e522c679aa..0cecabdc9cdd 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -283,5 +283,11 @@ module.exports = { 'no-restricted-syntax': ['error', 'ForInStatement', 'LabeledStatement', 'WithStatement'], }, }, + { + files: ['en.ts', 'es.ts'], + rules: { + 'rulesdir/use-periods-for-error-messages': 'error', + } + } ], }; From 23738607a65c0f418b2c1c78c2398e95d0bf070a Mon Sep 17 00:00:00 2001 From: ShridharGoel <35566748+ShridharGoel@users.noreply.github.com> Date: Sat, 20 Apr 2024 01:23:14 +0530 Subject: [PATCH 12/15] Update --- .eslintrc.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 0cecabdc9cdd..809576f3de76 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -287,7 +287,7 @@ module.exports = { files: ['en.ts', 'es.ts'], rules: { 'rulesdir/use-periods-for-error-messages': 'error', - } - } + }, + }, ], }; From 8133745d6e8b1233e6743ac8a43c4af35517cf82 Mon Sep 17 00:00:00 2001 From: Shridhar Goel <35566748+ShridharGoel@users.noreply.github.com> Date: Tue, 30 Apr 2024 13:00:13 +0530 Subject: [PATCH 13/15] Update en.ts --- src/languages/en.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/languages/en.ts b/src/languages/en.ts index e3e9c90d2aaf..53645d19fe8f 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -705,7 +705,9 @@ export default { other: 'Unexpected error, please try again later.', genericCreateFailureMessage: 'Unexpected error submitting this expense. Please try again later.', genericCreateInvoiceFailureMessage: 'Unexpected error sending invoice, please try again later.', + // eslint-disable-next-line use-periods-for-error-messages receiptFailureMessage: "The receipt didn't upload. ", + // eslint-disable-next-line use-periods-for-error-messages saveFileMessage: 'Download the file ', loseFileMessage: 'or dismiss this error and lose it.', genericDeleteFailureMessage: 'Unexpected error deleting this expense, please try again later.', From d4de57d48896e9ec6e42b2625788d27984c87004 Mon Sep 17 00:00:00 2001 From: Shridhar Goel <35566748+ShridharGoel@users.noreply.github.com> Date: Tue, 30 Apr 2024 13:20:11 +0530 Subject: [PATCH 14/15] Update en.ts --- src/languages/en.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 53645d19fe8f..ea7777888b1a 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -705,9 +705,9 @@ export default { other: 'Unexpected error, please try again later.', genericCreateFailureMessage: 'Unexpected error submitting this expense. Please try again later.', genericCreateInvoiceFailureMessage: 'Unexpected error sending invoice, please try again later.', - // eslint-disable-next-line use-periods-for-error-messages + // eslint-disable-next-line rulesdir/use-periods-for-error-messages receiptFailureMessage: "The receipt didn't upload. ", - // eslint-disable-next-line use-periods-for-error-messages + // eslint-disable-next-line rulesdir/use-periods-for-error-messages saveFileMessage: 'Download the file ', loseFileMessage: 'or dismiss this error and lose it.', genericDeleteFailureMessage: 'Unexpected error deleting this expense, please try again later.', From 748a5298b61ef739ba49bacde29def46eb4d7c53 Mon Sep 17 00:00:00 2001 From: Shridhar Goel <35566748+ShridharGoel@users.noreply.github.com> Date: Tue, 30 Apr 2024 13:30:25 +0530 Subject: [PATCH 15/15] Fix lint --- src/languages/es.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/languages/es.ts b/src/languages/es.ts index 31cc65c1fce6..4b84f3d86234 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -700,7 +700,9 @@ export default { other: 'Error inesperado, por favor inténtalo más tarde.', genericCreateFailureMessage: 'Error inesperado al enviar este gasto. Por favor, inténtalo más tarde.', genericCreateInvoiceFailureMessage: 'Error inesperado al enviar la factura, inténtalo de nuevo más tarde.', + // eslint-disable-next-line rulesdir/use-periods-for-error-messages receiptFailureMessage: 'El recibo no se subió. ', + // eslint-disable-next-line rulesdir/use-periods-for-error-messages saveFileMessage: 'Guarda el archivo ', loseFileMessage: 'o descarta este error y piérdelo.', genericDeleteFailureMessage: 'Error inesperado al eliminar este gasto. Por favor, inténtalo más tarde.',