From e77e2004415119edb16a953c28b0ef1eac032063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Rejdak?= Date: Thu, 11 Dec 2025 16:40:00 +0100 Subject: [PATCH 1/4] updated the skipCache criterion for compatibility with current translation types refactor --- src/libs/Localize/index.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libs/Localize/index.ts b/src/libs/Localize/index.ts index a1eb6274fd27..7a6cd5cf8cef 100644 --- a/src/libs/Localize/index.ts +++ b/src/libs/Localize/index.ts @@ -9,7 +9,6 @@ import IntlStore from '@src/languages/IntlStore'; import type {PluralForm, TranslationParameters, TranslationPaths} from '@src/languages/types'; import ONYXKEYS from '@src/ONYXKEYS'; import type {Locale} from '@src/types/onyx'; -import {isEmptyObject} from '@src/types/utils/EmptyObject'; // Current user mail is needed for handling missing translations let userEmail = ''; @@ -106,7 +105,7 @@ const memoizedGetTranslatedPhrase = memoize(getTranslatedPhrase, { maxArgs: 2, equality: 'shallow', // eslint-disable-next-line @typescript-eslint/no-unused-vars - skipCache: (params) => !isEmptyObject(params.at(2)), + skipCache: (params) => params.length > 2, }); /** From 1e61751b2390416bdaa8cb74a9c43769d69f7817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Rejdak?= Date: Thu, 11 Dec 2025 18:15:43 +0100 Subject: [PATCH 2/4] replaced first part of single-parameter language types --- src/components/AddressForm.tsx | 6 +- .../DelegateNoAccessModalProvider.tsx | 2 +- src/components/SettlementButton/index.tsx | 10 +- .../SubStepForms/RegistrationNumberStep.tsx | 2 +- src/languages/en.ts | 115 +++++++----------- src/languages/es.ts | 84 ++++++------- src/libs/ReportActionsUtils.ts | 12 +- src/libs/ReportUtils.ts | 4 +- src/libs/SidebarUtils.ts | 6 +- src/libs/WorkspacesSettingsUtils.ts | 2 +- .../substeps/Address.tsx | 6 +- .../BusinessInfo/subSteps/Confirmation.tsx | 2 +- .../BusinessInfo/subSteps/TaxIDEINNumber.tsx | 6 +- .../WorkspaceAdminRestrictedAction.tsx | 4 +- .../WorkspaceUserRestrictedAction.tsx | 4 +- .../CardSectionSubtitle/index.native.ts | 2 +- .../CardSection/CardSectionSubtitle/index.ts | 2 +- .../Subscription/CardSection/utils.ts | 10 +- src/pages/workspace/accounting/utils.tsx | 2 +- ...roMapTrackingCategoryConfigurationPage.tsx | 4 +- .../XeroTrackingCategoryConfigurationPage.tsx | 2 +- .../CategoryDescriptionHintPage.tsx | 2 +- .../CategoryFlagAmountsOverPage.tsx | 2 +- .../assignCard/CardSelectionStep.tsx | 6 +- .../WorkspaceEditCardLimitPage.tsx | 2 +- .../WorkspaceEditCardLimitTypePage.tsx | 2 +- src/pages/workspace/receiptPartners/utils.tsx | 2 +- .../rules/RulesAutoPayReportsUnderPage.tsx | 2 +- .../rules/RulesBillableDefaultPage.tsx | 2 +- 29 files changed, 132 insertions(+), 175 deletions(-) diff --git a/src/components/AddressForm.tsx b/src/components/AddressForm.tsx index a9be595ad7f6..bbe01ca20364 100644 --- a/src/components/AddressForm.tsx +++ b/src/components/AddressForm.tsx @@ -174,7 +174,7 @@ function AddressForm({ { onAddressChanged(data, key); }} @@ -194,8 +194,8 @@ function AddressForm({ - + ); const contextValue = useMemo( diff --git a/src/components/SettlementButton/index.tsx b/src/components/SettlementButton/index.tsx index 07bde609aa7a..d48f9276fae7 100644 --- a/src/components/SettlementButton/index.tsx +++ b/src/components/SettlementButton/index.tsx @@ -510,9 +510,7 @@ function SettlementButton({ if (lastPaymentMethod === CONST.IOU.PAYMENT_TYPE.EXPENSIFY || (hasIntentToPay && (isExpenseReport || isInvoiceReport))) { if (isInvoiceReport) { const isBusinessBankAccount = bankAccountToDisplay?.accountData?.type === CONST.BANK_ACCOUNT.TYPE.BUSINESS; - return translate(isBusinessBankAccount ? 'iou.invoiceBusinessBank' : 'iou.invoicePersonalBank', { - lastFour: bankAccountToDisplay?.accountData?.accountNumber?.slice(-4) ?? '', - }); + return translate(isBusinessBankAccount ? 'iou.invoiceBusinessBank' : 'iou.invoicePersonalBank', bankAccountToDisplay?.accountData?.accountNumber?.slice(-4) ?? ''); } if (!personalBankAccountList.length) { return; @@ -523,18 +521,18 @@ function SettlementButton({ if ((lastPaymentMethod === CONST.IOU.PAYMENT_TYPE.VBBA || hasIntentToPay) && !!policy?.achAccount) { if (policy?.achAccount?.accountNumber) { - return translate('paymentMethodList.bankAccountLastFour', {lastFour: policy?.achAccount?.accountNumber?.slice(-4)}); + return translate('paymentMethodList.bankAccountLastFour', policy?.achAccount?.accountNumber?.slice(-4)); } if (!bankAccountToDisplay?.accountData?.accountNumber) { return; } - return translate('paymentMethodList.bankAccountLastFour', {lastFour: bankAccountToDisplay?.accountData?.accountNumber?.slice(-4)}); + return translate('paymentMethodList.bankAccountLastFour', bankAccountToDisplay?.accountData?.accountNumber?.slice(-4)); } if (bankAccount?.accountData?.type === CONST.BANK_ACCOUNT.TYPE.BUSINESS && isExpenseReportUtil(iouReport)) { - return translate('paymentMethodList.bankAccountLastFour', {lastFour: bankAccount?.accountData?.accountNumber?.slice(-4) ?? ''}); + return translate('paymentMethodList.bankAccountLastFour', bankAccount?.accountData?.accountNumber?.slice(-4) ?? ''); } return undefined; diff --git a/src/components/SubStepForms/RegistrationNumberStep.tsx b/src/components/SubStepForms/RegistrationNumberStep.tsx index c5955b69682f..be278e516ced 100644 --- a/src/components/SubStepForms/RegistrationNumberStep.tsx +++ b/src/components/SubStepForms/RegistrationNumberStep.tsx @@ -80,7 +80,7 @@ function RegistrationNumberStep({ style={[styles.mh5, styles.flexGrow1]} shouldHideFixErrorsAlert > - {translate('businessInfoStep.whatsTheBusinessRegistrationNumber', {country})} + {translate('businessInfoStep.whatsTheBusinessRegistrationNumber', country)} `Address line ${lineNumber}`, + addressLine: (lineNumber: number) => `Address line ${lineNumber}`, personalAddress: 'Personal address', companyAddress: 'Company address', noPO: 'No PO boxes or mail-drop addresses, please.', @@ -897,7 +871,7 @@ const translations = { }, }, thirdPartySignIn: { - alreadySignedIn: ({email}: AlreadySignedInParams) => `You're already signed in as ${email}.`, + alreadySignedIn: (email: string) => `You're already signed in as ${email}.`, goBackMessage: ({provider}: GoBackMessageParams) => `Don't want to sign in with ${provider}?`, continueWithMyCurrentSession: 'Continue with my current session', redirectToDesktopMessage: "We'll redirect you to the desktop app once you finish signing in.", @@ -965,12 +939,10 @@ const translations = { reportActionsView: { beginningOfArchivedRoom: ({reportName, reportDetailsLink}: BeginningOfArchivedRoomParams) => `You missed the party in ${reportName}, there's nothing to see here.`, - beginningOfChatHistoryDomainRoom: ({domainRoom}: BeginningOfChatHistoryDomainRoomParams) => + beginningOfChatHistoryDomainRoom: (domainRoom: string) => `This chat is with all Expensify members on the ${domainRoom} domain. Use it to chat with colleagues, share tips, and ask questions.`, - beginningOfChatHistoryAdminRoom: ({workspaceName}: BeginningOfChatHistoryAdminRoomParams) => - `This chat is with ${workspaceName} admin. Use it to chat about workspace setup and more.`, - beginningOfChatHistoryAnnounceRoom: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomParams) => - `This chat is with everyone in ${workspaceName}. Use it for the most important announcements.`, + beginningOfChatHistoryAdminRoom: (workspaceName: string) => `This chat is with ${workspaceName} admin. Use it to chat about workspace setup and more.`, + beginningOfChatHistoryAnnounceRoom: (workspaceName: string) => `This chat is with everyone in ${workspaceName}. Use it for the most important announcements.`, beginningOfChatHistoryUserRoom: ({reportName, reportDetailsLink}: BeginningOfChatHistoryUserRoomParams) => `This chat room is for anything ${reportName} related.`, beginningOfChatHistoryInvoiceRoom: ({invoicePayer, invoiceReceiver}: BeginningOfChatHistoryInvoiceRoomParams) => @@ -1303,8 +1275,8 @@ const translations = { businessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => (amount ? `paid ${amount} with bank account ${last4Digits}` : `paid with bank account ${last4Digits}`), automaticallyPaidWithBusinessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => `paid ${amount ? `${amount} ` : ''}with bank account ${last4Digits} via workspace rules`, - invoicePersonalBank: ({lastFour}: BankAccountLastFourParams) => `Personal account • ${lastFour}`, - invoiceBusinessBank: ({lastFour}: BankAccountLastFourParams) => `Business Account • ${lastFour}`, + invoicePersonalBank: (lastFour: string) => `Personal account • ${lastFour}`, + invoiceBusinessBank: (lastFour: string) => `Business Account • ${lastFour}`, nextStep: 'Next steps', finished: 'Finished', flip: 'Flip', @@ -1327,7 +1299,7 @@ const translations = { payerSettled: ({amount}: PayerSettledParams) => `paid ${amount}`, payerSettledWithMissingBankAccount: ({amount}: PayerSettledParams) => `paid ${amount}. Add a bank account to receive your payment.`, automaticallyApproved: `approved via workspace rules`, - approvedAmount: ({amount}: ApprovedAmountParams) => `approved ${amount}`, + approvedAmount: (amount: number | string) => `approved ${amount}`, approvedMessage: `approved`, unapproved: `unapproved`, automaticallyForwarded: `approved via workspace rules`, @@ -1530,7 +1502,7 @@ const translations = { bulkSubtitle: 'Choose an option to change the approver for these reports.', description: ({workflowSettingLink}: WorkflowSettingsParam) => `You can also change the approver permanently for all reports in your workflow settings.`, - changedApproverMessage: ({managerID}: ChangedApproverMessageParams) => `changed the approver to `, + changedApproverMessage: (managerID: number) => `changed the approver to `, actions: { addApprover: 'Add approver', addApproverSubtitle: 'Add an additional approver to the existing workflow.', @@ -2391,7 +2363,7 @@ const translations = { cardLastFour: 'Card ending in', addFirstPaymentMethod: 'Add a payment method to send and receive payments directly in the app.', defaultPaymentMethod: 'Default', - bankAccountLastFour: ({lastFour}: BankAccountLastFourParams) => `Bank Account • ${lastFour}`, + bankAccountLastFour: (lastFour: string) => `Bank Account • ${lastFour}`, }, preferencesPage: { appSection: { @@ -3344,7 +3316,7 @@ const translations = { whatsTheBusinessName: "What's the business name?", whatsTheBusinessAddress: "What's the business address?", whatsTheBusinessContactInformation: "What's the business contact information?", - whatsTheBusinessRegistrationNumber: ({country}: BusinessRegistrationNumberParams) => { + whatsTheBusinessRegistrationNumber: (country: string) => { switch (country) { case CONST.COUNTRY.GB: return "What's the Company Registration Number (CRN)?"; @@ -3352,7 +3324,7 @@ const translations = { return "What's the business registration number?"; } }, - whatsTheBusinessTaxIDEIN: ({country}: BusinessTaxIDParams) => { + whatsTheBusinessTaxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'What’s the Employer Identification Number (EIN)?'; @@ -3372,7 +3344,7 @@ const translations = { whatsTheBusinessAnnualPayment: "What's the business's annual payment volume?", whatsYourExpectedAverageReimbursements: "What's your expected average reimbursement amount?", registrationNumber: 'Registration number', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'EIN'; @@ -3411,7 +3383,7 @@ const translations = { findBusinessType: 'Find business type', error: { registrationNumber: 'Please provide a valid registration number', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Please provide a valid Employer Identification Number (EIN)'; @@ -3858,7 +3830,7 @@ const translations = { existingConnectionsDescription: ({connectionName}: ConnectionNameParams) => `Since you've connected to ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]} before, you can choose to reuse an existing connection or create a new one.`, lastSyncDate: ({connectionName, formattedDate}: LastSyncDateParams) => `${connectionName} - Last synced ${formattedDate}`, - authenticationError: ({connectionName}: AuthenticationErrorParams) => `Can’t connect to ${connectionName} due to an authentication error.`, + authenticationError: (connectionName: string) => `Can’t connect to ${connectionName} due to an authentication error.`, learnMore: 'Learn more', memberAlternateText: 'Members can submit and approve reports.', adminAlternateText: 'Admins have full edit access to all reports and workspace settings.', @@ -4194,8 +4166,8 @@ const translations = { accountsSwitchDescription: 'Enabled categories will be available for members to select when creating their expenses.', trackingCategories: 'Tracking categories', trackingCategoriesDescription: 'Choose how to handle Xero tracking categories in Expensify.', - mapTrackingCategoryTo: ({categoryName}: CategoryNameParams) => `Map Xero ${categoryName} to`, - mapTrackingCategoryToDescription: ({categoryName}: CategoryNameParams) => `Choose where to map ${categoryName} when exporting to Xero.`, + mapTrackingCategoryTo: (categoryName: string) => `Map Xero ${categoryName} to`, + mapTrackingCategoryToDescription: (categoryName: string) => `Choose where to map ${categoryName} when exporting to Xero.`, customers: 'Re-bill customers', customersDescription: 'Choose whether to re-bill customers in Expensify. Your Xero customer contacts can be tagged to expenses, and will export to Xero as a sales invoice.', taxesDescription: 'Choose how to handle Xero taxes in Expensify.', @@ -4779,8 +4751,7 @@ const translations = { directFeed: 'Direct feed', whoNeedsCardAssigned: 'Who needs a card assigned?', chooseCard: 'Choose a card', - chooseCardFor: ({assignee}: AssigneeParams) => - `Choose a card for ${assignee}. Can't find the card you're looking for? Let us know.`, + chooseCardFor: (assignee: string) => `Choose a card for ${assignee}. Can't find the card you're looking for? Let us know.`, noActiveCards: 'No active cards on this feed', somethingMightBeBroken: 'Or something might be broken. Either way, if you have any questions, just contact Concierge.', @@ -4851,22 +4822,21 @@ const translations = { deactivate: 'Deactivate card', changeCardLimit: 'Change card limit', changeLimit: 'Change limit', - smartLimitWarning: ({limit}: CharacterLimitParams) => - `If you change this card’s limit to ${limit}, new transactions will be declined until you approve more expenses on the card.`, - monthlyLimitWarning: ({limit}: CharacterLimitParams) => `If you change this card’s limit to ${limit}, new transactions will be declined until next month.`, - fixedLimitWarning: ({limit}: CharacterLimitParams) => `If you change this card’s limit to ${limit}, new transactions will be declined.`, + smartLimitWarning: (limit: number | string) => `If you change this card’s limit to ${limit}, new transactions will be declined until you approve more expenses on the card.`, + monthlyLimitWarning: (limit: number | string) => `If you change this card’s limit to ${limit}, new transactions will be declined until next month.`, + fixedLimitWarning: (limit: number | string) => `If you change this card’s limit to ${limit}, new transactions will be declined.`, changeCardLimitType: 'Change card limit type', changeLimitType: 'Change limit type', - changeCardSmartLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardSmartLimitTypeWarning: (limit: number | string) => `If you change this card's limit type to Smart Limit, new transactions will be declined because the ${limit} unapproved limit has already been reached.`, - changeCardMonthlyLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardMonthlyLimitTypeWarning: (limit: number | string) => `If you change this card's limit type to Monthly, new transactions will be declined because the ${limit} monthly limit has already been reached.`, addShippingDetails: 'Add shipping details', - issuedCard: ({assignee}: AssigneeParams) => `issued ${assignee} an Expensify Card! The card will arrive in 2-3 business days.`, - issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => `issued ${assignee} an Expensify Card! The card will be shipped once shipping details are confirmed.`, + issuedCard: (assignee: string) => `issued ${assignee} an Expensify Card! The card will arrive in 2-3 business days.`, + issuedCardNoShippingDetails: (assignee: string) => `issued ${assignee} an Expensify Card! The card will be shipped once shipping details are confirmed.`, issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `issued ${assignee} a virtual Expensify Card! The ${link} can be used right away.`, - addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} added shipping details. Expensify Card will arrive in 2-3 business days.`, - replacedCard: ({assignee}: AssigneeParams) => `${assignee} replaced their Expensify Card. The new card will arrive in 2-3 business days.`, + addedShippingDetails: (assignee: string) => `${assignee} added shipping details. Expensify Card will arrive in 2-3 business days.`, + replacedCard: (assignee: string) => `${assignee} replaced their Expensify Card. The new card will arrive in 2-3 business days.`, replacedVirtualCard: ({assignee, link}: IssueVirtualCardParams) => `${assignee} replaced their virtual Expensify Card! The ${link} can be used right away.`, card: 'card', replacementCard: 'replacement card', @@ -5816,7 +5786,7 @@ const translations = { `It looks like you may be trying to take over billing for ${email}'s workspaces, but to do that, you need to be an admin on all their workspaces first.\n\nClick "Continue" if you only want to take over billing for the workspace ${workspaceName}.\n\nIf you want to take over billing for their entire subscription, please have them add you as an admin to all their workspaces first before taking over billing.`, hasFailedSettlementsTitle: 'Cannot transfer ownership', hasFailedSettlementsButtonText: 'Got it', - hasFailedSettlementsText: ({email}: ChangeOwnerHasFailedSettlementsParams) => + hasFailedSettlementsText: (email: string) => `You can't take over billing because ${email} has an overdue expensify Expensify Card settlement. Please ask them to reach out to concierge@expensify.com to resolve the issue. Then, you can take over billing for this workspace.`, failedToClearBalanceTitle: 'Failed to clear balance', failedToClearBalanceButtonText: 'OK', @@ -6013,7 +5983,7 @@ const translations = { }, restrictedAction: { restricted: 'Restricted', - actionsAreCurrentlyRestricted: ({workspaceName}: ActionsAreCurrentlyRestricted) => `Actions on the ${workspaceName} workspace are currently restricted`, + actionsAreCurrentlyRestricted: (workspaceName: string) => `Actions on the ${workspaceName} workspace are currently restricted`, workspaceOwnerWillNeedToAddOrUpdatePaymentCard: ({workspaceOwnerName}: WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams) => `Workspace owner, ${workspaceOwnerName} will need to add or update the payment card on file to unlock new workspace activity.`, youWillNeedToAddOrUpdatePaymentCard: "You'll need to add or update the payment card on file to unlock new workspace activity.", @@ -6053,7 +6023,7 @@ const translations = { alwaysNonReimbursable: 'Always non-reimbursable', alwaysNonReimbursableDescription: 'Expenses are never paid back to employees', billableDefault: 'Billable default', - billableDefaultDescription: ({tagsPageLink}: BillableDefaultDescriptionParams) => + billableDefaultDescription: (tagsPageLink: string) => `Choose whether cash and credit card expenses should be billable by default. Billable expenses are enabled or disabled in tags.`, billable: 'Billable', billableDescription: 'Expenses are most often re-billed to clients', @@ -6085,7 +6055,7 @@ const translations = { randomReportAuditDescription: 'Require that some reports be manually approved, even if eligible for auto-approval.', autoPayApprovedReportsTitle: 'Auto-pay approved reports', autoPayApprovedReportsSubtitle: 'Configure which expense reports are eligible for auto-pay.', - autoPayApprovedReportsLimitError: ({currency}: AutoPayApprovedReportsLimitErrorParams = {}) => `Please enter an amount less than ${currency ?? ''}20,000`, + autoPayApprovedReportsLimitError: (currency?: string) => `Please enter an amount less than ${currency ?? ''}20,000`, autoPayApprovedReportsLockedSubtitle: 'Go to more features and enable workflows, then add payments to unlock this feature.', autoPayReportsUnderTitle: 'Auto-pay reports under', autoPayReportsUnderDescription: 'Fully compliant expense reports under this amount will be automatically paid.', @@ -6097,13 +6067,13 @@ const translations = { approver: 'Approver', requireDescription: 'Require description', descriptionHint: 'Description hint', - descriptionHintDescription: ({categoryName}: CategoryNameParams) => + descriptionHintDescription: (categoryName: string) => `Remind employees to provide additional information for “${categoryName}” spend. This hint appears in the description field on expenses.`, descriptionHintLabel: 'Hint', descriptionHintSubtitle: 'Pro-tip: The shorter the better!', maxAmount: 'Max amount', flagAmountsOver: 'Flag amounts over', - flagAmountsOverDescription: ({categoryName}: CategoryNameParams) => `Applies to the category “${categoryName}”.`, + flagAmountsOverDescription: (categoryName: string) => `Applies to the category “${categoryName}”.`, flagAmountsOverSubtitle: 'This overrides the max amount for all expenses.', expenseLimitTypes: { expense: 'Individual expense', @@ -7314,12 +7284,12 @@ const translations = { authenticatePaymentCard: 'Authenticate payment card', mobileReducedFunctionalityMessage: 'You can’t make changes to your subscription in the mobile app.', badge: { - freeTrial: ({numOfDays}: BadgeFreeTrialParams) => `Free trial: ${numOfDays} ${numOfDays === 1 ? 'day' : 'days'} left`, + freeTrial: (numOfDays: number) => `Free trial: ${numOfDays} ${numOfDays === 1 ? 'day' : 'days'} left`, }, billingBanner: { policyOwnerAmountOwed: { title: 'Your payment info is outdated', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `Update your payment card by ${date} to continue using all of your favorite features.`, + subtitle: (date: string) => `Update your payment card by ${date} to continue using all of your favorite features.`, }, policyOwnerAmountOwedOverdue: { title: 'Your payment could not be processed', @@ -7330,7 +7300,7 @@ const translations = { }, policyOwnerUnderInvoicing: { title: 'Your payment info is outdated', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `Your payment is past due. Please pay your invoice by ${date} to avoid service interruption.`, + subtitle: (date: string) => `Your payment is past due. Please pay your invoice by ${date} to avoid service interruption.`, }, policyOwnerUnderInvoicingOverdue: { title: 'Your payment info is outdated', @@ -7343,17 +7313,16 @@ const translations = { }, cardAuthenticationRequired: { title: 'Your payment card hasn’t been fully authenticated.', - subtitle: ({cardEnding}: BillingBannerCardAuthenticationRequiredParams) => - `Please complete the authentication process to activate your payment card ending in ${cardEnding}.`, + subtitle: (cardEnding: string) => `Please complete the authentication process to activate your payment card ending in ${cardEnding}.`, }, insufficientFunds: { title: 'Your card couldn’t be charged', - subtitle: ({amountOwed}: BillingBannerInsufficientFundsParams) => + subtitle: (amountOwed: number) => `Your payment card was declined due to insufficient funds. Please retry or add a new payment card to clear your ${amountOwed} outstanding balance.`, }, cardExpired: { title: 'Your card couldn’t be charged', - subtitle: ({amountOwed}: BillingBannerCardExpiredParams) => `Your payment card expired. Please add a new payment card to clear your ${amountOwed} outstanding balance.`, + subtitle: (amountOwed: number) => `Your payment card expired. Please add a new payment card to clear your ${amountOwed} outstanding balance.`, }, cardExpireSoon: { title: 'Your card is expiring soon', @@ -7393,8 +7362,8 @@ const translations = { title: 'Payment', subtitle: 'Add a card to pay for your Expensify subscription.', addCardButton: 'Add payment card', - cardNextPayment: ({nextPaymentDate}: CardNextPaymentParams) => `Your next payment date is ${nextPaymentDate}.`, - cardEnding: ({cardNumber}: CardEndingParams) => `Card ending in ${cardNumber}`, + cardNextPayment: (nextPaymentDate: string) => `Your next payment date is ${nextPaymentDate}.`, + cardEnding: (cardNumber: string) => `Card ending in ${cardNumber}`, cardInfo: ({name, expiration, currency}: CardInfoParams) => `Name: ${name}, Expiration: ${expiration}, Currency: ${currency}`, changeCard: 'Change payment card', changeCurrency: 'Change payment currency', @@ -7594,7 +7563,7 @@ const translations = { As a copilot, you don't have access to this page. Sorry! `), - notAllowedMessage: ({accountOwnerEmail}: AccountOwnerParams) => + notAllowedMessage: (accountOwnerEmail: string) => `As a copilot for ${accountOwnerEmail}, you don't have permission to take this action. Sorry!`, copilotAccess: 'Copilot access', }, diff --git a/src/languages/es.ts b/src/languages/es.ts index 70f00e85f6c6..d210e16d6a2f 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -108,7 +108,7 @@ const translations: TranslationDeepObject = { currentMonth: 'Mes actual', ssnLast4: 'Últimos 4 dígitos de tu SSN', ssnFull9: 'Los 9 dígitos del SSN', - addressLine: ({lineNumber}) => `Dirección línea ${lineNumber}`, + addressLine: (lineNumber) => `Dirección línea ${lineNumber}`, personalAddress: 'Dirección física personal', companyAddress: 'Dirección física de la empresa', noPO: 'Nada de apartados de correos ni direcciones de envío, por favor.', @@ -534,7 +534,7 @@ const translations: TranslationDeepObject = { }, }, thirdPartySignIn: { - alreadySignedIn: ({email}) => `Ya has iniciado sesión con ${email}.`, + alreadySignedIn: (email) => `Ya has iniciado sesión con ${email}.`, goBackMessage: ({provider}) => `No quieres iniciar sesión con ${provider}?`, continueWithMyCurrentSession: 'Continuar con mi sesión actual', redirectToDesktopMessage: 'Lo redirigiremos a la aplicación de escritorio una vez que termine de iniciar sesión.', @@ -602,11 +602,11 @@ const translations: TranslationDeepObject = { reportActionsView: { beginningOfArchivedRoom: ({reportName, reportDetailsLink}) => `Te perdiste la fiesta en ${reportName}, no hay nada que ver aquí.`, - beginningOfChatHistoryDomainRoom: ({domainRoom}) => + beginningOfChatHistoryDomainRoom: (domainRoom) => `Este chat es con todos los miembros de Expensify en el dominio ${domainRoom}. Úsalo para chatear con colegas, compartir consejos y hacer preguntas.`, - beginningOfChatHistoryAdminRoom: ({workspaceName}) => + beginningOfChatHistoryAdminRoom: (workspaceName) => `Este chat es con los administradores del espacio de trabajo ${workspaceName}. Úsalo para hablar sobre la configuración del espacio de trabajo y más.`, - beginningOfChatHistoryAnnounceRoom: ({workspaceName}) => + beginningOfChatHistoryAnnounceRoom: (workspaceName) => `Este chat es con todos en ${workspaceName}. Úsalo para hablar sobre la configuración del espacio de trabajo y más.`, beginningOfChatHistoryUserRoom: ({reportName, reportDetailsLink}) => `Esta sala de chat es para cualquier cosa relacionada con ${reportName}.`, @@ -936,8 +936,8 @@ const translations: TranslationDeepObject = { businessBankAccount: ({amount, last4Digits}) => (amount ? `pagó ${amount} con la cuenta bancaria ${last4Digits}.` : `pagó con la cuenta bancaria ${last4Digits}`), automaticallyPaidWithBusinessBankAccount: ({amount, last4Digits}) => `pagado ${amount ? `${amount} ` : ''}con la cuenta bancaria terminada en ${last4Digits} vía reglas del espacio de trabajo`, - invoicePersonalBank: ({lastFour}) => `Cuenta personal • ${lastFour}`, - invoiceBusinessBank: ({lastFour}) => `Cuenta de empresa • ${lastFour}`, + invoicePersonalBank: (lastFour) => `Cuenta personal • ${lastFour}`, + invoiceBusinessBank: (lastFour) => `Cuenta de empresa • ${lastFour}`, nextStep: 'Pasos siguientes', finished: 'Finalizado', flip: 'Cambiar', @@ -960,7 +960,7 @@ const translations: TranslationDeepObject = { payerSettled: ({amount}) => `pagó ${amount}`, payerSettledWithMissingBankAccount: ({amount}) => `pagó ${amount}. Agrega una cuenta bancaria para recibir tu pago.`, automaticallyApproved: `aprobó mediante reglas del espacio de trabajo`, - approvedAmount: ({amount}) => `aprobó ${amount}`, + approvedAmount: (amount) => `aprobó ${amount}`, approvedMessage: `aprobado`, unapproved: `no aprobado`, automaticallyForwarded: `aprobó mediante reglas del espacio de trabajo`, @@ -1161,7 +1161,7 @@ const translations: TranslationDeepObject = { bulkSubtitle: 'Elige una opción para cambiar el aprobador de estos informes.', description: ({workflowSettingLink}) => `También puedes cambiar el aprobador de forma permanente para todos los informes en tu configuración de flujo de trabajo.`, - changedApproverMessage: ({managerID}) => `cambió el aprobador a `, + changedApproverMessage: (managerID) => `cambió el aprobador a `, actions: { addApprover: 'Añadir aprobador', addApproverSubtitle: 'Añade un aprobador adicional al flujo de trabajo existente.', @@ -2006,7 +2006,7 @@ ${amount} para ${merchant} - ${date}`, cardLastFour: 'Tarjeta terminada en', addFirstPaymentMethod: 'Añade un método de pago para enviar y recibir pagos directamente desde la aplicación.', defaultPaymentMethod: 'Predeterminado', - bankAccountLastFour: ({lastFour}) => `Cuenta bancaria • ${lastFour}`, + bankAccountLastFour: (lastFour) => `Cuenta bancaria • ${lastFour}`, }, preferencesPage: { appSection: { @@ -2967,7 +2967,7 @@ ${amount} para ${merchant} - ${date}`, whatsTheBusinessName: '¿Cuál es el nombre de la empresa?', whatsTheBusinessAddress: '¿Cuál es la dirección de la empresa?', whatsTheBusinessContactInformation: '¿Cuál es la información de contacto de la empresa?', - whatsTheBusinessRegistrationNumber: ({country}) => { + whatsTheBusinessRegistrationNumber: (country) => { switch (country) { case CONST.COUNTRY.GB: return '¿Cuál es el número de registro de la empresa (CRN)?'; @@ -2975,7 +2975,7 @@ ${amount} para ${merchant} - ${date}`, return '¿Cuál es el número de registro de la empresa?'; } }, - whatsTheBusinessTaxIDEIN: ({country}) => { + whatsTheBusinessTaxIDEIN: (country) => { switch (country) { case CONST.COUNTRY.US: return '¿Cuál es el Número de Identificación del Empleador (EIN)?'; @@ -2995,7 +2995,7 @@ ${amount} para ${merchant} - ${date}`, whatsTheBusinessAnnualPayment: '¿Cuál es el volumen anual de pagos de la empresa?', whatsYourExpectedAverageReimbursements: '¿Cuál es el monto promedio esperado de reembolso?', registrationNumber: 'Número de registro', - taxIDEIN: ({country}) => { + taxIDEIN: (country) => { switch (country) { case CONST.COUNTRY.US: return 'EIN'; @@ -3034,7 +3034,7 @@ ${amount} para ${merchant} - ${date}`, findBusinessType: 'Buscar tipo de negocio', error: { registrationNumber: 'Por favor, proporciona un número de registro válido', - taxIDEIN: ({country}) => { + taxIDEIN: (country) => { switch (country) { case CONST.COUNTRY.US: return 'Por favor, proporcione un Número de Identificación del Empleador (EIN) válido'; @@ -3476,7 +3476,7 @@ ${amount} para ${merchant} - ${date}`, `Como ya te has conectado a ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]} antes, puedes optar por reutilizar una conexión existente o crear una nueva.`, lastSyncDate: ({connectionName, formattedDate}) => `${connectionName} - Última sincronización ${formattedDate}`, topLevel: 'Nivel superior', - authenticationError: ({connectionName}) => `No se puede conectar a ${connectionName} debido a un error de autenticación.`, + authenticationError: (connectionName) => `No se puede conectar a ${connectionName} debido a un error de autenticación.`, learnMore: 'Más información', memberAlternateText: 'Los miembros pueden presentar y aprobar informes.', adminAlternateText: 'Los administradores tienen acceso total para editar todos los informes y la configuración del área de trabajo.', @@ -3818,8 +3818,8 @@ ${amount} para ${merchant} - ${date}`, accountsSwitchDescription: 'Las categorías activas estarán disponibles para ser escogidas cuando se crea un gasto.', trackingCategories: 'Categorías de seguimiento', trackingCategoriesDescription: 'Elige cómo gestionar categorías de seguimiento de Xero en Expensify.', - mapTrackingCategoryTo: ({categoryName}) => `Asignar ${categoryName} de Xero a`, - mapTrackingCategoryToDescription: ({categoryName}) => `Elige dónde mapear ${categoryName} al exportar a Xero.`, + mapTrackingCategoryTo: (categoryName) => `Asignar ${categoryName} de Xero a`, + mapTrackingCategoryToDescription: (categoryName) => `Elige dónde mapear ${categoryName} al exportar a Xero.`, customers: 'Volver a facturar a los clientes', customersDescription: 'Elige si quieres volver a facturar a los clientes en Expensify. Tus contactos de clientes de Xero se pueden etiquetar como gastos, y se exportarán a Xero como una factura de venta.', @@ -4412,7 +4412,7 @@ ${amount} para ${merchant} - ${date}`, directFeed: 'Fuente directa', whoNeedsCardAssigned: '¿Quién necesita una tarjeta?', chooseCard: 'Elige una tarjeta', - chooseCardFor: ({assignee}) => `Elige una tarjeta para ${assignee}. ¿No encuentras la tarjeta que buscas? Avísanos.`, + chooseCardFor: (assignee) => `Elige una tarjeta para ${assignee}. ¿No encuentras la tarjeta que buscas? Avísanos.`, noActiveCards: 'No hay tarjetas activas en este feed', somethingMightBeBroken: 'O algo podría estar roto. De cualquier manera, si tienes alguna pregunta, contacta a Concierge.', @@ -4486,21 +4486,21 @@ ${amount} para ${merchant} - ${date}`, deactivate: 'Desactivar tarjeta', changeCardLimit: 'Modificar el límite de la tarjeta', changeLimit: 'Modificar límite', - smartLimitWarning: ({limit}) => `Si cambias el límite de esta tarjeta a ${limit}, las nuevas transacciones serán rechazadas hasta que apruebes antiguos gastos de la tarjeta.`, - monthlyLimitWarning: ({limit}) => `Si cambias el límite de esta tarjeta a ${limit}, las nuevas transacciones serán rechazadas hasta el próximo mes.`, - fixedLimitWarning: ({limit}) => `Si cambias el límite de esta tarjeta a ${limit}, se rechazarán las nuevas transacciones.`, + smartLimitWarning: (limit) => `Si cambias el límite de esta tarjeta a ${limit}, las nuevas transacciones serán rechazadas hasta que apruebes antiguos gastos de la tarjeta.`, + monthlyLimitWarning: (limit) => `Si cambias el límite de esta tarjeta a ${limit}, las nuevas transacciones serán rechazadas hasta el próximo mes.`, + fixedLimitWarning: (limit) => `Si cambias el límite de esta tarjeta a ${limit}, se rechazarán las nuevas transacciones.`, changeCardLimitType: 'Modificar el tipo de límite de la tarjeta', changeLimitType: 'Modificar el tipo de límite', - changeCardSmartLimitTypeWarning: ({limit}) => + changeCardSmartLimitTypeWarning: (limit) => `Si cambias el tipo de límite de esta tarjeta a Límite inteligente, las nuevas transacciones serán rechazadas porque ya se ha alcanzado el límite de ${limit} no aprobado.`, - changeCardMonthlyLimitTypeWarning: ({limit}) => + changeCardMonthlyLimitTypeWarning: (limit) => `Si cambias el tipo de límite de esta tarjeta a Mensual, las nuevas transacciones serán rechazadas porque ya se ha alcanzado el límite de ${limit} mensual.`, addShippingDetails: 'Añadir detalles de envío', - issuedCard: ({assignee}) => `emitió a ${assignee} una Tarjeta Expensify. La tarjeta llegará en 2-3 días laborables.`, - issuedCardNoShippingDetails: ({assignee}) => `emitió a ${assignee} una Tarjeta Expensify. La tarjeta se enviará una vez que se confirmen los detalles de envío.`, + issuedCard: (assignee) => `emitió a ${assignee} una Tarjeta Expensify. La tarjeta llegará en 2-3 días laborables.`, + issuedCardNoShippingDetails: (assignee) => `emitió a ${assignee} una Tarjeta Expensify. La tarjeta se enviará una vez que se confirmen los detalles de envío.`, issuedCardVirtual: ({assignee, link}) => `emitió a ${assignee} una ${link} virtual. La tarjeta puede utilizarse inmediatamente.`, - addedShippingDetails: ({assignee}) => `${assignee} agregó los detalles de envío. La Tarjeta Expensify llegará en 2-3 días hábiles.`, - replacedCard: ({assignee}) => `${assignee} reemplazó su Tarjeta Expensify. La nueva tarjeta llegará en 2-3 días hábiles.`, + addedShippingDetails: (assignee) => `${assignee} agregó los detalles de envío. La Tarjeta Expensify llegará en 2-3 días hábiles.`, + replacedCard: (assignee) => `${assignee} reemplazó su Tarjeta Expensify. La nueva tarjeta llegará en 2-3 días hábiles.`, replacedVirtualCard: ({assignee, link}) => `${assignee} reemplazó su Tarjeta Expensify virtual! La ${link} puede utilizarse inmediatamente.`, card: 'tarjeta', replacementCard: 'tarjeta de reemplazo', @@ -5450,7 +5450,7 @@ ${amount} para ${merchant} - ${date}`, `Parece que estás intentando hacerte cargo de la facturación de los espacios de trabajo de ${email}, pero para hacerlo, primero debes ser administrador de todos sus espacios de trabajo.\n\nHaz clic en "Continuar" si solo quieres tomar sobrefacturación para el espacio de trabajo ${workspaceName}.\n\nSi desea hacerse cargo de la facturación de toda tu suscripción, pídales que lo agreguen como administrador a todos sus espacios de trabajo antes de hacerse cargo de la facturación.`, hasFailedSettlementsTitle: 'No se puede transferir la propiedad', hasFailedSettlementsButtonText: 'Entiendo', - hasFailedSettlementsText: ({email}) => + hasFailedSettlementsText: (email) => `No puede hacerse cargo de la facturación porque ${email} tiene una liquidación vencida de la tarjeta Expensify. Avíseles que se comuniquen con concierge@expensify.com para resolver el problema. Luego, podrá hacerse cargo de la facturación de este espacio de trabajo.`, failedToClearBalanceTitle: 'Fallo al liquidar el saldo', failedToClearBalanceButtonText: 'OK', @@ -5670,7 +5670,7 @@ ${amount} para ${merchant} - ${date}`, }, restrictedAction: { restricted: 'Restringido', - actionsAreCurrentlyRestricted: ({workspaceName}) => `Las acciones en el espacio de trabajo ${workspaceName} están actualmente restringidas`, + actionsAreCurrentlyRestricted: (workspaceName) => `Las acciones en el espacio de trabajo ${workspaceName} están actualmente restringidas`, workspaceOwnerWillNeedToAddOrUpdatePaymentCard: ({workspaceOwnerName}) => `El propietario del espacio de trabajo, ${workspaceOwnerName} tendrá que añadir o actualizar la tarjeta de pago registrada para desbloquear nueva actividad en el espacio de trabajo.`, youWillNeedToAddOrUpdatePaymentCard: 'Debes añadir o actualizar la tarjeta de pago registrada para desbloquear nueva actividad en el espacio de trabajo.', @@ -5710,7 +5710,7 @@ ${amount} para ${merchant} - ${date}`, alwaysNonReimbursable: 'Siempre no reembolsable', alwaysNonReimbursableDescription: 'Los gastos nunca son reembolsados a los empleados', billableDefault: 'Valor predeterminado facturable', - billableDefaultDescription: ({tagsPageLink}) => + billableDefaultDescription: (tagsPageLink) => `Elige si los gastos en efectivo y con tarjeta de crédito deben ser facturables por defecto. Los gastos facturables se activan o desactivan en etiquetas.`, billable: 'Facturable', billableDescription: 'Los gastos se vuelven a facturar a los clientes en la mayoría de los casos', @@ -5742,7 +5742,7 @@ ${amount} para ${merchant} - ${date}`, randomReportAuditDescription: 'Requiere que algunos informes sean aprobados manualmente, incluso si son elegibles para la aprobación automática.', autoPayApprovedReportsTitle: 'Pago automático de informes aprobados', autoPayApprovedReportsSubtitle: 'Configura qué informes de gastos pueden pagarse de forma automática.', - autoPayApprovedReportsLimitError: ({currency} = {}) => `Por favor, introduce un monto menor a ${currency ?? ''}20,000`, + autoPayApprovedReportsLimitError: (currency?) => `Por favor, introduce un monto menor a ${currency ?? ''}20,000`, autoPayApprovedReportsLockedSubtitle: 'Ve a más funciones y habilita flujos de trabajo, luego agrega pagos para desbloquear esta función.', autoPayReportsUnderTitle: 'Pagar automáticamente informes por debajo de', autoPayReportsUnderDescription: 'Los informes de gastos totalmente conformes por debajo de esta cantidad se pagarán automáticamente.', @@ -5754,13 +5754,13 @@ ${amount} para ${merchant} - ${date}`, approver: 'Aprobador', requireDescription: 'Requerir descripción', descriptionHint: 'Sugerencia de descripción', - descriptionHintDescription: ({categoryName}) => + descriptionHintDescription: (categoryName) => `Recuerda a los empleados que deben proporcionar información adicional para los gastos de “${categoryName}”. Esta sugerencia aparece en el campo de descripción en los gastos.`, descriptionHintLabel: 'Sugerencia', descriptionHintSubtitle: 'Consejo: ¡Cuanto más corta, mejor!', maxAmount: 'Importe máximo', flagAmountsOver: 'Señala importes superiores a', - flagAmountsOverDescription: ({categoryName}) => `Aplica a la categoría “${categoryName}”.`, + flagAmountsOverDescription: (categoryName) => `Aplica a la categoría “${categoryName}”.`, flagAmountsOverSubtitle: 'Esto anula el importe máximo para todos los gastos.', expenseLimitTypes: { expense: 'Gasto individual', @@ -7404,12 +7404,12 @@ ${amount} para ${merchant} - ${date}`, authenticatePaymentCard: 'Autenticar tarjeta de pago', mobileReducedFunctionalityMessage: 'No puedes hacer cambios en tu suscripción en la aplicación móvil.', badge: { - freeTrial: ({numOfDays}) => `Prueba gratuita: ${numOfDays === 1 ? `queda 1 día` : `quedan ${numOfDays} días`}`, + freeTrial: (numOfDays) => `Prueba gratuita: ${numOfDays === 1 ? `queda 1 día` : `quedan ${numOfDays} días`}`, }, billingBanner: { policyOwnerAmountOwed: { title: 'Tu información de pago está desactualizada', - subtitle: ({date}) => `Actualiza tu tarjeta de pago antes del ${date} para continuar utilizando todas tus herramientas favoritas`, + subtitle: (date) => `Actualiza tu tarjeta de pago antes del ${date} para continuar utilizando todas tus herramientas favoritas`, }, policyOwnerAmountOwedOverdue: { title: 'No se pudo procesar tu pago', @@ -7420,7 +7420,7 @@ ${amount} para ${merchant} - ${date}`, }, policyOwnerUnderInvoicing: { title: 'Tu información de pago está desactualizada', - subtitle: ({date}) => `Tu pago está vencido. Por favor, paga tu factura antes del ${date} para evitar la interrupción del servicio.`, + subtitle: (date) => `Tu pago está vencido. Por favor, paga tu factura antes del ${date} para evitar la interrupción del servicio.`, }, policyOwnerUnderInvoicingOverdue: { title: 'Tu información de pago está desactualizada', @@ -7433,16 +7433,16 @@ ${amount} para ${merchant} - ${date}`, }, cardAuthenticationRequired: { title: 'Tu tarjeta de pago no ha sido autenticada por completo.', - subtitle: ({cardEnding}) => `Completa el proceso de autenticación para activar tu tarjeta de pago que termina en ${cardEnding}.`, + subtitle: (cardEnding) => `Completa el proceso de autenticación para activar tu tarjeta de pago que termina en ${cardEnding}.`, }, insufficientFunds: { title: 'No se ha podido realizar el cobro a tu tarjeta', - subtitle: ({amountOwed}) => + subtitle: (amountOwed) => `Tu tarjeta de pago fue rechazada por falta de fondos. Vuelve a intentarlo o añade una nueva tarjeta de pago para liquidar tu saldo pendiente de ${amountOwed}.`, }, cardExpired: { title: 'No se ha podido realizar el cobro a tu tarjeta', - subtitle: ({amountOwed}) => `Tu tarjeta de pago ha expirado. Por favor, añade una nueva tarjeta de pago para liquidar tu saldo pendiente de ${amountOwed}.`, + subtitle: (amountOwed) => `Tu tarjeta de pago ha expirado. Por favor, añade una nueva tarjeta de pago para liquidar tu saldo pendiente de ${amountOwed}.`, }, cardExpireSoon: { title: 'Tu tarjeta caducará pronto', @@ -7484,8 +7484,8 @@ ${amount} para ${merchant} - ${date}`, title: 'Pago', subtitle: 'Añade una tarjeta para pagar tu suscripción a Expensify.', addCardButton: 'Añade tarjeta de pago', - cardNextPayment: ({nextPaymentDate}) => `Tu próxima fecha de pago es ${nextPaymentDate}.`, - cardEnding: ({cardNumber}) => `Tarjeta terminada en ${cardNumber}`, + cardNextPayment: (nextPaymentDate) => `Tu próxima fecha de pago es ${nextPaymentDate}.`, + cardEnding: (cardNumber) => `Tarjeta terminada en ${cardNumber}`, cardInfo: ({name, expiration, currency}) => `Nombre: ${name}, Expiración: ${expiration}, Moneda: ${currency}`, changeCard: 'Cambiar tarjeta de pago', changeCurrency: 'Cambiar moneda de pago', @@ -7682,7 +7682,7 @@ ${amount} para ${merchant} - ${date}`, enterMagicCodeUpdate: ({contactMethod}) => `Por favor, introduce el código mágico enviado a ${contactMethod} para actualizar el nivel de acceso de tu copiloto.`, notAllowed: 'No tan rápido...', noAccessMessage: 'Como copiloto, no tienes acceso a esta página. ¡Lo sentimos!', - notAllowedMessage: ({accountOwnerEmail}) => + notAllowedMessage: (accountOwnerEmail) => `Como copiloto de ${accountOwnerEmail}, no tienes permiso para realizar esta acción. ¡Lo siento!`, copilotAccess: 'Acceso a Copilot', }, diff --git a/src/libs/ReportActionsUtils.ts b/src/libs/ReportActionsUtils.ts index bfc9c958ed86..68ff267ee76d 100644 --- a/src/libs/ReportActionsUtils.ts +++ b/src/libs/ReportActionsUtils.ts @@ -3286,7 +3286,7 @@ function getChangedApproverActionMessage, } if (isApproved) { // eslint-disable-next-line @typescript-eslint/no-deprecated - return translateLocal('iou.approvedAmount', { - amount: formattedAmount, - }); + return translateLocal('iou.approvedAmount', formattedAmount); } if (isSplitBillReportAction(reportAction)) { translationKey = 'iou.didSplitAmount'; diff --git a/src/libs/SidebarUtils.ts b/src/libs/SidebarUtils.ts index 7994e54c02fd..0c997d5227af 100644 --- a/src/libs/SidebarUtils.ts +++ b/src/libs/SidebarUtils.ts @@ -1121,13 +1121,13 @@ function getRoomWelcomeMessage(report: OnyxEntry, isReportArchived = fal welcomeMessage.messageHtml = translateLocal('reportActionsView.beginningOfArchivedRoom', {reportName, reportDetailsLink}); } else if (isDomainRoom(report)) { // eslint-disable-next-line @typescript-eslint/no-deprecated - welcomeMessage.messageHtml = translateLocal('reportActionsView.beginningOfChatHistoryDomainRoom', {domainRoom: report?.reportName ?? ''}); + welcomeMessage.messageHtml = translateLocal('reportActionsView.beginningOfChatHistoryDomainRoom', report?.reportName ?? ''); } else if (isAdminRoom(report)) { // eslint-disable-next-line @typescript-eslint/no-deprecated - welcomeMessage.messageHtml = translateLocal('reportActionsView.beginningOfChatHistoryAdminRoom', {workspaceName}); + welcomeMessage.messageHtml = translateLocal('reportActionsView.beginningOfChatHistoryAdminRoom', workspaceName); } else if (isAnnounceRoom(report)) { // eslint-disable-next-line @typescript-eslint/no-deprecated - welcomeMessage.messageHtml = translateLocal('reportActionsView.beginningOfChatHistoryAnnounceRoom', {workspaceName}); + welcomeMessage.messageHtml = translateLocal('reportActionsView.beginningOfChatHistoryAnnounceRoom', workspaceName); } else if (isInvoiceRoom(report)) { const payer = report?.invoiceReceiver?.type === CONST.REPORT.INVOICE_RECEIVER_TYPE.INDIVIDUAL diff --git a/src/libs/WorkspacesSettingsUtils.ts b/src/libs/WorkspacesSettingsUtils.ts index 0e1b07cf00eb..0ca710218b39 100644 --- a/src/libs/WorkspacesSettingsUtils.ts +++ b/src/libs/WorkspacesSettingsUtils.ts @@ -107,7 +107,7 @@ function getOwnershipChecksDisplayText( break; case CONST.POLICY.OWNERSHIP_ERRORS.HAS_FAILED_SETTLEMENTS: title = translate('workspace.changeOwner.hasFailedSettlementsTitle'); - text = translate('workspace.changeOwner.hasFailedSettlementsText', {email: accountLogin ?? ''}); + text = translate('workspace.changeOwner.hasFailedSettlementsText', accountLogin ?? ''); buttonText = translate('workspace.changeOwner.hasFailedSettlementsButtonText'); break; case CONST.POLICY.OWNERSHIP_ERRORS.FAILED_TO_CLEAR_BALANCE: diff --git a/src/pages/MissingPersonalDetails/substeps/Address.tsx b/src/pages/MissingPersonalDetails/substeps/Address.tsx index 27a1860ec0d2..8e2ffab4fc1d 100644 --- a/src/pages/MissingPersonalDetails/substeps/Address.tsx +++ b/src/pages/MissingPersonalDetails/substeps/Address.tsx @@ -142,7 +142,7 @@ function AddressStep({isEditing, onNext, personalDetailsValues}: CustomSubStepPr { handleAddressChange(data, key); }} @@ -161,8 +161,8 @@ function AddressStep({isEditing, onNext, personalDetailsValues}: CustomSubStepPr { onMove(5); diff --git a/src/pages/ReimbursementAccount/NonUSD/BusinessInfo/subSteps/TaxIDEINNumber.tsx b/src/pages/ReimbursementAccount/NonUSD/BusinessInfo/subSteps/TaxIDEINNumber.tsx index a23105b568c2..5e52e3d34fa5 100644 --- a/src/pages/ReimbursementAccount/NonUSD/BusinessInfo/subSteps/TaxIDEINNumber.tsx +++ b/src/pages/ReimbursementAccount/NonUSD/BusinessInfo/subSteps/TaxIDEINNumber.tsx @@ -28,7 +28,7 @@ function TaxIDEINNumber({onNext, onMove, isEditing}: TaxIDEINNumberProps) { const errors = getFieldRequiredErrors(values, STEP_FIELDS); if (values[TAX_ID_EIN_NUMBER] && !isValidTaxIDEINNumber(values[TAX_ID_EIN_NUMBER], businessStepCountryValue)) { - errors[TAX_ID_EIN_NUMBER] = translate('businessInfoStep.error.taxIDEIN', {country: businessStepCountryValue}); + errors[TAX_ID_EIN_NUMBER] = translate('businessInfoStep.error.taxIDEIN', businessStepCountryValue); } return errors; @@ -48,11 +48,11 @@ function TaxIDEINNumber({onNext, onMove, isEditing}: TaxIDEINNumberProps) { onNext={onNext} onMove={onMove} formID={ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM} - formTitle={translate('businessInfoStep.whatsTheBusinessTaxIDEIN', {country: businessStepCountryValue})} + formTitle={translate('businessInfoStep.whatsTheBusinessTaxIDEIN', businessStepCountryValue)} validate={validate} onSubmit={handleSubmit} inputId={TAX_ID_EIN_NUMBER} - inputLabel={translate('businessInfoStep.taxIDEIN', {country: businessStepCountryValue})} + inputLabel={translate('businessInfoStep.taxIDEIN', businessStepCountryValue)} defaultValue={defaultValue} shouldShowHelpLinks={false} /> diff --git a/src/pages/RestrictedAction/Workspace/WorkspaceAdminRestrictedAction.tsx b/src/pages/RestrictedAction/Workspace/WorkspaceAdminRestrictedAction.tsx index 6f42d6807aba..7c95e6e94147 100644 --- a/src/pages/RestrictedAction/Workspace/WorkspaceAdminRestrictedAction.tsx +++ b/src/pages/RestrictedAction/Workspace/WorkspaceAdminRestrictedAction.tsx @@ -49,9 +49,7 @@ function WorkspaceAdminRestrictedAction({policyID}: WorkspaceAdminRestrictedActi width={variables.restrictedActionIllustrationHeight} height={variables.restrictedActionIllustrationHeight} /> - - {translate('workspace.restrictedAction.actionsAreCurrentlyRestricted', {workspaceName: policy?.name ?? ''})} - + {translate('workspace.restrictedAction.actionsAreCurrentlyRestricted', policy?.name ?? '')} {translate('workspace.restrictedAction.workspaceOwnerWillNeedToAddOrUpdatePaymentCard', {workspaceOwnerName: policy?.owner ?? ''})} diff --git a/src/pages/RestrictedAction/Workspace/WorkspaceUserRestrictedAction.tsx b/src/pages/RestrictedAction/Workspace/WorkspaceUserRestrictedAction.tsx index 97940b4bd05a..bf4e2dc50301 100644 --- a/src/pages/RestrictedAction/Workspace/WorkspaceUserRestrictedAction.tsx +++ b/src/pages/RestrictedAction/Workspace/WorkspaceUserRestrictedAction.tsx @@ -51,9 +51,7 @@ function WorkspaceUserRestrictedAction({policyID}: WorkspaceUserRestrictedAction width={variables.restrictedActionIllustrationHeight} height={variables.restrictedActionIllustrationHeight} /> - - {translate('workspace.restrictedAction.actionsAreCurrentlyRestricted', {workspaceName: policy?.name ?? ''})} - + {translate('workspace.restrictedAction.actionsAreCurrentlyRestricted', policy?.name ?? '')} {translate('workspace.restrictedAction.pleaseReachOutToYourWorkspaceAdmin')} diff --git a/src/pages/settings/Subscription/CardSection/CardSectionSubtitle/index.native.ts b/src/pages/settings/Subscription/CardSection/CardSectionSubtitle/index.native.ts index 4b6f96f9918f..34d808c65d73 100644 --- a/src/pages/settings/Subscription/CardSection/CardSectionSubtitle/index.native.ts +++ b/src/pages/settings/Subscription/CardSection/CardSectionSubtitle/index.native.ts @@ -8,7 +8,7 @@ type GetSectionSubtitleProps = { function getSectionSubtitle({translate, hasDefaultCard, nextPaymentDate}: GetSectionSubtitleProps): string { if (hasDefaultCard && nextPaymentDate) { - return translate('subscription.cardSection.cardNextPayment', {nextPaymentDate}); + return translate('subscription.cardSection.cardNextPayment', nextPaymentDate); } return translate('subscription.mobileReducedFunctionalityMessage'); diff --git a/src/pages/settings/Subscription/CardSection/CardSectionSubtitle/index.ts b/src/pages/settings/Subscription/CardSection/CardSectionSubtitle/index.ts index 510e6e010e89..d3248fe35b9f 100644 --- a/src/pages/settings/Subscription/CardSection/CardSectionSubtitle/index.ts +++ b/src/pages/settings/Subscription/CardSection/CardSectionSubtitle/index.ts @@ -8,7 +8,7 @@ type GetSectionSubtitleProps = { function getSectionSubtitle({translate, hasDefaultCard, nextPaymentDate}: GetSectionSubtitleProps): string { if (hasDefaultCard && nextPaymentDate) { - return translate('subscription.cardSection.cardNextPayment', {nextPaymentDate}); + return translate('subscription.cardSection.cardNextPayment', nextPaymentDate); } return translate('subscription.cardSection.subtitle'); } diff --git a/src/pages/settings/Subscription/CardSection/utils.ts b/src/pages/settings/Subscription/CardSection/utils.ts index ca66299a427a..053c8392232e 100644 --- a/src/pages/settings/Subscription/CardSection/utils.ts +++ b/src/pages/settings/Subscription/CardSection/utils.ts @@ -72,7 +72,7 @@ function getBillingStatus({ case PAYMENT_STATUS.POLICY_OWNER_WITH_AMOUNT_OWED: return { title: translate('subscription.billingBanner.policyOwnerAmountOwed.title'), - subtitle: translate('subscription.billingBanner.policyOwnerAmountOwed.subtitle', {date: endDateFormatted ?? ''}), + subtitle: translate('subscription.billingBanner.policyOwnerAmountOwed.subtitle', endDateFormatted ?? ''), isError: true, isRetryAvailable: true, }; @@ -96,7 +96,7 @@ function getBillingStatus({ case PAYMENT_STATUS.OWNER_OF_POLICY_UNDER_INVOICING: return { title: translate('subscription.billingBanner.policyOwnerUnderInvoicing.title'), - subtitle: translate('subscription.billingBanner.policyOwnerUnderInvoicing.subtitle', {date: endDateFormatted ?? ''}), + subtitle: translate('subscription.billingBanner.policyOwnerUnderInvoicing.subtitle', endDateFormatted ?? ''), isError: true, isAddButtonDark: true, }; @@ -120,7 +120,7 @@ function getBillingStatus({ case PAYMENT_STATUS.CARD_AUTHENTICATION_REQUIRED: return { title: translate('subscription.billingBanner.cardAuthenticationRequired.title'), - subtitle: translate('subscription.billingBanner.cardAuthenticationRequired.subtitle', {cardEnding}), + subtitle: translate('subscription.billingBanner.cardAuthenticationRequired.subtitle', cardEnding), isError: true, isAuthenticationRequired: true, }; @@ -128,7 +128,7 @@ function getBillingStatus({ case PAYMENT_STATUS.INSUFFICIENT_FUNDS: return { title: translate('subscription.billingBanner.insufficientFunds.title'), - subtitle: translate('subscription.billingBanner.insufficientFunds.subtitle', {amountOwed}), + subtitle: translate('subscription.billingBanner.insufficientFunds.subtitle', amountOwed), isError: true, isRetryAvailable: true, }; @@ -136,7 +136,7 @@ function getBillingStatus({ case PAYMENT_STATUS.CARD_EXPIRED: return { title: translate('subscription.billingBanner.cardExpired.title'), - subtitle: translate('subscription.billingBanner.cardExpired.subtitle', {amountOwed}), + subtitle: translate('subscription.billingBanner.cardExpired.subtitle', amountOwed), isError: true, isRetryAvailable: !isCurrentCardExpired, }; diff --git a/src/pages/workspace/accounting/utils.tsx b/src/pages/workspace/accounting/utils.tsx index 455e2f8d6be9..e46a625439f9 100644 --- a/src/pages/workspace/accounting/utils.tsx +++ b/src/pages/workspace/accounting/utils.tsx @@ -323,7 +323,7 @@ function getSynchronizationErrorMessage( if (isAuthenticationError(policy, connectionName)) { return ( - {translate('workspace.common.authenticationError', {connectionName: CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]})} + {translate('workspace.common.authenticationError', CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName])} {connectionName in CONST.POLICY.CONNECTIONS.AUTH_HELP_LINKS && ( <> ( - {translate('workspace.xero.mapTrackingCategoryToDescription', {categoryName: decodedCategoryName})} + {translate('workspace.xero.mapTrackingCategoryToDescription', decodedCategoryName)} ), [translate, styles.pb2, styles.ph5, styles.pb5, styles.textNormal, decodedCategoryName], @@ -106,7 +106,7 @@ function XeroMapTrackingCategoryConfigurationPage({policy}: WithPolicyProps) { initiallyFocusedOptionKey={optionsList.find((option) => option.isSelected)?.keyForList} headerContent={listHeaderComponent} onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_XERO_TRACKING_CATEGORIES.getRoute(policyID))} - headerTitleAlreadyTranslated={translate('workspace.xero.mapTrackingCategoryTo', {categoryName})} + headerTitleAlreadyTranslated={translate('workspace.xero.mapTrackingCategoryTo', categoryName)} connectionName={CONST.POLICY.CONNECTIONS.NAME.XERO} pendingAction={settingsPendingAction([`${CONST.XERO_CONFIG.TRACKING_CATEGORY_PREFIX}${categoryId}`], config?.pendingFields)} errors={getLatestErrorField(config ?? {}, `${CONST.XERO_CONFIG.TRACKING_CATEGORY_PREFIX}${categoryId}`)} diff --git a/src/pages/workspace/accounting/xero/XeroTrackingCategoryConfigurationPage.tsx b/src/pages/workspace/accounting/xero/XeroTrackingCategoryConfigurationPage.tsx index 4aafb1362cac..5c316c51a4ad 100644 --- a/src/pages/workspace/accounting/xero/XeroTrackingCategoryConfigurationPage.tsx +++ b/src/pages/workspace/accounting/xero/XeroTrackingCategoryConfigurationPage.tsx @@ -37,7 +37,7 @@ function XeroTrackingCategoryConfigurationPage({policy}: WithPolicyProps) { const decodedCategoryName = getDecodedCategoryName(category.name); return { id: category.id, - description: translate('workspace.xero.mapTrackingCategoryTo', {categoryName: decodedCategoryName}) as TranslationPaths, + description: translate('workspace.xero.mapTrackingCategoryTo', decodedCategoryName) as TranslationPaths, onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_XERO_TRACKING_CATEGORIES_MAP.getRoute(policyID, category.id, category.name)), title: translate( `workspace.xero.trackingCategoriesOptions.${ diff --git a/src/pages/workspace/categories/CategoryDescriptionHintPage.tsx b/src/pages/workspace/categories/CategoryDescriptionHintPage.tsx index ae6491248ac1..0009c1d7cb44 100644 --- a/src/pages/workspace/categories/CategoryDescriptionHintPage.tsx +++ b/src/pages/workspace/categories/CategoryDescriptionHintPage.tsx @@ -67,7 +67,7 @@ function CategoryDescriptionHintPage({ addBottomSafeAreaPadding > - {translate('workspace.rules.categoryRules.descriptionHintDescription', {categoryName: decodedCategoryName})} + {translate('workspace.rules.categoryRules.descriptionHintDescription', decodedCategoryName)} - {translate('workspace.rules.categoryRules.flagAmountsOverDescription', {categoryName: decodedCategoryName})} + {translate('workspace.rules.categoryRules.flagAmountsOverDescription', decodedCategoryName)} {translate('workspace.companyCards.chooseCard')} - + ); diff --git a/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitPage.tsx index 308ef019120a..1de9a68c0ff8 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitPage.tsx @@ -166,7 +166,7 @@ function WorkspaceEditCardLimitPage({route}: WorkspaceEditCardLimitPageProps) { isVisible={isConfirmModalVisible} onConfirm={() => updateCardLimit(Number(inputValues[INPUT_IDS.LIMIT]) * 100)} onCancel={() => setIsConfirmModalVisible(false)} - prompt={translate(getPromptTextKey, {limit: convertToDisplayString(Number(inputValues[INPUT_IDS.LIMIT]) * 100, currency)})} + prompt={translate(getPromptTextKey, convertToDisplayString(Number(inputValues[INPUT_IDS.LIMIT]) * 100, currency))} confirmText={translate('workspace.expensifyCard.changeLimit')} cancelText={translate('common.cancel')} danger diff --git a/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitTypePage.tsx b/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitTypePage.tsx index dc7a852f06f0..70f2514af253 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitTypePage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitTypePage.tsx @@ -183,7 +183,7 @@ function WorkspaceEditCardLimitTypePage({route}: WorkspaceEditCardLimitTypePageP isVisible={isConfirmModalVisible} onConfirm={updateCardLimitType} onCancel={() => setIsConfirmModalVisible(false)} - prompt={translate(promptTranslationKey, {limit: convertToDisplayString(card?.nameValuePairs?.unapprovedExpenseLimit, currency)})} + prompt={translate(promptTranslationKey, convertToDisplayString(card?.nameValuePairs?.unapprovedExpenseLimit, currency))} confirmText={translate('workspace.expensifyCard.changeLimitType')} cancelText={translate('common.cancel')} danger diff --git a/src/pages/workspace/receiptPartners/utils.tsx b/src/pages/workspace/receiptPartners/utils.tsx index 9a05669c574d..0c4b64dbae32 100644 --- a/src/pages/workspace/receiptPartners/utils.tsx +++ b/src/pages/workspace/receiptPartners/utils.tsx @@ -6,7 +6,7 @@ import type {ThemeStyles} from '@src/styles'; export default function getSynchronizationErrorMessage(receiptPartnerName: string, translate: LocaleContextProps['translate'], styles?: ThemeStyles): React.ReactNode | undefined { return ( - {translate('workspace.common.authenticationError', {connectionName: receiptPartnerName})} + {translate('workspace.common.authenticationError', receiptPartnerName)} ); } diff --git a/src/pages/workspace/rules/RulesAutoPayReportsUnderPage.tsx b/src/pages/workspace/rules/RulesAutoPayReportsUnderPage.tsx index 5b88adf7353a..b386d1915de4 100644 --- a/src/pages/workspace/rules/RulesAutoPayReportsUnderPage.tsx +++ b/src/pages/workspace/rules/RulesAutoPayReportsUnderPage.tsx @@ -40,7 +40,7 @@ function RulesAutoPayReportsUnderPage({route}: RulesAutoPayReportsUnderPageProps const validateLimit = ({maxExpenseAutoPayAmount}: FormOnyxValues) => { const errors: FormInputErrors = {}; if (convertToBackendAmount(parseFloat(maxExpenseAutoPayAmount)) > CONST.POLICY.AUTO_REIMBURSEMENT_MAX_LIMIT_CENTS) { - errors[INPUT_IDS.MAX_EXPENSE_AUTO_PAY_AMOUNT] = translate('workspace.rules.expenseReportRules.autoPayApprovedReportsLimitError', {currency: currencySymbol}); + errors[INPUT_IDS.MAX_EXPENSE_AUTO_PAY_AMOUNT] = translate('workspace.rules.expenseReportRules.autoPayApprovedReportsLimitError', currencySymbol); } return errors; }; diff --git a/src/pages/workspace/rules/RulesBillableDefaultPage.tsx b/src/pages/workspace/rules/RulesBillableDefaultPage.tsx index 3df31844a59f..70c9e18ac9c0 100644 --- a/src/pages/workspace/rules/RulesBillableDefaultPage.tsx +++ b/src/pages/workspace/rules/RulesBillableDefaultPage.tsx @@ -74,7 +74,7 @@ function RulesBillableDefaultPage({ onBackButtonPress={() => Navigation.goBack()} /> - + Date: Fri, 12 Dec 2025 10:13:51 +0100 Subject: [PATCH 3/4] replaced types in generated languages and removed the replaced types from params.ts --- src/languages/de.ts | 116 ++++++++++++++------------------------- src/languages/fr.ts | 116 ++++++++++++++------------------------- src/languages/it.ts | 115 ++++++++++++++------------------------ src/languages/ja.ts | 114 ++++++++++++++------------------------ src/languages/nl.ts | 112 ++++++++++++++----------------------- src/languages/params.ts | 102 ---------------------------------- src/languages/pl.ts | 114 ++++++++++++++------------------------ src/languages/pt-BR.ts | 112 ++++++++++++++----------------------- src/languages/zh-hans.ts | 113 ++++++++++++++------------------------ 9 files changed, 336 insertions(+), 678 deletions(-) diff --git a/src/languages/de.ts b/src/languages/de.ts index e51862027c29..e6a9451c3259 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -19,56 +19,30 @@ import type {Country} from '@src/CONST'; import type OriginalMessage from '@src/types/onyx/OriginalMessage'; import type en from './en'; import type { - AccountOwnerParams, - ActionsAreCurrentlyRestricted, AddedOrDeletedPolicyReportFieldParams, AddedPolicyApprovalRuleParams, AddEmployeeParams, AddOrDeletePolicyCustomUnitRateParams, - AddressLineParams, AirlineParams, - AlreadySignedInParams, ApprovalWorkflowErrorParams, - ApprovedAmountParams, AssignedCardParams, - AssigneeParams, - AuthenticationErrorParams, - AutoPayApprovedReportsLimitErrorParams, - BadgeFreeTrialParams, - BankAccountLastFourParams, BeginningOfArchivedRoomParams, - BeginningOfChatHistoryAdminRoomParams, - BeginningOfChatHistoryAnnounceRoomParams, - BeginningOfChatHistoryDomainRoomParams, BeginningOfChatHistoryInvoiceRoomParams, BeginningOfChatHistoryParams, BeginningOfChatHistoryPolicyExpenseChatParams, BeginningOfChatHistoryUserRoomParams, - BillableDefaultDescriptionParams, - BillingBannerCardAuthenticationRequiredParams, - BillingBannerCardExpiredParams, BillingBannerCardOnDisputeParams, BillingBannerDisputePendingParams, - BillingBannerInsufficientFundsParams, BillingBannerOwnerAmountOwedOverdueParams, - BillingBannerSubtitleWithDateParams, BusinessBankAccountParams, - BusinessRegistrationNumberParams, - BusinessTaxIDParams, CanceledRequestParams, - CardEndingParams, CardInfoParams, - CardNextPaymentParams, - CategoryNameParams, - ChangedApproverMessageParams, ChangeFieldParams, ChangeOwnerDuplicateSubscriptionParams, - ChangeOwnerHasFailedSettlementsParams, ChangeOwnerSubscriptionParams, ChangeReportPolicyParams, ChangeTypeParams, CharacterLengthLimitParams, - CharacterLimitParams, ChatWithAccountManagerParams, CompanyCardBankName, CompanyCardFeedNameParams, @@ -447,7 +421,7 @@ const translations: TranslationDeepObject = { currentMonth: 'Aktueller Monat', ssnLast4: 'Letzte 4 Ziffern der SSN', ssnFull9: 'Alle 9 Ziffern der SSN', - addressLine: ({lineNumber}: AddressLineParams) => `Adresszeile ${lineNumber}`, + addressLine: (lineNumber: number) => `Adresszeile ${lineNumber}`, personalAddress: 'Privatadresse', companyAddress: 'Firmenadresse', noPO: 'Bitte keine Postfächer oder Maildrop-Adressen.', @@ -913,7 +887,7 @@ const translations: TranslationDeepObject = { }, }, thirdPartySignIn: { - alreadySignedIn: ({email}: AlreadySignedInParams) => `Du bist bereits als ${email} angemeldet.`, + alreadySignedIn: (email: string) => `Du bist bereits als ${email} angemeldet.`, goBackMessage: ({provider}: GoBackMessageParams) => `Möchtest du dich nicht mit ${provider} anmelden?`, continueWithMyCurrentSession: 'Mit meiner aktuellen Sitzung fortfahren', redirectToDesktopMessage: 'Wir leiten dich zur Desktop-App weiter, sobald du dich angemeldet hast.', @@ -981,12 +955,11 @@ const translations: TranslationDeepObject = { reportActionsView: { beginningOfArchivedRoom: ({reportName, reportDetailsLink}: BeginningOfArchivedRoomParams) => `Du hast die Party in ${reportName} verpasst, hier gibt es nichts zu sehen.`, - beginningOfChatHistoryDomainRoom: ({domainRoom}: BeginningOfChatHistoryDomainRoomParams) => + beginningOfChatHistoryDomainRoom: (domainRoom: string) => `Dieser Chat ist mit allen Expensify-Mitgliedern in der Domain ${domainRoom}. Verwende ihn, um mit Kolleg:innen zu chatten, Tipps auszutauschen und Fragen zu stellen.`, - beginningOfChatHistoryAdminRoom: ({workspaceName}: BeginningOfChatHistoryAdminRoomParams) => + beginningOfChatHistoryAdminRoom: (workspaceName: string) => `Dieser Chat ist mit dem Admin von ${workspaceName}. Verwende ihn, um über das Einrichten des Workspaces und mehr zu chatten.`, - beginningOfChatHistoryAnnounceRoom: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomParams) => - `Dieser Chat ist mit allen in ${workspaceName}. Verwenden Sie ihn für die wichtigsten Ankündigungen.`, + beginningOfChatHistoryAnnounceRoom: (workspaceName: string) => `Dieser Chat ist mit allen in ${workspaceName}. Verwenden Sie ihn für die wichtigsten Ankündigungen.`, beginningOfChatHistoryUserRoom: ({reportName, reportDetailsLink}: BeginningOfChatHistoryUserRoomParams) => `Dieser Chatraum ist für alles, was mit ${reportName} zu tun hat.`, beginningOfChatHistoryInvoiceRoom: ({invoicePayer, invoiceReceiver}: BeginningOfChatHistoryInvoiceRoomParams) => @@ -1329,8 +1302,8 @@ const translations: TranslationDeepObject = { businessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => (amount ? `${amount} mit Bankkonto ${last4Digits} bezahlt` : `bezahlt mit Bankkonto ${last4Digits}`), automaticallyPaidWithBusinessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => `${amount ? `${amount} ` : ''} mit Bankkonto ${last4Digits} über Workspace-Regeln bezahlt`, - invoicePersonalBank: ({lastFour}: BankAccountLastFourParams) => `Persönliches Konto • ${lastFour}`, - invoiceBusinessBank: ({lastFour}: BankAccountLastFourParams) => `Geschäftskonto • ${lastFour}`, + invoicePersonalBank: (lastFour: string) => `Persönliches Konto • ${lastFour}`, + invoiceBusinessBank: (lastFour: string) => `Geschäftskonto • ${lastFour}`, nextStep: 'Nächste Schritte', finished: 'Fertig', flip: 'Drehen', @@ -1353,7 +1326,7 @@ const translations: TranslationDeepObject = { payerSettled: ({amount}: PayerSettledParams) => `bezahlt ${amount}`, payerSettledWithMissingBankAccount: ({amount}: PayerSettledParams) => `${amount} bezahlt. Füge ein Bankkonto hinzu, um deine Zahlung zu erhalten.`, automaticallyApproved: `über Workspace-Regeln genehmigt`, - approvedAmount: ({amount}: ApprovedAmountParams) => `${amount} genehmigt`, + approvedAmount: (amount: number | string) => `${amount} genehmigt`, approvedMessage: `Genehmigt`, unapproved: `nicht genehmigt`, automaticallyForwarded: `über Workspace-Regeln genehmigt`, @@ -1558,7 +1531,7 @@ const translations: TranslationDeepObject = { subtitle: 'Wählen Sie eine Option, um den Genehmiger für diesen Bericht zu ändern.', description: ({workflowSettingLink}: WorkflowSettingsParam) => `Sie können den Genehmiger auch dauerhaft für alle Berichte in Ihren Workflow-Einstellungen ändern.`, - changedApproverMessage: ({managerID}: ChangedApproverMessageParams) => `Genehmigenden in geändert`, + changedApproverMessage: (managerID: number) => `Genehmigenden in geändert`, actions: { addApprover: 'Genehmiger hinzufügen', addApproverSubtitle: 'Fügen Sie dem bestehenden Workflow einen zusätzlichen Genehmiger hinzu.', @@ -2440,7 +2413,7 @@ ${amount} für ${merchant} – ${date}`, cardLastFour: 'Karte mit Endziffern', addFirstPaymentMethod: 'Fügen Sie eine Zahlungsmethode hinzu, um Zahlungen direkt in der App zu senden und zu empfangen.', defaultPaymentMethod: 'Standard', - bankAccountLastFour: ({lastFour}: BankAccountLastFourParams) => `Bankkonto • ${lastFour}`, + bankAccountLastFour: (lastFour: string) => `Bankkonto • ${lastFour}`, }, preferencesPage: { appSection: { @@ -3387,7 +3360,7 @@ ${ whatsTheBusinessName: 'Wie lautet der Geschäftsname?', whatsTheBusinessAddress: 'Wie lautet die Geschäftsadresse?', whatsTheBusinessContactInformation: 'Wie lauten die geschäftlichen Kontaktdaten?', - whatsTheBusinessRegistrationNumber: ({country}: BusinessRegistrationNumberParams) => { + whatsTheBusinessRegistrationNumber: (country: string) => { switch (country) { case CONST.COUNTRY.GB: return 'Was ist die Unternehmensregistrierungsnummer (CRN)?'; @@ -3395,7 +3368,7 @@ ${ return 'Wie lautet die Handelsregisternummer?'; } }, - whatsTheBusinessTaxIDEIN: ({country}: BusinessTaxIDParams) => { + whatsTheBusinessTaxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Was ist die Arbeitgeber-Identifikationsnummer (EIN)?'; @@ -3415,7 +3388,7 @@ ${ whatsTheBusinessAnnualPayment: 'Wie hoch ist das jährliche Zahlungsvolumen des Unternehmens?', whatsYourExpectedAverageReimbursements: 'Wie hoch ist Ihr erwarteter durchschnittlicher Erstattungsbetrag?', registrationNumber: 'Registrierungsnummer', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'EIN'; @@ -3454,7 +3427,7 @@ ${ findBusinessType: 'Unternehmensart finden', error: { registrationNumber: 'Bitte gib eine gültige Registrierungsnummer ein', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Bitte gib eine gültige Arbeitgeber-Identifikationsnummer (EIN) ein'; @@ -3906,7 +3879,7 @@ ${ existingConnectionsDescription: ({connectionName}: ConnectionNameParams) => `Da du zuvor bereits eine Verbindung zu ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]} hergestellt hast, kannst du eine bestehende Verbindung wiederverwenden oder eine neue erstellen.`, lastSyncDate: ({connectionName, formattedDate}: LastSyncDateParams) => `${connectionName} – Zuletzt synchronisiert am ${formattedDate}`, - authenticationError: ({connectionName}: AuthenticationErrorParams) => `Verbindung mit ${connectionName} aufgrund eines Authentifizierungsfehlers nicht möglich.`, + authenticationError: (connectionName: string) => `Verbindung mit ${connectionName} aufgrund eines Authentifizierungsfehlers nicht möglich.`, learnMore: 'Mehr erfahren', memberAlternateText: 'Mitglieder können Berichte einreichen und genehmigen.', adminAlternateText: 'Admins haben vollen Bearbeitungszugriff auf alle Berichte und Workspace-Einstellungen.', @@ -4245,8 +4218,8 @@ ${ accountsSwitchDescription: 'Aktivierte Kategorien stehen Mitgliedern zur Auswahl, wenn sie ihre Ausgaben erstellen.', trackingCategories: 'Tracking-Kategorien', trackingCategoriesDescription: 'Wählen Sie aus, wie Xero-Trackingkategorien in Expensify behandelt werden sollen.', - mapTrackingCategoryTo: ({categoryName}: CategoryNameParams) => `Xero-Konto ${categoryName} zuordnen zu`, - mapTrackingCategoryToDescription: ({categoryName}: CategoryNameParams) => `Wählen Sie, wohin ${categoryName} beim Export nach Xero zugeordnet werden soll.`, + mapTrackingCategoryTo: (categoryName: string) => `Xero-Konto ${categoryName} zuordnen zu`, + mapTrackingCategoryToDescription: (categoryName: string) => `Wählen Sie, wohin ${categoryName} beim Export nach Xero zugeordnet werden soll.`, customers: 'Kunden erneut in Rechnung stellen', customersDescription: 'Wählen Sie, ob Kunden in Expensify erneut abgerechnet werden sollen. Ihre Xero-Kundenkontakte können Ausgaben zugeordnet werden und werden als Verkaufsrechnung nach Xero exportiert.', @@ -4895,7 +4868,7 @@ _Für ausführlichere Anweisungen [besuchen Sie unsere Hilfeseite](${CONST.NETSU directFeed: 'Direkt-Feed', whoNeedsCardAssigned: 'Wer braucht eine zugewiesene Karte?', chooseCard: 'Wähle eine Karte', - chooseCardFor: ({assignee}: AssigneeParams) => + chooseCardFor: (assignee: string) => `Wähle eine Karte für ${assignee}. Du findest die Karte, die du suchst, nicht? Teile es uns mit.`, noActiveCards: 'Keine aktiven Karten in diesem Feed', somethingMightBeBroken: @@ -4968,23 +4941,22 @@ _Für ausführlichere Anweisungen [besuchen Sie unsere Hilfeseite](${CONST.NETSU deactivate: 'Karte deaktivieren', changeCardLimit: 'Kartenlimit ändern', changeLimit: 'Limit ändern', - smartLimitWarning: ({limit}: CharacterLimitParams) => + smartLimitWarning: (limit: number | string) => `Wenn du das Limit dieser Karte auf ${limit} änderst, werden neue Transaktionen abgelehnt, bis du weitere Ausgaben auf der Karte genehmigst.`, - monthlyLimitWarning: ({limit}: CharacterLimitParams) => `Wenn Sie das Limit dieser Karte auf ${limit} ändern, werden neue Transaktionen bis zum nächsten Monat abgelehnt.`, - fixedLimitWarning: ({limit}: CharacterLimitParams) => `Wenn du das Limit dieser Karte auf ${limit} änderst, werden neue Transaktionen abgelehnt.`, + monthlyLimitWarning: (limit: number | string) => `Wenn Sie das Limit dieser Karte auf ${limit} ändern, werden neue Transaktionen bis zum nächsten Monat abgelehnt.`, + fixedLimitWarning: (limit: number | string) => `Wenn du das Limit dieser Karte auf ${limit} änderst, werden neue Transaktionen abgelehnt.`, changeCardLimitType: 'Kartengrenzentyp ändern', changeLimitType: 'Limittyp ändern', - changeCardSmartLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardSmartLimitTypeWarning: (limit: number | string) => `Wenn du den Limittyp dieser Karte auf Smart Limit änderst, werden neue Transaktionen abgelehnt, weil das nicht genehmigte Limit von ${limit} bereits erreicht wurde.`, - changeCardMonthlyLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardMonthlyLimitTypeWarning: (limit: number | string) => `Wenn du den Limittyp dieser Karte auf „Monatlich“ änderst, werden neue Transaktionen abgelehnt, da das monatliche Limit von ${limit} bereits erreicht wurde.`, addShippingDetails: 'Versanddetails hinzufügen', - issuedCard: ({assignee}: AssigneeParams) => `hat ${assignee} eine Expensify Card ausgestellt! Die Karte wird in 2–3 Werktagen ankommen.`, - issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => - `hat ${assignee} eine Expensify Card ausgestellt! Die Karte wird versendet, sobald die Versanddetails bestätigt wurden.`, + issuedCard: (assignee: string) => `hat ${assignee} eine Expensify Card ausgestellt! Die Karte wird in 2–3 Werktagen ankommen.`, + issuedCardNoShippingDetails: (assignee: string) => `hat ${assignee} eine Expensify Card ausgestellt! Die Karte wird versendet, sobald die Versanddetails bestätigt wurden.`, issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `hat ${assignee} eine virtuelle Expensify Card ausgestellt! Die ${link} kann sofort verwendet werden.`, - addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} hat Versanddetails hinzugefügt. Die Expensify Card wird in 2–3 Werktagen ankommen.`, - replacedCard: ({assignee}: AssigneeParams) => `${assignee} hat ihre Expensify Card ersetzt. Die neue Karte wird in 2–3 Werktagen ankommen.`, + addedShippingDetails: (assignee: string) => `${assignee} hat Versanddetails hinzugefügt. Die Expensify Card wird in 2–3 Werktagen ankommen.`, + replacedCard: (assignee: string) => `${assignee} hat ihre Expensify Card ersetzt. Die neue Karte wird in 2–3 Werktagen ankommen.`, replacedVirtualCard: ({assignee, link}: IssueVirtualCardParams) => `${assignee} hat ihre virtuelle Expensify Card ersetzt! Die ${link} kann sofort verwendet werden.`, card: 'Karte', replacementCard: 'Ersatzkarte', @@ -5948,7 +5920,7 @@ Klicke auf „Weiter“, wenn du nur die Abrechnung für den Workspace ${workspa Wenn du die Abrechnung für ihr gesamtes Abonnement übernehmen möchtest, bitte sie zunächst, dich als Administrator zu all ihren Workspaces hinzuzufügen, bevor du die Abrechnung übernimmst.`, hasFailedSettlementsTitle: 'Besitz kann nicht übertragen werden', hasFailedSettlementsButtonText: 'Verstanden', - hasFailedSettlementsText: ({email}: ChangeOwnerHasFailedSettlementsParams) => + hasFailedSettlementsText: (email: string) => `Sie können die Abrechnung nicht übernehmen, weil ${email} eine überfällige Expensify Card-Abrechnung hat. Bitte bitten Sie diese Person, sich an concierge@expensify.com zu wenden, um das Problem zu lösen. Danach können Sie die Abrechnung für diesen Workspace übernehmen.`, failedToClearBalanceTitle: 'Saldo konnte nicht ausgeglichen werden', failedToClearBalanceButtonText: 'OK', @@ -6157,7 +6129,7 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard }, restrictedAction: { restricted: 'Eingeschränkt', - actionsAreCurrentlyRestricted: ({workspaceName}: ActionsAreCurrentlyRestricted) => `Aktionen im Workspace ${workspaceName} sind derzeit eingeschränkt`, + actionsAreCurrentlyRestricted: (workspaceName: string) => `Aktionen im Workspace ${workspaceName} sind derzeit eingeschränkt`, workspaceOwnerWillNeedToAddOrUpdatePaymentCard: ({workspaceOwnerName}: WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams) => `Der Workspace-Inhaber ${workspaceOwnerName} muss die hinterlegte Zahlungskarte hinzufügen oder aktualisieren, um neue Workspace-Aktivitäten freizuschalten.`, youWillNeedToAddOrUpdatePaymentCard: 'Du musst die hinterlegte Zahlungskarte hinzufügen oder aktualisieren, um neue Aktivitäten im Workspace freizuschalten.', @@ -6197,7 +6169,7 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard alwaysNonReimbursable: 'Immer nicht erstattungsfähig', alwaysNonReimbursableDescription: 'Auslagen werden Mitarbeitern niemals zurückerstattet', billableDefault: 'Standardmäßige Verrechenbarkeit', - billableDefaultDescription: ({tagsPageLink}: BillableDefaultDescriptionParams) => + billableDefaultDescription: (tagsPageLink: string) => `Wählen Sie, ob Bar- und Kreditkartenausgaben standardmäßig verrechenbar sein sollen. Verrechenbare Ausgaben werden in Tags aktiviert oder deaktiviert.`, billable: 'Verrechenbar', billableDescription: 'Ausgaben werden am häufigsten an Kunden weiterberechnet', @@ -6229,8 +6201,7 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard randomReportAuditDescription: 'Erfordert, dass einige Berichte manuell genehmigt werden, selbst wenn sie für die automatische Genehmigung in Frage kommen.', autoPayApprovedReportsTitle: 'Automatische Bezahlung genehmigter Berichte', autoPayApprovedReportsSubtitle: 'Legen Sie fest, welche Spesenabrechnungen für die automatische Zahlung berechtigt sind.', - autoPayApprovedReportsLimitError: ({currency}: AutoPayApprovedReportsLimitErrorParams = {}) => - `Bitte geben Sie einen Betrag ein, der kleiner als ${currency ?? ''}20.000 ist`, + autoPayApprovedReportsLimitError: (currency?: string) => `Bitte geben Sie einen Betrag ein, der kleiner als ${currency ?? ''}20.000 ist`, autoPayApprovedReportsLockedSubtitle: 'Gehen Sie zu „Weitere Funktionen“ und aktivieren Sie „Workflows“, dann fügen Sie „Zahlungen“ hinzu, um diese Funktion freizuschalten.', autoPayReportsUnderTitle: 'Berichte automatisch bezahlen unter', autoPayReportsUnderDescription: 'Vollständig konforme Spesenabrechnungen unter diesem Betrag werden automatisch bezahlt.', @@ -6243,13 +6214,13 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard approver: 'Genehmiger', requireDescription: 'Beschreibung erforderlich', descriptionHint: 'Hinweis zur Beschreibung', - descriptionHintDescription: ({categoryName}: CategoryNameParams) => + descriptionHintDescription: (categoryName: string) => `Mitarbeitende daran erinnern, zusätzliche Informationen für Ausgaben der Kategorie „${categoryName}“ anzugeben. Dieser Hinweis erscheint im Beschreibungsfeld von Ausgaben.`, descriptionHintLabel: 'Hinweis', descriptionHintSubtitle: 'Profi-Tipp: Je kürzer, desto besser!', maxAmount: 'Maximalbetrag', flagAmountsOver: 'Beträge kennzeichnen über', - flagAmountsOverDescription: ({categoryName}: CategoryNameParams) => `Gilt für die Kategorie „${categoryName}“.`, + flagAmountsOverDescription: (categoryName: string) => `Gilt für die Kategorie „${categoryName}“.`, flagAmountsOverSubtitle: 'Dies überschreibt den Maximalbetrag für alle Ausgaben.', expenseLimitTypes: { expense: 'Einzelausgabe', @@ -7458,13 +7429,12 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard authenticatePaymentCard: 'Zahlungskarte authentifizieren', mobileReducedFunctionalityMessage: 'Sie können Ihre Abonnement-Einstellungen in der mobilen App nicht ändern.', badge: { - freeTrial: ({numOfDays}: BadgeFreeTrialParams) => `Kostenlose Testversion: Noch ${numOfDays} ${numOfDays === 1 ? 'Tag' : 'Tage'}`, + freeTrial: (numOfDays: number) => `Kostenlose Testversion: Noch ${numOfDays} ${numOfDays === 1 ? 'Tag' : 'Tage'}`, }, billingBanner: { policyOwnerAmountOwed: { title: 'Ihre Zahlungsinformationen sind veraltet', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => - `Aktualisieren Sie Ihre Zahlungskarte bis zum ${date}, um weiterhin alle Ihre Lieblingsfunktionen nutzen zu können.`, + subtitle: (date: string) => `Aktualisieren Sie Ihre Zahlungskarte bis zum ${date}, um weiterhin alle Ihre Lieblingsfunktionen nutzen zu können.`, }, policyOwnerAmountOwedOverdue: { title: 'Ihre Zahlung konnte nicht verarbeitet werden', @@ -7475,8 +7445,7 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard }, policyOwnerUnderInvoicing: { title: 'Ihre Zahlungsinformationen sind veraltet', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => - `Ihre Zahlung ist überfällig. Bitte begleichen Sie Ihre Rechnung bis zum ${date}, um eine Unterbrechung des Service zu vermeiden.`, + subtitle: (date: string) => `Ihre Zahlung ist überfällig. Bitte begleichen Sie Ihre Rechnung bis zum ${date}, um eine Unterbrechung des Service zu vermeiden.`, }, policyOwnerUnderInvoicingOverdue: { title: 'Ihre Zahlungsinformationen sind veraltet', @@ -7489,17 +7458,16 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard }, cardAuthenticationRequired: { title: 'Ihre Zahlungskarte wurde nicht vollständig authentifiziert.', - subtitle: ({cardEnding}: BillingBannerCardAuthenticationRequiredParams) => - `Bitte schließen Sie den Authentifizierungsprozess ab, um Ihre Zahlungskarte mit der Endziffer ${cardEnding} zu aktivieren.`, + subtitle: (cardEnding: string) => `Bitte schließen Sie den Authentifizierungsprozess ab, um Ihre Zahlungskarte mit der Endziffer ${cardEnding} zu aktivieren.`, }, insufficientFunds: { title: 'Ihre Karte konnte nicht belastet werden', - subtitle: ({amountOwed}: BillingBannerInsufficientFundsParams) => + subtitle: (amountOwed: number) => `Ihre Zahlungskarte wurde aufgrund unzureichender Deckung abgelehnt. Bitte versuchen Sie es erneut oder fügen Sie eine neue Zahlungskarte hinzu, um Ihren ausstehenden Saldo von ${amountOwed} zu begleichen.`, }, cardExpired: { title: 'Ihre Karte konnte nicht belastet werden', - subtitle: ({amountOwed}: BillingBannerCardExpiredParams) => + subtitle: (amountOwed: number) => `Ihre Zahlungskarte ist abgelaufen. Bitte fügen Sie eine neue Zahlungskarte hinzu, um Ihren ausstehenden Saldo von ${amountOwed} zu begleichen.`, }, cardExpireSoon: { @@ -7543,8 +7511,8 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard title: 'Zahlung', subtitle: 'Fügen Sie eine Karte hinzu, um Ihr Expensify-Abonnement zu bezahlen.', addCardButton: 'Zahlungskarte hinzufügen', - cardNextPayment: ({nextPaymentDate}: CardNextPaymentParams) => `Ihr nächstes Zahlungsdatum ist der ${nextPaymentDate}.`, - cardEnding: ({cardNumber}: CardEndingParams) => `Karte mit Endziffern ${cardNumber}`, + cardNextPayment: (nextPaymentDate: string) => `Ihr nächstes Zahlungsdatum ist der ${nextPaymentDate}.`, + cardEnding: (cardNumber: string) => `Karte mit Endziffern ${cardNumber}`, cardInfo: ({name, expiration, currency}: CardInfoParams) => `Name: ${name}, Ablaufdatum: ${expiration}, Währung: ${currency}`, changeCard: 'Zahlungskarte ändern', changeCurrency: 'Zahlungswährung ändern', @@ -7745,7 +7713,7 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard Als Copilot hast du keinen Zugriff auf diese Seite. Entschuldigung! `), - notAllowedMessage: ({accountOwnerEmail}: AccountOwnerParams) => + notAllowedMessage: (accountOwnerEmail: string) => `Als Copilot für ${accountOwnerEmail} hast du keine Berechtigung, diese Aktion auszuführen. Entschuldigung!`, copilotAccess: 'Copilot-Zugriff', }, diff --git a/src/languages/fr.ts b/src/languages/fr.ts index 2b970992e1cd..a50810fb6464 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -19,56 +19,30 @@ import type {Country} from '@src/CONST'; import type OriginalMessage from '@src/types/onyx/OriginalMessage'; import type en from './en'; import type { - AccountOwnerParams, - ActionsAreCurrentlyRestricted, AddedOrDeletedPolicyReportFieldParams, AddedPolicyApprovalRuleParams, AddEmployeeParams, AddOrDeletePolicyCustomUnitRateParams, - AddressLineParams, AirlineParams, - AlreadySignedInParams, ApprovalWorkflowErrorParams, - ApprovedAmountParams, AssignedCardParams, - AssigneeParams, - AuthenticationErrorParams, - AutoPayApprovedReportsLimitErrorParams, - BadgeFreeTrialParams, - BankAccountLastFourParams, BeginningOfArchivedRoomParams, - BeginningOfChatHistoryAdminRoomParams, - BeginningOfChatHistoryAnnounceRoomParams, - BeginningOfChatHistoryDomainRoomParams, BeginningOfChatHistoryInvoiceRoomParams, BeginningOfChatHistoryParams, BeginningOfChatHistoryPolicyExpenseChatParams, BeginningOfChatHistoryUserRoomParams, - BillableDefaultDescriptionParams, - BillingBannerCardAuthenticationRequiredParams, - BillingBannerCardExpiredParams, BillingBannerCardOnDisputeParams, BillingBannerDisputePendingParams, - BillingBannerInsufficientFundsParams, BillingBannerOwnerAmountOwedOverdueParams, - BillingBannerSubtitleWithDateParams, BusinessBankAccountParams, - BusinessRegistrationNumberParams, - BusinessTaxIDParams, CanceledRequestParams, - CardEndingParams, CardInfoParams, - CardNextPaymentParams, - CategoryNameParams, - ChangedApproverMessageParams, ChangeFieldParams, ChangeOwnerDuplicateSubscriptionParams, - ChangeOwnerHasFailedSettlementsParams, ChangeOwnerSubscriptionParams, ChangeReportPolicyParams, ChangeTypeParams, CharacterLengthLimitParams, - CharacterLimitParams, ChatWithAccountManagerParams, CompanyCardBankName, CompanyCardFeedNameParams, @@ -447,7 +421,7 @@ const translations: TranslationDeepObject = { currentMonth: 'Mois en cours', ssnLast4: '4 derniers chiffres du N° de sécu', ssnFull9: 'Les 9 chiffres complets du SSN', - addressLine: ({lineNumber}: AddressLineParams) => `Ligne d’adresse ${lineNumber}`, + addressLine: (lineNumber: number) => `Ligne d’adresse ${lineNumber}`, personalAddress: 'Adresse personnelle', companyAddress: 'Adresse de l’entreprise', noPO: 'Pas de boîtes postales ni d’adresses de dépôt de courrier, s’il vous plaît.', @@ -915,7 +889,7 @@ const translations: TranslationDeepObject = { }, }, thirdPartySignIn: { - alreadySignedIn: ({email}: AlreadySignedInParams) => `Vous êtes déjà connecté en tant que ${email}.`, + alreadySignedIn: (email: string) => `Vous êtes déjà connecté en tant que ${email}.`, goBackMessage: ({provider}: GoBackMessageParams) => `Vous ne souhaitez pas vous connecter avec ${provider} ?`, continueWithMyCurrentSession: 'Continuer avec ma session actuelle', redirectToDesktopMessage: 'Nous vous redirigerons vers l’application de bureau une fois que vous aurez terminé de vous connecter.', @@ -983,11 +957,11 @@ const translations: TranslationDeepObject = { reportActionsView: { beginningOfArchivedRoom: ({reportName, reportDetailsLink}: BeginningOfArchivedRoomParams) => `Vous avez manqué la fête dans ${reportName}, il n’y a rien à voir ici.`, - beginningOfChatHistoryDomainRoom: ({domainRoom}: BeginningOfChatHistoryDomainRoomParams) => + beginningOfChatHistoryDomainRoom: (domainRoom: string) => `Cette discussion regroupe tous les membres Expensify sur le domaine ${domainRoom}. Utilisez-la pour discuter avec vos collègues, partager des conseils et poser des questions.`, - beginningOfChatHistoryAdminRoom: ({workspaceName}: BeginningOfChatHistoryAdminRoomParams) => + beginningOfChatHistoryAdminRoom: (workspaceName: string) => `Cette discussion est avec l’administrateur de ${workspaceName}. Utilisez-la pour discuter de la configuration de l’espace de travail et plus encore.`, - beginningOfChatHistoryAnnounceRoom: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomParams) => + beginningOfChatHistoryAnnounceRoom: (workspaceName: string) => `Cette discussion inclut tout le monde dans ${workspaceName}. Utilisez-la pour les annonces les plus importantes.`, beginningOfChatHistoryUserRoom: ({reportName, reportDetailsLink}: BeginningOfChatHistoryUserRoomParams) => `Ce salon de discussion est destiné à tout ce qui concerne ${reportName}.`, @@ -1329,8 +1303,8 @@ const translations: TranslationDeepObject = { amount ? `payé ${amount} avec le compte bancaire ${last4Digits}` : `payé avec le compte bancaire ${last4Digits}`, automaticallyPaidWithBusinessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => `a payé ${amount ? `${amount} ` : ''} avec le compte bancaire ${last4Digits} via les règles de l’espace de travail`, - invoicePersonalBank: ({lastFour}: BankAccountLastFourParams) => `Compte personnel • ${lastFour}`, - invoiceBusinessBank: ({lastFour}: BankAccountLastFourParams) => `Compte professionnel • ${lastFour}`, + invoicePersonalBank: (lastFour: string) => `Compte personnel • ${lastFour}`, + invoiceBusinessBank: (lastFour: string) => `Compte professionnel • ${lastFour}`, nextStep: 'Prochaines étapes', finished: 'Terminé', flip: 'Retourner', @@ -1353,7 +1327,7 @@ const translations: TranslationDeepObject = { payerSettled: ({amount}: PayerSettledParams) => `payé ${amount}`, payerSettledWithMissingBankAccount: ({amount}: PayerSettledParams) => `payé ${amount}. Ajoutez un compte bancaire pour recevoir votre paiement.`, automaticallyApproved: `approuvé via les règles de l’espace de travail`, - approvedAmount: ({amount}: ApprovedAmountParams) => `approuvé ${amount}`, + approvedAmount: (amount: number | string) => `approuvé ${amount}`, approvedMessage: `approuvé`, unapproved: `Non approuvé`, automaticallyForwarded: `approuvé via les règles de l’espace de travail`, @@ -1559,7 +1533,7 @@ const translations: TranslationDeepObject = { subtitle: 'Choisissez une option pour changer l’approbateur de ce rapport.', description: ({workflowSettingLink}: WorkflowSettingsParam) => `Vous pouvez également modifier définitivement le validateur pour tous les rapports dans vos paramètres de workflow.`, - changedApproverMessage: ({managerID}: ChangedApproverMessageParams) => `a modifié l’approbateur en `, + changedApproverMessage: (managerID: number) => `a modifié l’approbateur en `, actions: { addApprover: 'Ajouter un approbateur', addApproverSubtitle: 'Ajouter un approbateur supplémentaire au flux de travail existant.', @@ -2441,7 +2415,7 @@ ${amount} pour ${merchant} - ${date}`, cardLastFour: 'Carte se terminant par', addFirstPaymentMethod: 'Ajoutez un mode de paiement pour envoyer et recevoir des paiements directement dans l’application.', defaultPaymentMethod: 'Par défaut', - bankAccountLastFour: ({lastFour}: BankAccountLastFourParams) => `Compte bancaire • ${lastFour}`, + bankAccountLastFour: (lastFour: string) => `Compte bancaire • ${lastFour}`, }, preferencesPage: { appSection: { @@ -3392,7 +3366,7 @@ ${ whatsTheBusinessName: 'Quel est le nom de l’entreprise ?', whatsTheBusinessAddress: 'Quelle est l’adresse professionnelle ?', whatsTheBusinessContactInformation: 'Quelles sont les coordonnées professionnelles ?', - whatsTheBusinessRegistrationNumber: ({country}: BusinessRegistrationNumberParams) => { + whatsTheBusinessRegistrationNumber: (country: string) => { switch (country) { case CONST.COUNTRY.GB: return 'Quel est le numéro d’immatriculation de l’entreprise (CRN) ?'; @@ -3400,7 +3374,7 @@ ${ return 'Quel est le numéro d’immatriculation de l’entreprise ?'; } }, - whatsTheBusinessTaxIDEIN: ({country}: BusinessTaxIDParams) => { + whatsTheBusinessTaxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Quel est le numéro d’identification de l’employeur (EIN) ?'; @@ -3420,7 +3394,7 @@ ${ whatsTheBusinessAnnualPayment: 'Quel est le volume annuel de paiements de l’entreprise ?', whatsYourExpectedAverageReimbursements: 'Quel est votre montant moyen de remboursement prévu ?', registrationNumber: 'Numéro d’immatriculation', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'EIN'; @@ -3459,7 +3433,7 @@ ${ findBusinessType: 'Trouver le type d’entreprise', error: { registrationNumber: 'Veuillez fournir un numéro d’immatriculation valide', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Veuillez fournir un numéro d’identification d’employeur (EIN) valide'; @@ -3910,7 +3884,7 @@ ${ existingConnectionsDescription: ({connectionName}: ConnectionNameParams) => `Puisque vous vous êtes déjà connecté à ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}, vous pouvez choisir de réutiliser une connexion existante ou d’en créer une nouvelle.`, lastSyncDate: ({connectionName, formattedDate}: LastSyncDateParams) => `${connectionName} - Dernière synchronisation le ${formattedDate}`, - authenticationError: ({connectionName}: AuthenticationErrorParams) => `Impossible de se connecter à ${connectionName} en raison d’une erreur d’authentification.`, + authenticationError: (connectionName: string) => `Impossible de se connecter à ${connectionName} en raison d’une erreur d’authentification.`, learnMore: 'En savoir plus', memberAlternateText: 'Les membres peuvent soumettre et approuver des rapports.', adminAlternateText: 'Les administrateurs ont un accès complet en modification à tous les rapports et paramètres de l’espace de travail.', @@ -4250,8 +4224,8 @@ ${ accountsSwitchDescription: 'Les catégories activées seront disponibles pour que les membres puissent les sélectionner lors de la création de leurs dépenses.', trackingCategories: 'Catégories de suivi', trackingCategoriesDescription: 'Choisissez comment gérer les catégories de suivi Xero dans Expensify.', - mapTrackingCategoryTo: ({categoryName}: CategoryNameParams) => `Faire correspondre ${categoryName} dans Xero à`, - mapTrackingCategoryToDescription: ({categoryName}: CategoryNameParams) => `Choisissez où mapper ${categoryName} lors de l’exportation vers Xero.`, + mapTrackingCategoryTo: (categoryName: string) => `Faire correspondre ${categoryName} dans Xero à`, + mapTrackingCategoryToDescription: (categoryName: string) => `Choisissez où mapper ${categoryName} lors de l’exportation vers Xero.`, customers: 'Refacturer les clients', customersDescription: 'Choisissez si vous souhaitez refacturer les clients dans Expensify. Vos contacts clients Xero peuvent être associés aux dépenses et seront exportés vers Xero sous forme de facture de vente.', @@ -4898,7 +4872,7 @@ _Pour des instructions plus détaillées, [visitez notre site d’aide](${CONST. directFeed: 'Flux direct', whoNeedsCardAssigned: 'Qui a besoin d’une carte attribuée ?', chooseCard: 'Choisissez une carte', - chooseCardFor: ({assignee}: AssigneeParams) => + chooseCardFor: (assignee: string) => `Choisissez une carte pour ${assignee}. Vous ne trouvez pas la carte que vous recherchez ? Faites-le-nous savoir.`, noActiveCards: 'Aucune carte active dans ce flux', somethingMightBeBroken: @@ -4972,24 +4946,22 @@ _Pour des instructions plus détaillées, [visitez notre site d’aide](${CONST. deactivate: 'Désactiver la carte', changeCardLimit: 'Modifier la limite de carte', changeLimit: 'Modifier la limite', - smartLimitWarning: ({limit}: CharacterLimitParams) => + smartLimitWarning: (limit: number | string) => `Si vous modifiez le plafond de cette carte à ${limit}, les nouvelles transactions seront refusées jusqu’à ce que vous approuviez davantage de dépenses sur la carte.`, - monthlyLimitWarning: ({limit}: CharacterLimitParams) => - `Si vous modifiez la limite de cette carte à ${limit}, les nouvelles transactions seront refusées jusqu’au mois prochain.`, - fixedLimitWarning: ({limit}: CharacterLimitParams) => `Si vous modifiez la limite de cette carte à ${limit}, les nouvelles transactions seront refusées.`, + monthlyLimitWarning: (limit: number | string) => `Si vous modifiez la limite de cette carte à ${limit}, les nouvelles transactions seront refusées jusqu’au mois prochain.`, + fixedLimitWarning: (limit: number | string) => `Si vous modifiez la limite de cette carte à ${limit}, les nouvelles transactions seront refusées.`, changeCardLimitType: 'Modifier le type de plafond de carte', changeLimitType: 'Modifier le type de limite', - changeCardSmartLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardSmartLimitTypeWarning: (limit: number | string) => `Si vous changez le type de limite de cette carte en Limite intelligente, les nouvelles transactions seront refusées, car la limite non approuvée de ${limit} a déjà été atteinte.`, - changeCardMonthlyLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardMonthlyLimitTypeWarning: (limit: number | string) => `Si vous changez le type de limite de cette carte en Mensuel, les nouvelles transactions seront refusées, car la limite mensuelle de ${limit} a déjà été atteinte.`, addShippingDetails: 'Ajouter les informations de livraison', - issuedCard: ({assignee}: AssigneeParams) => `a émis une Expensify Card à ${assignee} ! La carte arrivera dans 2 à 3 jours ouvrables.`, - issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => - `a remis une carte Expensify à ${assignee} ! La carte sera envoyée une fois les informations de livraison confirmées.`, + issuedCard: (assignee: string) => `a émis une Expensify Card à ${assignee} ! La carte arrivera dans 2 à 3 jours ouvrables.`, + issuedCardNoShippingDetails: (assignee: string) => `a remis une carte Expensify à ${assignee} ! La carte sera envoyée une fois les informations de livraison confirmées.`, issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `a émis une carte Expensify virtuelle à ${assignee} ! Le ${link} peut être utilisé immédiatement.`, - addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} a ajouté les informations d’expédition. La carte Expensify arrivera dans 2 à 3 jours ouvrables.`, - replacedCard: ({assignee}: AssigneeParams) => `${assignee} a remplacé sa carte Expensify. La nouvelle carte arrivera dans 2 à 3 jours ouvrables.`, + addedShippingDetails: (assignee: string) => `${assignee} a ajouté les informations d’expédition. La carte Expensify arrivera dans 2 à 3 jours ouvrables.`, + replacedCard: (assignee: string) => `${assignee} a remplacé sa carte Expensify. La nouvelle carte arrivera dans 2 à 3 jours ouvrables.`, replacedVirtualCard: ({assignee, link}: IssueVirtualCardParams) => `${assignee} a remplacé sa carte virtuelle Expensify ! Le ${link} peut être utilisé immédiatement.`, card: 'carte', replacementCard: 'carte de remplacement', @@ -5956,7 +5928,7 @@ Cliquez sur « Continuer » si vous souhaitez uniquement reprendre la facturatio Si vous voulez reprendre la facturation de l’intégralité de son abonnement, veuillez d’abord lui demander de vous ajouter comme administrateur à tous ses espaces de travail avant de reprendre la facturation.`, hasFailedSettlementsTitle: 'Impossible de transférer la propriété', hasFailedSettlementsButtonText: 'Compris', - hasFailedSettlementsText: ({email}: ChangeOwnerHasFailedSettlementsParams) => + hasFailedSettlementsText: (email: string) => `Vous ne pouvez pas prendre en charge la facturation, car ${email} a un règlement de carte Expensify en retard. Veuillez lui demander de contacter concierge@expensify.com pour résoudre le problème. Ensuite, vous pourrez prendre en charge la facturation de cet espace de travail.`, failedToClearBalanceTitle: 'Échec de l’effacement du solde', failedToClearBalanceButtonText: 'OK', @@ -6164,7 +6136,7 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin }, restrictedAction: { restricted: 'Restreint', - actionsAreCurrentlyRestricted: ({workspaceName}: ActionsAreCurrentlyRestricted) => `Les actions sur l’espace de travail ${workspaceName} sont actuellement limitées`, + actionsAreCurrentlyRestricted: (workspaceName: string) => `Les actions sur l’espace de travail ${workspaceName} sont actuellement limitées`, workspaceOwnerWillNeedToAddOrUpdatePaymentCard: ({workspaceOwnerName}: WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams) => `Le propriétaire de l’espace de travail, ${workspaceOwnerName}, devra ajouter ou mettre à jour la carte de paiement enregistrée pour débloquer la nouvelle activité de l’espace de travail.`, youWillNeedToAddOrUpdatePaymentCard: 'Vous devrez ajouter ou mettre à jour la carte de paiement enregistrée pour débloquer de nouvelles activités dans l’espace de travail.', @@ -6204,7 +6176,7 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin alwaysNonReimbursable: 'Toujours non remboursable', alwaysNonReimbursableDescription: 'Les dépenses ne sont jamais remboursées aux employés', billableDefault: 'Facturable par défaut', - billableDefaultDescription: ({tagsPageLink}: BillableDefaultDescriptionParams) => + billableDefaultDescription: (tagsPageLink: string) => `Choisissez si les dépenses en espèces et par carte de crédit doivent être refacturables par défaut. Les dépenses refacturables sont activées ou désactivées dans les étiquettes.`, billable: 'Facturable', billableDescription: 'Les dépenses sont le plus souvent refacturées aux clients', @@ -6236,7 +6208,7 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin randomReportAuditDescription: 'Exiger que certains rapports soient approuvés manuellement, même s’ils sont éligibles à l’auto-approbation.', autoPayApprovedReportsTitle: 'Rapports approuvés en paiement automatique', autoPayApprovedReportsSubtitle: 'Configurez quels rapports de dépenses sont éligibles au paiement automatique.', - autoPayApprovedReportsLimitError: ({currency}: AutoPayApprovedReportsLimitErrorParams = {}) => `Veuillez saisir un montant inférieur à ${currency ?? ''}20 000`, + autoPayApprovedReportsLimitError: (currency?: string) => `Veuillez saisir un montant inférieur à ${currency ?? ''}20 000`, autoPayApprovedReportsLockedSubtitle: 'Allez dans « Plus de fonctionnalités » et activez les workflows, puis ajoutez les paiements pour déverrouiller cette fonctionnalité.', autoPayReportsUnderTitle: 'Rapports de paiement automatique sous', autoPayReportsUnderDescription: 'Les notes de frais entièrement conformes en dessous de ce montant seront automatiquement réglées.', @@ -6249,13 +6221,13 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin approver: 'Approbateur', requireDescription: 'Description requise', descriptionHint: 'Indice de description', - descriptionHintDescription: ({categoryName}: CategoryNameParams) => + descriptionHintDescription: (categoryName: string) => `Rappelez aux employés de fournir des informations supplémentaires pour les dépenses « ${categoryName} ». Cet indice apparaît dans le champ de description des dépenses.`, descriptionHintLabel: 'Astuce', descriptionHintSubtitle: 'Astuce : plus c’est court, mieux c’est !', maxAmount: 'Montant maximal', flagAmountsOver: 'Signaler les montants supérieurs à', - flagAmountsOverDescription: ({categoryName}: CategoryNameParams) => `S’applique à la catégorie « ${categoryName} ».`, + flagAmountsOverDescription: (categoryName: string) => `S’applique à la catégorie « ${categoryName} ».`, flagAmountsOverSubtitle: 'Ceci remplace le montant maximal pour toutes les dépenses.', expenseLimitTypes: { expense: 'Dépense individuelle', @@ -7466,13 +7438,12 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin authenticatePaymentCard: 'Authentifier la carte de paiement', mobileReducedFunctionalityMessage: 'Vous ne pouvez pas modifier votre abonnement dans l’application mobile.', badge: { - freeTrial: ({numOfDays}: BadgeFreeTrialParams) => `Essai gratuit : il reste ${numOfDays} ${numOfDays === 1 ? 'jour' : 'jours'}`, + freeTrial: (numOfDays: number) => `Essai gratuit : il reste ${numOfDays} ${numOfDays === 1 ? 'jour' : 'jours'}`, }, billingBanner: { policyOwnerAmountOwed: { title: 'Vos informations de paiement ne sont plus à jour', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => - `Mettez à jour votre carte de paiement avant le ${date} pour continuer à utiliser toutes vos fonctionnalités préférées.`, + subtitle: (date: string) => `Mettez à jour votre carte de paiement avant le ${date} pour continuer à utiliser toutes vos fonctionnalités préférées.`, }, policyOwnerAmountOwedOverdue: { title: 'Votre paiement n’a pas pu être traité', @@ -7483,8 +7454,7 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin }, policyOwnerUnderInvoicing: { title: 'Vos informations de paiement ne sont plus à jour', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => - `Votre paiement est en retard. Veuillez régler votre facture avant le ${date} afin d’éviter une interruption de service.`, + subtitle: (date: string) => `Votre paiement est en retard. Veuillez régler votre facture avant le ${date} afin d’éviter une interruption de service.`, }, policyOwnerUnderInvoicingOverdue: { title: 'Vos informations de paiement ne sont plus à jour', @@ -7497,18 +7467,16 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin }, cardAuthenticationRequired: { title: 'Votre carte de paiement n’a pas été entièrement authentifiée.', - subtitle: ({cardEnding}: BillingBannerCardAuthenticationRequiredParams) => - `Veuillez terminer le processus d’authentification pour activer votre carte de paiement se terminant par ${cardEnding}.`, + subtitle: (cardEnding: string) => `Veuillez terminer le processus d’authentification pour activer votre carte de paiement se terminant par ${cardEnding}.`, }, insufficientFunds: { title: 'Votre carte n’a pas pu être débitée', - subtitle: ({amountOwed}: BillingBannerInsufficientFundsParams) => + subtitle: (amountOwed: number) => `Votre carte de paiement a été refusée pour insuffisance de fonds. Veuillez réessayer ou ajouter une nouvelle carte de paiement pour régler votre solde impayé de ${amountOwed}.`, }, cardExpired: { title: 'Votre carte n’a pas pu être débitée', - subtitle: ({amountOwed}: BillingBannerCardExpiredParams) => - `Votre carte de paiement a expiré. Veuillez ajouter une nouvelle carte de paiement pour régler votre solde en attente de ${amountOwed}.`, + subtitle: (amountOwed: number) => `Votre carte de paiement a expiré. Veuillez ajouter une nouvelle carte de paiement pour régler votre solde en attente de ${amountOwed}.`, }, cardExpireSoon: { title: 'Votre carte arrive bientôt à expiration', @@ -7550,8 +7518,8 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin title: 'Paiement', subtitle: 'Ajoutez une carte pour payer votre abonnement Expensify.', addCardButton: 'Ajouter une carte de paiement', - cardNextPayment: ({nextPaymentDate}: CardNextPaymentParams) => `Votre prochaine date de paiement est le ${nextPaymentDate}.`, - cardEnding: ({cardNumber}: CardEndingParams) => `Carte se terminant par ${cardNumber}`, + cardNextPayment: (nextPaymentDate: string) => `Votre prochaine date de paiement est le ${nextPaymentDate}.`, + cardEnding: (cardNumber: string) => `Carte se terminant par ${cardNumber}`, cardInfo: ({name, expiration, currency}: CardInfoParams) => `Nom : ${name}, Expiration : ${expiration}, Devise : ${currency}`, changeCard: 'Modifier la carte de paiement', changeCurrency: 'Changer la devise de paiement', @@ -7753,7 +7721,7 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin En tant que copilote, vous n’avez pas accès à cette page. Désolé ! `), - notAllowedMessage: ({accountOwnerEmail}: AccountOwnerParams) => + notAllowedMessage: (accountOwnerEmail: string) => `En tant que copilote pour ${accountOwnerEmail}, vous n’avez pas l’autorisation d’effectuer cette action. Désolé !`, copilotAccess: 'Accès à Copilot', }, diff --git a/src/languages/it.ts b/src/languages/it.ts index 5abae16d2c74..ed197d5dbe69 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -19,56 +19,30 @@ import type {Country} from '@src/CONST'; import type OriginalMessage from '@src/types/onyx/OriginalMessage'; import type en from './en'; import type { - AccountOwnerParams, - ActionsAreCurrentlyRestricted, AddedOrDeletedPolicyReportFieldParams, AddedPolicyApprovalRuleParams, AddEmployeeParams, AddOrDeletePolicyCustomUnitRateParams, - AddressLineParams, AirlineParams, - AlreadySignedInParams, ApprovalWorkflowErrorParams, - ApprovedAmountParams, AssignedCardParams, - AssigneeParams, - AuthenticationErrorParams, - AutoPayApprovedReportsLimitErrorParams, - BadgeFreeTrialParams, - BankAccountLastFourParams, BeginningOfArchivedRoomParams, - BeginningOfChatHistoryAdminRoomParams, - BeginningOfChatHistoryAnnounceRoomParams, - BeginningOfChatHistoryDomainRoomParams, BeginningOfChatHistoryInvoiceRoomParams, BeginningOfChatHistoryParams, BeginningOfChatHistoryPolicyExpenseChatParams, BeginningOfChatHistoryUserRoomParams, - BillableDefaultDescriptionParams, - BillingBannerCardAuthenticationRequiredParams, - BillingBannerCardExpiredParams, BillingBannerCardOnDisputeParams, BillingBannerDisputePendingParams, - BillingBannerInsufficientFundsParams, BillingBannerOwnerAmountOwedOverdueParams, - BillingBannerSubtitleWithDateParams, BusinessBankAccountParams, - BusinessRegistrationNumberParams, - BusinessTaxIDParams, CanceledRequestParams, - CardEndingParams, CardInfoParams, - CardNextPaymentParams, - CategoryNameParams, - ChangedApproverMessageParams, ChangeFieldParams, ChangeOwnerDuplicateSubscriptionParams, - ChangeOwnerHasFailedSettlementsParams, ChangeOwnerSubscriptionParams, ChangeReportPolicyParams, ChangeTypeParams, CharacterLengthLimitParams, - CharacterLimitParams, ChatWithAccountManagerParams, CompanyCardBankName, CompanyCardFeedNameParams, @@ -447,7 +421,7 @@ const translations: TranslationDeepObject = { currentMonth: 'Mese corrente', ssnLast4: 'Ultime 4 cifre del SSN', ssnFull9: 'Tutti i 9 numeri del SSN', - addressLine: ({lineNumber}: AddressLineParams) => `Riga indirizzo ${lineNumber}`, + addressLine: (lineNumber: number) => `Riga indirizzo ${lineNumber}`, personalAddress: 'Indirizzo personale', companyAddress: 'Indirizzo azienda', noPO: 'Niente caselle postali o indirizzi di recapito postale, per favore.', @@ -913,7 +887,7 @@ const translations: TranslationDeepObject = { }, }, thirdPartySignIn: { - alreadySignedIn: ({email}: AlreadySignedInParams) => `Hai già effettuato l’accesso come ${email}.`, + alreadySignedIn: (email: string) => `Hai già effettuato l’accesso come ${email}.`, goBackMessage: ({provider}: GoBackMessageParams) => `Non vuoi accedere con ${provider}?`, continueWithMyCurrentSession: 'Continua con la mia sessione attuale', redirectToDesktopMessage: "Ti reindirizzeremo all'app desktop una volta completato l'accesso.", @@ -981,12 +955,11 @@ const translations: TranslationDeepObject = { reportActionsView: { beginningOfArchivedRoom: ({reportName, reportDetailsLink}: BeginningOfArchivedRoomParams) => `Ti sei perso la festa in ${reportName}, qui non c'è niente da vedere.`, - beginningOfChatHistoryDomainRoom: ({domainRoom}: BeginningOfChatHistoryDomainRoomParams) => + beginningOfChatHistoryDomainRoom: (domainRoom: string) => `Questa chat è con tutti i membri di Expensify nel dominio ${domainRoom}. Usala per parlare con i colleghi, condividere suggerimenti e fare domande.`, - beginningOfChatHistoryAdminRoom: ({workspaceName}: BeginningOfChatHistoryAdminRoomParams) => + beginningOfChatHistoryAdminRoom: (workspaceName: string) => `Questa chat è con l’amministratore di ${workspaceName}. Usala per parlare della configurazione dello spazio di lavoro e altro ancora.`, - beginningOfChatHistoryAnnounceRoom: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomParams) => - `Questa chat è con tutti in ${workspaceName}. Usala per gli annunci più importanti.`, + beginningOfChatHistoryAnnounceRoom: (workspaceName: string) => `Questa chat è con tutti in ${workspaceName}. Usala per gli annunci più importanti.`, beginningOfChatHistoryUserRoom: ({reportName, reportDetailsLink}: BeginningOfChatHistoryUserRoomParams) => `Questa chat è dedicata a tutto ciò che riguarda ${reportName}.`, beginningOfChatHistoryInvoiceRoom: ({invoicePayer, invoiceReceiver}: BeginningOfChatHistoryInvoiceRoomParams) => @@ -1325,8 +1298,8 @@ const translations: TranslationDeepObject = { amount ? `pagato ${amount} con il conto bancario ${last4Digits}` : `pagato con conto bancario ${last4Digits}`, automaticallyPaidWithBusinessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => `pagato ${amount ? `${amount} ` : ''} con conto bancario ${last4Digits} tramite regole dello spazio di lavoro`, - invoicePersonalBank: ({lastFour}: BankAccountLastFourParams) => `Account personale • ${lastFour}`, - invoiceBusinessBank: ({lastFour}: BankAccountLastFourParams) => `Conto business • ${lastFour}`, + invoicePersonalBank: (lastFour: string) => `Account personale • ${lastFour}`, + invoiceBusinessBank: (lastFour: string) => `Conto business • ${lastFour}`, nextStep: 'Prossimi passi', finished: 'Completato', flip: 'Capovolgi', @@ -1349,7 +1322,7 @@ const translations: TranslationDeepObject = { payerSettled: ({amount}: PayerSettledParams) => `pagato ${amount}`, payerSettledWithMissingBankAccount: ({amount}: PayerSettledParams) => `pagato ${amount}. Aggiungi un conto bancario per ricevere il tuo pagamento.`, automaticallyApproved: `approvato tramite regole dello spazio di lavoro`, - approvedAmount: ({amount}: ApprovedAmountParams) => `approvato ${amount}`, + approvedAmount: (amount: number | string) => `approvato ${amount}`, approvedMessage: `approvato`, unapproved: `non approvato`, automaticallyForwarded: `approvato tramite regole dello spazio di lavoro`, @@ -1554,7 +1527,7 @@ const translations: TranslationDeepObject = { subtitle: "Scegli un'opzione per cambiare l'approvatore di questo report.", description: ({workflowSettingLink}: WorkflowSettingsParam) => `Puoi anche modificare in modo permanente l'approvatore per tutti i report nelle tue impostazioni del flusso di lavoro.`, - changedApproverMessage: ({managerID}: ChangedApproverMessageParams) => `ha cambiato l'approvatore in `, + changedApproverMessage: (managerID: number) => `ha cambiato l'approvatore in `, actions: { addApprover: 'Aggiungi approvatore', addApproverSubtitle: 'Aggiungi un approvatore aggiuntivo al workflow esistente.', @@ -2433,7 +2406,7 @@ ${amount} per ${merchant} - ${date}`, cardLastFour: 'Carta che termina con', addFirstPaymentMethod: 'Aggiungi un metodo di pagamento per inviare e ricevere pagamenti direttamente nell’app.', defaultPaymentMethod: 'Predefinito', - bankAccountLastFour: ({lastFour}: BankAccountLastFourParams) => `Conto bancario • ${lastFour}`, + bankAccountLastFour: (lastFour: string) => `Conto bancario • ${lastFour}`, }, preferencesPage: { appSection: { @@ -3374,7 +3347,7 @@ ${ whatsTheBusinessName: 'Qual è il nome dell’azienda?', whatsTheBusinessAddress: "Qual è l'indirizzo dell'azienda?", whatsTheBusinessContactInformation: 'Quali sono le informazioni di contatto aziendali?', - whatsTheBusinessRegistrationNumber: ({country}: BusinessRegistrationNumberParams) => { + whatsTheBusinessRegistrationNumber: (country: string) => { switch (country) { case CONST.COUNTRY.GB: return 'Qual è il Company Registration Number (CRN)?'; @@ -3382,7 +3355,7 @@ ${ return 'Qual è il numero di registrazione aziendale?'; } }, - whatsTheBusinessTaxIDEIN: ({country}: BusinessTaxIDParams) => { + whatsTheBusinessTaxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Cos’è il Numero di Identificazione del Datore di Lavoro (EIN)?'; @@ -3402,7 +3375,7 @@ ${ whatsTheBusinessAnnualPayment: "Qual è il volume annuo dei pagamenti dell'azienda?", whatsYourExpectedAverageReimbursements: 'Qual è l’importo medio di rimborso previsto?', registrationNumber: 'Numero di registrazione', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'EIN'; @@ -3441,7 +3414,7 @@ ${ findBusinessType: 'Trova tipo di attività', error: { registrationNumber: 'Fornisci un numero di registrazione valido', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Inserisci un Numero di Identificazione del Datore di Lavoro (EIN) valido'; @@ -3890,7 +3863,7 @@ ${ existingConnectionsDescription: ({connectionName}: ConnectionNameParams) => `Dato che in passato ti sei già connesso a ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}, puoi scegliere di riutilizzare una connessione esistente o crearne una nuova.`, lastSyncDate: ({connectionName, formattedDate}: LastSyncDateParams) => `${connectionName} - Ultima sincronizzazione ${formattedDate}`, - authenticationError: ({connectionName}: AuthenticationErrorParams) => `Impossibile connettersi a ${connectionName} a causa di un errore di autenticazione.`, + authenticationError: (connectionName: string) => `Impossibile connettersi a ${connectionName} a causa di un errore di autenticazione.`, learnMore: 'Scopri di più', memberAlternateText: 'I membri possono inviare e approvare i report.', adminAlternateText: 'Gli amministratori hanno pieno accesso di modifica a tutti i report e alle impostazioni dello spazio di lavoro.', @@ -4228,8 +4201,8 @@ ${ accountsSwitchDescription: 'Le categorie abilitate saranno disponibili per i membri da selezionare quando creano le loro spese.', trackingCategories: 'Categorie di tracciamento', trackingCategoriesDescription: 'Scegli come gestire le categorie di tracciamento Xero in Expensify.', - mapTrackingCategoryTo: ({categoryName}: CategoryNameParams) => `Associa Xero ${categoryName} a`, - mapTrackingCategoryToDescription: ({categoryName}: CategoryNameParams) => `Scegli dove mappare ${categoryName} durante l’esportazione in Xero.`, + mapTrackingCategoryTo: (categoryName: string) => `Associa Xero ${categoryName} a`, + mapTrackingCategoryToDescription: (categoryName: string) => `Scegli dove mappare ${categoryName} durante l’esportazione in Xero.`, customers: 'Rifattura clienti', customersDescription: 'Scegli se rifatturare i clienti in Expensify. I tuoi contatti cliente di Xero possono essere associati alle spese e verranno esportati in Xero come fattura di vendita.', @@ -4878,7 +4851,7 @@ _Per istruzioni più dettagliate, [visita il nostro sito di assistenza](${CONST. directFeed: 'Feed diretto', whoNeedsCardAssigned: 'Chi ha bisogno di una carta assegnata?', chooseCard: 'Scegli una carta', - chooseCardFor: ({assignee}: AssigneeParams) => + chooseCardFor: (assignee: string) => `Scegli una carta per ${assignee}. Non riesci a trovare la carta che stai cercando? Facci sapere.`, noActiveCards: 'Nessuna carta attiva in questo feed', somethingMightBeBroken: @@ -4951,23 +4924,23 @@ _Per istruzioni più dettagliate, [visita il nostro sito di assistenza](${CONST. deactivate: 'Disattiva carta', changeCardLimit: 'Modifica limite carta', changeLimit: 'Modifica limite', - smartLimitWarning: ({limit}: CharacterLimitParams) => + smartLimitWarning: (limit: number | string) => `Se cambi il limite di questa carta a ${limit}, le nuove transazioni verranno rifiutate finché non approverai altre spese sulla carta.`, - monthlyLimitWarning: ({limit}: CharacterLimitParams) => `Se modifichi il limite di questa carta a ${limit}, le nuove transazioni verranno rifiutate fino al mese prossimo.`, - fixedLimitWarning: ({limit}: CharacterLimitParams) => `Se modifichi il limite di questa carta a ${limit}, le nuove transazioni verranno rifiutate.`, + monthlyLimitWarning: (limit: number | string) => `Se modifichi il limite di questa carta a ${limit}, le nuove transazioni verranno rifiutate fino al mese prossimo.`, + fixedLimitWarning: (limit: number | string) => `Se modifichi il limite di questa carta a ${limit}, le nuove transazioni verranno rifiutate.`, changeCardLimitType: 'Modifica il tipo di limite della carta', changeLimitType: 'Modifica tipo di limite', - changeCardSmartLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardSmartLimitTypeWarning: (limit: number | string) => `Se cambi il tipo di limite di questa carta in Smart Limit, le nuove transazioni verranno rifiutate perché il limite non approvato di ${limit} è già stato raggiunto.`, - changeCardMonthlyLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardMonthlyLimitTypeWarning: (limit: number | string) => `Se modifichi il tipo di limite di questa carta su Mensile, le nuove transazioni verranno rifiutate perché il limite mensile di ${limit} è già stato raggiunto.`, addShippingDetails: 'Aggiungi dettagli di spedizione', - issuedCard: ({assignee}: AssigneeParams) => `ha emesso una Expensify Card a ${assignee}! La carta arriverà in 2-3 giorni lavorativi.`, - issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => + issuedCard: (assignee: string) => `ha emesso una Expensify Card a ${assignee}! La carta arriverà in 2-3 giorni lavorativi.`, + issuedCardNoShippingDetails: (assignee: string) => `ha emesso una Expensify Card a ${assignee}! La carta verrà spedita una volta che i dettagli di spedizione saranno confermati.`, issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `ha emesso a ${assignee} una Carta virtuale Expensify! Il ${link} può essere usato subito.`, - addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} ha aggiunto i dettagli di spedizione. La Expensify Card arriverà in 2-3 giorni lavorativi.`, - replacedCard: ({assignee}: AssigneeParams) => `${assignee} ha sostituito la sua Expensify Card. La nuova carta arriverà tra 2-3 giorni lavorativi.`, + addedShippingDetails: (assignee: string) => `${assignee} ha aggiunto i dettagli di spedizione. La Expensify Card arriverà in 2-3 giorni lavorativi.`, + replacedCard: (assignee: string) => `${assignee} ha sostituito la sua Expensify Card. La nuova carta arriverà tra 2-3 giorni lavorativi.`, replacedVirtualCard: ({assignee, link}: IssueVirtualCardParams) => `${assignee} ha sostituito la sua carta virtuale Expensify! Il ${link} può essere utilizzato subito.`, card: 'carta', replacementCard: 'carta sostitutiva', @@ -5927,7 +5900,7 @@ Fai clic su "Continua" se vuoi assumere la gestione della fatturazione solo per Se vuoi assumere la gestione della fatturazione per l’intero abbonamento, chiedi prima che ti aggiungano come amministratore a tutti i loro spazi di lavoro, prima di assumere la gestione della fatturazione.`, hasFailedSettlementsTitle: 'Impossibile trasferire la proprietà', hasFailedSettlementsButtonText: 'Ho capito', - hasFailedSettlementsText: ({email}: ChangeOwnerHasFailedSettlementsParams) => + hasFailedSettlementsText: (email: string) => `Non puoi assumere la fatturazione perché ${email} ha una regolazione in sospeso in ritardo per la carta Expensify. Chiedi loro di contattare concierge@expensify.com per risolvere il problema. Successivamente, potrai assumere la fatturazione per questo spazio di lavoro.`, failedToClearBalanceTitle: 'Impossibile azzerare il saldo', failedToClearBalanceButtonText: 'OK', @@ -6135,7 +6108,7 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori }, restrictedAction: { restricted: 'Limitato', - actionsAreCurrentlyRestricted: ({workspaceName}: ActionsAreCurrentlyRestricted) => `Le azioni sul workspace ${workspaceName} sono attualmente limitate`, + actionsAreCurrentlyRestricted: (workspaceName: string) => `Le azioni sul workspace ${workspaceName} sono attualmente limitate`, workspaceOwnerWillNeedToAddOrUpdatePaymentCard: ({workspaceOwnerName}: WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams) => `Il proprietario dello spazio di lavoro, ${workspaceOwnerName}, dovrà aggiungere o aggiornare la carta di pagamento registrata per sbloccare la nuova attività dello spazio di lavoro.`, youWillNeedToAddOrUpdatePaymentCard: 'Dovrai aggiungere o aggiornare la carta di pagamento registrata per sbloccare la nuova attività dello spazio di lavoro.', @@ -6175,7 +6148,7 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori alwaysNonReimbursable: 'Sempre non rimborsabile', alwaysNonReimbursableDescription: 'Le spese non vengono mai rimborsate ai dipendenti', billableDefault: 'Addebitabile predefinito', - billableDefaultDescription: ({tagsPageLink}: BillableDefaultDescriptionParams) => + billableDefaultDescription: (tagsPageLink: string) => `Scegli se le spese in contanti e con carta di credito devono essere fatturabili per impostazione predefinita. Le spese fatturabili sono abilitate o disabilitate nei tag.`, billable: 'Fatturabile', billableDescription: 'Le spese vengono più spesso rifatturate ai clienti', @@ -6207,7 +6180,7 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori randomReportAuditDescription: 'Richiedi che alcuni report siano approvati manualmente, anche se idonei per l’approvazione automatica.', autoPayApprovedReportsTitle: 'Report approvati con pagamento automatico', autoPayApprovedReportsSubtitle: 'Configura quali note spese sono idonee per il pagamento automatico.', - autoPayApprovedReportsLimitError: ({currency}: AutoPayApprovedReportsLimitErrorParams = {}) => `Inserisci un importo inferiore a ${currency ?? ''}20.000`, + autoPayApprovedReportsLimitError: (currency?: string) => `Inserisci un importo inferiore a ${currency ?? ''}20.000`, autoPayApprovedReportsLockedSubtitle: 'Vai su Altre funzionalità e abilita i workflow, quindi aggiungi i pagamenti per sbloccare questa funzionalità.', autoPayReportsUnderTitle: 'Pagamento automatico dei report inferiori a', autoPayReportsUnderDescription: 'Le note spese completamente conformi inferiori a questo importo verranno rimborsate automaticamente.', @@ -6220,13 +6193,13 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori approver: 'Approvatore', requireDescription: 'Richiedi descrizione', descriptionHint: 'Suggerimento per la descrizione', - descriptionHintDescription: ({categoryName}: CategoryNameParams) => + descriptionHintDescription: (categoryName: string) => `Ricorda ai dipendenti di fornire informazioni aggiuntive per la spesa in “${categoryName}”. Questo suggerimento appare nel campo descrizione sulle spese.`, descriptionHintLabel: 'Suggerimento', descriptionHintSubtitle: 'Suggerimento: Più è breve, meglio è!', maxAmount: 'Importo massimo', flagAmountsOver: 'Segnala importi superiori a', - flagAmountsOverDescription: ({categoryName}: CategoryNameParams) => `Si applica alla categoria “${categoryName}”.`, + flagAmountsOverDescription: (categoryName: string) => `Si applica alla categoria “${categoryName}”.`, flagAmountsOverSubtitle: 'Questo sostituisce l’importo massimo per tutte le spese.', expenseLimitTypes: { expense: 'Spesa individuale', @@ -7439,13 +7412,12 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori authenticatePaymentCard: 'Autentica carta di pagamento', mobileReducedFunctionalityMessage: 'Non puoi apportare modifiche al tuo abbonamento nell’app mobile.', badge: { - freeTrial: ({numOfDays}: BadgeFreeTrialParams) => `Prova gratuita: ${numOfDays} ${numOfDays === 1 ? 'giorno' : 'giorni'} rimanenti`, + freeTrial: (numOfDays: number) => `Prova gratuita: ${numOfDays} ${numOfDays === 1 ? 'giorno' : 'giorni'} rimanenti`, }, billingBanner: { policyOwnerAmountOwed: { title: 'Le tue informazioni di pagamento non sono aggiornate', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => - `Aggiorna la tua carta di pagamento entro il ${date} per continuare a utilizzare tutte le tue funzionalità preferite.`, + subtitle: (date: string) => `Aggiorna la tua carta di pagamento entro il ${date} per continuare a utilizzare tutte le tue funzionalità preferite.`, }, policyOwnerAmountOwedOverdue: { title: 'Non è stato possibile elaborare il tuo pagamento', @@ -7456,8 +7428,7 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori }, policyOwnerUnderInvoicing: { title: 'Le tue informazioni di pagamento non sono aggiornate', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => - `Il tuo pagamento è in ritardo. Ti preghiamo di saldare la tua fattura entro il ${date} per evitare l’interruzione del servizio.`, + subtitle: (date: string) => `Il tuo pagamento è in ritardo. Ti preghiamo di saldare la tua fattura entro il ${date} per evitare l’interruzione del servizio.`, }, policyOwnerUnderInvoicingOverdue: { title: 'Le tue informazioni di pagamento non sono aggiornate', @@ -7470,18 +7441,16 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori }, cardAuthenticationRequired: { title: 'La tua carta di pagamento non è stata completamente autenticata.', - subtitle: ({cardEnding}: BillingBannerCardAuthenticationRequiredParams) => - `Completa il processo di autenticazione per attivare la tua carta di pagamento che termina con ${cardEnding}.`, + subtitle: (cardEnding: string) => `Completa il processo di autenticazione per attivare la tua carta di pagamento che termina con ${cardEnding}.`, }, insufficientFunds: { title: 'Impossibile addebitare la tua carta', - subtitle: ({amountOwed}: BillingBannerInsufficientFundsParams) => + subtitle: (amountOwed: number) => `La tua carta di pagamento è stata rifiutata per fondi insufficienti. Riprova oppure aggiungi una nuova carta di pagamento per saldare il tuo saldo in sospeso di ${amountOwed}.`, }, cardExpired: { title: 'Impossibile addebitare la tua carta', - subtitle: ({amountOwed}: BillingBannerCardExpiredParams) => - `La tua carta di pagamento è scaduta. Aggiungi una nuova carta di pagamento per saldare il tuo saldo in sospeso di ${amountOwed}.`, + subtitle: (amountOwed: number) => `La tua carta di pagamento è scaduta. Aggiungi una nuova carta di pagamento per saldare il tuo saldo in sospeso di ${amountOwed}.`, }, cardExpireSoon: { title: 'La tua carta sta per scadere', @@ -7523,8 +7492,8 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori title: 'Pagamento', subtitle: 'Aggiungi una carta per pagare il tuo abbonamento a Expensify.', addCardButton: 'Aggiungi carta di pagamento', - cardNextPayment: ({nextPaymentDate}: CardNextPaymentParams) => `La tua prossima data di pagamento è ${nextPaymentDate}.`, - cardEnding: ({cardNumber}: CardEndingParams) => `Carta che termina con ${cardNumber}`, + cardNextPayment: (nextPaymentDate: string) => `La tua prossima data di pagamento è ${nextPaymentDate}.`, + cardEnding: (cardNumber: string) => `Carta che termina con ${cardNumber}`, cardInfo: ({name, expiration, currency}: CardInfoParams) => `Nome: ${name}, Scadenza: ${expiration}, Valuta: ${currency}`, changeCard: 'Cambia carta di pagamento', changeCurrency: 'Modifica valuta di pagamento', @@ -7726,7 +7695,7 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori Come copilota, non hai accesso a questa pagina. Spiacenti! `), - notAllowedMessage: ({accountOwnerEmail}: AccountOwnerParams) => + notAllowedMessage: (accountOwnerEmail: string) => `Come copilot per ${accountOwnerEmail}, non hai l'autorizzazione per eseguire questa azione. Spiacenti!`, copilotAccess: 'Accesso a Copilot', }, diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 58e4e41dcb18..18372d6dcbc6 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -19,56 +19,30 @@ import type {Country} from '@src/CONST'; import type OriginalMessage from '@src/types/onyx/OriginalMessage'; import type en from './en'; import type { - AccountOwnerParams, - ActionsAreCurrentlyRestricted, AddedOrDeletedPolicyReportFieldParams, AddedPolicyApprovalRuleParams, AddEmployeeParams, AddOrDeletePolicyCustomUnitRateParams, - AddressLineParams, AirlineParams, - AlreadySignedInParams, ApprovalWorkflowErrorParams, - ApprovedAmountParams, AssignedCardParams, - AssigneeParams, - AuthenticationErrorParams, - AutoPayApprovedReportsLimitErrorParams, - BadgeFreeTrialParams, - BankAccountLastFourParams, BeginningOfArchivedRoomParams, - BeginningOfChatHistoryAdminRoomParams, - BeginningOfChatHistoryAnnounceRoomParams, - BeginningOfChatHistoryDomainRoomParams, BeginningOfChatHistoryInvoiceRoomParams, BeginningOfChatHistoryParams, BeginningOfChatHistoryPolicyExpenseChatParams, BeginningOfChatHistoryUserRoomParams, - BillableDefaultDescriptionParams, - BillingBannerCardAuthenticationRequiredParams, - BillingBannerCardExpiredParams, BillingBannerCardOnDisputeParams, BillingBannerDisputePendingParams, - BillingBannerInsufficientFundsParams, BillingBannerOwnerAmountOwedOverdueParams, - BillingBannerSubtitleWithDateParams, BusinessBankAccountParams, - BusinessRegistrationNumberParams, - BusinessTaxIDParams, CanceledRequestParams, - CardEndingParams, CardInfoParams, - CardNextPaymentParams, - CategoryNameParams, - ChangedApproverMessageParams, ChangeFieldParams, ChangeOwnerDuplicateSubscriptionParams, - ChangeOwnerHasFailedSettlementsParams, ChangeOwnerSubscriptionParams, ChangeReportPolicyParams, ChangeTypeParams, CharacterLengthLimitParams, - CharacterLimitParams, ChatWithAccountManagerParams, CompanyCardBankName, CompanyCardFeedNameParams, @@ -447,7 +421,7 @@ const translations: TranslationDeepObject = { currentMonth: '今月', ssnLast4: 'SSN の下4桁', ssnFull9: 'SSN の9桁すべて', - addressLine: ({lineNumber}: AddressLineParams) => `住所行 ${lineNumber}`, + addressLine: (lineNumber: number) => `住所行 ${lineNumber}`, personalAddress: '個人住所', companyAddress: '会社住所', noPO: '私書箱や私設私書箱などの住所は使用しないでください。', @@ -912,7 +886,7 @@ const translations: TranslationDeepObject = { }, }, thirdPartySignIn: { - alreadySignedIn: ({email}: AlreadySignedInParams) => `すでに ${email} としてサインインしています。`, + alreadySignedIn: (email: string) => `すでに ${email} としてサインインしています。`, goBackMessage: ({provider}: GoBackMessageParams) => `${provider}でサインインしたくありませんか?`, continueWithMyCurrentSession: '現在のセッションを続行', redirectToDesktopMessage: 'サインインが完了すると、デスクトップアプリにリダイレクトします。', @@ -980,12 +954,11 @@ const translations: TranslationDeepObject = { reportActionsView: { beginningOfArchivedRoom: ({reportName, reportDetailsLink}: BeginningOfArchivedRoomParams) => `${reportName} のパーティーに参加し損ねました。ここには何もありません。`, - beginningOfChatHistoryDomainRoom: ({domainRoom}: BeginningOfChatHistoryDomainRoomParams) => + beginningOfChatHistoryDomainRoom: (domainRoom: string) => `このチャットは、${domainRoom} ドメイン上のすべての Expensify メンバーとのチャットです。 同僚との会話、ヒントの共有、質問に利用してください。`, - beginningOfChatHistoryAdminRoom: ({workspaceName}: BeginningOfChatHistoryAdminRoomParams) => + beginningOfChatHistoryAdminRoom: (workspaceName: string) => `このチャットは${workspaceName}の管理者とのチャットです。ワークスペースの設定などについて話し合うために使用してください。`, - beginningOfChatHistoryAnnounceRoom: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomParams) => - `このチャットは、${workspaceName} 内の全員とのチャットです。最も重要なお知らせに使用してください。`, + beginningOfChatHistoryAnnounceRoom: (workspaceName: string) => `このチャットは、${workspaceName} 内の全員とのチャットです。最も重要なお知らせに使用してください。`, beginningOfChatHistoryUserRoom: ({reportName, reportDetailsLink}: BeginningOfChatHistoryUserRoomParams) => `このチャットルームは、${reportName} に関するあらゆる内容のためのものです。`, beginningOfChatHistoryInvoiceRoom: ({invoicePayer, invoiceReceiver}: BeginningOfChatHistoryInvoiceRoomParams) => @@ -1328,8 +1301,8 @@ const translations: TranslationDeepObject = { amount ? `銀行口座 ${last4Digits} で ${amount} を支払いました` : `銀行口座(下4桁 ${last4Digits})で支払い済み`, automaticallyPaidWithBusinessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => `銀行口座 ${last4Digits} から ワークスペースルール により ${amount ? `${amount} ` : ''} を支払いました`, - invoicePersonalBank: ({lastFour}: BankAccountLastFourParams) => `個人アカウント • ${lastFour}`, - invoiceBusinessBank: ({lastFour}: BankAccountLastFourParams) => `ビジネスアカウント • ${lastFour}`, + invoicePersonalBank: (lastFour: string) => `個人アカウント • ${lastFour}`, + invoiceBusinessBank: (lastFour: string) => `ビジネスアカウント • ${lastFour}`, nextStep: '次のステップ', finished: '完了', flip: '反転', @@ -1352,7 +1325,7 @@ const translations: TranslationDeepObject = { payerSettled: ({amount}: PayerSettledParams) => `支払い済み ${amount}`, payerSettledWithMissingBankAccount: ({amount}: PayerSettledParams) => `${amount}を支払いました。支払いを受け取るには銀行口座を追加してください。`, automaticallyApproved: `ワークスペースルールで承認済み`, - approvedAmount: ({amount}: ApprovedAmountParams) => `承認済み ${amount}`, + approvedAmount: (amount: number | string) => `承認済み ${amount}`, approvedMessage: `承認済み`, unapproved: `未承認`, automaticallyForwarded: `ワークスペースルールで承認済み`, @@ -1555,7 +1528,7 @@ const translations: TranslationDeepObject = { subtitle: 'このレポートの承認者を変更する方法を選択してください。', description: ({workflowSettingLink}: WorkflowSettingsParam) => `すべてのレポートの承認者を恒久的に変更するには、ワークフロー設定から行うこともできます。`, - changedApproverMessage: ({managerID}: ChangedApproverMessageParams) => `承認者を に変更しました`, + changedApproverMessage: (managerID: number) => `承認者を に変更しました`, actions: { addApprover: '承認者を追加', addApproverSubtitle: '既存のワークフローに追加の承認者を追加してください。', @@ -2425,7 +2398,7 @@ ${merchant} への ${amount}(${date})`, '**Innovating the Future: A Glimpse into the Year 2050**\n\nAs we look ahead to the year 2050, the landscape of technology, society, and the environment will likely be transformed in ways that are both exciting and challenging. Here are some key areas where we can expect significant changes:\n\n---\n\n### 🌍 1. Sustainable Living and the Environment\n\nBy 2050, the effects of climate change will have forced humanity to adopt more sustainable practices:\n\n- **Renewable Energy Dominance**: Solar, wind, and other renewable sources will likely be our primary energy providers, greatly reducing reliance on fossil fuels.\n- **Smart Cities**: Urban areas will incorporate green architecture, efficient public transport, and AI-powered infrastructure to reduce pollution and improve quality of life.\n- **Circular Economy**: Recycling and reusing materials will become standard, with waste minimized at every stage of production and consumption.\n\n---\n\n### 🤖 2. Advancements in Artificial Intelligence and Automation\n\nAI will be deeply embedded in everyday life:\n\n- **Personal AI Assistants**: Far more advanced than today’s versions, they’ll manage schedules, health, finances, and even offer emotional support.\n- **Automation of Work**: Many repetitive and dangerous jobs will be handled by robots, reshaping the job market and requiring new skills.\n- **Ethics and Governance**: As AI capabilities grow, society will need robust laws and ethical frameworks to ensure fairness, privacy, and safety.\n\n---\n\n### 🧬 3. Healthcare and Biotechnology\n\nMedical technology in 2050 could dramatically improve human health and longevity:\n\n- **Personalized Medicine**: Treatments tailored to individual genetic profiles will improve outcomes and reduce side effects.\n- **Disease Prevention**: Early detection tools, wearable health monitors, and AI diagnostics will help prevent many diseases before they become severe.\n- **Regenerative Medicine**: Advances in stem cells and tissue engineering could allow damaged organs to be repaired or replaced.\n\n---\n\n### 🚀 4. Space Exploration and Colonization\n\nHumanity’s reach into space will likely expand:\n\n- **Moon and Mars Bases**: Permanent or semi-permanent habitats on the Moon and Mars could support research and possibly mining activities.\n- **Commercial Space Travel**: Space tourism might be accessible to more people, not just the ultra-wealthy.\n- **Asteroid Mining**: Extracting valuable minerals from asteroids could become a new frontier for resources.\n\n---\n\n### 🧠 5. Education, Work, and Society\n\nHow we learn and work will be very different:\n\n- **Lifelong Learning**: With rapid technological change, continuous education will be essential. Online and immersive learning environments (like VR/AR) will be the norm.\n- **Remote and Hybrid Work**: Offices will exist, but many jobs will be location-independent, allowing people greater flexibility in where they live.\n- **Global Connectivity**: Faster and more ubiquitous internet will connect even remote regions, fostering global collaboration and cultural exchange.\n\n---\n\n### ⚖️ 6. Challenges and Considerations\n\nDespite all the opportunities, 2050 will bring serious challenges:\n\n- **Inequality**: Access to advanced technology, education, and healthcare may remain unequal across regions and social groups.\n- **Privacy and Security**: With more data collected about everyone, protecting privacy and preventing abuse will be critical.\n- **Cultural and Psychological Impact**: Rapid change can create stress, identity challenges, and generational divides.\n\n---\n\n### 🔮 Conclusion\n\nThe world in 2050 will likely be more interconnected, technologically advanced, and environmentally conscious than today—but it will also require thoughtful decisions to ensure that progress benefits everyone. The choices we make now, in areas like sustainability, ethics, and equity, will shape whether 2050 becomes a thriving future for all or a time marked by deeper divides.\n\nThe future isn’t predetermined; it’s something we build—step by step—starting today.', addFirstPaymentMethod: 'アプリ内で直接支払いを送受信するには、支払方法を追加してください。', defaultPaymentMethod: 'デフォルト', - bankAccountLastFour: ({lastFour}: BankAccountLastFourParams) => `銀行口座 • ${lastFour}`, + bankAccountLastFour: (lastFour: string) => `銀行口座 • ${lastFour}`, }, preferencesPage: { appSection: { @@ -3366,7 +3339,7 @@ ${ whatsTheBusinessName: '会社名は何ですか?', whatsTheBusinessAddress: '会社の住所は何ですか?', whatsTheBusinessContactInformation: 'ビジネスの連絡先情報は何ですか?', - whatsTheBusinessRegistrationNumber: ({country}: BusinessRegistrationNumberParams) => { + whatsTheBusinessRegistrationNumber: (country: string) => { switch (country) { case CONST.COUNTRY.GB: return '会社登録番号(CRN)とは何ですか?'; @@ -3374,7 +3347,7 @@ ${ return '法人登録番号は何ですか?'; } }, - whatsTheBusinessTaxIDEIN: ({country}: BusinessTaxIDParams) => { + whatsTheBusinessTaxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return '雇用主識別番号(EIN)とは何ですか?'; @@ -3394,7 +3367,7 @@ ${ whatsTheBusinessAnnualPayment: 'ビジネスの年間支払額はいくらですか?', whatsYourExpectedAverageReimbursements: '想定している平均の精算金額はいくらですか?', registrationNumber: '登録番号', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'EIN'; @@ -3433,7 +3406,7 @@ ${ findBusinessType: '事業形態を検索', error: { registrationNumber: '有効な登録番号を入力してください', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return '有効な雇用者識別番号(EIN)を入力してください'; @@ -3881,7 +3854,7 @@ ${ existingConnectionsDescription: ({connectionName}: ConnectionNameParams) => `以前に ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]} に接続したことがあるため、既存の接続を再利用するか、新しい接続を作成するかを選択できます。`, lastSyncDate: ({connectionName, formattedDate}: LastSyncDateParams) => `${connectionName} - 最終同期日 ${formattedDate}`, - authenticationError: ({connectionName}: AuthenticationErrorParams) => `認証エラーのため、${connectionName} に接続できません。`, + authenticationError: (connectionName: string) => `認証エラーのため、${connectionName} に接続できません。`, learnMore: '詳細はこちら', memberAlternateText: 'メンバーはレポートを提出および承認できます。', adminAlternateText: '管理者は、すべてのレポートとワークスペース設定を完全に編集できます。', @@ -4212,8 +4185,8 @@ ${ accountsSwitchDescription: '有効化されたカテゴリは、メンバーが経費を作成する際に選択できるようになります。', trackingCategories: 'トラッキングカテゴリ', trackingCategoriesDescription: 'Expensify で Xero のトラッキングカテゴリーをどのように処理するか選択してください。', - mapTrackingCategoryTo: ({categoryName}: CategoryNameParams) => `Xero の ${categoryName} をマッピング先に指定`, - mapTrackingCategoryToDescription: ({categoryName}: CategoryNameParams) => `${categoryName} を Xero へエクスポートする際のマッピング先を選択してください。`, + mapTrackingCategoryTo: (categoryName: string) => `Xero の ${categoryName} をマッピング先に指定`, + mapTrackingCategoryToDescription: (categoryName: string) => `${categoryName} を Xero へエクスポートする際のマッピング先を選択してください。`, customers: '顧客へ再請求', customersDescription: 'Expensify で顧客への再請求を行うかどうかを選択します。Xero の顧客連絡先を経費にタグ付けでき、そのまま Xero に売上請求書としてエクスポートされます。', taxesDescription: 'Expensify で Xero の税金をどのように処理するか選択してください。', @@ -4853,7 +4826,7 @@ _より詳しい手順については、[ヘルプサイトをご覧ください directFeed: 'ダイレクトフィード', whoNeedsCardAssigned: '誰にカードを割り当てる必要がありますか?', chooseCard: 'カードを選択', - chooseCardFor: ({assignee}: AssigneeParams) => + chooseCardFor: (assignee: string) => `${assignee} に使うカードを選択してください。お探しのカードが見つかりませんか?お知らせください。`, noActiveCards: 'このフィードには有効なカードがありません', somethingMightBeBroken: @@ -4925,21 +4898,21 @@ _より詳しい手順については、[ヘルプサイトをご覧ください deactivate: 'カードを無効化', changeCardLimit: 'カード上限を変更', changeLimit: '制限を変更', - smartLimitWarning: ({limit}: CharacterLimitParams) => `このカードの限度額を${limit}に変更すると、カードでより多くの経費を承認するまで、新しい取引は拒否されます。`, - monthlyLimitWarning: ({limit}: CharacterLimitParams) => `このカードの限度額を${limit}に変更すると、来月まで新しい取引は承認されません。`, - fixedLimitWarning: ({limit}: CharacterLimitParams) => `このカードの利用限度額を${limit}に変更すると、新しい取引は拒否されます。`, + smartLimitWarning: (limit: number | string) => `このカードの限度額を${limit}に変更すると、カードでより多くの経費を承認するまで、新しい取引は拒否されます。`, + monthlyLimitWarning: (limit: number | string) => `このカードの限度額を${limit}に変更すると、来月まで新しい取引は承認されません。`, + fixedLimitWarning: (limit: number | string) => `このカードの利用限度額を${limit}に変更すると、新しい取引は拒否されます。`, changeCardLimitType: 'カードの限度額タイプを変更', changeLimitType: '制限タイプを変更', - changeCardSmartLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardSmartLimitTypeWarning: (limit: number | string) => `このカードの上限タイプをスマート上限に変更すると、未承認の上限 ${limit} にすでに達しているため、新しい取引は拒否されます。`, - changeCardMonthlyLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardMonthlyLimitTypeWarning: (limit: number | string) => `このカードの上限タイプを月次に変更すると、${limit} の月次上限にはすでに達しているため、新しい取引は却下されます。`, addShippingDetails: '配送先の詳細を追加', - issuedCard: ({assignee}: AssigneeParams) => `${assignee} に Expensify Card を発行しました!カードは 2~3 営業日で到着します。`, - issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => `${assignee} に Expensify Card を発行しました!配送先の詳細が確認されると、カードは発送されます。`, + issuedCard: (assignee: string) => `${assignee} に Expensify Card を発行しました!カードは 2~3 営業日で到着します。`, + issuedCardNoShippingDetails: (assignee: string) => `${assignee} に Expensify Card を発行しました!配送先の詳細が確認されると、カードは発送されます。`, issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `${assignee} にバーチャル Expensify Card を発行しました!${link} はすぐに使用できます。`, - addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} が配送先情報を追加しました。Expensify Card は 2~3 営業日で届きます。`, - replacedCard: ({assignee}: AssigneeParams) => `${assignee} は Expensify Card を再発行しました。新しいカードは 2~3 営業日以内に到着します。`, + addedShippingDetails: (assignee: string) => `${assignee} が配送先情報を追加しました。Expensify Card は 2~3 営業日で届きます。`, + replacedCard: (assignee: string) => `${assignee} は Expensify Card を再発行しました。新しいカードは 2~3 営業日以内に到着します。`, replacedVirtualCard: ({assignee, link}: IssueVirtualCardParams) => `${assignee} は自分のバーチャル Expensify Card を再発行しました!${link} はすぐに使用できます。`, card: 'カード', replacementCard: '代替カード', @@ -5893,7 +5866,7 @@ _より詳しい手順については、[ヘルプサイトをご覧ください サブスクリプション全体の請求管理を引き継ぎたい場合は、請求管理を引き継ぐ前に、すべてのワークスペースであなたを管理者として追加してもらってください。`, hasFailedSettlementsTitle: 'オーナー権限を譲渡できません', hasFailedSettlementsButtonText: '了解しました', - hasFailedSettlementsText: ({email}: ChangeOwnerHasFailedSettlementsParams) => + hasFailedSettlementsText: (email: string) => `${email} に未払いの Expensify Card 精算があるため、請求の管理を引き継ぐことはできません。問題を解決するために、concierge@expensify.com まで連絡するよう依頼してください。その後、このワークスペースの請求管理を引き継ぐことができます。`, failedToClearBalanceTitle: '残高の消去に失敗しました', failedToClearBalanceButtonText: 'OK', @@ -6098,7 +6071,7 @@ ${reportName} }, restrictedAction: { restricted: '制限中', - actionsAreCurrentlyRestricted: ({workspaceName}: ActionsAreCurrentlyRestricted) => `現在、${workspaceName} ワークスペースでの操作は制限されています`, + actionsAreCurrentlyRestricted: (workspaceName: string) => `現在、${workspaceName} ワークスペースでの操作は制限されています`, workspaceOwnerWillNeedToAddOrUpdatePaymentCard: ({workspaceOwnerName}: WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams) => `ワークスペースのオーナーである ${workspaceOwnerName} が、ワークスペースでの新しいアクティビティを有効にするために、登録されている支払いカードを追加または更新する必要があります。`, youWillNeedToAddOrUpdatePaymentCard: '新しいワークスペースのアクティビティを利用するには、登録済みの支払いカードを追加または更新する必要があります。', @@ -6138,7 +6111,7 @@ ${reportName} alwaysNonReimbursable: '常に精算対象外', alwaysNonReimbursableDescription: '従業員に経費が精算されることはありません', billableDefault: '請求可能のデフォルト', - billableDefaultDescription: ({tagsPageLink}: BillableDefaultDescriptionParams) => + billableDefaultDescription: (tagsPageLink: string) => `現金およびクレジットカード経費を、デフォルトで請求可能にするかどうかを選択します。請求可能な経費は、タグで有効または無効にできます。`, billable: '請求可能', billableDescription: '経費は多くの場合、クライアントに再請求されます', @@ -6170,7 +6143,7 @@ ${reportName} randomReportAuditDescription: '一部のレポートは、自動承認の対象であっても手動承認を必須にする。', autoPayApprovedReportsTitle: '自動支払いが承認されたレポート', autoPayApprovedReportsSubtitle: '自動支払いの対象となる経費レポートを設定します。', - autoPayApprovedReportsLimitError: ({currency}: AutoPayApprovedReportsLimitErrorParams = {}) => `${currency ?? ''}20,000 未満の金額を入力してください`, + autoPayApprovedReportsLimitError: (currency?: string) => `${currency ?? ''}20,000 未満の金額を入力してください`, autoPayApprovedReportsLockedSubtitle: '「その他の機能」に移動してワークフローを有効にし、その後「支払い」を追加してこの機能を有効化してください。', autoPayReportsUnderTitle: '以下のレポートを自動支払い', autoPayReportsUnderDescription: 'この金額以下の、要件を完全に満たした経費精算書は自動的に支払われます。', @@ -6183,13 +6156,12 @@ ${reportName} approver: '承認者', requireDescription: '説明を必須にする', descriptionHint: '説明のヒント', - descriptionHintDescription: ({categoryName}: CategoryNameParams) => - `従業員に「${categoryName}」での支出について追加情報を提供するよう促します。このヒントは経費の説明欄に表示されます。`, + descriptionHintDescription: (categoryName: string) => `従業員に「${categoryName}」での支出について追加情報を提供するよう促します。このヒントは経費の説明欄に表示されます。`, descriptionHintLabel: 'ヒント', descriptionHintSubtitle: 'プロのヒント:短ければ短いほど良いです!', maxAmount: '最大金額', flagAmountsOver: '~以上の金額にフラグを付ける', - flagAmountsOverDescription: ({categoryName}: CategoryNameParams) => `カテゴリ「${categoryName}」に適用されます。`, + flagAmountsOverDescription: (categoryName: string) => `カテゴリ「${categoryName}」に適用されます。`, flagAmountsOverSubtitle: 'これにより、すべての経費の上限額が上書きされます。', expenseLimitTypes: { expense: '個別経費', @@ -7387,12 +7359,12 @@ ${reportName} authenticatePaymentCard: '支払いカードを認証', mobileReducedFunctionalityMessage: 'モバイルアプリではサブスクリプションを変更できません。', badge: { - freeTrial: ({numOfDays}: BadgeFreeTrialParams) => `無料トライアル:残り ${numOfDays} ${numOfDays === 1 ? '日' : '日'} 日`, + freeTrial: (numOfDays: number) => `無料トライアル:残り ${numOfDays} ${numOfDays === 1 ? '日' : '日'} 日`, }, billingBanner: { policyOwnerAmountOwed: { title: 'お支払い情報が古くなっています', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `${date} までにお支払いカードを更新して、すべてのお気に入りの機能を引き続きご利用ください。`, + subtitle: (date: string) => `${date} までにお支払いカードを更新して、すべてのお気に入りの機能を引き続きご利用ください。`, }, policyOwnerAmountOwedOverdue: { title: 'お支払いを処理できませんでした', @@ -7403,7 +7375,7 @@ ${reportName} }, policyOwnerUnderInvoicing: { title: 'お支払い情報が古くなっています', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `お支払い期限を過ぎています。サービスの中断を避けるため、${date}までに請求書をお支払いください。`, + subtitle: (date: string) => `お支払い期限を過ぎています。サービスの中断を避けるため、${date}までに請求書をお支払いください。`, }, policyOwnerUnderInvoicingOverdue: { title: 'お支払い情報が古くなっています', @@ -7416,18 +7388,16 @@ ${reportName} }, cardAuthenticationRequired: { title: 'お支払いカードは完全に認証されていません。', - subtitle: ({cardEnding}: BillingBannerCardAuthenticationRequiredParams) => - `お支払いカード(末尾が ${cardEnding} のカード)を有効化するには、認証プロセスを完了してください。`, + subtitle: (cardEnding: string) => `お支払いカード(末尾が ${cardEnding} のカード)を有効化するには、認証プロセスを完了してください。`, }, insufficientFunds: { title: 'あなたのカードに請求できませんでした', - subtitle: ({amountOwed}: BillingBannerInsufficientFundsParams) => + subtitle: (amountOwed: number) => `ご利用の支払いカードは残高不足のため承認されませんでした。${amountOwed} の未払い残高を清算するため、再試行するか新しい支払いカードを追加してください。`, }, cardExpired: { title: 'あなたのカードに請求できませんでした', - subtitle: ({amountOwed}: BillingBannerCardExpiredParams) => - `お支払いカードの有効期限が切れています。未払い残高 ${amountOwed} を清算するために、新しいお支払いカードを追加してください。`, + subtitle: (amountOwed: number) => `お支払いカードの有効期限が切れています。未払い残高 ${amountOwed} を清算するために、新しいお支払いカードを追加してください。`, }, cardExpireSoon: { title: 'お使いのカードの有効期限がもうすぐ切れます', @@ -7468,8 +7438,8 @@ ${reportName} title: '支払い', subtitle: 'Expensify のサブスクリプションを支払うためのカードを追加してください。', addCardButton: '支払カードを追加', - cardNextPayment: ({nextPaymentDate}: CardNextPaymentParams) => `次回のお支払い日は${nextPaymentDate}です。`, - cardEnding: ({cardNumber}: CardEndingParams) => `末尾が${cardNumber}のカード`, + cardNextPayment: (nextPaymentDate: string) => `次回のお支払い日は${nextPaymentDate}です。`, + cardEnding: (cardNumber: string) => `末尾が${cardNumber}のカード`, cardInfo: ({name, expiration, currency}: CardInfoParams) => `名前: ${name}, 有効期限: ${expiration}, 通貨: ${currency}`, changeCard: '支払いカードを変更', changeCurrency: '支払通貨を変更', @@ -7672,7 +7642,7 @@ ${reportName} noAccessMessage: dedent(` このページには、コパイロットとしてアクセスできません。申し訳ありません。 `), - notAllowedMessage: ({accountOwnerEmail}: AccountOwnerParams) => + notAllowedMessage: (accountOwnerEmail: string) => `${accountOwnerEmail} のコパイロットとして、この操作を行う権限がありません。申し訳ありません。`, copilotAccess: 'Copilot へのアクセス', }, diff --git a/src/languages/nl.ts b/src/languages/nl.ts index b9b62ac473bc..1af42669f6f4 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -19,56 +19,30 @@ import type {Country} from '@src/CONST'; import type OriginalMessage from '@src/types/onyx/OriginalMessage'; import type en from './en'; import type { - AccountOwnerParams, - ActionsAreCurrentlyRestricted, AddedOrDeletedPolicyReportFieldParams, AddedPolicyApprovalRuleParams, AddEmployeeParams, AddOrDeletePolicyCustomUnitRateParams, - AddressLineParams, AirlineParams, - AlreadySignedInParams, ApprovalWorkflowErrorParams, - ApprovedAmountParams, AssignedCardParams, - AssigneeParams, - AuthenticationErrorParams, - AutoPayApprovedReportsLimitErrorParams, - BadgeFreeTrialParams, - BankAccountLastFourParams, BeginningOfArchivedRoomParams, - BeginningOfChatHistoryAdminRoomParams, - BeginningOfChatHistoryAnnounceRoomParams, - BeginningOfChatHistoryDomainRoomParams, BeginningOfChatHistoryInvoiceRoomParams, BeginningOfChatHistoryParams, BeginningOfChatHistoryPolicyExpenseChatParams, BeginningOfChatHistoryUserRoomParams, - BillableDefaultDescriptionParams, - BillingBannerCardAuthenticationRequiredParams, - BillingBannerCardExpiredParams, BillingBannerCardOnDisputeParams, BillingBannerDisputePendingParams, - BillingBannerInsufficientFundsParams, BillingBannerOwnerAmountOwedOverdueParams, - BillingBannerSubtitleWithDateParams, BusinessBankAccountParams, - BusinessRegistrationNumberParams, - BusinessTaxIDParams, CanceledRequestParams, - CardEndingParams, CardInfoParams, - CardNextPaymentParams, - CategoryNameParams, - ChangedApproverMessageParams, ChangeFieldParams, ChangeOwnerDuplicateSubscriptionParams, - ChangeOwnerHasFailedSettlementsParams, ChangeOwnerSubscriptionParams, ChangeReportPolicyParams, ChangeTypeParams, CharacterLengthLimitParams, - CharacterLimitParams, ChatWithAccountManagerParams, CompanyCardBankName, CompanyCardFeedNameParams, @@ -447,7 +421,7 @@ const translations: TranslationDeepObject = { currentMonth: 'Huidige maand', ssnLast4: 'Laatste 4 cijfers van SSN', ssnFull9: 'Volledige 9 cijfers van SSN', - addressLine: ({lineNumber}: AddressLineParams) => `Adresregel ${lineNumber}`, + addressLine: (lineNumber: number) => `Adresregel ${lineNumber}`, personalAddress: 'Privéadres', companyAddress: 'Bedrijfsadres', noPO: 'Geen postbussen of postdoorstuuradressen, alstublieft.', @@ -912,7 +886,7 @@ const translations: TranslationDeepObject = { }, }, thirdPartySignIn: { - alreadySignedIn: ({email}: AlreadySignedInParams) => `Je bent al aangemeld als ${email}.`, + alreadySignedIn: (email: string) => `Je bent al aangemeld als ${email}.`, goBackMessage: ({provider}: GoBackMessageParams) => `Wil je niet inloggen met ${provider}?`, continueWithMyCurrentSession: 'Doorgaan met mijn huidige sessie', redirectToDesktopMessage: 'We leiden je door naar de desktop-app zodra je klaar bent met inloggen.', @@ -980,12 +954,11 @@ const translations: TranslationDeepObject = { reportActionsView: { beginningOfArchivedRoom: ({reportName, reportDetailsLink}: BeginningOfArchivedRoomParams) => `Je hebt het feest gemist in ${reportName}, er is hier niets te zien.`, - beginningOfChatHistoryDomainRoom: ({domainRoom}: BeginningOfChatHistoryDomainRoomParams) => + beginningOfChatHistoryDomainRoom: (domainRoom: string) => `Deze chat is met alle Expensify-leden op het domein ${domainRoom}. Gebruik hem om met collega’s te chatten, tips te delen en vragen te stellen.`, - beginningOfChatHistoryAdminRoom: ({workspaceName}: BeginningOfChatHistoryAdminRoomParams) => + beginningOfChatHistoryAdminRoom: (workspaceName: string) => `Deze chat is met de ${workspaceName}-beheerder. Gebruik hem om te chatten over de inrichting van de workspace en meer.`, - beginningOfChatHistoryAnnounceRoom: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomParams) => - `Deze chat is met iedereen in ${workspaceName}. Gebruik hem voor de belangrijkste aankondigingen.`, + beginningOfChatHistoryAnnounceRoom: (workspaceName: string) => `Deze chat is met iedereen in ${workspaceName}. Gebruik hem voor de belangrijkste aankondigingen.`, beginningOfChatHistoryUserRoom: ({reportName, reportDetailsLink}: BeginningOfChatHistoryUserRoomParams) => `Deze chatruimte is voor alles wat met ${reportName} te maken heeft.`, beginningOfChatHistoryInvoiceRoom: ({invoicePayer, invoiceReceiver}: BeginningOfChatHistoryInvoiceRoomParams) => @@ -1324,8 +1297,8 @@ const translations: TranslationDeepObject = { businessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => (amount ? `${amount} betaald met bankrekening ${last4Digits}` : `betaald met bankrekening ${last4Digits}`), automaticallyPaidWithBusinessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => `betaald ${amount ? `${amount} ` : ''}met bankrekening ${last4Digits} via werkruimteregels`, - invoicePersonalBank: ({lastFour}: BankAccountLastFourParams) => `Persoonlijke rekening • ${lastFour}`, - invoiceBusinessBank: ({lastFour}: BankAccountLastFourParams) => `Zakelijke rekening • ${lastFour}`, + invoicePersonalBank: (lastFour: string) => `Persoonlijke rekening • ${lastFour}`, + invoiceBusinessBank: (lastFour: string) => `Zakelijke rekening • ${lastFour}`, nextStep: 'Volgende stappen', finished: 'Voltooid', flip: 'Omdraaien', @@ -1348,7 +1321,7 @@ const translations: TranslationDeepObject = { payerSettled: ({amount}: PayerSettledParams) => `betaald ${amount}`, payerSettledWithMissingBankAccount: ({amount}: PayerSettledParams) => `${amount} betaald. Voeg een bankrekening toe om je betaling te ontvangen.`, automaticallyApproved: `goedgekeurd via werkruimteregels`, - approvedAmount: ({amount}: ApprovedAmountParams) => `goedgekeurd ${amount}`, + approvedAmount: (amount: number | string) => `goedgekeurd ${amount}`, approvedMessage: `Goedgekeurd`, unapproved: `niet goedgekeurd`, automaticallyForwarded: `goedgekeurd via werkruimteregels`, @@ -1552,7 +1525,7 @@ const translations: TranslationDeepObject = { subtitle: 'Kies een optie om de fiatteur voor dit rapport te wijzigen.', description: ({workflowSettingLink}: WorkflowSettingsParam) => `Je kunt de goedkeurder ook permanent wijzigen voor alle rapporten in je workflowinstellingen.`, - changedApproverMessage: ({managerID}: ChangedApproverMessageParams) => `heeft de goedkeurder gewijzigd naar `, + changedApproverMessage: (managerID: number) => `heeft de goedkeurder gewijzigd naar `, actions: { addApprover: 'Goedkeurder toevoegen', addApproverSubtitle: 'Voeg een extra fiatteur toe aan de bestaande workflow.', @@ -2429,7 +2402,7 @@ ${amount} voor ${merchant} - ${date}`, cardLastFour: 'Kaart eindigend op', addFirstPaymentMethod: 'Voeg een betaalmethode toe om rechtstreeks in de app betalingen te versturen en te ontvangen.', defaultPaymentMethod: 'Standaard', - bankAccountLastFour: ({lastFour}: BankAccountLastFourParams) => `Bankrekening • ${lastFour}`, + bankAccountLastFour: (lastFour: string) => `Bankrekening • ${lastFour}`, }, preferencesPage: { appSection: { @@ -3371,7 +3344,7 @@ ${ whatsTheBusinessName: 'Wat is de bedrijfsnaam?', whatsTheBusinessAddress: 'Wat is het zakelijke adres?', whatsTheBusinessContactInformation: 'Wat zijn de zakelijke contactgegevens?', - whatsTheBusinessRegistrationNumber: ({country}: BusinessRegistrationNumberParams) => { + whatsTheBusinessRegistrationNumber: (country: string) => { switch (country) { case CONST.COUNTRY.GB: return 'Wat is het ondernemingsregistratienummer (CRN)?'; @@ -3379,7 +3352,7 @@ ${ return 'Wat is het bedrijfsregistratienummer?'; } }, - whatsTheBusinessTaxIDEIN: ({country}: BusinessTaxIDParams) => { + whatsTheBusinessTaxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Wat is het Employer Identification Number (EIN)?'; @@ -3399,7 +3372,7 @@ ${ whatsTheBusinessAnnualPayment: 'Wat is het jaarlijkse betaalvolume van het bedrijf?', whatsYourExpectedAverageReimbursements: 'Wat is je verwachte gemiddelde terugbetalingsbedrag?', registrationNumber: 'Registratienummer', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'EIN'; @@ -3438,7 +3411,7 @@ ${ findBusinessType: 'Bedrijfstype zoeken', error: { registrationNumber: 'Voer een geldig registratienummer in', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Voer een geldig Employer Identification Number (EIN) in'; @@ -3888,7 +3861,7 @@ ${ existingConnectionsDescription: ({connectionName}: ConnectionNameParams) => `Omdat je eerder verbinding hebt gemaakt met ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}, kun je ervoor kiezen een bestaande verbinding opnieuw te gebruiken of een nieuwe aan te maken.`, lastSyncDate: ({connectionName, formattedDate}: LastSyncDateParams) => `${connectionName} - Laatst gesynchroniseerd ${formattedDate}`, - authenticationError: ({connectionName}: AuthenticationErrorParams) => `Kan geen verbinding maken met ${connectionName} vanwege een authenticatiefout.`, + authenticationError: (connectionName: string) => `Kan geen verbinding maken met ${connectionName} vanwege een authenticatiefout.`, learnMore: 'Meer informatie', memberAlternateText: 'Leden kunnen rapporten indienen en goedkeuren.', adminAlternateText: 'Beheerders hebben volledige bewerkingsrechten voor alle rapporten en werkruimte-instellingen.', @@ -4222,8 +4195,8 @@ ${ accountsSwitchDescription: 'Ingeschakelde categorieën zijn beschikbaar voor leden om te selecteren wanneer zij hun onkosten aanmaken.', trackingCategories: 'Volgcategorieën', trackingCategoriesDescription: 'Kies hoe je Xero-trackingcategorieën in Expensify wilt verwerken.', - mapTrackingCategoryTo: ({categoryName}: CategoryNameParams) => `Map Xero ${categoryName} naar`, - mapTrackingCategoryToDescription: ({categoryName}: CategoryNameParams) => `Kies waar ${categoryName} moet worden toegewezen bij het exporteren naar Xero.`, + mapTrackingCategoryTo: (categoryName: string) => `Map Xero ${categoryName} naar`, + mapTrackingCategoryToDescription: (categoryName: string) => `Kies waar ${categoryName} moet worden toegewezen bij het exporteren naar Xero.`, customers: 'Opnieuw factureren aan klanten', customersDescription: 'Kies of je klanten in Expensify opnieuw wilt factureren. Je Xero-klantcontacten kunnen aan uitgaven worden gekoppeld en worden naar Xero geëxporteerd als een verkoopfactuur.', @@ -4872,7 +4845,7 @@ _Voor gedetailleerdere instructies, [bezoek onze helpsite](${CONST.NETSUITE_IMPO directFeed: 'Directe feed', whoNeedsCardAssigned: 'Wie heeft een kaart toegewezen nodig?', chooseCard: 'Kies een kaart', - chooseCardFor: ({assignee}: AssigneeParams) => + chooseCardFor: (assignee: string) => `Kies een kaart voor ${assignee}. Kun je de kaart die je zoekt niet vinden? Laat het ons weten.`, noActiveCards: 'Geen actieve kaarten in deze feed', somethingMightBeBroken: @@ -4945,22 +4918,22 @@ _Voor gedetailleerdere instructies, [bezoek onze helpsite](${CONST.NETSUITE_IMPO deactivate: 'Kaart deactiveren', changeCardLimit: 'Kaartlimiet wijzigen', changeLimit: 'Limiet wijzigen', - smartLimitWarning: ({limit}: CharacterLimitParams) => + smartLimitWarning: (limit: number | string) => `Als je de limiet van deze kaart wijzigt naar ${limit}, worden nieuwe transacties geweigerd totdat je meer uitgaven op de kaart goedkeurt.`, - monthlyLimitWarning: ({limit}: CharacterLimitParams) => `Als je de limiet van deze kaart wijzigt naar ${limit}, worden nieuwe transacties tot volgende maand geweigerd.`, - fixedLimitWarning: ({limit}: CharacterLimitParams) => `Als je de limiet van deze kaart wijzigt naar ${limit}, worden nieuwe transacties geweigerd.`, + monthlyLimitWarning: (limit: number | string) => `Als je de limiet van deze kaart wijzigt naar ${limit}, worden nieuwe transacties tot volgende maand geweigerd.`, + fixedLimitWarning: (limit: number | string) => `Als je de limiet van deze kaart wijzigt naar ${limit}, worden nieuwe transacties geweigerd.`, changeCardLimitType: 'Type limiet wijzigen', changeLimitType: 'Limiettype wijzigen', - changeCardSmartLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardSmartLimitTypeWarning: (limit: number | string) => `Als je het limiettype van deze kaart wijzigt naar Slimme limiet, worden nieuwe transacties geweigerd omdat de niet-goedgekeurde limiet van ${limit} al is bereikt.`, - changeCardMonthlyLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardMonthlyLimitTypeWarning: (limit: number | string) => `Als je het limiettype van deze kaart wijzigt naar Maandelijks, worden nieuwe transacties geweigerd omdat de maandelijkse limiet van ${limit} al is bereikt.`, addShippingDetails: 'Verzendgegevens toevoegen', - issuedCard: ({assignee}: AssigneeParams) => `heeft een Expensify Card uitgegeven aan ${assignee}! De kaart wordt binnen 2-3 werkdagen bezorgd.`, - issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => `heeft ${assignee} een Expensify Card uitgegeven! De kaart wordt verzonden zodra de verzendgegevens zijn bevestigd.`, + issuedCard: (assignee: string) => `heeft een Expensify Card uitgegeven aan ${assignee}! De kaart wordt binnen 2-3 werkdagen bezorgd.`, + issuedCardNoShippingDetails: (assignee: string) => `heeft ${assignee} een Expensify Card uitgegeven! De kaart wordt verzonden zodra de verzendgegevens zijn bevestigd.`, issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `heeft ${assignee} een virtuele Expensify Card uitgegeven! De ${link} kan meteen worden gebruikt.`, - addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} heeft verzendgegevens toegevoegd. Expensify Card wordt binnen 2-3 werkdagen bezorgd.`, - replacedCard: ({assignee}: AssigneeParams) => `${assignee} heeft hun Expensify Card vervangen. De nieuwe kaart wordt binnen 2-3 werkdagen bezorgd.`, + addedShippingDetails: (assignee: string) => `${assignee} heeft verzendgegevens toegevoegd. Expensify Card wordt binnen 2-3 werkdagen bezorgd.`, + replacedCard: (assignee: string) => `${assignee} heeft hun Expensify Card vervangen. De nieuwe kaart wordt binnen 2-3 werkdagen bezorgd.`, replacedVirtualCard: ({assignee, link}: IssueVirtualCardParams) => `${assignee} heeft hun virtuele Expensify Card vervangen! De ${link} kan direct worden gebruikt.`, card: 'kaart', replacementCard: 'vervangingskaart', @@ -5917,7 +5890,7 @@ Klik op "Doorgaan" als je alleen de facturering wilt overnemen voor de werkruimt Als je de facturering voor hun volledige abonnement wilt overnemen, vraag hen dan om je eerst als beheerder toe te voegen aan al hun werkruimtes voordat je de facturering overneemt.`, hasFailedSettlementsTitle: 'Kan eigendom niet overdragen', hasFailedSettlementsButtonText: 'Begrepen', - hasFailedSettlementsText: ({email}: ChangeOwnerHasFailedSettlementsParams) => + hasFailedSettlementsText: (email: string) => `Je kunt de facturering niet overnemen omdat ${email} een achterstallige Expensify Card-afrekening heeft. Vraag hen contact op te nemen met concierge@expensify.com om het probleem op te lossen. Daarna kun je de facturering voor deze workspace overnemen.`, failedToClearBalanceTitle: 'Saldo wissen mislukt', failedToClearBalanceButtonText: 'OK', @@ -6123,7 +6096,7 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten }, restrictedAction: { restricted: 'Beperkt', - actionsAreCurrentlyRestricted: ({workspaceName}: ActionsAreCurrentlyRestricted) => `Acties in de ${workspaceName}-werkruimte zijn momenteel beperkt`, + actionsAreCurrentlyRestricted: (workspaceName: string) => `Acties in de ${workspaceName}-werkruimte zijn momenteel beperkt`, workspaceOwnerWillNeedToAddOrUpdatePaymentCard: ({workspaceOwnerName}: WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams) => `Werkruimte-eigenaar ${workspaceOwnerName} moet de opgeslagen betaalkaart toevoegen of bijwerken om nieuwe werkruimte-activiteiten vrij te geven.`, youWillNeedToAddOrUpdatePaymentCard: 'Je moet de betaalkaart in het dossier toevoegen of bijwerken om nieuwe workspace-activiteiten te ontgrendelen.', @@ -6163,7 +6136,7 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten alwaysNonReimbursable: 'Altijd niet-vergoedbaar', alwaysNonReimbursableDescription: 'Declaraties worden nooit aan werknemers terugbetaald', billableDefault: 'Factureerbaar standaard', - billableDefaultDescription: ({tagsPageLink}: BillableDefaultDescriptionParams) => + billableDefaultDescription: (tagsPageLink: string) => `Kies of contante en creditcarduitgaven standaard factureerbaar moeten zijn. Factureerbare uitgaven worden in- of uitgeschakeld in tags.`, billable: 'Factureerbaar', billableDescription: 'Onkosten worden meestal opnieuw aan klanten gefactureerd', @@ -6195,7 +6168,7 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten randomReportAuditDescription: 'Vereisen dat sommige rapporten handmatig worden goedgekeurd, zelfs als ze in aanmerking komen voor automatische goedkeuring.', autoPayApprovedReportsTitle: 'Automatisch betaalde goedgekeurde rapporten', autoPayApprovedReportsSubtitle: 'Configureer welke onkostendeclaraties in aanmerking komen voor automatische betaling.', - autoPayApprovedReportsLimitError: ({currency}: AutoPayApprovedReportsLimitErrorParams = {}) => `Voer een bedrag in dat lager is dan ${currency ?? ''}20.000`, + autoPayApprovedReportsLimitError: (currency?: string) => `Voer een bedrag in dat lager is dan ${currency ?? ''}20.000`, autoPayApprovedReportsLockedSubtitle: 'Ga naar Meer functies en schakel Workflows in, voeg vervolgens Betalingen toe om deze functie te ontgrendelen.', autoPayReportsUnderTitle: 'Rapporten automatisch betalen onder', autoPayReportsUnderDescription: 'Volledig conforme onkostendeclaraties onder dit bedrag worden automatisch betaald.', @@ -6208,13 +6181,13 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten approver: 'Fiatteur', requireDescription: 'Beschrijving vereist', descriptionHint: 'Beschrijvingstip', - descriptionHintDescription: ({categoryName}: CategoryNameParams) => + descriptionHintDescription: (categoryName: string) => `Herinner medewerkers eraan om extra informatie te geven voor uitgaven in de categorie “${categoryName}”. Deze tip verschijnt in het omschrijvingsveld van uitgaven.`, descriptionHintLabel: 'Hint', descriptionHintSubtitle: 'Pro-tip: Hoe korter, hoe beter!', maxAmount: 'Maximum bedrag', flagAmountsOver: 'Bedragen markeren boven', - flagAmountsOverDescription: ({categoryName}: CategoryNameParams) => `Is van toepassing op de categorie ‘${categoryName}’.`, + flagAmountsOverDescription: (categoryName: string) => `Is van toepassing op de categorie ‘${categoryName}’.`, flagAmountsOverSubtitle: 'Dit overschrijft het maximumbedrag voor alle uitgaven.', expenseLimitTypes: { expense: 'Individuele uitgave', @@ -7424,12 +7397,12 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten authenticatePaymentCard: 'Betalingskaart verifiëren', mobileReducedFunctionalityMessage: 'Je kunt je abonnement niet wijzigen in de mobiele app.', badge: { - freeTrial: ({numOfDays}: BadgeFreeTrialParams) => `Gratis proefperiode: nog ${numOfDays} ${numOfDays === 1 ? 'dag' : 'dagen'}`, + freeTrial: (numOfDays: number) => `Gratis proefperiode: nog ${numOfDays} ${numOfDays === 1 ? 'dag' : 'dagen'}`, }, billingBanner: { policyOwnerAmountOwed: { title: 'Je betaalgegevens zijn verouderd', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `Werk je betaalkaart bij vóór ${date} om al je favoriete functies te blijven gebruiken.`, + subtitle: (date: string) => `Werk je betaalkaart bij vóór ${date} om al je favoriete functies te blijven gebruiken.`, }, policyOwnerAmountOwedOverdue: { title: 'Je betaling kon niet worden verwerkt', @@ -7440,7 +7413,7 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten }, policyOwnerUnderInvoicing: { title: 'Je betaalgegevens zijn verouderd', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `Uw betaling is achterstallig. Betaal uw factuur vóór ${date} om onderbreking van de dienst te voorkomen.`, + subtitle: (date: string) => `Uw betaling is achterstallig. Betaal uw factuur vóór ${date} om onderbreking van de dienst te voorkomen.`, }, policyOwnerUnderInvoicingOverdue: { title: 'Je betaalgegevens zijn verouderd', @@ -7453,17 +7426,16 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten }, cardAuthenticationRequired: { title: 'Je betaalkaart is nog niet volledig geverifieerd.', - subtitle: ({cardEnding}: BillingBannerCardAuthenticationRequiredParams) => `Voltooi het verificatieproces om je betaalkaart met eindigend op ${cardEnding} te activeren.`, + subtitle: (cardEnding: string) => `Voltooi het verificatieproces om je betaalkaart met eindigend op ${cardEnding} te activeren.`, }, insufficientFunds: { title: 'Je kaart kon niet worden belast', - subtitle: ({amountOwed}: BillingBannerInsufficientFundsParams) => + subtitle: (amountOwed: number) => `Uw betaalkaart is geweigerd wegens onvoldoende saldo. Probeer het opnieuw of voeg een nieuwe betaalkaart toe om uw openstaande saldo van ${amountOwed} te voldoen.`, }, cardExpired: { title: 'Je kaart kon niet worden belast', - subtitle: ({amountOwed}: BillingBannerCardExpiredParams) => - `Je betaalkaart is verlopen. Voeg een nieuwe betaalkaart toe om je openstaande saldo van ${amountOwed} te voldoen.`, + subtitle: (amountOwed: number) => `Je betaalkaart is verlopen. Voeg een nieuwe betaalkaart toe om je openstaande saldo van ${amountOwed} te voldoen.`, }, cardExpireSoon: { title: 'Je kaart verloopt binnenkort', @@ -7505,8 +7477,8 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten title: 'Betaling', subtitle: 'Voeg een kaart toe om je Expensify-abonnement te betalen.', addCardButton: 'Betaalkaart toevoegen', - cardNextPayment: ({nextPaymentDate}: CardNextPaymentParams) => `Je volgende betaaldatum is ${nextPaymentDate}.`, - cardEnding: ({cardNumber}: CardEndingParams) => `Kaart eindigend op ${cardNumber}`, + cardNextPayment: (nextPaymentDate: string) => `Je volgende betaaldatum is ${nextPaymentDate}.`, + cardEnding: (cardNumber: string) => `Kaart eindigend op ${cardNumber}`, cardInfo: ({name, expiration, currency}: CardInfoParams) => `Naam: ${name}, Vervaldatum: ${expiration}, Valuta: ${currency}`, changeCard: 'Betaalkaart wijzigen', changeCurrency: 'Betalingsvaluta wijzigen', @@ -7707,7 +7679,7 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten Als copiloot heb je geen toegang tot deze pagina. Sorry! `), - notAllowedMessage: ({accountOwnerEmail}: AccountOwnerParams) => + notAllowedMessage: (accountOwnerEmail: string) => `Als copilot voor ${accountOwnerEmail} heb je geen toestemming om deze actie uit te voeren. Sorry!`, copilotAccess: 'Copilot-toegang', }, diff --git a/src/languages/params.ts b/src/languages/params.ts index 5efb1a2c5c82..cac48d9dd803 100644 --- a/src/languages/params.ts +++ b/src/languages/params.ts @@ -9,18 +9,6 @@ type TagSelectionParams = { policyTagListName?: string; }; -type AddressLineParams = { - lineNumber: number; -}; - -type CharacterLimitParams = { - limit: number | string; -}; - -type AssigneeParams = { - assignee: string; -}; - type CharacterLengthLimitParams = { limit: number; length: number; @@ -42,10 +30,6 @@ type WelcomeEnterMagicCodeParams = { login: string; }; -type AlreadySignedInParams = { - email: string; -}; - type GoBackMessageParams = { provider: string; }; @@ -67,18 +51,6 @@ type DeleteConfirmationParams = { action: OnyxInputOrEntry; }; -type BeginningOfChatHistoryDomainRoomParams = { - domainRoom: string; -}; - -type BeginningOfChatHistoryAdminRoomParams = { - workspaceName: string; -}; - -type BeginningOfChatHistoryAnnounceRoomParams = { - workspaceName: string; -}; - type BeginningOfChatHistoryPolicyExpenseChatParams = { workspaceName: string; submitterDisplayName: string; @@ -215,8 +187,6 @@ type CompanyCardFeedNameParams = {feedName: string}; type PayerPaidAmountParams = {payer?: string; amount: number | string}; -type ApprovedAmountParams = {amount: number | string}; - type ManagerApprovedParams = {manager: string}; type ManagerApprovedAmountParams = {manager: string; amount: number | string}; @@ -255,8 +225,6 @@ type TransferParams = {amount: string}; type InstantSummaryParams = {rate: string; minAmount: string}; -type BankAccountLastFourParams = {lastFour: string}; - type NotYouParams = {user: string}; type DateShouldBeBeforeParams = {dateString: string}; @@ -434,8 +402,6 @@ type UpdatedPolicyReimbursementEnabledParams = {enabled: boolean}; type ChangeTypeParams = {oldType: string; newType: string}; -type AccountOwnerParams = {accountOwnerEmail: string}; - type ExportedToIntegrationParams = {label: string; markedManually?: boolean; inProgress?: boolean; lastModified?: string}; type IntegrationsMessageParams = { @@ -525,8 +491,6 @@ type AmountWithCurrencyParams = {amountWithCurrency: string}; type LowerUpperParams = {lower: string; upper: string}; -type CategoryNameParams = {categoryName: string}; - type NeedCategoryForExportToIntegrationParams = {connectionName: string}; type TaxAmountParams = {taxAmount: number}; @@ -541,30 +505,16 @@ type ChangeOwnerSubscriptionParams = {usersCount: number; finalCount: number}; type ChangeOwnerDuplicateSubscriptionParams = {email: string; workspaceName: string}; -type ChangeOwnerHasFailedSettlementsParams = {email: string}; - -type ActionsAreCurrentlyRestricted = {workspaceName: string}; - type WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams = {workspaceOwnerName: string}; type RenamedWorkspaceNameActionParams = {oldName: string; newName: string}; type StatementTitleParams = {year: number | string; monthName: string}; -type BadgeFreeTrialParams = {numOfDays: number}; - -type BillingBannerSubtitleWithDateParams = {date: string}; - type BillingBannerOwnerAmountOwedOverdueParams = {date?: string; purchaseAmountOwed?: string}; type BillingBannerDisputePendingParams = {amountOwed: number; cardEnding: string}; -type BillingBannerCardAuthenticationRequiredParams = {cardEnding: string}; - -type BillingBannerInsufficientFundsParams = {amountOwed: number}; - -type BillingBannerCardExpiredParams = {amountOwed: number}; - type BillingBannerCardOnDisputeParams = {amountOwed: string; cardEnding: string}; type TrialStartedTitleParams = {numOfDays: number}; @@ -573,10 +523,6 @@ type EarlyDiscountTitleParams = {discountType: number}; type EarlyDiscountSubtitleParams = {days: number; hours: number; minutes: number; seconds: number}; -type CardNextPaymentParams = {nextPaymentDate: string}; - -type CardEndingParams = {cardNumber: string}; - type CardInfoParams = {name: string; expiration: string; currency: string}; type YourPlanPriceParams = {lower: string; upper: string}; @@ -643,10 +589,6 @@ type FeatureNameParams = { moreFeaturesLink?: string; }; -type AutoPayApprovedReportsLimitErrorParams = { - currency?: string; -}; - type DefaultAmountParams = { defaultAmount: string; }; @@ -700,10 +642,6 @@ type ImportPerDiemRatesSuccessfulDescriptionParams = { rates: number; }; -type AuthenticationErrorParams = { - connectionName: string; -}; - type ImportedTypesParams = { importedTypes: string[]; }; @@ -847,14 +785,6 @@ type ContactMethodParams = { contactMethodRoute: string; }; -type BusinessTaxIDParams = { - country: string; -}; - -type BusinessRegistrationNumberParams = { - country: string; -}; - type QBDSetupErrorBodyParams = { conciergeLink: string; }; @@ -895,8 +825,6 @@ type WorkspaceUpgradeNoteParams = { subscriptionLink: string; }; -type ChangedApproverMessageParams = {managerID: number}; - type WorkflowSettingsParam = {workflowSettingLink: string}; type IndividualExpenseRulesSubtitleParams = { @@ -904,10 +832,6 @@ type IndividualExpenseRulesSubtitleParams = { tagsPageLink: string; }; -type BillableDefaultDescriptionParams = { - tagsPageLink: string; -}; - type WorkspaceShareNoteParams = { adminsRoomLink: string; }; @@ -981,7 +905,6 @@ export type { SplitExpenseEditTitleParams, SplitExpenseSubtitleParams, TotalAmountGreaterOrLessThanOriginalParams, - AuthenticationErrorParams, ImportMembersSuccessfulDescriptionParams, ImportedTagsMessageParams, ImportTagsSuccessfulDescriptionParams, @@ -993,7 +916,6 @@ export type { RemovedFromApprovalWorkflowParams, DemotedFromWorkspaceParams, DefaultAmountParams, - AutoPayApprovedReportsLimitErrorParams, FeatureNameParams, FileLimitParams, FileTypeParams, @@ -1009,26 +931,18 @@ export type { RequiredFieldParams, IntacctMappingTitleParams, ImportFieldParams, - AssigneeParams, DefaultVendorDescriptionParams, ExportIntegrationSelectedParams, UnapproveWithIntegrationWarningParams, IncorrectZipFormatParams, - CardNextPaymentParams, - CardEndingParams, CardInfoParams, YourPlanPriceParams, SubscriptionSizeParams, SubscriptionCommitmentParams, SubscriptionSettingsSaveUpToParams, SubscriptionSettingsRenewsOnParams, - BadgeFreeTrialParams, - BillingBannerSubtitleWithDateParams, BillingBannerOwnerAmountOwedOverdueParams, BillingBannerDisputePendingParams, - BillingBannerCardAuthenticationRequiredParams, - BillingBannerInsufficientFundsParams, - BillingBannerCardExpiredParams, BillingBannerCardOnDisputeParams, TrialStartedTitleParams, EarlyDiscountTitleParams, @@ -1037,31 +951,21 @@ export type { StatementTitleParams, RenamedWorkspaceNameActionParams, WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams, - ActionsAreCurrentlyRestricted, - ChangeOwnerHasFailedSettlementsParams, OwnerOwesAmountParams, ChangeOwnerDuplicateSubscriptionParams, ChangeOwnerSubscriptionParams, SecondaryLoginParams, TaxAmountParams, - CategoryNameParams, AmountWithCurrencyParams, LowerUpperParams, LogSizeAndDateParams, - AddressLineParams, - AlreadySignedInParams, - ApprovedAmountParams, - BeginningOfChatHistoryAdminRoomParams, - BeginningOfChatHistoryAnnounceRoomParams, BeginningOfChatHistoryPolicyExpenseChatParams, BeginningOfChatHistoryInvoiceRoomParams, BeginningOfChatHistoryParams, BeginningOfArchivedRoomParams, BeginningOfChatHistoryUserRoomParams, BeginningOfChatHistoryAnnounceRoomPartTwo, - BeginningOfChatHistoryDomainRoomParams, CanceledRequestParams, - CharacterLimitParams, ConfirmThatParams, CompanyCardFeedNameParams, DateShouldBeAfterParams, @@ -1164,7 +1068,6 @@ export type { ChangeReportPolicyParams, ChangeTypeParams, ExportedToIntegrationParams, - AccountOwnerParams, IntegrationsMessageParams, MarkedReimbursedParams, MarkReimbursedFromIntegrationParams, @@ -1246,7 +1149,6 @@ export type { UpdatedPolicyCategoryExpenseLimitTypeParams, UpdatedPolicyCategoryMaxAmountNoReceiptParams, SubscriptionSettingsSummaryParams, - BankAccountLastFourParams, ReviewParams, CreateExpensesParams, WorkspaceMembersCountParams, @@ -1259,7 +1161,6 @@ export type { PhoneErrorRouteParams, WorkspacesListRouteParams, WorkspaceRouteParams, - BusinessTaxIDParams, QBDSetupErrorBodyParams, EmptyCategoriesSubtitleWithAccountingParams, EmptyTagsSubtitleWithAccountingParams, @@ -1269,18 +1170,15 @@ export type { MergeFailureDescriptionGenericParams, EnableContinuousReconciliationParams, WorkspaceUpgradeNoteParams, - ChangedApproverMessageParams, WorkflowSettingsParam, MovedActionParams, IndividualExpenseRulesSubtitleParams, - BillableDefaultDescriptionParams, WorkspaceShareNoteParams, RulesEnableWorkflowsParams, UpgradeSuccessMessageParams, DomainPermissionInfoRestrictionParams, SubmittedWithMemoParams, SignerInfoMessageParams, - BusinessRegistrationNumberParams, DependentMultiLevelTagsSubtitleParams, PayAndDowngradeDescriptionParams, WalletAgreementParams, diff --git a/src/languages/pl.ts b/src/languages/pl.ts index 67f51558c99a..1c040d6ce084 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -19,56 +19,30 @@ import type {Country} from '@src/CONST'; import type OriginalMessage from '@src/types/onyx/OriginalMessage'; import type en from './en'; import type { - AccountOwnerParams, - ActionsAreCurrentlyRestricted, AddedOrDeletedPolicyReportFieldParams, AddedPolicyApprovalRuleParams, AddEmployeeParams, AddOrDeletePolicyCustomUnitRateParams, - AddressLineParams, AirlineParams, - AlreadySignedInParams, ApprovalWorkflowErrorParams, - ApprovedAmountParams, AssignedCardParams, - AssigneeParams, - AuthenticationErrorParams, - AutoPayApprovedReportsLimitErrorParams, - BadgeFreeTrialParams, - BankAccountLastFourParams, BeginningOfArchivedRoomParams, - BeginningOfChatHistoryAdminRoomParams, - BeginningOfChatHistoryAnnounceRoomParams, - BeginningOfChatHistoryDomainRoomParams, BeginningOfChatHistoryInvoiceRoomParams, BeginningOfChatHistoryParams, BeginningOfChatHistoryPolicyExpenseChatParams, BeginningOfChatHistoryUserRoomParams, - BillableDefaultDescriptionParams, - BillingBannerCardAuthenticationRequiredParams, - BillingBannerCardExpiredParams, BillingBannerCardOnDisputeParams, BillingBannerDisputePendingParams, - BillingBannerInsufficientFundsParams, BillingBannerOwnerAmountOwedOverdueParams, - BillingBannerSubtitleWithDateParams, BusinessBankAccountParams, - BusinessRegistrationNumberParams, - BusinessTaxIDParams, CanceledRequestParams, - CardEndingParams, CardInfoParams, - CardNextPaymentParams, - CategoryNameParams, - ChangedApproverMessageParams, ChangeFieldParams, ChangeOwnerDuplicateSubscriptionParams, - ChangeOwnerHasFailedSettlementsParams, ChangeOwnerSubscriptionParams, ChangeReportPolicyParams, ChangeTypeParams, CharacterLengthLimitParams, - CharacterLimitParams, ChatWithAccountManagerParams, CompanyCardBankName, CompanyCardFeedNameParams, @@ -447,7 +421,7 @@ const translations: TranslationDeepObject = { currentMonth: 'Bieżący miesiąc', ssnLast4: 'Ostatnie 4 cyfry numeru SSN', ssnFull9: 'Pełne 9 cyfr numeru SSN', - addressLine: ({lineNumber}: AddressLineParams) => `Linia adresu ${lineNumber}`, + addressLine: (lineNumber: number) => `Linia adresu ${lineNumber}`, personalAddress: 'Adres domowy', companyAddress: 'Adres firmy', noPO: 'Prosimy, bez skrytek pocztowych ani adresów typu mail-drop.', @@ -912,7 +886,7 @@ const translations: TranslationDeepObject = { }, }, thirdPartySignIn: { - alreadySignedIn: ({email}: AlreadySignedInParams) => `Jesteś już zalogowany jako ${email}.`, + alreadySignedIn: (email: string) => `Jesteś już zalogowany jako ${email}.`, goBackMessage: ({provider}: GoBackMessageParams) => `Nie chcesz logować się za pomocą ${provider}?`, continueWithMyCurrentSession: 'Kontynuuj moją obecną sesję', redirectToDesktopMessage: 'Przekierujemy Cię do aplikacji desktopowej, gdy zakończysz logowanie.', @@ -980,12 +954,11 @@ const translations: TranslationDeepObject = { reportActionsView: { beginningOfArchivedRoom: ({reportName, reportDetailsLink}: BeginningOfArchivedRoomParams) => `Przegapiłeś imprezę w ${reportName}, nie ma tu nic do zobaczenia.`, - beginningOfChatHistoryDomainRoom: ({domainRoom}: BeginningOfChatHistoryDomainRoomParams) => + beginningOfChatHistoryDomainRoom: (domainRoom: string) => `Ten czat jest dostępny dla wszystkich członków Expensify w domenie ${domainRoom}. Używaj go do rozmów ze współpracownikami, dzielenia się poradami i zadawania pytań.`, - beginningOfChatHistoryAdminRoom: ({workspaceName}: BeginningOfChatHistoryAdminRoomParams) => + beginningOfChatHistoryAdminRoom: (workspaceName: string) => `Ta rozmowa jest z administratorem ${workspaceName}. Użyj jej, aby porozmawiać o konfiguracji przestrzeni roboczej i nie tylko.`, - beginningOfChatHistoryAnnounceRoom: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomParams) => - `Ten czat jest z wszystkimi w ${workspaceName}. Używaj go do najważniejszych ogłoszeń.`, + beginningOfChatHistoryAnnounceRoom: (workspaceName: string) => `Ten czat jest z wszystkimi w ${workspaceName}. Używaj go do najważniejszych ogłoszeń.`, beginningOfChatHistoryUserRoom: ({reportName, reportDetailsLink}: BeginningOfChatHistoryUserRoomParams) => `Ten czat jest przeznaczony na wszystko, co dotyczy ${reportName}.`, beginningOfChatHistoryInvoiceRoom: ({invoicePayer, invoiceReceiver}: BeginningOfChatHistoryInvoiceRoomParams) => @@ -1324,8 +1297,8 @@ const translations: TranslationDeepObject = { amount ? `zapłacono ${amount} z konta bankowego ${last4Digits}` : `zapłacono z konta bankowego ${last4Digits}`, automaticallyPaidWithBusinessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => `zapłacono ${amount ? `${amount} ` : ''} z konta bankowego ${last4Digits} za pomocą reguł miejsca pracy`, - invoicePersonalBank: ({lastFour}: BankAccountLastFourParams) => `Konto osobiste • ${lastFour}`, - invoiceBusinessBank: ({lastFour}: BankAccountLastFourParams) => `Konto firmowe • ${lastFour}`, + invoicePersonalBank: (lastFour: string) => `Konto osobiste • ${lastFour}`, + invoiceBusinessBank: (lastFour: string) => `Konto firmowe • ${lastFour}`, nextStep: 'Następne kroki', finished: 'Zakończono', flip: 'Odwróć', @@ -1348,7 +1321,7 @@ const translations: TranslationDeepObject = { payerSettled: ({amount}: PayerSettledParams) => `zapłacono ${amount}`, payerSettledWithMissingBankAccount: ({amount}: PayerSettledParams) => `zapłacono ${amount}. Dodaj konto bankowe, aby otrzymać płatność.`, automaticallyApproved: `zatwierdzone przez zasady przestrzeni roboczej`, - approvedAmount: ({amount}: ApprovedAmountParams) => `zatwierdzono ${amount}`, + approvedAmount: (amount: number | string) => `zatwierdzono ${amount}`, approvedMessage: `Zatwierdzone`, unapproved: `Niezatwierdzone`, automaticallyForwarded: `zatwierdzone przez zasady przestrzeni roboczej`, @@ -1551,7 +1524,7 @@ const translations: TranslationDeepObject = { subtitle: 'Wybierz opcję, aby zmienić osobę zatwierdzającą ten raport.', description: ({workflowSettingLink}: WorkflowSettingsParam) => `Możesz także na stałe zmienić osobę zatwierdzającą dla wszystkich raportów w swoich ustawieniach przepływu pracy.`, - changedApproverMessage: ({managerID}: ChangedApproverMessageParams) => `zmieniono zatwierdzającego na `, + changedApproverMessage: (managerID: number) => `zmieniono zatwierdzającego na `, actions: { addApprover: 'Dodaj osobę zatwierdzającą', addApproverSubtitle: 'Dodaj dodatkowego akceptującego do istniejącego procesu zatwierdzania.', @@ -2426,7 +2399,7 @@ ${amount} dla ${merchant} - ${date}`, cardLastFour: 'Karta kończąca się na', addFirstPaymentMethod: 'Dodaj metodę płatności, aby wysyłać i odbierać płatności bezpośrednio w aplikacji.', defaultPaymentMethod: 'Domyślne', - bankAccountLastFour: ({lastFour}: BankAccountLastFourParams) => `Konto bankowe • ${lastFour}`, + bankAccountLastFour: (lastFour: string) => `Konto bankowe • ${lastFour}`, }, preferencesPage: { appSection: { @@ -3368,7 +3341,7 @@ ${ whatsTheBusinessName: 'Jaka jest nazwa firmy?', whatsTheBusinessAddress: 'Jaki jest adres firmowy?', whatsTheBusinessContactInformation: 'Jakie są dane kontaktowe firmy?', - whatsTheBusinessRegistrationNumber: ({country}: BusinessRegistrationNumberParams) => { + whatsTheBusinessRegistrationNumber: (country: string) => { switch (country) { case CONST.COUNTRY.GB: return 'Jaki jest Numer Rejestracyjny Firmy (CRN)?'; @@ -3376,7 +3349,7 @@ ${ return 'Jaki jest numer rejestracyjny firmy?'; } }, - whatsTheBusinessTaxIDEIN: ({country}: BusinessTaxIDParams) => { + whatsTheBusinessTaxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Jaki jest Numer Identyfikacyjny Pracodawcy (EIN)?'; @@ -3396,7 +3369,7 @@ ${ whatsTheBusinessAnnualPayment: 'Jaki jest roczny wolumen płatności firmy?', whatsYourExpectedAverageReimbursements: 'Jakiej oczekiwanej średniej kwoty zwrotu kosztów się spodziewasz?', registrationNumber: 'Numer rejestracyjny', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'EIN'; @@ -3435,7 +3408,7 @@ ${ findBusinessType: 'Znajdź typ działalności', error: { registrationNumber: 'Podaj poprawny numer rejestracyjny', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Podaj prawidłowy Numer Identyfikacyjny Pracodawcy (EIN)'; @@ -3885,7 +3858,7 @@ ${ existingConnectionsDescription: ({connectionName}: ConnectionNameParams) => `Ponieważ wcześniej połączyłeś(-aś) się z ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}, możesz ponownie użyć istniejącego połączenia lub utworzyć nowe.`, lastSyncDate: ({connectionName, formattedDate}: LastSyncDateParams) => `${connectionName} – Ostatnia synchronizacja ${formattedDate}`, - authenticationError: ({connectionName}: AuthenticationErrorParams) => `Nie można połączyć z ${connectionName} z powodu błędu uwierzytelniania.`, + authenticationError: (connectionName: string) => `Nie można połączyć z ${connectionName} z powodu błędu uwierzytelniania.`, learnMore: 'Dowiedz się więcej', memberAlternateText: 'Członkowie mogą przesyłać i zatwierdzać raporty.', adminAlternateText: 'Administratorzy mają pełen dostęp do edycji wszystkich raportów i ustawień przestrzeni roboczej.', @@ -4216,8 +4189,8 @@ ${ accountsSwitchDescription: 'Włączone kategorie będą dostępne do wyboru dla członków podczas tworzenia ich wydatków.', trackingCategories: 'Kategorie śledzenia', trackingCategoriesDescription: 'Wybierz sposób obsługi kategorii śledzenia Xero w Expensify.', - mapTrackingCategoryTo: ({categoryName}: CategoryNameParams) => `Mapuj ${categoryName} w Xero do`, - mapTrackingCategoryToDescription: ({categoryName}: CategoryNameParams) => `Wybierz, gdzie zmapować ${categoryName} podczas eksportu do Xero.`, + mapTrackingCategoryTo: (categoryName: string) => `Mapuj ${categoryName} w Xero do`, + mapTrackingCategoryToDescription: (categoryName: string) => `Wybierz, gdzie zmapować ${categoryName} podczas eksportu do Xero.`, customers: 'Refakturowanie klientów', customersDescription: 'Wybierz, czy ponownie obciążać klientów w Expensify. Twoje kontakty klientów z Xero mogą być tagowane do wydatków i zostaną wyeksportowane do Xero jako faktura sprzedaży.', @@ -4865,8 +4838,7 @@ _Aby uzyskać bardziej szczegółowe instrukcje, [odwiedź naszą stronę pomocy directFeed: 'Bezpośredni kanał', whoNeedsCardAssigned: 'Kto potrzebuje przypisanej karty?', chooseCard: 'Wybierz kartę', - chooseCardFor: ({assignee}: AssigneeParams) => - `Wybierz kartę dla ${assignee}. Nie możesz znaleźć karty, której szukasz? Daj nam znać.`, + chooseCardFor: (assignee: string) => `Wybierz kartę dla ${assignee}. Nie możesz znaleźć karty, której szukasz? Daj nam znać.`, noActiveCards: 'Brak aktywnych kart w tym kanale', somethingMightBeBroken: 'Albo coś mogło się zepsuć. Tak czy inaczej, jeśli masz jakiekolwiek pytania, po prostu skontaktuj się z Concierge.', @@ -4937,22 +4909,22 @@ _Aby uzyskać bardziej szczegółowe instrukcje, [odwiedź naszą stronę pomocy deactivate: 'Dezaktywuj kartę', changeCardLimit: 'Zmień limit karty', changeLimit: 'Zmień limit', - smartLimitWarning: ({limit}: CharacterLimitParams) => + smartLimitWarning: (limit: number | string) => `Jeśli zmienisz limit tej karty na ${limit}, nowe transakcje będą odrzucane, dopóki nie zatwierdzisz kolejnych wydatków na tej karcie.`, - monthlyLimitWarning: ({limit}: CharacterLimitParams) => `Jeśli zmienisz limit tej karty na ${limit}, nowe transakcje będą odrzucane do następnego miesiąca.`, - fixedLimitWarning: ({limit}: CharacterLimitParams) => `Jeśli zmienisz limit tej karty na ${limit}, nowe transakcje zostaną odrzucone.`, + monthlyLimitWarning: (limit: number | string) => `Jeśli zmienisz limit tej karty na ${limit}, nowe transakcje będą odrzucane do następnego miesiąca.`, + fixedLimitWarning: (limit: number | string) => `Jeśli zmienisz limit tej karty na ${limit}, nowe transakcje zostaną odrzucone.`, changeCardLimitType: 'Zmień typ limitu karty', changeLimitType: 'Zmień typ limitu', - changeCardSmartLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardSmartLimitTypeWarning: (limit: number | string) => `Jeśli zmienisz typ limitu tej karty na Smart Limit, nowe transakcje zostaną odrzucone, ponieważ niezatwierdzony limit ${limit} został już osiągnięty.`, - changeCardMonthlyLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardMonthlyLimitTypeWarning: (limit: number | string) => `Jeśli zmienisz typ limitu tej karty na Miesięczny, nowe transakcje zostaną odrzucone, ponieważ miesięczny limit ${limit} został już osiągnięty.`, addShippingDetails: 'Dodaj dane wysyłki', - issuedCard: ({assignee}: AssigneeParams) => `przyznał(a) ${assignee} kartę Expensify! Karta dotrze w ciągu 2–3 dni roboczych.`, - issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => `przyznano ${assignee} kartę Expensify! Karta zostanie wysłana po potwierdzeniu danych wysyłkowych.`, + issuedCard: (assignee: string) => `przyznał(a) ${assignee} kartę Expensify! Karta dotrze w ciągu 2–3 dni roboczych.`, + issuedCardNoShippingDetails: (assignee: string) => `przyznano ${assignee} kartę Expensify! Karta zostanie wysłana po potwierdzeniu danych wysyłkowych.`, issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `wystawił(a) ${assignee} wirtualną kartę Expensify! ${link} można używać od razu.`, - addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} dodał dane wysyłki. Karta Expensify dotrze w ciągu 2–3 dni roboczych.`, - replacedCard: ({assignee}: AssigneeParams) => `${assignee} wymienił(-a) swoją kartę Expensify. Nowa karta dotrze w ciągu 2–3 dni roboczych.`, + addedShippingDetails: (assignee: string) => `${assignee} dodał dane wysyłki. Karta Expensify dotrze w ciągu 2–3 dni roboczych.`, + replacedCard: (assignee: string) => `${assignee} wymienił(-a) swoją kartę Expensify. Nowa karta dotrze w ciągu 2–3 dni roboczych.`, replacedVirtualCard: ({assignee, link}: IssueVirtualCardParams) => `${assignee} wymienił swoją wirtualną Kartę Expensify! ${link} można używać od razu.`, card: 'karta', replacementCard: 'karta zastępcza', @@ -5909,7 +5881,7 @@ Kliknij „Kontynuuj”, jeśli chcesz przejąć rozliczenia tylko dla przestrze Jeśli chcesz przejąć rozliczenia dla całej ich subskrypcji, poproś ich najpierw o dodanie Cię jako administratora do wszystkich ich przestrzeni roboczych, zanim przejmiesz rozliczenia.`, hasFailedSettlementsTitle: 'Nie można przenieść własności', hasFailedSettlementsButtonText: 'Rozumiem', - hasFailedSettlementsText: ({email}: ChangeOwnerHasFailedSettlementsParams) => + hasFailedSettlementsText: (email: string) => `Nie możesz przejąć rozliczeń, ponieważ ${email} ma zaległe rozliczenie karty Expensify. Poproś tę osobę o kontakt z concierge@expensify.com, aby rozwiązać problem. Następnie będziesz mógł przejąć rozliczenia dla tego obszaru roboczego.`, failedToClearBalanceTitle: 'Nie udało się wyczyścić salda', failedToClearBalanceButtonText: 'OK', @@ -6117,7 +6089,7 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i }, restrictedAction: { restricted: 'Ograniczone', - actionsAreCurrentlyRestricted: ({workspaceName}: ActionsAreCurrentlyRestricted) => `Działania w przestrzeni roboczej ${workspaceName} są obecnie ograniczone`, + actionsAreCurrentlyRestricted: (workspaceName: string) => `Działania w przestrzeni roboczej ${workspaceName} są obecnie ograniczone`, workspaceOwnerWillNeedToAddOrUpdatePaymentCard: ({workspaceOwnerName}: WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams) => `Właściciel przestrzeni roboczej, ${workspaceOwnerName}, musi dodać lub zaktualizować zapisaną kartę płatniczą, aby odblokować nową aktywność w przestrzeni roboczej.`, youWillNeedToAddOrUpdatePaymentCard: 'Musisz dodać lub zaktualizować zapisaną kartę płatniczą, aby odblokować nową aktywność w przestrzeni roboczej.', @@ -6157,7 +6129,7 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i alwaysNonReimbursable: 'Zawsze niepodlegające zwrotowi', alwaysNonReimbursableDescription: 'Wydatki nigdy nie są zwracane pracownikom', billableDefault: 'Domyślnie refakturowalne', - billableDefaultDescription: ({tagsPageLink}: BillableDefaultDescriptionParams) => + billableDefaultDescription: (tagsPageLink: string) => `Wybierz, czy wydatki gotówkowe i kartą kredytową powinny być domyślnie fakturowalne. Wydatki fakturowalne są włączane lub wyłączane w tagach.`, billable: 'Do zafakturowania', billableDescription: 'Wydatki są najczęściej refakturowane klientom', @@ -6189,7 +6161,7 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i randomReportAuditDescription: 'Wymagaj ręcznego zatwierdzania niektórych raportów, nawet jeśli kwalifikują się do automatycznego zatwierdzenia.', autoPayApprovedReportsTitle: 'Zatwierdzone raporty z automatyczną płatnością', autoPayApprovedReportsSubtitle: 'Skonfiguruj, które raporty wydatków kwalifikują się do automatycznej płatności.', - autoPayApprovedReportsLimitError: ({currency}: AutoPayApprovedReportsLimitErrorParams = {}) => `Wprowadź kwotę mniejszą niż ${currency ?? ''}20 000`, + autoPayApprovedReportsLimitError: (currency?: string) => `Wprowadź kwotę mniejszą niż ${currency ?? ''}20 000`, autoPayApprovedReportsLockedSubtitle: 'Przejdź do „Więcej funkcji” i włącz „Workflowy”, a następnie dodaj „Płatności”, aby odblokować tę funkcję.', autoPayReportsUnderTitle: 'Automatycznie opłacaj raporty poniżej', autoPayReportsUnderDescription: 'W pełni zgodne raporty wydatków poniżej tej kwoty zostaną automatycznie opłacone.', @@ -6202,13 +6174,13 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i approver: 'Akceptujący', requireDescription: 'Wymagaj opisu', descriptionHint: 'Podpowiedź opisu', - descriptionHintDescription: ({categoryName}: CategoryNameParams) => + descriptionHintDescription: (categoryName: string) => `Przypominaj pracownikom o podaniu dodatkowych informacji dotyczących wydatków w kategorii „${categoryName}”. Ta podpowiedź pojawia się w polu opisu przy wydatkach.`, descriptionHintLabel: 'Podpowiedź', descriptionHintSubtitle: 'Wskazówka: Im krócej, tym lepiej!', maxAmount: 'Maksymalna kwota', flagAmountsOver: 'Oznacz kwoty powyżej', - flagAmountsOverDescription: ({categoryName}: CategoryNameParams) => `Dotyczy kategorii „${categoryName}”.`, + flagAmountsOverDescription: (categoryName: string) => `Dotyczy kategorii „${categoryName}”.`, flagAmountsOverSubtitle: 'To zastępuje maksymalną kwotę dla wszystkich wydatków.', expenseLimitTypes: { expense: 'Pojedynczy wydatek', @@ -7415,12 +7387,12 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i authenticatePaymentCard: 'Uwierzytelnij kartę płatniczą', mobileReducedFunctionalityMessage: 'Nie możesz wprowadzać zmian w swojej subskrypcji w aplikacji mobilnej.', badge: { - freeTrial: ({numOfDays}: BadgeFreeTrialParams) => `Darmowy okres próbny: pozostało ${numOfDays} ${numOfDays === 1 ? 'dzień' : 'dni'}`, + freeTrial: (numOfDays: number) => `Darmowy okres próbny: pozostało ${numOfDays} ${numOfDays === 1 ? 'dzień' : 'dni'}`, }, billingBanner: { policyOwnerAmountOwed: { title: 'Twoje informacje dotyczące płatności są nieaktualne', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `Zaktualizuj swoją kartę płatniczą do ${date}, aby nadal korzystać ze wszystkich swoich ulubionych funkcji.`, + subtitle: (date: string) => `Zaktualizuj swoją kartę płatniczą do ${date}, aby nadal korzystać ze wszystkich swoich ulubionych funkcji.`, }, policyOwnerAmountOwedOverdue: { title: 'Twoja płatność nie mogła zostać przetworzona', @@ -7431,7 +7403,7 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i }, policyOwnerUnderInvoicing: { title: 'Twoje informacje dotyczące płatności są nieaktualne', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `Twoja płatność jest zaległa. Prosimy opłacić fakturę do ${date}, aby uniknąć przerwy w świadczeniu usług.`, + subtitle: (date: string) => `Twoja płatność jest zaległa. Prosimy opłacić fakturę do ${date}, aby uniknąć przerwy w świadczeniu usług.`, }, policyOwnerUnderInvoicingOverdue: { title: 'Twoje informacje dotyczące płatności są nieaktualne', @@ -7444,18 +7416,16 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i }, cardAuthenticationRequired: { title: 'Twoja karta płatnicza nie została w pełni uwierzytelniona.', - subtitle: ({cardEnding}: BillingBannerCardAuthenticationRequiredParams) => - `Proszę dokończyć proces uwierzytelniania, aby aktywować kartę płatniczą z numerem kończącym się na ${cardEnding}.`, + subtitle: (cardEnding: string) => `Proszę dokończyć proces uwierzytelniania, aby aktywować kartę płatniczą z numerem kończącym się na ${cardEnding}.`, }, insufficientFunds: { title: 'Nie można było obciążyć Twojej karty', - subtitle: ({amountOwed}: BillingBannerInsufficientFundsParams) => + subtitle: (amountOwed: number) => `Twoja karta płatnicza została odrzucona z powodu niewystarczających środków. Spróbuj ponownie lub dodaj nową kartę płatniczą, aby uregulować zaległe saldo w wysokości ${amountOwed}.`, }, cardExpired: { title: 'Nie można było obciążyć Twojej karty', - subtitle: ({amountOwed}: BillingBannerCardExpiredParams) => - `Twoja karta płatnicza wygasła. Dodaj nową kartę płatniczą, aby uregulować zaległe saldo w wysokości ${amountOwed}.`, + subtitle: (amountOwed: number) => `Twoja karta płatnicza wygasła. Dodaj nową kartę płatniczą, aby uregulować zaległe saldo w wysokości ${amountOwed}.`, }, cardExpireSoon: { title: 'Twoja karta wkrótce wygaśnie', @@ -7497,8 +7467,8 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i title: 'Płatność', subtitle: 'Dodaj kartę, aby opłacać swoją subskrypcję Expensify.', addCardButton: 'Dodaj kartę płatniczą', - cardNextPayment: ({nextPaymentDate}: CardNextPaymentParams) => `Data Twojej następnej płatności to ${nextPaymentDate}.`, - cardEnding: ({cardNumber}: CardEndingParams) => `Karta kończąca się na ${cardNumber}`, + cardNextPayment: (nextPaymentDate: string) => `Data Twojej następnej płatności to ${nextPaymentDate}.`, + cardEnding: (cardNumber: string) => `Karta kończąca się na ${cardNumber}`, cardInfo: ({name, expiration, currency}: CardInfoParams) => `Nazwa: ${name}, Wygaśnięcie: ${expiration}, Waluta: ${currency}`, changeCard: 'Zmień kartę płatniczą', changeCurrency: 'Zmień walutę płatności', @@ -7698,7 +7668,7 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i Jako kopilot nie masz dostępu do tej strony. Przepraszamy! `), - notAllowedMessage: ({accountOwnerEmail}: AccountOwnerParams) => + notAllowedMessage: (accountOwnerEmail: string) => `Jako współpilot użytkownika ${accountOwnerEmail} nie masz uprawnień do wykonania tej akcji. Przepraszamy!`, copilotAccess: 'Dostęp do Copilot', }, diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index 2d5c85168099..78574ed696b3 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -19,56 +19,30 @@ import type {Country} from '@src/CONST'; import type OriginalMessage from '@src/types/onyx/OriginalMessage'; import type en from './en'; import type { - AccountOwnerParams, - ActionsAreCurrentlyRestricted, AddedOrDeletedPolicyReportFieldParams, AddedPolicyApprovalRuleParams, AddEmployeeParams, AddOrDeletePolicyCustomUnitRateParams, - AddressLineParams, AirlineParams, - AlreadySignedInParams, ApprovalWorkflowErrorParams, - ApprovedAmountParams, AssignedCardParams, - AssigneeParams, - AuthenticationErrorParams, - AutoPayApprovedReportsLimitErrorParams, - BadgeFreeTrialParams, - BankAccountLastFourParams, BeginningOfArchivedRoomParams, - BeginningOfChatHistoryAdminRoomParams, - BeginningOfChatHistoryAnnounceRoomParams, - BeginningOfChatHistoryDomainRoomParams, BeginningOfChatHistoryInvoiceRoomParams, BeginningOfChatHistoryParams, BeginningOfChatHistoryPolicyExpenseChatParams, BeginningOfChatHistoryUserRoomParams, - BillableDefaultDescriptionParams, - BillingBannerCardAuthenticationRequiredParams, - BillingBannerCardExpiredParams, BillingBannerCardOnDisputeParams, BillingBannerDisputePendingParams, - BillingBannerInsufficientFundsParams, BillingBannerOwnerAmountOwedOverdueParams, - BillingBannerSubtitleWithDateParams, BusinessBankAccountParams, - BusinessRegistrationNumberParams, - BusinessTaxIDParams, CanceledRequestParams, - CardEndingParams, CardInfoParams, - CardNextPaymentParams, - CategoryNameParams, - ChangedApproverMessageParams, ChangeFieldParams, ChangeOwnerDuplicateSubscriptionParams, - ChangeOwnerHasFailedSettlementsParams, ChangeOwnerSubscriptionParams, ChangeReportPolicyParams, ChangeTypeParams, CharacterLengthLimitParams, - CharacterLimitParams, ChatWithAccountManagerParams, CompanyCardBankName, CompanyCardFeedNameParams, @@ -447,7 +421,7 @@ const translations: TranslationDeepObject = { currentMonth: 'Mês atual', ssnLast4: 'Últimos 4 dígitos do SSN', ssnFull9: '9 dígitos completos do SSN', - addressLine: ({lineNumber}: AddressLineParams) => `Linha de endereço ${lineNumber}`, + addressLine: (lineNumber: number) => `Linha de endereço ${lineNumber}`, personalAddress: 'Endereço pessoal', companyAddress: 'Endereço da empresa', noPO: 'Por favor, não use caixas postais ou endereços de recebimento de correspondência.', @@ -911,7 +885,7 @@ const translations: TranslationDeepObject = { }, }, thirdPartySignIn: { - alreadySignedIn: ({email}: AlreadySignedInParams) => `Você já entrou como ${email}.`, + alreadySignedIn: (email: string) => `Você já entrou como ${email}.`, goBackMessage: ({provider}: GoBackMessageParams) => `Não quer entrar com ${provider}?`, continueWithMyCurrentSession: 'Continuar com minha sessão atual', redirectToDesktopMessage: 'Vamos redirecionar você para o aplicativo para desktop assim que terminar de fazer login.', @@ -979,12 +953,11 @@ const translations: TranslationDeepObject = { reportActionsView: { beginningOfArchivedRoom: ({reportName, reportDetailsLink}: BeginningOfArchivedRoomParams) => `Você perdeu a festa em ${reportName}, não há nada para ver aqui.`, - beginningOfChatHistoryDomainRoom: ({domainRoom}: BeginningOfChatHistoryDomainRoomParams) => + beginningOfChatHistoryDomainRoom: (domainRoom: string) => `Este chat é com todos os membros da Expensify no domínio ${domainRoom}. Use-o para conversar com colegas, compartilhar dicas e fazer perguntas.`, - beginningOfChatHistoryAdminRoom: ({workspaceName}: BeginningOfChatHistoryAdminRoomParams) => + beginningOfChatHistoryAdminRoom: (workspaceName: string) => `Este chat é com o administrador de ${workspaceName}. Use-o para conversar sobre a configuração do espaço de trabalho e muito mais.`, - beginningOfChatHistoryAnnounceRoom: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomParams) => - `Este chat é com todos em ${workspaceName}. Use-o para os anúncios mais importantes.`, + beginningOfChatHistoryAnnounceRoom: (workspaceName: string) => `Este chat é com todos em ${workspaceName}. Use-o para os anúncios mais importantes.`, beginningOfChatHistoryUserRoom: ({reportName, reportDetailsLink}: BeginningOfChatHistoryUserRoomParams) => `Esta sala de chat é para qualquer coisa relacionada a ${reportName}.`, beginningOfChatHistoryInvoiceRoom: ({invoicePayer, invoiceReceiver}: BeginningOfChatHistoryInvoiceRoomParams) => @@ -1323,8 +1296,8 @@ const translations: TranslationDeepObject = { amount ? `pagou ${amount} com a conta bancária ${last4Digits}` : `pago com conta bancária ${last4Digits}`, automaticallyPaidWithBusinessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => `pagou ${amount ? `${amount} ` : ''} com a conta bancária ${last4Digits} via regras do workspace`, - invoicePersonalBank: ({lastFour}: BankAccountLastFourParams) => `Conta pessoal • ${lastFour}`, - invoiceBusinessBank: ({lastFour}: BankAccountLastFourParams) => `Conta empresarial • ${lastFour}`, + invoicePersonalBank: (lastFour: string) => `Conta pessoal • ${lastFour}`, + invoiceBusinessBank: (lastFour: string) => `Conta empresarial • ${lastFour}`, nextStep: 'Próximas etapas', finished: 'Concluído', flip: 'Virar', @@ -1347,7 +1320,7 @@ const translations: TranslationDeepObject = { payerSettled: ({amount}: PayerSettledParams) => `pago ${amount}`, payerSettledWithMissingBankAccount: ({amount}: PayerSettledParams) => `pagou ${amount}. Adicione uma conta bancária para receber seu pagamento.`, automaticallyApproved: `aprovado via regras do workspace`, - approvedAmount: ({amount}: ApprovedAmountParams) => `${amount} aprovado`, + approvedAmount: (amount: number | string) => `${amount} aprovado`, approvedMessage: `aprovado`, unapproved: `não aprovado`, automaticallyForwarded: `aprovado via regras do workspace`, @@ -1550,7 +1523,7 @@ const translations: TranslationDeepObject = { subtitle: 'Escolha uma opção para alterar o aprovador deste relatório.', description: ({workflowSettingLink}: WorkflowSettingsParam) => `Você também pode alterar permanentemente o aprovador para todos os relatórios nas suas configurações de fluxo de trabalho.`, - changedApproverMessage: ({managerID}: ChangedApproverMessageParams) => `alterou o aprovador para `, + changedApproverMessage: (managerID: number) => `alterou o aprovador para `, actions: { addApprover: 'Adicionar aprovador', addApproverSubtitle: 'Adicione um aprovador adicional ao fluxo de aprovação existente.', @@ -2426,7 +2399,7 @@ ${amount} para ${merchant} - ${date}`, cardLastFour: 'Cartão terminado em', addFirstPaymentMethod: 'Adicione uma forma de pagamento para enviar e receber pagamentos diretamente no app.', defaultPaymentMethod: 'Padrão', - bankAccountLastFour: ({lastFour}: BankAccountLastFourParams) => `Conta bancária • ${lastFour}`, + bankAccountLastFour: (lastFour: string) => `Conta bancária • ${lastFour}`, }, preferencesPage: { appSection: { @@ -3368,7 +3341,7 @@ ${ whatsTheBusinessName: 'Qual é o nome da empresa?', whatsTheBusinessAddress: 'Qual é o endereço comercial?', whatsTheBusinessContactInformation: 'Quais são as informações de contato comercial?', - whatsTheBusinessRegistrationNumber: ({country}: BusinessRegistrationNumberParams) => { + whatsTheBusinessRegistrationNumber: (country: string) => { switch (country) { case CONST.COUNTRY.GB: return 'Qual é o Número de Registro da Empresa (CRN)?'; @@ -3376,7 +3349,7 @@ ${ return 'Qual é o número de registro comercial?'; } }, - whatsTheBusinessTaxIDEIN: ({country}: BusinessTaxIDParams) => { + whatsTheBusinessTaxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Qual é o Número de Identificação do Empregador (EIN)?'; @@ -3396,7 +3369,7 @@ ${ whatsTheBusinessAnnualPayment: 'Qual é o volume anual de pagamentos da empresa?', whatsYourExpectedAverageReimbursements: 'Qual é o seu valor médio de reembolso esperado?', registrationNumber: 'Número de registro', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'EIN'; @@ -3435,7 +3408,7 @@ ${ findBusinessType: 'Encontrar tipo de empresa', error: { registrationNumber: 'Forneça um número de registro válido', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'Forneça um Número de Identificação do Empregador (EIN) válido'; @@ -3883,7 +3856,7 @@ ${ existingConnectionsDescription: ({connectionName}: ConnectionNameParams) => `Como você já se conectou ao ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]} antes, pode optar por reutilizar uma conexão existente ou criar uma nova.`, lastSyncDate: ({connectionName, formattedDate}: LastSyncDateParams) => `${connectionName} - Última sincronização em ${formattedDate}`, - authenticationError: ({connectionName}: AuthenticationErrorParams) => `Não é possível conectar a ${connectionName} devido a um erro de autenticação.`, + authenticationError: (connectionName: string) => `Não é possível conectar a ${connectionName} devido a um erro de autenticação.`, learnMore: 'Saiba mais', memberAlternateText: 'Os membros podem enviar e aprovar relatórios.', adminAlternateText: 'Admins têm acesso total de edição a todos os relatórios e configurações do espaço de trabalho.', @@ -4217,8 +4190,8 @@ ${ accountsSwitchDescription: 'As categorias ativadas estarão disponíveis para os membros selecionarem ao criar suas despesas.', trackingCategories: 'Categorias de rastreamento', trackingCategoriesDescription: 'Escolha como lidar com as categorias de rastreamento do Xero no Expensify.', - mapTrackingCategoryTo: ({categoryName}: CategoryNameParams) => `Mapear ${categoryName} do Xero para`, - mapTrackingCategoryToDescription: ({categoryName}: CategoryNameParams) => `Escolha onde mapear ${categoryName} ao exportar para Xero.`, + mapTrackingCategoryTo: (categoryName: string) => `Mapear ${categoryName} do Xero para`, + mapTrackingCategoryToDescription: (categoryName: string) => `Escolha onde mapear ${categoryName} ao exportar para Xero.`, customers: 'Refaturar clientes', customersDescription: 'Escolha se deseja refaturar clientes no Expensify. Seus contatos de clientes do Xero podem ser associados às despesas e serão exportados para o Xero como uma fatura de venda.', @@ -4864,7 +4837,7 @@ _Para instruções mais detalhadas, [visite nosso site de ajuda](${CONST.NETSUIT directFeed: 'Conexão direta', whoNeedsCardAssigned: 'Quem precisa de um cartão atribuído?', chooseCard: 'Escolha um cartão', - chooseCardFor: ({assignee}: AssigneeParams) => + chooseCardFor: (assignee: string) => `Escolha um cartão para ${assignee}. Não encontra o cartão que está procurando? Avise-nos.`, noActiveCards: 'Nenhum cartão ativo neste feed', somethingMightBeBroken: @@ -4936,22 +4909,22 @@ _Para instruções mais detalhadas, [visite nosso site de ajuda](${CONST.NETSUIT deactivate: 'Desativar cartão', changeCardLimit: 'Alterar limite do cartão', changeLimit: 'Alterar limite', - smartLimitWarning: ({limit}: CharacterLimitParams) => + smartLimitWarning: (limit: number | string) => `Se você alterar o limite deste cartão para ${limit}, novas transações serão recusadas até que você aprove mais despesas no cartão.`, - monthlyLimitWarning: ({limit}: CharacterLimitParams) => `Se você alterar o limite deste cartão para ${limit}, novas transações serão recusadas até o próximo mês.`, - fixedLimitWarning: ({limit}: CharacterLimitParams) => `Se você alterar o limite deste cartão para ${limit}, novas transações serão recusadas.`, + monthlyLimitWarning: (limit: number | string) => `Se você alterar o limite deste cartão para ${limit}, novas transações serão recusadas até o próximo mês.`, + fixedLimitWarning: (limit: number | string) => `Se você alterar o limite deste cartão para ${limit}, novas transações serão recusadas.`, changeCardLimitType: 'Alterar tipo de limite do cartão', changeLimitType: 'Alterar tipo de limite', - changeCardSmartLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardSmartLimitTypeWarning: (limit: number | string) => `Se você alterar o tipo de limite deste cartão para Limite Inteligente, novas transações serão recusadas porque o limite não aprovado de ${limit} já foi atingido.`, - changeCardMonthlyLimitTypeWarning: ({limit}: CharacterLimitParams) => + changeCardMonthlyLimitTypeWarning: (limit: number | string) => `Se você alterar o tipo de limite deste cartão para Mensal, novas transações serão recusadas porque o limite mensal de ${limit} já foi atingido.`, addShippingDetails: 'Adicionar detalhes de envio', - issuedCard: ({assignee}: AssigneeParams) => `emitiu um Cartão Expensify para ${assignee}! O cartão chegará em 2–3 dias úteis.`, - issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => `emitiu um Expensify Card para ${assignee}! O cartão será enviado assim que os detalhes de envio forem confirmados.`, + issuedCard: (assignee: string) => `emitiu um Cartão Expensify para ${assignee}! O cartão chegará em 2–3 dias úteis.`, + issuedCardNoShippingDetails: (assignee: string) => `emitiu um Expensify Card para ${assignee}! O cartão será enviado assim que os detalhes de envio forem confirmados.`, issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `emitiu para ${assignee} um Cartão virtual Expensify! O ${link} pode ser usado imediatamente.`, - addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} adicionou os detalhes de envio. O cartão Expensify chegará em 2-3 dias úteis.`, - replacedCard: ({assignee}: AssigneeParams) => `${assignee} substituiu o cartão Expensify. O novo cartão chegará em 2–3 dias úteis.`, + addedShippingDetails: (assignee: string) => `${assignee} adicionou os detalhes de envio. O cartão Expensify chegará em 2-3 dias úteis.`, + replacedCard: (assignee: string) => `${assignee} substituiu o cartão Expensify. O novo cartão chegará em 2–3 dias úteis.`, replacedVirtualCard: ({assignee, link}: IssueVirtualCardParams) => `${assignee} substituiu o cartão virtual Expensify! O ${link} já pode ser usado.`, card: 'cartão', replacementCard: 'cartão de substituição', @@ -5910,7 +5883,7 @@ Clique em “Continuar” se você quiser assumir a cobrança apenas do workspac Se você quiser assumir a cobrança de toda a assinatura, peça para essa pessoa adicioná-lo como administrador em todos os workspaces dela antes de assumir a cobrança.`, hasFailedSettlementsTitle: 'Não é possível transferir a propriedade', hasFailedSettlementsButtonText: 'Entendi', - hasFailedSettlementsText: ({email}: ChangeOwnerHasFailedSettlementsParams) => + hasFailedSettlementsText: (email: string) => `Você não pode assumir o faturamento porque ${email} tem uma quitação em atraso do Expensify Card. Peça para essa pessoa entrar em contato com concierge@expensify.com para resolver o problema. Depois disso, você poderá assumir o faturamento deste workspace.`, failedToClearBalanceTitle: 'Falha ao limpar saldo', failedToClearBalanceButtonText: 'OK', @@ -6118,7 +6091,7 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe }, restrictedAction: { restricted: 'Restrito', - actionsAreCurrentlyRestricted: ({workspaceName}: ActionsAreCurrentlyRestricted) => `Ações no workspace ${workspaceName} estão atualmente restritas`, + actionsAreCurrentlyRestricted: (workspaceName: string) => `Ações no workspace ${workspaceName} estão atualmente restritas`, workspaceOwnerWillNeedToAddOrUpdatePaymentCard: ({workspaceOwnerName}: WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams) => `O proprietário do workspace, ${workspaceOwnerName}, precisará adicionar ou atualizar o cartão de pagamento em arquivo para desbloquear novas atividades no workspace.`, youWillNeedToAddOrUpdatePaymentCard: 'Você precisará adicionar ou atualizar o cartão de pagamento em arquivo para desbloquear novas atividades do workspace.', @@ -6158,7 +6131,7 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe alwaysNonReimbursable: 'Sempre não reembolsável', alwaysNonReimbursableDescription: 'Despesas nunca são reembolsadas aos funcionários', billableDefault: 'Faturável padrão', - billableDefaultDescription: ({tagsPageLink}: BillableDefaultDescriptionParams) => + billableDefaultDescription: (tagsPageLink: string) => `Escolha se as despesas em dinheiro e no cartão de crédito devem ser faturáveis por padrão. As despesas faturáveis são ativadas ou desativadas em tags.`, billable: 'Faturável', billableDescription: 'Despesas são mais frequentemente refaturadas para clientes', @@ -6190,7 +6163,7 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe randomReportAuditDescription: 'Exigir que alguns relatórios sejam aprovados manualmente, mesmo que sejam elegíveis para aprovação automática.', autoPayApprovedReportsTitle: 'Relatórios aprovados para pagamento automático', autoPayApprovedReportsSubtitle: 'Configure quais relatórios de despesas são elegíveis para pagamento automático.', - autoPayApprovedReportsLimitError: ({currency}: AutoPayApprovedReportsLimitErrorParams = {}) => `Insira um valor menor que ${currency ?? ''}20.000`, + autoPayApprovedReportsLimitError: (currency?: string) => `Insira um valor menor que ${currency ?? ''}20.000`, autoPayApprovedReportsLockedSubtitle: 'Vá para Mais recursos e ative Fluxos de trabalho, depois adicione Pagamentos para desbloquear este recurso.', autoPayReportsUnderTitle: 'Relatórios de pagamento automático sob', autoPayReportsUnderDescription: 'Relatórios de despesas totalmente compatíveis abaixo deste valor serão pagos automaticamente.', @@ -6203,13 +6176,13 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe approver: 'Aprovador', requireDescription: 'Exigir descrição', descriptionHint: 'Dica de descrição', - descriptionHintDescription: ({categoryName}: CategoryNameParams) => + descriptionHintDescription: (categoryName: string) => `Lembre os funcionários de fornecer informações adicionais para gastos em “${categoryName}”. Essa dica aparece no campo de descrição das despesas.`, descriptionHintLabel: 'Dica', descriptionHintSubtitle: 'Dica profissional: Quanto mais curto, melhor!', maxAmount: 'Valor máximo', flagAmountsOver: 'Sinalizar valores acima de', - flagAmountsOverDescription: ({categoryName}: CategoryNameParams) => `Aplica-se à categoria “${categoryName}”.`, + flagAmountsOverDescription: (categoryName: string) => `Aplica-se à categoria “${categoryName}”.`, flagAmountsOverSubtitle: 'Isso substitui o valor máximo para todas as despesas.', expenseLimitTypes: { expense: 'Despesa individual', @@ -7419,12 +7392,12 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe authenticatePaymentCard: 'Autenticar cartão de pagamento', mobileReducedFunctionalityMessage: 'Você não pode fazer alterações na sua assinatura no aplicativo móvel.', badge: { - freeTrial: ({numOfDays}: BadgeFreeTrialParams) => `Avaliação gratuita: restam ${numOfDays} ${numOfDays === 1 ? 'dia' : 'dias'}`, + freeTrial: (numOfDays: number) => `Avaliação gratuita: restam ${numOfDays} ${numOfDays === 1 ? 'dia' : 'dias'}`, }, billingBanner: { policyOwnerAmountOwed: { title: 'Suas informações de pagamento estão desatualizadas', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `Atualize seu cartão de pagamento até ${date} para continuar usando todos os seus recursos favoritos.`, + subtitle: (date: string) => `Atualize seu cartão de pagamento até ${date} para continuar usando todos os seus recursos favoritos.`, }, policyOwnerAmountOwedOverdue: { title: 'Seu pagamento não pôde ser processado', @@ -7435,7 +7408,7 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe }, policyOwnerUnderInvoicing: { title: 'Suas informações de pagamento estão desatualizadas', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `Seu pagamento está atrasado. Pague sua fatura até ${date} para evitar a interrupção do serviço.`, + subtitle: (date: string) => `Seu pagamento está atrasado. Pague sua fatura até ${date} para evitar a interrupção do serviço.`, }, policyOwnerUnderInvoicingOverdue: { title: 'Suas informações de pagamento estão desatualizadas', @@ -7448,17 +7421,16 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe }, cardAuthenticationRequired: { title: 'Seu cartão de pagamento não foi totalmente autenticado.', - subtitle: ({cardEnding}: BillingBannerCardAuthenticationRequiredParams) => `Conclua o processo de autenticação para ativar seu cartão de pagamento com final ${cardEnding}.`, + subtitle: (cardEnding: string) => `Conclua o processo de autenticação para ativar seu cartão de pagamento com final ${cardEnding}.`, }, insufficientFunds: { title: 'Não foi possível cobrar no seu cartão', - subtitle: ({amountOwed}: BillingBannerInsufficientFundsParams) => + subtitle: (amountOwed: number) => `Seu cartão de pagamento foi recusado por falta de saldo. Tente novamente ou adicione um novo cartão de pagamento para liquidar o saldo pendente de ${amountOwed}.`, }, cardExpired: { title: 'Não foi possível cobrar no seu cartão', - subtitle: ({amountOwed}: BillingBannerCardExpiredParams) => - `Seu cartão de pagamento expirou. Adicione um novo cartão de pagamento para quitar o saldo pendente de ${amountOwed}.`, + subtitle: (amountOwed: number) => `Seu cartão de pagamento expirou. Adicione um novo cartão de pagamento para quitar o saldo pendente de ${amountOwed}.`, }, cardExpireSoon: { title: 'Seu cartão vai expirar em breve', @@ -7499,8 +7471,8 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe title: 'Pagamento', subtitle: 'Adicione um cartão para pagar sua assinatura do Expensify.', addCardButton: 'Adicionar cartão de pagamento', - cardNextPayment: ({nextPaymentDate}: CardNextPaymentParams) => `Sua próxima data de pagamento é ${nextPaymentDate}.`, - cardEnding: ({cardNumber}: CardEndingParams) => `Cartão terminado em ${cardNumber}`, + cardNextPayment: (nextPaymentDate: string) => `Sua próxima data de pagamento é ${nextPaymentDate}.`, + cardEnding: (cardNumber: string) => `Cartão terminado em ${cardNumber}`, cardInfo: ({name, expiration, currency}: CardInfoParams) => `Nome: ${name}, Validade: ${expiration}, Moeda: ${currency}`, changeCard: 'Alterar cartão de pagamento', changeCurrency: 'Alterar moeda de pagamento', @@ -7700,7 +7672,7 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe Como copiloto, você não tem acesso a esta página. Desculpe! `), - notAllowedMessage: ({accountOwnerEmail}: AccountOwnerParams) => + notAllowedMessage: (accountOwnerEmail: string) => `Como copiloto de ${accountOwnerEmail}, você não tem permissão para realizar esta ação. Desculpe!`, copilotAccess: 'Acesso ao Copilot', }, diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index 6d18a2de5848..18eca70142fc 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -19,56 +19,30 @@ import type {Country} from '@src/CONST'; import type OriginalMessage from '@src/types/onyx/OriginalMessage'; import type en from './en'; import type { - AccountOwnerParams, - ActionsAreCurrentlyRestricted, AddedOrDeletedPolicyReportFieldParams, AddedPolicyApprovalRuleParams, AddEmployeeParams, AddOrDeletePolicyCustomUnitRateParams, - AddressLineParams, AirlineParams, - AlreadySignedInParams, ApprovalWorkflowErrorParams, - ApprovedAmountParams, AssignedCardParams, - AssigneeParams, - AuthenticationErrorParams, - AutoPayApprovedReportsLimitErrorParams, - BadgeFreeTrialParams, - BankAccountLastFourParams, BeginningOfArchivedRoomParams, - BeginningOfChatHistoryAdminRoomParams, - BeginningOfChatHistoryAnnounceRoomParams, - BeginningOfChatHistoryDomainRoomParams, BeginningOfChatHistoryInvoiceRoomParams, BeginningOfChatHistoryParams, BeginningOfChatHistoryPolicyExpenseChatParams, BeginningOfChatHistoryUserRoomParams, - BillableDefaultDescriptionParams, - BillingBannerCardAuthenticationRequiredParams, - BillingBannerCardExpiredParams, BillingBannerCardOnDisputeParams, BillingBannerDisputePendingParams, - BillingBannerInsufficientFundsParams, BillingBannerOwnerAmountOwedOverdueParams, - BillingBannerSubtitleWithDateParams, BusinessBankAccountParams, - BusinessRegistrationNumberParams, - BusinessTaxIDParams, CanceledRequestParams, - CardEndingParams, CardInfoParams, - CardNextPaymentParams, - CategoryNameParams, - ChangedApproverMessageParams, ChangeFieldParams, ChangeOwnerDuplicateSubscriptionParams, - ChangeOwnerHasFailedSettlementsParams, ChangeOwnerSubscriptionParams, ChangeReportPolicyParams, ChangeTypeParams, CharacterLengthLimitParams, - CharacterLimitParams, ChatWithAccountManagerParams, CompanyCardBankName, CompanyCardFeedNameParams, @@ -447,7 +421,7 @@ const translations: TranslationDeepObject = { currentMonth: '本月', ssnLast4: '社会安全号后 4 位', ssnFull9: '完整 9 位 SSN', - addressLine: ({lineNumber}: AddressLineParams) => `地址行 ${lineNumber}`, + addressLine: (lineNumber: number) => `地址行 ${lineNumber}`, personalAddress: '个人地址', companyAddress: '公司地址', noPO: '请不要使用邮政信箱或代收邮件地址。', @@ -905,7 +879,7 @@ const translations: TranslationDeepObject = { }, }, thirdPartySignIn: { - alreadySignedIn: ({email}: AlreadySignedInParams) => `您已经以 ${email} 的身份登录。`, + alreadySignedIn: (email: string) => `您已经以 ${email} 的身份登录。`, goBackMessage: ({provider}: GoBackMessageParams) => `不想使用 ${provider} 登录?`, continueWithMyCurrentSession: '继续当前会话', redirectToDesktopMessage: '完成登录后,我们会将您重定向到桌面应用程序。', @@ -973,11 +947,9 @@ const translations: TranslationDeepObject = { reportActionsView: { beginningOfArchivedRoom: ({reportName, reportDetailsLink}: BeginningOfArchivedRoomParams) => `你错过了${reportName}中的聚会,这里已经没什么可看的了。`, - beginningOfChatHistoryDomainRoom: ({domainRoom}: BeginningOfChatHistoryDomainRoomParams) => - `此聊天室面向 ${domainRoom} 域上的所有 Expensify 成员。用它与同事聊天、分享技巧并提出问题。`, - beginningOfChatHistoryAdminRoom: ({workspaceName}: BeginningOfChatHistoryAdminRoomParams) => `这是与 ${workspaceName} 管理员的聊天。可用于讨论工作区设置等内容。`, - beginningOfChatHistoryAnnounceRoom: ({workspaceName}: BeginningOfChatHistoryAnnounceRoomParams) => - `此聊天包含 ${workspaceName} 中的所有人。请用于发布最重要的公告。`, + beginningOfChatHistoryDomainRoom: (domainRoom: string) => `此聊天室面向 ${domainRoom} 域上的所有 Expensify 成员。用它与同事聊天、分享技巧并提出问题。`, + beginningOfChatHistoryAdminRoom: (workspaceName: string) => `这是与 ${workspaceName} 管理员的聊天。可用于讨论工作区设置等内容。`, + beginningOfChatHistoryAnnounceRoom: (workspaceName: string) => `此聊天包含 ${workspaceName} 中的所有人。请用于发布最重要的公告。`, beginningOfChatHistoryUserRoom: ({reportName, reportDetailsLink}: BeginningOfChatHistoryUserRoomParams) => `此聊天室用于讨论任何与 ${reportName} 相关的内容。`, beginningOfChatHistoryInvoiceRoom: ({invoicePayer, invoiceReceiver}: BeginningOfChatHistoryInvoiceRoomParams) => @@ -1307,8 +1279,8 @@ const translations: TranslationDeepObject = { businessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => (amount ? `已使用银行账户 ${last4Digits} 支付 ${amount}` : `使用银行账户 ${last4Digits} 支付`), automaticallyPaidWithBusinessBankAccount: ({amount, last4Digits}: BusinessBankAccountParams) => `已使用银行账户尾号为 ${last4Digits},通过工作区规则支付了 ${amount ? `${amount} ` : ''}`, - invoicePersonalBank: ({lastFour}: BankAccountLastFourParams) => `个人账户 • ${lastFour}`, - invoiceBusinessBank: ({lastFour}: BankAccountLastFourParams) => `商务账户 · 尾号 ${lastFour}`, + invoicePersonalBank: (lastFour: string) => `个人账户 • ${lastFour}`, + invoiceBusinessBank: (lastFour: string) => `商务账户 · 尾号 ${lastFour}`, nextStep: '下一步', finished: '已完成', flip: '翻转', @@ -1331,7 +1303,7 @@ const translations: TranslationDeepObject = { payerSettled: ({amount}: PayerSettledParams) => `已支付 ${amount}`, payerSettledWithMissingBankAccount: ({amount}: PayerSettledParams) => `已支付 ${amount}。添加一个银行账户以接收你的付款。`, automaticallyApproved: `已通过工作区规则批准`, - approvedAmount: ({amount}: ApprovedAmountParams) => `已批准 ${amount}`, + approvedAmount: (amount: number | string) => `已批准 ${amount}`, approvedMessage: `已批准`, unapproved: `未批准`, automaticallyForwarded: `已通过工作区规则批准`, @@ -1529,7 +1501,7 @@ const translations: TranslationDeepObject = { title: '更改审批人', subtitle: '选择一个选项以更改此报表的审批人。', description: ({workflowSettingLink}: WorkflowSettingsParam) => `您也可以在工作流设置中永久更改所有报表的审批人。`, - changedApproverMessage: ({managerID}: ChangedApproverMessageParams) => `将审批人更改为 `, + changedApproverMessage: (managerID: number) => `将审批人更改为 `, actions: { addApprover: '添加审批人', addApproverSubtitle: '在现有工作流程中添加一位额外的审批人。', @@ -2392,7 +2364,7 @@ ${amount},商户:${merchant} - ${date}`, cardLastFour: '尾号为', addFirstPaymentMethod: '在应用中添加支付方式,以便直接发送和接收付款。', defaultPaymentMethod: '默认', - bankAccountLastFour: ({lastFour}: BankAccountLastFourParams) => `银行账户 • ${lastFour}`, + bankAccountLastFour: (lastFour: string) => `银行账户 • ${lastFour}`, }, preferencesPage: { appSection: { @@ -3322,7 +3294,7 @@ ${ whatsTheBusinessName: '公司名称是什么?', whatsTheBusinessAddress: '公司地址是什么?', whatsTheBusinessContactInformation: '商务联系信息是什么?', - whatsTheBusinessRegistrationNumber: ({country}: BusinessRegistrationNumberParams) => { + whatsTheBusinessRegistrationNumber: (country: string) => { switch (country) { case CONST.COUNTRY.GB: return '公司注册号(CRN)是什么?'; @@ -3330,7 +3302,7 @@ ${ return '营业注册号是多少?'; } }, - whatsTheBusinessTaxIDEIN: ({country}: BusinessTaxIDParams) => { + whatsTheBusinessTaxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return '什么是雇主识别号码(EIN)?'; @@ -3350,7 +3322,7 @@ ${ whatsTheBusinessAnnualPayment: '该企业的年度支付总额是多少?', whatsYourExpectedAverageReimbursements: '您预期的平均报销金额是多少?', registrationNumber: '注册号', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return 'EIN'; @@ -3389,7 +3361,7 @@ ${ findBusinessType: '查找业务类型', error: { registrationNumber: '请提供有效的注册号', - taxIDEIN: ({country}: BusinessTaxIDParams) => { + taxIDEIN: (country: string) => { switch (country) { case CONST.COUNTRY.US: return '请输入有效的雇主识别号码 (EIN)'; @@ -3827,7 +3799,7 @@ ${ existingConnectionsDescription: ({connectionName}: ConnectionNameParams) => `由于您之前已连接到 ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]},您可以选择复用现有连接或创建新连接。`, lastSyncDate: ({connectionName, formattedDate}: LastSyncDateParams) => `${connectionName} - 上次同步时间:${formattedDate}`, - authenticationError: ({connectionName}: AuthenticationErrorParams) => `由于身份验证错误,无法连接到 ${connectionName}。`, + authenticationError: (connectionName: string) => `由于身份验证错误,无法连接到 ${connectionName}。`, learnMore: '了解更多', memberAlternateText: '成员可以提交和批准报表。', adminAlternateText: '管理员对所有报表和工作区设置拥有完整的编辑权限。', @@ -4147,8 +4119,8 @@ ${ accountsSwitchDescription: '启用的类别将在成员创建报销时可供选择。', trackingCategories: '跟踪类别', trackingCategoriesDescription: '选择如何在 Expensify 中处理 Xero 跟踪类别。', - mapTrackingCategoryTo: ({categoryName}: CategoryNameParams) => `将 Xero ${categoryName} 映射到`, - mapTrackingCategoryToDescription: ({categoryName}: CategoryNameParams) => `选择在导出到 Xero 时将 ${categoryName} 映射到哪里。`, + mapTrackingCategoryTo: (categoryName: string) => `将 Xero ${categoryName} 映射到`, + mapTrackingCategoryToDescription: (categoryName: string) => `选择在导出到 Xero 时将 ${categoryName} 映射到哪里。`, customers: '向客户重新计费', customersDescription: '选择是否在 Expensify 中向客户重新计费。您在 Xero 中的客户联系人可以被标记到报销中,并会以销售发票的形式导出到 Xero。', taxesDescription: '选择如何在 Expensify 中处理 Xero 税费。', @@ -4782,7 +4754,7 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM directFeed: '直接数据馈送', whoNeedsCardAssigned: '谁需要被分配一张卡?', chooseCard: '选择一张卡片', - chooseCardFor: ({assignee}: AssigneeParams) => `为 ${assignee} 选择一张卡片。找不到您要找的卡片?请告诉我们。`, + chooseCardFor: (assignee: string) => `为 ${assignee} 选择一张卡片。找不到您要找的卡片?请告诉我们。`, noActiveCards: '此信息流中没有有效的卡片', somethingMightBeBroken: '或者某些功能可能出现故障。无论如何,如果你有任何问题,只需联系 Concierge', @@ -4853,19 +4825,19 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM deactivate: '停用卡片', changeCardLimit: '更改卡片限额', changeLimit: '更改限额', - smartLimitWarning: ({limit}: CharacterLimitParams) => `如果您将此卡的额度更改为 ${limit},在您批准该卡上的更多报销前,新交易将被拒绝。`, - monthlyLimitWarning: ({limit}: CharacterLimitParams) => `如果您将此卡的限额更改为 ${limit},新的交易将在下个月之前被拒绝。`, - fixedLimitWarning: ({limit}: CharacterLimitParams) => `如果您将此卡的限额更改为 ${limit},新的交易将被拒绝。`, + smartLimitWarning: (limit: number | string) => `如果您将此卡的额度更改为 ${limit},在您批准该卡上的更多报销前,新交易将被拒绝。`, + monthlyLimitWarning: (limit: number | string) => `如果您将此卡的限额更改为 ${limit},新的交易将在下个月之前被拒绝。`, + fixedLimitWarning: (limit: number | string) => `如果您将此卡的限额更改为 ${limit},新的交易将被拒绝。`, changeCardLimitType: '更改卡片限额类型', changeLimitType: '更改限额类型', - changeCardSmartLimitTypeWarning: ({limit}: CharacterLimitParams) => `如果您将此卡的限额类型更改为智能限额,新交易将会被拒绝,因为未批准的 ${limit} 限额已被用尽。`, - changeCardMonthlyLimitTypeWarning: ({limit}: CharacterLimitParams) => `如果您将此卡的限额类型更改为“每月”,新的交易将被拒绝,因为已达到 ${limit} 的每月限额。`, + changeCardSmartLimitTypeWarning: (limit: number | string) => `如果您将此卡的限额类型更改为智能限额,新交易将会被拒绝,因为未批准的 ${limit} 限额已被用尽。`, + changeCardMonthlyLimitTypeWarning: (limit: number | string) => `如果您将此卡的限额类型更改为“每月”,新的交易将被拒绝,因为已达到 ${limit} 的每月限额。`, addShippingDetails: '添加配送详情', - issuedCard: ({assignee}: AssigneeParams) => `已为 ${assignee} 发放了一张 Expensify Card!该卡将在 2–3 个工作日内送达。`, - issuedCardNoShippingDetails: ({assignee}: AssigneeParams) => `已为 ${assignee} 发行了一张 Expensify Card!一旦确认邮寄详情,卡片将被寄出。`, + issuedCard: (assignee: string) => `已为 ${assignee} 发放了一张 Expensify Card!该卡将在 2–3 个工作日内送达。`, + issuedCardNoShippingDetails: (assignee: string) => `已为 ${assignee} 发行了一张 Expensify Card!一旦确认邮寄详情,卡片将被寄出。`, issuedCardVirtual: ({assignee, link}: IssueVirtualCardParams) => `已向 ${assignee} 发放了一张虚拟 Expensify 卡!可以立即使用 ${link}。`, - addedShippingDetails: ({assignee}: AssigneeParams) => `${assignee} 已添加邮寄详情。Expensify Card 将在 2–3 个工作日内送达。`, - replacedCard: ({assignee}: AssigneeParams) => `${assignee} 已更换其 Expensify Card。新卡将在 2-3 个工作日内送达。`, + addedShippingDetails: (assignee: string) => `${assignee} 已添加邮寄详情。Expensify Card 将在 2–3 个工作日内送达。`, + replacedCard: (assignee: string) => `${assignee} 已更换其 Expensify Card。新卡将在 2-3 个工作日内送达。`, replacedVirtualCard: ({assignee, link}: IssueVirtualCardParams) => `${assignee} 已更换他们的虚拟 Expensify 卡!${link} 可以立即使用。`, card: '卡片', replacementCard: '补发卡', @@ -5808,7 +5780,7 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM 如果你想接管其整个订阅的账单,请先让他们将你添加为其所有工作区的管理员,然后再接管账单。`, hasFailedSettlementsTitle: '无法转移所有权', hasFailedSettlementsButtonText: '明白了', - hasFailedSettlementsText: ({email}: ChangeOwnerHasFailedSettlementsParams) => + hasFailedSettlementsText: (email: string) => `您无法接管账单,因为 ${email} 有一笔逾期未结清的 Expensify Card 结算。请让他们联系 concierge@expensify.com 解决此问题。之后,您就可以接管此工作区的账单。`, failedToClearBalanceTitle: '清除余额失败', failedToClearBalanceButtonText: '确定', @@ -6007,7 +5979,7 @@ ${reportName} }, restrictedAction: { restricted: '受限', - actionsAreCurrentlyRestricted: ({workspaceName}: ActionsAreCurrentlyRestricted) => `当前对 ${workspaceName} 工作空间的操作受到限制`, + actionsAreCurrentlyRestricted: (workspaceName: string) => `当前对 ${workspaceName} 工作空间的操作受到限制`, workspaceOwnerWillNeedToAddOrUpdatePaymentCard: ({workspaceOwnerName}: WorkspaceOwnerWillNeedToAddOrUpdatePaymentCardParams) => `工作区所有者 ${workspaceOwnerName} 需要添加或更新档案中的付款卡片,以解锁新的工作区活动。`, youWillNeedToAddOrUpdatePaymentCard: '您需要添加或更新档案中的付款卡,才能解锁新的工作区活动。', @@ -6046,7 +6018,7 @@ ${reportName} alwaysNonReimbursable: '始终为不予报销', alwaysNonReimbursableDescription: '从不向员工报销费用', billableDefault: '可计费默认设置', - billableDefaultDescription: ({tagsPageLink}: BillableDefaultDescriptionParams) => + billableDefaultDescription: (tagsPageLink: string) => `选择现金和信用卡报销是否应默认为可计费。可计费报销可在标签中启用或停用。`, billable: '可计费', billableDescription: '费用最常会重新向客户计费', @@ -6077,7 +6049,7 @@ ${reportName} randomReportAuditDescription: '即使报表符合自动审批条件,也要求其中一部分必须由人工审批。', autoPayApprovedReportsTitle: '自动支付已批准的报表', autoPayApprovedReportsSubtitle: '配置哪些报销报告符合自动付款条件。', - autoPayApprovedReportsLimitError: ({currency}: AutoPayApprovedReportsLimitErrorParams = {}) => `请输入小于 ${currency ?? ''}20,000 的金额`, + autoPayApprovedReportsLimitError: (currency?: string) => `请输入小于 ${currency ?? ''}20,000 的金额`, autoPayApprovedReportsLockedSubtitle: '前往“更多功能”并启用“工作流”,然后添加“付款”以解锁此功能。', autoPayReportsUnderTitle: '自动支付报表至', autoPayReportsUnderDescription: '金额低于此数且完全合规的报销单将自动支付。', @@ -6089,12 +6061,12 @@ ${reportName} approver: '审批人', requireDescription: '要求描述', descriptionHint: '描述提示', - descriptionHintDescription: ({categoryName}: CategoryNameParams) => `提醒员工为“${categoryName}”支出提供更多信息。此提示将显示在报销单的描述字段中。`, + descriptionHintDescription: (categoryName: string) => `提醒员工为“${categoryName}”支出提供更多信息。此提示将显示在报销单的描述字段中。`, descriptionHintLabel: '提示', descriptionHintSubtitle: '专业提示:越短越好!', maxAmount: '最高金额', flagAmountsOver: '标记高于', - flagAmountsOverDescription: ({categoryName}: CategoryNameParams) => `适用于类别“${categoryName}”。`, + flagAmountsOverDescription: (categoryName: string) => `适用于类别“${categoryName}”。`, flagAmountsOverSubtitle: '这将覆盖所有报销的最高金额。', expenseLimitTypes: { expense: '单笔报销', @@ -7272,12 +7244,12 @@ ${reportName} authenticatePaymentCard: '验证支付卡', mobileReducedFunctionalityMessage: '您无法在移动应用中更改订阅。', badge: { - freeTrial: ({numOfDays}: BadgeFreeTrialParams) => `免费试用:剩余 ${numOfDays} ${numOfDays === 1 ? '天' : '天'}`, + freeTrial: (numOfDays: number) => `免费试用:剩余 ${numOfDays} ${numOfDays === 1 ? '天' : '天'}`, }, billingBanner: { policyOwnerAmountOwed: { title: '您的付款信息已过期', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `请在 ${date} 前更新您的支付卡,以继续使用您最喜爱的所有功能。`, + subtitle: (date: string) => `请在 ${date} 前更新您的支付卡,以继续使用您最喜爱的所有功能。`, }, policyOwnerAmountOwedOverdue: { title: '无法处理您的付款', @@ -7286,7 +7258,7 @@ ${reportName} }, policyOwnerUnderInvoicing: { title: '您的付款信息已过期', - subtitle: ({date}: BillingBannerSubtitleWithDateParams) => `您的付款已逾期。请在 ${date} 前支付您的发票,以避免服务中断。`, + subtitle: (date: string) => `您的付款已逾期。请在 ${date} 前支付您的发票,以避免服务中断。`, }, policyOwnerUnderInvoicingOverdue: { title: '您的付款信息已过期', @@ -7299,15 +7271,15 @@ ${reportName} }, cardAuthenticationRequired: { title: '您的付款卡尚未完成身份验证。', - subtitle: ({cardEnding}: BillingBannerCardAuthenticationRequiredParams) => `请完成身份验证流程,以激活您尾号为 ${cardEnding} 的支付卡。`, + subtitle: (cardEnding: string) => `请完成身份验证流程,以激活您尾号为 ${cardEnding} 的支付卡。`, }, insufficientFunds: { title: '无法扣款您的银行卡', - subtitle: ({amountOwed}: BillingBannerInsufficientFundsParams) => `由于资金不足,您的付款卡被拒。请重试或添加新的付款卡以清清您尚未结清的 ${amountOwed} 余额。`, + subtitle: (amountOwed: number) => `由于资金不足,您的付款卡被拒。请重试或添加新的付款卡以清清您尚未结清的 ${amountOwed} 余额。`, }, cardExpired: { title: '无法扣款您的银行卡', - subtitle: ({amountOwed}: BillingBannerCardExpiredParams) => `您的付款卡已过期。请添加一张新的付款卡以清除您未结清的${amountOwed}余额。`, + subtitle: (amountOwed: number) => `您的付款卡已过期。请添加一张新的付款卡以清除您未结清的${amountOwed}余额。`, }, cardExpireSoon: { title: '您的银行卡即将到期', @@ -7346,8 +7318,8 @@ ${reportName} title: '付款', subtitle: '添加一张银行卡来支付你的 Expensify 订阅费用。', addCardButton: '添加付款卡', - cardNextPayment: ({nextPaymentDate}: CardNextPaymentParams) => `您的下一个付款日期是 ${nextPaymentDate}。`, - cardEnding: ({cardNumber}: CardEndingParams) => `以 ${cardNumber} 结尾的卡片`, + cardNextPayment: (nextPaymentDate: string) => `您的下一个付款日期是 ${nextPaymentDate}。`, + cardEnding: (cardNumber: string) => `以 ${cardNumber} 结尾的卡片`, cardInfo: ({name, expiration, currency}: CardInfoParams) => `名称:${name},到期日:${expiration},货币:${currency}`, changeCard: '更改付款卡', changeCurrency: '更改付款货币', @@ -7543,8 +7515,7 @@ ${reportName} noAccessMessage: dedent(` 作为协助者,你无权访问此页面。抱歉! `), - notAllowedMessage: ({accountOwnerEmail}: AccountOwnerParams) => - `作为${accountOwnerEmail}的副驾,你没有权限执行此操作。抱歉!`, + notAllowedMessage: (accountOwnerEmail: string) => `作为${accountOwnerEmail}的副驾,你没有权限执行此操作。抱歉!`, copilotAccess: 'Copilot 访问权限', }, debug: { From 963af95206b31e142ea1981659cfc75a195e29b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Rejdak?= Date: Fri, 12 Dec 2025 10:14:36 +0100 Subject: [PATCH 4/4] minor cleanup --- src/languages/es.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/es.ts b/src/languages/es.ts index d210e16d6a2f..09c80ac01c6d 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -5742,7 +5742,7 @@ ${amount} para ${merchant} - ${date}`, randomReportAuditDescription: 'Requiere que algunos informes sean aprobados manualmente, incluso si son elegibles para la aprobación automática.', autoPayApprovedReportsTitle: 'Pago automático de informes aprobados', autoPayApprovedReportsSubtitle: 'Configura qué informes de gastos pueden pagarse de forma automática.', - autoPayApprovedReportsLimitError: (currency?) => `Por favor, introduce un monto menor a ${currency ?? ''}20,000`, + autoPayApprovedReportsLimitError: (currency) => `Por favor, introduce un monto menor a ${currency ?? ''}20,000`, autoPayApprovedReportsLockedSubtitle: 'Ve a más funciones y habilita flujos de trabajo, luego agrega pagos para desbloquear esta función.', autoPayReportsUnderTitle: 'Pagar automáticamente informes por debajo de', autoPayReportsUnderDescription: 'Los informes de gastos totalmente conformes por debajo de esta cantidad se pagarán automáticamente.',