From c23794a23cbf2c6d5aaba1b05cda38c89f6bd29d Mon Sep 17 00:00:00 2001 From: MDW Date: Mon, 22 Jan 2024 02:57:10 +0100 Subject: [PATCH] NEW: Script for fast identification of missing/unused/duplicate translations # NEW: Script for fast identification of missing/unused/duplicate translations Fast analysis of files to identify missing, unused and duplicate translations. Fast = less than 3 seconds when there are no exceptions (on my development machine). --- .pre-commit-config.yaml | 11 +- .../duplicate_translation_keys.lst | 265 ++ dev/translation/dynamic_translation_keys.lst | 3687 +++++++++++++++++ dev/translation/ignore_translation_keys.lst | 1183 ++++++ .../sanity_check_trans_missing_unused.sh | 212 + pyproject.toml | 2 +- 6 files changed, 5358 insertions(+), 2 deletions(-) create mode 100644 dev/translation/duplicate_translation_keys.lst create mode 100644 dev/translation/dynamic_translation_keys.lst create mode 100644 dev/translation/ignore_translation_keys.lst create mode 100755 dev/translation/sanity_check_trans_missing_unused.sh diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 45f51d5c5db..814f144508c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -62,7 +62,9 @@ repos: rev: v6.2.1 hooks: - id: beautysh - exclude: (?x)^(dev/setup/git/hooks/pre-commit)$ + exclude: | + (?x)^(dev/setup/git/hooks/pre-commit + )$ args: [--tab] # Run local script @@ -77,6 +79,13 @@ repos: # ``` - repo: local hooks: + - name: Find missing/unused/duplicate language keys + id: check-translations + files: (?x)^(htdocs/langs/en_US/.*\.lang) + language: script + entry: ./dev/translation/sanity_check_trans_missing_unused.sh + pass_filenames: false + args: [list] - id: local-precommit-script name: Run local script before commit if it exists language: system diff --git a/dev/translation/duplicate_translation_keys.lst b/dev/translation/duplicate_translation_keys.lst new file mode 100644 index 00000000000..4e2c4f3b7a8 --- /dev/null +++ b/dev/translation/duplicate_translation_keys.lst @@ -0,0 +1,265 @@ +# File with duplicate translation keys that are ignored for +# reporting duplicates. +# FYI: Headers generated on https://manytools.org/hacker-tools/ascii-banner/ - DOS Rebel or ANSI Shadow +# Can also use 'figlet' tool (installable with `apt-get install figlet`) +# +# ██████████ +# ░░███░░░░░█ +# ░███ █ ░ █████ █████ ████████ ██████ ████████ █████ ██████ █████ +# ░██████ ░░███ ░░███ ░░███░░███ ███░░███░░███░░███ ███░░ ███░░███ ███░░ +# ░███░░█ ░░░█████░ ░███ ░███░███████ ░███ ░███ ░░█████ ░███████ ░░█████ +# ░███ ░ █ ███░░░███ ░███ ░███░███░░░ ░███ ░███ ░░░░███░███░░░ ░░░░███ +# ██████████ █████ █████ ░███████ ░░██████ ████ █████ ██████ ░░██████ ██████ +# ░░░░░░░░░░ ░░░░░ ░░░░░ ░███░░░ ░░░░░░ ░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░░░░ +# ░███ +# █████ +# ░░░░░ +# Expenses and trips overlap quite a bit, which is by design +# +AUTHOR +AUTHORPAIEMENT +AddTrip +AllExpenseReport +AllExpenseReports +AnyOtherInThisListCanValidate +AttachTheNewLineToTheDocument +AucuneLigne +BrouillonnerTrip +CANCEL_USER +CarCategory +ClassifyRefunded +CompanyVisited +ConfirmBrouillonnerTrip +ConfirmCancelTrip +ConfirmCloneExpenseReport +ConfirmDeleteTrip +ConfirmPaidTrip +ConfirmRefuseTrip +ConfirmSaveTrip +ConfirmValideTrip +DATE_CANCEL +DATE_PAIEMENT +DATE_REFUS +DATE_SAVE +DefaultCategoryCar +DefaultRangeNumber +DeleteTrip +EX_BRE +EX_CAM +EX_CAM_VP +EX_CAR +EX_CUR +EX_DOC +EX_EMM +EX_FUE +EX_FUE_VP +EX_GUM +EX_HOT +EX_IND +EX_KME +EX_OTR +EX_PAR +EX_PAR_VP +EX_POS +EX_SUM +EX_SUO +EX_TAX +EX_TOL +EX_TOL_VP +ErrorBadValueForParameter +ErrorDoubleDeclaration +ErrorRecordNotFound +Error_EXPENSEREPORT_ADDON_NotDefined +ExpenseRangeOffset +ExpenseReportApplyTo +ExpenseReportApproved +ExpenseReportApprovedMessage +ExpenseReportCanceled +ExpenseReportCanceledMessage +ExpenseReportConstraintViolationError +ExpenseReportConstraintViolationWarning +ExpenseReportDateEnd +ExpenseReportDateStart +ExpenseReportDomain +ExpenseReportIkDesc +ExpenseReportLimitAmount +ExpenseReportLimitOn +ExpenseReportLine +ExpenseReportPaid +ExpenseReportPaidMessage +ExpenseReportPayment +ExpenseReportRef +ExpenseReportRefused +ExpenseReportRefusedMessage +ExpenseReportRestrictive +ExpenseReportRuleErrorOnSave +ExpenseReportRuleSave +ExpenseReportRulesDesc +ExpenseReportWaitingForApproval +ExpenseReportWaitingForApprovalMessage +ExpenseReportWaitingForReApproval +ExpenseReportWaitingForReApprovalMessage +ExpenseReportsIk +ExpenseReportsRules +ExpenseReportsToApprove +ExpenseReportsToPay +ExpensesArea +FeesKilometersOrAmout +LastExpenseReports +ListOfFees +ListOfTrips +ListToApprove +ListTripsAndExpenses +MOTIF_CANCEL +MOTIF_REFUS +ModePaiement +NOT_AUTHOR +NewTrip +NoTripsToExportCSV +OnExpense +PDFStandardExpenseReports +PaidTrip +REFUSEUR +RangeIk +RangeNum +SaveTrip +ShowExpenseReport +ShowTrip +TF_BUS +TF_CAR +TF_ESSENCE +TF_HOTEL +TF_LUNCH +TF_METRO +TF_OTHER +TF_PEAGE +TF_TAXI +TF_TRAIN +TF_TRIP +TripCard +TripId +TripNDF +TripSociete +Trips +TripsAndExpenses +TripsAndExpensesStatistics +TypeFees +UploadANewFileNow +VALIDATOR +VALIDOR +ValidateAndSubmit +ValidatedWaitingApproval +ValideTrip +byEX_DAY +byEX_EXP +byEX_MON +byEX_YEA +expenseReportCatDisabled +expenseReportCoef +expenseReportCoefUndefined +expenseReportOffset +expenseReportPrintExample +expenseReportRangeDisabled +expenseReportRangeFromTo +expenseReportRangeMoreThan +expenseReportTotalForFive +nolimitbyEX_DAY +nolimitbyEX_EXP +nolimitbyEX_MON +nolimitbyEX_YEA +# +# █████████ █████ ███ +# ███░░░░░███ ░░███ ░░░ +# ░███ ░░░ ███████ ████████ ████ ████████ ██████ +# ░░█████████ ░░░███░ ░░███░░███░░███ ░░███░░███ ███░░███ +# ░░░░░░░░███ ░███ ░███ ░░░ ░███ ░███ ░███░███████ +# ███ ░███ ░███ ███ ░███ ░███ ░███ ░███░███░░░ +# ░░█████████ ░░█████ █████ █████ ░███████ ░░██████ +# ░░░░░░░░░ ░░░░░ ░░░░░ ░░░░░ ░███░░░ ░░░░░░ +# ░███ +# █████ +# ░░░░░ +# Stripe is similar to Paybox and has some keys in common +# +AccountParameter +CSSUrlForPaymentForm +Continue +Creditor +FollowingUrlAreAvailableToMakePayments +InformationToFindParameters +PaymentCode +PaymentForm +ThisIsInformationOnPayment +ThisScreenAllowsYouToPay +ToComplete +UsageParameter +WelcomeOnPaymentPage +YourEMail + + + +############################################################# +############################################################# +AccountancyCode +AffectedTo +AvailableFormats +BIC +BankTransferAmount +Buy +ByDefaultInList +ByYear +CashDesk +ChooseFileToImport +ConfirmCloneAsk +ContractSigned +ContractStatusClosed +CreateUser +CreatedBy +Customer +CustomerInvoicePayment +DatabaseName +DatabaseServer +DeleteFromCat +DeleteType +DriverType +ExportableDatas +ExportsArea +History +IBAN +IdModule +InterventionSentByEMail +InvoiceRef +InvoiceSubtype +LanguageFile +LineId +ListOfStockMovements +Location +MinimumAmount +Movements +NewSubscription +NewUser +NoSupplierOrder +NoticePeriod +OrderWaiting +PriceFormatInCurrentLanguage +Prospect +Prospect +ReOpen +ReceptionClassifyClosedInDolibarr +Rejects +Salaries +Sell +Server +ShowCompany +ShowTask +ShowTypeCard +StatusInterInvoiced +StatusToPay +Stock +Stocks +SubscriptionPayment +Suppliers +Type +Unit +Upgrade +WithdrawalReceipt diff --git a/dev/translation/dynamic_translation_keys.lst b/dev/translation/dynamic_translation_keys.lst new file mode 100644 index 00000000000..5e1df8fb25f --- /dev/null +++ b/dev/translation/dynamic_translation_keys.lst @@ -0,0 +1,3687 @@ +# Dynamic Translations - Could be ($key) in code. +# Purpose: do not list these keys as unused. +# +# Note: organise the keys in alphabetical order, +# keeping the module section in alphabetical +# order as well, except for "Others" which +# is kept last. + +# Ai +AiDescription +AiDescriptionLong +AiSetup +AI_API_CHATGPT_ENDPOINT +AI_API_CHATGPT_KEY +AI_KEY_API_CHATGPT + +# datapolicy +DATAPOLICY_ADHERENT +DATAPOLICY_CONTACT_CLIENT +DATAPOLICY_CONTACT_FOURNISSEUR +DATAPOLICY_CONTACT_NIPROSPECT_NICLIENT +DATAPOLICY_CONTACT_PROSPECT +DATAPOLICY_CONTACT_PROSPECT_CLIENT +DATAPOLICY_TIERS_CLIENT +DATAPOLICY_TIERS_FOURNISSEUR +DATAPOLICY_TIERS_NIPROSPECT_NICLIENT +DATAPOLICY_TIERS_PROSPECT +DATAPOLICY_TIERS_PROSPECT_CLIENT + +# fournisseur +CodePaymentTerm +IdPaymentTerm +LabelPaymentTerm + +# ticket +TicketAnswered + +# website_template +Message +Map +Reservation + +# Others +ACCOUNTING_ACCOUNT_CUSTOMER +ACCOUNTING_ACCOUNT_CUSTOMER_Desc +ACCOUNTING_ACCOUNT_CUSTOMER_RETAINED_WARRANTY +ACCOUNTING_ACCOUNT_SUPPLIER +ACCOUNTING_ACCOUNT_SUPPLIER_Desc +ACCOUNTING_ACCOUNT_SUSPENSE +ACCOUNTING_ACCOUNT_TRANSFER_CASH +ACCOUNTING_BANK_JOURNAL +ACCOUNTING_DATE_START_BINDING +ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER +ACCOUNTING_EXPENSEREPORT_JOURNAL +ACCOUNTING_EXPORT_AMOUNT +ACCOUNTING_EXPORT_DATE +ACCOUNTING_EXPORT_DEVISE +ACCOUNTING_EXPORT_ENDLINE +ACCOUNTING_EXPORT_FORMAT +ACCOUNTING_EXPORT_GLOBAL_ACCOUNT +ACCOUNTING_EXPORT_LABEL +ACCOUNTING_EXPORT_PIECE +ACCOUNTING_EXPORT_PREFIX_SPEC +ACCOUNTING_EXPORT_SEPARATORCSV +ACCOUNTING_HAS_NEW_JOURNAL +ACCOUNTING_INVENTORY_JOURNAL +ACCOUNTING_LENGTH_AACCOUNT +ACCOUNTING_LENGTH_DESCRIPTION +ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT +ACCOUNTING_LENGTH_GACCOUNT +ACCOUNTING_LIMIT_LIST_VENTILATION +ACCOUNTING_LIST_SORT_VENTILATION_DONE +ACCOUNTING_LIST_SORT_VENTILATION_TODO +ACCOUNTING_MISCELLANEOUS_JOURNAL +ACCOUNTING_PRODUCT_BUY_ACCOUNT +ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT +ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT +ACCOUNTING_PRODUCT_SOLD_ACCOUNT +ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT +ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT +ACCOUNTING_PURCHASE_JOURNAL +ACCOUNTING_RESULT_LOSS +ACCOUNTING_RESULT_PROFIT +ACCOUNTING_REVENUESTAMP_BUY_ACCOUNT +ACCOUNTING_REVENUESTAMP_SOLD_ACCOUNT +ACCOUNTING_SELL_JOURNAL +ACCOUNTING_SERVICE_BUY_ACCOUNT +ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT +ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT +ACCOUNTING_SERVICE_SOLD_ACCOUNT +ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT +ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT +ACCOUNTING_SOCIAL_JOURNAL +ACCOUNTING_VAT_BUY_ACCOUNT +ACCOUNTING_VAT_BUY_REVERSE_CHARGES_CREDIT +ACCOUNTING_VAT_BUY_REVERSE_CHARGES_DEBIT +ACCOUNTING_VAT_PAY_ACCOUNT +ACCOUNTING_VAT_SOLD_ACCOUNT +ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT +AGENDA_EVENT_CURRENT_COLOR +AGENDA_EVENT_FUTURE_COLOR +AGENDA_EVENT_PAST_COLOR +AGENDA_SHOW_LINKED_OBJECT +APPROVEDInDolibarr +ASSET_ACCOUNTANCY_CATEGORY +AbandonmentComment +AccountAccountingSuggest +AccountCard +AccountLabel +AccountRef +AccountancyAreaDescDonation +AccountancyAreaDescLoan +AccountancyAreaDescSal +AccountancyAreaDescSubscription +AccountancyCodeAsset +AccountancyCodeDepreciationAsset +AccountancyCodeDepreciationExpense +AccountancyErrorMismatchLetterCode +AccountancyHome +AccountancyTreasuryArea +AccountingCategoriesDesc +AccountingJournal +AccountingPeriodCard +AccountsArea +AccountsCategoriesShort +AchatTelechargement +ActionAC_CLO +ActionAC_COM +ActionAC_EMAIL +ActionAC_EMAILING +ActionAC_EMAIL_IN +ActionAC_EVENTORGANIZATION +ActionAC_FAC +ActionAC_FAX +ActionAC_INT +ActionAC_OTH +ActionAC_OTH_AUTO +ActionAC_OTH_AUTOShort +ActionAC_PROP +ActionAC_RDV +ActionAC_REL +ActionAC_SHIP +ActionAC_SUP_INV +ActionAC_SUP_ORD +ActionAC_TEL +ActionByCP +ActionRunningNotStarted +ActionsOnReception +ActionsOnShipping +ActionsOnSupplierProposal +ActionsOwnedByShort +ActivateOn +ActivateService +ActiveOn +AddAddress +AddAll +AddCompteFromBK +AddDiscount +AddElement +AddEventToUserOkCP +AddFiles +AddInventoryProduct +AddLink +AddLoan +AddRelativeDiscount +AddResource +AddSalary +AddSalaryPayment +AddSocialContribution +AddSupplierOrder +AddThisArticle +AddVariousPayment +AddressesForCompany +AdminLoginAlreadyExists +Agendas +AllAgreementSend +AllExportedMovementsWereRecordedAsExported +AllProductServicePrices +AllProducts +AllRIB +AllReceptions +AllSms +AllWidgetsWereEnabled +AllowCommentOnProject +AllowCommentOnTask +AllowUnknownPeopleSuggestBooth +AllowUnknownPeopleSuggestConf +AlreadyRead +Always +AmountByMonth +AmountIn +AmountInvoiced +AmountInvoicedHT +AmountInvoicedTTC +AmountLT1 +AmountLT1ES +AmountLT2 +AmountLT2ES +AmountOfRegistrationPaid +AmountPaymentDistributedOnInvoice +AmountRequested +AmountSalary +AmountToTransfer +AnalyticCode +AnnualByCompanies +AnnualByCompaniesDueDebtMode +AnnualByCompaniesInputOutputMode +AnnualSummaryDueDebtMode +AnnualSummaryInputOutputMode +AnotherContainer +AnswerCandidature +Answered +ApplicantIpAddress +ApplicantOrVisitor +ApplyMassCategories +ApplyPMP +AppointmentDuration +ApproveSms +ApprovedBy2 +Article +AskPrice +AssetAccountancyCodeAcceleratedDepreciation +AssetAccountancyCodeAsset +AssetAccountancyCodeDepreciationAcceleratedDepreciation +AssetAccountancyCodeDepreciationAsset +AssetAccountancyCodeDepreciationEconomic +AssetAccountancyCodeDepreciationExpense +AssetAccountancyCodeEndowmentAcceleratedDepreciation +AssetAccountancyCodeProceedsFromSales +AssetAccountancyCodeProvisionAcceleratedDepreciation +AssetAccountancyCodeReceivableOnAssignment +AssetAccountancyCodeValueAssetSold +AssetAccountancyCodeVatCollected +AssetAccountancyCodeVatDeductible +AssetAcquisitionType +AssetAcquisitionTypeNew +AssetAcquisitionTypeOccasion +AssetAcquisitionValueHT +AssetDateAcquisition +AssetDateStart +AssetDepreciationOptionAcceleratedDepreciation +AssetDepreciationOptionAmountBaseDeductibleHT +AssetDepreciationOptionAmountBaseDepreciationHT +AssetDepreciationOptionDegressiveRate +AssetDepreciationOptionDepreciationType +AssetDepreciationOptionDepreciationTypeDegressive +AssetDepreciationOptionDepreciationTypeExceptional +AssetDepreciationOptionDepreciationTypeLinear +AssetDepreciationOptionDuration +AssetDepreciationOptionDurationType +AssetDepreciationOptionDurationTypeAnnual +AssetDepreciationOptionDurationTypeDaily +AssetDepreciationOptionDurationTypeMonthly +AssetDepreciationOptionEconomic +AssetDepreciationOptionRate +AssetDepreciationOptionTotalAmountLastDepreciationHT +AssetNotDepreciated +AssetNumber +AssetRecorded +AssetRecoveredVAT +AssetReversalAmountHT +AssetReversalDate +AssetType +AssetTypeFinancial +AssetTypeInProgress +AssetTypeIntangible +AssetTypeTangible +AssetsLines +AssetsType +AssetsTypeId +AssetsTypeLabel +AssetsTypes +AssignDedicatedAccountingAccount +AssignTask +Assigned +AssociatedProductsNumber +AttachJoinedDocumentsToObject +AucuneLigne +AutoFillFormFieldBeforeSubmit +AutomaticClosing +Automation +AvailabilityTypeAV_1M +AvailabilityTypeAV_1W +AvailabilityTypeAV_2W +AvailabilityTypeAV_3W +AvailabilityTypeAV_NOW +BICNumber +BILL_DELETEInDolibarr +BILL_SUPPLIER_DELETEInDolibarr +BOMLine +BOM_CLOSEInDolibarr +BOM_DELETEInDolibarr +BOM_REOPENInDolibarr +BOM_UNVALIDATEInDolibarr +BOM_VALIDATEInDolibarr +BOOKCAL_PUBLIC_INTERFACE_TOPIC +BackOffice +BackToChartofaccounts +BackToHelpCenter +BackToHomePage +Balancing +BankAccountNumberKey +BankCode +BankColorizeMovementName1 +BankColorizeMovementName2 +BankDetails +BankLineNotReconciled +BankToPay +BankTransactionForCategory +BankTransferPayment +BankTransferRequestsDone +BankTransfers +Banner +BarcodeDescC128 +BarcodeDescC39 +BarcodeDescDATAMATRIX +BarcodeDescEAN13 +BarcodeDescEAN8 +BarcodeDescISBN +BarcodeDescQRCODE +BarcodeDescUPC +BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry +BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry +BillAddress +BillOfMaterialsLines +BillShortStatusClosedPaidPartially +BillShortStatusClosedUnpaid +BillShortStatusConverted +BillShortStatusNotRefunded +BillShortStatusPaidBackOrConverted +BillShortStatusStarted +BillStatus +BillStatusNotRefunded +BillsAndSalaries +BillsCustomer +BillsCustomersUnpaidForCompany +BillsLate +BillsSuppliersUnpaidForCompany +BlockedLogActivatedBecauseRequiredByYourCountryLegislation +BlockedLogAreRequiredByYourCountryLegislation +BlockedLogBillDownload +BlockedLogBillPreview +BlockedlogInfoDialog +BlogPost +BodyNotIn +BomAndBomLines +BookCalAbout +BookCalAboutPage +BookcalLabelAvailabilityHelp +BookeppingLineAlreayExists +Booking +BookmarksMenuShortCut +Boolean +Bottom +BoxCurrentAccounts +BoxCustomersOutstandingBillReached +BoxDolibarrStateBoard +BoxFicheInter +BoxGlobalActivity +BoxGoodCustomers +BoxLastActions +BoxLastContacts +BoxLastContracts +BoxLastCustomerBills +BoxLastCustomerOrders +BoxLastCustomerShipments +BoxLastCustomers +BoxLastKnowledgerecordModifiedContent +BoxLastManualEntries +BoxLastMembers +BoxLastMembersSubscriptions +BoxLastModifiedMembers +BoxLastProducts +BoxLastProposals +BoxLastProspects +BoxLastRssInfos +BoxLastSupplierBills +BoxLastSuppliers +BoxLatestSupplierOrders +BoxLatestSupplierOrdersAwaitingReception +BoxOldestActions +BoxOldestExpiredServices +BoxOldestUnpaidCustomerBills +BoxOldestUnpaidSupplierBills +BoxProductsAlertStock +BoxSuspenseAccount +BoxTicketLastXDayswidget +BoxTitleLastActionsToDo +BoxTitleLastCustomersOrProspects +BoxTitleLastModifiedCustomerBills +BoxTitleLastModifiedCustomerOrders +BoxTitleLastModifiedPropals +BoxTitleLastModifiedSupplierBills +BoxTitleLatestModifiedSupplierOrders +BoxesActivated +BoxesAvailable +BrowserMethodDescription +BugTracker +Build +BulkActions +BuyingPriceNumShort +ByAccounts +ByCountry +ByDate +ByDay +ByDefaultInList +ByExpenseIncome +ByMonth +BySalesRepresentative +ByTown +CANCELInDolibarr +COMPANY_DELETEInDolibarr +CONTACT_DELETEInDolibarr +CONTRACT_DELETEInDolibarr +CREATEInDolibarr +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT +CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT +CRUDCreateWrite +CRUDRead +CalcModeEngagement +CalcModeLT1 +CalcModeLT1Debt +CalcModeLT1Rec +CalcModeLT2 +CalcModeLT2Rec +CalcModeVATDebt +CalcModeVATEngagement +CancelPartnershipForExpiredMembers +CancelUpdate +CancelUpload +CanceledById +CanceledByLogin +CannotRemoveDirectoryContainsFiles +CannotRemoveDirectoryContainsFilesOrDirs +CantSuggest +CardBill +CardContent +CardProduct0 +CardProduct1 +Cards +CashAccounts +CashDeskBankCB +CashDeskBankCash +CashDeskBankCheque +CashDeskMenu +CashDeskOn +CashDeskProducts +CashDeskStock +CashDeskThirdParty +CashDeskWarehouse +CashDeskYouDidNotDisableStockDecease +CashFence +CatContactList +CatContactsLinks +CatCusLinks +CatCusList +CatList +CatListAll +CatMemberList +CatMembersLinks +CatProdLinks +CatProdList +CatProjectsLinks +CatProjectsList +CatSupLinks +CatSupList +CatUsersLinks +CatUsersList +CategId +CategTypeNotFound +CategoryDeleted +ChartofaccountsId +CheckBank +ChequeBordereau +ChequesReceipts +Choose +ChooseCategory +ChooseProduct/Service +ChooseYourDemoProfilMore +CivilityCode +CivilityDR +CivilityMLE +CivilityMME +CivilityMMEShort +CivilityMR +CivilityMRShort +CivilityMTRE +ClassCreditedConfirm +ClassNotFoundIntoPathWarning +Classify +ClassifyBill +ClassifyClosed +ClassifyUnbilled +CleanFixHistory +CleanHistory +CleanUnfinishedCronjob +CleanUnfinishedCronjobShort +ClickToRefresh +CloneCombinationsProduct +CloseBill +CloseEtablishment +CloseFiscalYear +CloseProcessedOrdersAutomatically +CloseService +Closed2 +ClosedById +ClosedByLogin +Closing +CodeLastResult +CodePaymentMode +Codemulticurrency +CollapseBOMHelp +ColumnNewPMP +Commercial +CommercialProposal +CommercialProposalsShort +CompanyHasCreditNote +CompanyHasDownPaymentOrCommercialDiscount +CompanyHasNoCategory +CompanyIsInCustomersCategories +CompanyIsInSuppliersCategories +CompatibleAfterUpdate +CompatibleUpTo +Completed +CompressSyslogs +Conciliated +Conciliation +ConfAttendeeSubscriptionConfirmation +ConferenceAttendeeFee +ConferenceOrBoothInformation +ConfirmActivateService +ConfirmClassifyPaidPartiallyReasonAvoir +ConfirmClassifyPaidPartiallyReasonAvoirDesc +ConfirmClassifyPaidPartiallyReasonDiscountNoVat +ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc +ConfirmClassifyPaidPartiallyReasonDiscountVat +ConfirmClassifyPaidPartiallyReasonOther +ConfirmClassifyPaidPartiallyReasonOtherDesc +ConfirmClassifyPaidPartiallyReasonProductReturned +ConfirmClassifyPaidPartiallyReasonProductReturnedDesc +ConfirmClonePage +ConfirmCloseService +ConfirmDeleteAsset +ConfirmDeleteAssetType +ConfirmDeleteCptCategory +ConfirmDeleteMvtPartial +ConfirmFlushInventory +ConfirmMassCloneQuestion +ConfirmMassCloneToOneProject +ConfirmPasswordReset +ConfirmSendCardByMail +ConfirmValidSms +ConsumptionEfficiency +ContactCreatedByEmailCollector +ContactDefault_agenda +ContactDefault_commande +ContactDefault_contrat +ContactDefault_facture +ContactDefault_fichinter +ContactDefault_invoice_supplier +ContactDefault_order_supplier +ContactDefault_project +ContactDefault_project_task +ContactDefault_propal +ContactDefault_supplier_proposal +ContactDefault_ticket +ContactHasNoCategory +ContactId +ContactIsInCategories +ContentsNotVisibleByAllShort +ContentsVisibleByAllShort +Continue +ContractEndDate +ContractLines +ContractStartDate +ContractsAndLine +Copy +CorporateHomePage +CountLastUrlCheckError +CountryCode +CreateAccount +CreateBanque +CreateBookmark +CreateCalcSchedule +CreateCandidature +CreateDraft +CreateDraftIntervention +CreateGuichet +CreateLeadAndThirdParty +CreateMailing +CreateSms +CreateTicketAndThirdParty +CreatedById +CreatedByLogin +CreditTransferFile +CronAdd +CronId +CurentlyUsingPhysicalStock +CurentlyUsingVirtualStock +CurrencyAUD +CurrencyCAD +CurrencyCHF +CurrencyCentEUR +CurrencyCentINR +CurrencyCentSingEUR +CurrencyCentSingINR +CurrencyCode +CurrencyCodeId +CurrencyEUR +CurrencyFRF +CurrencyGBP +CurrencyINR +CurrencyMAD +CurrencyMGA +CurrencyMUR +CurrencyNOK +CurrencyPrice +CurrencySingAUD +CurrencySingCAD +CurrencySingCHF +CurrencySingEUR +CurrencySingFRF +CurrencySingGBP +CurrencySingINR +CurrencySingMAD +CurrencySingMGA +CurrencySingMUR +CurrencySingNOK +CurrencySingTND +CurrencySingUAH +CurrencySingUSD +CurrencySingXAF +CurrencySingXOF +CurrencySingXPF +CurrencyTND +CurrencyThousandthSingTND +CurrencyUAH +CurrencyUSD +CurrencyUnitPrice +CurrencyXAF +CurrencyXOF +CurrencyXPF +Currencyeuros +CurrentAccounts +CurrentDedicatedAccountingAccount +CurrentPA +CurrentProductPrice +CurrentSalary +CurrentStock +CurrentTranslationString +CurrentValue +CustomReceipt +CustomerCard +CustomerCodeShort +CustomerIBAN +CustomerInvoicePayment +CustomerInvoicePaymentBack +CustomersInvoicesAndInvoiceLines +CustomersInvoicesAndPayments +CustomersOrdersAndOrdersLines +Cut +DATAPOLICYJob +DATAPOLICYReturn +DATAPOLICY_ADHERENT +DATAPOLICY_BLOCKCHECKBOX +DATAPOLICY_CONTACT_CLIENT +DATAPOLICY_CONTACT_FOURNISSEUR +DATAPOLICY_CONTACT_NIPROSPECT_NICLIENT +DATAPOLICY_CONTACT_PROSPECT +DATAPOLICY_CONTACT_PROSPECT_CLIENT +DATAPOLICY_PORTABILITE +DATAPOLICY_TIERS_CLIENT +DATAPOLICY_TIERS_FOURNISSEUR +DATAPOLICY_TIERS_NIPROSPECT_NICLIENT +DATAPOLICY_TIERS_PROSPECT +DATAPOLICY_TIERS_PROSPECT_CLIENT +DAV_ALLOW_ECM_DIR +DAV_ALLOW_ECM_DIRTooltip +DAV_ALLOW_PRIVATE_DIR +DAV_ALLOW_PRIVATE_DIRTooltip +DAV_ALLOW_PUBLIC_DIR +DAV_ALLOW_PUBLIC_DIRTooltip +DELETEInDolibarr +DOL_ACTIVATE_BUZZER +DOL_ALIGN_CENTER +DOL_ALIGN_LEFT +DOL_ALIGN_RIGHT +DOL_BEEP +DOL_BEEP_ALTERNATIVE +DOL_BOLD +DOL_BOLD_DISABLED +DOL_CUT_PAPER_FULL +DOL_CUT_PAPER_PARTIAL +DOL_DEFAULT_HEIGHT_WIDTH +DOL_DOUBLE_HEIGHT +DOL_DOUBLE_WIDTH +DOL_LINE_FEED +DOL_LINE_FEED_REVERSE +DOL_PRINT_BARCODE +DOL_PRINT_BARCODE_CUSTOMER_ID +DOL_PRINT_CURR_DATE +DOL_PRINT_LOGO +DOL_PRINT_LOGO_OLD +DOL_PRINT_OBJECT_LINES +DOL_PRINT_QRCODE +DOL_PRINT_TEXT +DOL_UNDERLINE +DOL_UNDERLINE_DISABLED +DOL_USE_FONT_A +DOL_USE_FONT_B +DOL_USE_FONT_C +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE +DOL_VALUE_CUSTOMER_FIRSTNAME +DOL_VALUE_CUSTOMER_LASTNAME +DOL_VALUE_CUSTOMER_MAIL +DOL_VALUE_CUSTOMER_MOBILE +DOL_VALUE_CUSTOMER_PHONE +DOL_VALUE_CUSTOMER_POINTS +DOL_VALUE_CUSTOMER_SKYPE +DOL_VALUE_CUSTOMER_TAX_NUMBER +DOL_VALUE_DAY +DOL_VALUE_DAY_LETTERS +DOL_VALUE_MONTH +DOL_VALUE_MONTH_LETTERS +DOL_VALUE_MYSOC_NAME +DOL_VALUE_OBJECT_POINTS +DONATION_ACCOUNTINGACCOUNT +DataCodeIDSourceIsInsertedInto +DataComeFromNoWhere +DataIDSourceIsInsertedInto +DataIsInsertedInto +DataUsedToSuggestAccount +DateActionBegin +DateAndHour +DateAndTime +DateEmploymentEnd +DateEmploymentStart +DateEndEvent +DateEndInMonth +DateEndPlannedMo +DateFormatYYYYMM +DateFormatYYYYMMDD +DateFormatYYYYMMDDHHMM +DateInvoiceWithTime +DateLastCollectResult +DateLastGenerationShort +DateLastLogin +DateLastcollectResultOk +DateLimit +DateMovement +DateMustBeAfterThan +DateMustBeBeforeThan +DateOfLine +DatePartnershipEnd +DatePartnershipStart +DatePreviousLogin +DateSending +DateStartEvent +DateStartInMonth +DateStartPlannedMo +DebugBarDesc +Deductible +DefaultCategoryCar +DefaultPaymentConditionsRetainedWarranty +DefaultPrice +DefaultPrinter +DefaultPuttingDescUpToDate +DefaultPuttingPricesUpToDate +DefaultRIB +DefaultRangeNumber +Defaultfortype +DefineEventUserCP +Delays_MAIN_DELAY_ACTIONS_TODO +Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT +Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED +Delays_MAIN_DELAY_EXPENSEREPORTS +Delays_MAIN_DELAY_HOLIDAYS +Delays_MAIN_DELAY_MEMBERS +Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES +Delays_MAIN_DELAY_ORDERS_TO_PROCESS +Delays_MAIN_DELAY_PROJECT_TO_CLOSE +Delays_MAIN_DELAY_PROPALS_TO_BILL +Delays_MAIN_DELAY_PROPALS_TO_CLOSE +Delays_MAIN_DELAY_RUNNING_SERVICES +Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS +Delays_MAIN_DELAY_TASKS_TODO +Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE +DeleteASms +DeleteAnAssetType +DeleteArticle +DeleteCptCategory +DeleteSms +DemandReasonTypeSRC_CAMP_EMAIL +DemandReasonTypeSRC_CAMP_FAX +DemandReasonTypeSRC_CAMP_MAIL +DemandReasonTypeSRC_CAMP_PHO +DemandReasonTypeSRC_COMM +DemandReasonTypeSRC_EMPLOYEE +DemandReasonTypeSRC_INTE +DemandReasonTypeSRC_PARTNER +DemandReasonTypeSRC_SHOP +DemandReasonTypeSRC_SPONSORING +DemandReasonTypeSRC_SRC_CUSTOMER +DemandReasonTypeSRC_WOM +DemoCompanyAll +DemoCompanyManufacturing +DemoCompanyProductAndStocks +DemoCompanyServiceOnly +DemoCompanyShopWithCashDesk +DemoFundation +DemoFundation2 +Denied +DepositGenerated +DepositId +Deposits +DescADHERENT_AUTOREGISTER_NOTIF_MAIL +DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT +DescADHERENT_CC_MAIL_FROM +DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER +DescADHERENT_EMAIL_TEMPLATE_CANCELATION +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION +DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION +DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION +DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION +DescADHERENT_MAILMAN_ADMIN_PASSWORD +DescADHERENT_MAILMAN_LISTS +DescADHERENT_MAILMAN_UNSUB_URL +DescADHERENT_MAILMAN_URL +DescADHERENT_MAIL_FROM +DescADHERENT_SPIP_DB +DescADHERENT_SPIP_PASS +DescADHERENT_SPIP_SERVEUR +DescADHERENT_SPIP_USER +DescThirdPartyReport +DescWareHouse +DescriptionLong +DescriptionOfLine +DeskCode +DetailByAccount +DictionaryAccountancyJournal +DictionaryAccountancysystem +DictionaryActions +DictionaryAssetDisposalType +DictionaryAvailability +DictionaryBatchStatus +DictionaryCanton +DictionaryCivility +DictionaryCompanyJuridicalType +DictionaryCompanyType +DictionaryCountry +DictionaryCurrency +DictionaryDepartment +DictionaryEMailTemplates +DictionaryEcotaxe +DictionaryExpenseTaxCat +DictionaryExpenseTaxRange +DictionaryFees +DictionaryFormatCards +DictionaryFunction +DictionaryHolidayTypes +DictionaryInvoiceSubtype +DictionaryMeasuringUnits +DictionaryOpportunityStatus +DictionaryOrderMethods +DictionaryPaymentConditions +DictionaryPaymentModes +DictionaryProductNature +DictionaryProspectContactLevel +DictionaryProspectContactStatus +DictionaryProspectLevel +DictionaryProspectStatus +DictionaryPublicHolidays +DictionaryRegion +DictionaryResourceType +DictionarySendingMethods +DictionarySocialContributions +DictionarySocialNetworks +DictionarySource +DictionaryStaff +DictionaryTransportMode +DictionaryTypeContact +DictionaryTypeOfContainer +DictionaryUnits +Difference +DirectPrint +Disassemble +Dispatch +DispatchVerb +DoCreditTransferBeforePayments3 +DoNotAutofillButAutoConcat +DoNotRemovePreviousCombinations +DoNotShowMyTasksOnly +DoNotUseDescriptionOfProdut +DoNotUseInProduction +DoTest +Docref +DocumentModelStandard +Documents2 +DolibarrReceiptPrinter +DontForgetCreateTokenOauthMod +DraftInvoiceDeleted +DraftPropals +DraftSuppliersOrders +Drafts +DurationEffective +DurationOfLine +DurationOfRange +Dynamiccontent +EMailHostPort +EMailRecipient +EMailTextProposalClosedRefusedWeb +EMailTextProposalClosedSignedWeb +ENABLEDISABLEInDolibarr +EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH +EVENTORGANIZATION_CATEG_THIRDPARTY_CONF +EVENTORGANIZATION_FILTERATTENDEES_CAT +EVENTORGANIZATION_FILTERATTENDEES_TYPE +EVENTORGANIZATION_SECUREKEY +EVENTORGANIZATION_TASK_LABEL +EVENTORGANIZATION_TASK_LABELTooltip +EVENTORGANIZATION_TASK_LABELTooltip2 +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER +EXPENSE_REPORT_APPROVEInDolibarr +EXPENSE_REPORT_CREATEInDolibarr +EXPENSE_REPORT_DELETEInDolibarr +EXPENSE_REPORT_REFUSEDInDolibarr +EXPENSE_REPORT_VALIDATEInDolibarr +EX_BRE +EX_CAM +EX_CAM_VP +EX_CAR +EX_CUR +EX_DOC +EX_EMM +EX_FUE +EX_FUE_VP +EX_GUM +EX_HOT +EX_IND +EX_KME +EX_OTR +EX_PAR +EX_PAR_VP +EX_POS +EX_SUM +EX_SUO +EX_TAX +EX_TOL +EX_TOL_VP +EarlyClosingComment +EarlyClosingReason +EditMailing +EditMedias +EditMenu +EditPassword +EditProductCombinations +EditSms +EmailCollectorDescription +EmailCollectorExampleToCollectAnswersFromExternalEmailSoftwareDesc +EmailCollectorTargetDir +EmailRecruiter +EmployeeFirstname +EmployeeLastname +EmployeeSkillsUpdated +EmployeesInThisPosition +EmptyPage +EnableFeatureFor +EnabledAndDisabled +EndPointFor +EndSubscription +ErrNoSkillSelected +ErrUnzipFails +ErrorAVirtualProductCantBeUsedIntoABomOrMo +ErrorAccountingJournalIsAlreadyUse +ErrorActionCommPropertyUserowneridNotDefined +ErrorAddEventToUserCP +ErrorBadBarCodeSyntax +ErrorBadCustomerCodeSyntax +ErrorBadDefinitionOfMenuArrayInModuleDescriptor +ErrorBadMaskBadRazMonth +ErrorBadMaskFailedToLocatePosOfSequence +ErrorBadSupplierCodeSyntax +ErrorBadThirdPartyName +ErrorBadValueForParamNotAString +ErrorBankReceiptAlreadyExists +ErrorBarCodeAlreadyUsed +ErrorBarCodeRequired +ErrorBillNotFound +ErrorCanOnlyAutomaticallyGenerateADepositFromProposalOrOrder +ErrorCannotAddThisParentWarehouse +ErrorCantDeletePaymentReconciliated +ErrorCantDeletePaymentSharedWithPayedInvoice +ErrorCantSaveADoneUserWithZeroPercentage +ErrorCantSetReceptionToTotalDoneWithReceptionDenied +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove +ErrorCantUseRazIfNoYearInMask +ErrorCantUseRazInStartedYearIfNoYearMonthInMask +ErrorCounterMustHaveMoreThan3Digits +ErrorCreateBankAccount +ErrorCreatingProductAttributeValue +ErrorCustomerCodeAlreadyUsed +ErrorCustomerCodeRequired +ErrorDeleteLineNotAllowedByObjectStatus +ErrorDeleteNotPossibleLineIsConsolidated +ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible +ErrorDeletingGeneratedProducts +ErrorDescRequiredForFreeProductLines +ErrorDirNotWritable +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice +ErrorEqualModule +ErrorFailedToLoadRSSFile +ErrorFeatureNeedJavascript +ErrorFicheinterCompanyDoesNotExist +ErrorFieldMustHaveXChar +ErrorFileAlreadyExists +ErrorInvalidSubtype +ErrorInvoiceLoadThirdParty +ErrorInvoiceLoadThirdPartyKey +ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother +ErrorLanguageOfTranslatedPageIsSameThanThisPage +ErrorLoginDisabled +ErrorLoginDoesNotExists +ErrorLoginHasNoEmail +ErrorMandatoryParametersNotProvided +ErrorMaxNumberReachForThisMask +ErrorNewRefIsAlreadyUsed +ErrorNoImagickReadimage +ErrorNoTmpDir +ErrorPROJECTLEADERRoleMissingRestoreIt +ErrorPartialFile +ErrorPaymentConditionsNotEligibleToDepositCreation +ErrorPrefixRequired +ErrorPriceCantBeLowerThanMinPrice +ErrorPriceExpression1 +ErrorPriceExpression10 +ErrorPriceExpression11 +ErrorPriceExpression14 +ErrorPriceExpression17 +ErrorPriceExpression19 +ErrorPriceExpression2 +ErrorPriceExpression20 +ErrorPriceExpression21 +ErrorPriceExpression22 +ErrorPriceExpression23 +ErrorPriceExpression24 +ErrorPriceExpression3 +ErrorPriceExpression4 +ErrorPriceExpression5 +ErrorPriceExpression6 +ErrorPriceExpression8 +ErrorPriceExpression9 +ErrorPropalNotFound +ErrorRecordAlreadyInAccountingDeletionNotPossible +ErrorRecordIsUsedCantDelete +ErrorReplaceStringEmpty +ErrorSmsRecipientIsEmpty +ErrorSubjectIsRequired +ErrorSupplierCodeAlreadyUsed +ErrorSupplierCodeRequired +ErrorThereIsSomeDeliveries +ErrorThirdpartiesMerge +ErrorThirpdartyOrMemberidIsMandatory +ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved +ErrorThisPaymentModeIsNotSepa +ErrorTicketRefRequired +ErrorTitleAlreadyExists +ErrorUpdateRate +ErrorUploadBlockedByAddon +ErrorUploadFileDragDrop +ErrorUploadFileDragDropPermissionDenied +ErrorVATIntraNotConfigured +ErrorWebServerUserHasNotPermission +Error_COMMANDE_SUPPLIER_ADDON_NotDefined +Error_EXPENSEREPORT_ADDON_NotDefined +Error_OrderNotChecked +Errors +EscompteOffered +EstimatedDuration +EstimatedDurationDesc +EstimatedStockValue +EstimatedStockValueSell +EvenUnsubscribeDesc +EventOrganizationConferenceOrBoothMenuLeft +EventOrganizationDescription +EventOrganizationEmailAskBooth +EventOrganizationEmailAskConf +EventOrganizationEmailBoothPayment +EventOrganizationEmailRegistrationPayment +EventOrganizationMassEmailAttendees +EventOrganizationMassEmailSpeakers +EventOrganizationMenuLeft +EventOrganizationSetup +EventType +EventUserModified +EvntOrgCancelled +EvntOrgConfirmed +EvntOrgDone +EvntOrgDraft +EvntOrgDuration +EvntOrgNotQualified +EvntOrgRegistrationBoothHelpMessage +EvntOrgRegistrationBoothWelcomeMessage +EvntOrgRegistrationConfHelpMessage +EvntOrgRegistrationConfWelcomeMessage +EvntOrgSuggested +Excel95FormatDesc +ExcessPaidMulticurrency +ExcessReceivedMulticurrency +ExitEditMode +ExpAuto10CV +ExpAuto10PCV +ExpAuto11CV +ExpAuto11PCV +ExpAuto12CV +ExpAuto12PCV +ExpAuto13PCV +ExpAuto3CV +ExpAuto3PCV +ExpAuto4CV +ExpAuto4PCV +ExpAuto5CV +ExpAuto5PCV +ExpAuto6CV +ExpAuto6PCV +ExpAuto7CV +ExpAuto7PCV +ExpAuto8CV +ExpAuto8PCV +ExpAuto9CV +ExpAuto9PCV +ExpAutoCat +ExpCyclo +ExpCycloCat +ExpMoto12CV +ExpMoto345CV +ExpMoto5PCV +ExpMotoCat +ExpenseRangeOffset +ExpenseReportJournal +ExpenseReportLine +ExpenseReportRuleErrorOnSave +ExpenseReportsJournal +ExpenseReportsRulesSetup +ExportCardToFormat +ExportDataset_banque_1 +ExportDataset_banque_2 +ExportDataset_company_1 +ExportDataset_company_2 +ExportDataset_event1 +ExportDataset_fournisseur_1 +ExportDataset_fournisseur_2 +ExportDataset_fournisseur_3 +ExportDataset_invoice_1 +ExportDataset_invoice_2 +ExportDataset_member_1 +ExportDataset_produit_1 +ExportDataset_service_1 +ExportDataset_tax_1 +ExportDataset_ticket_1 +ExportDataset_user_1 +ExportNotSupported +ExportSetup +Exports +ExternalRef +ExternalURLMustStartWithHttp +ExternalWarehouse +ExtraInfos +ExtrafieldCheckBox +ExtrafieldCheckBoxFromList +ExtrafieldIP +ExtrafieldLink +ExtrafieldMail +ExtrafieldParamHelpcheckbox +ExtrafieldParamHelpradio +ExtrafieldPassword +ExtrafieldPhone +ExtrafieldPrice +ExtrafieldPriceWithCurrency +ExtrafieldRadio +ExtrafieldSelect +ExtrafieldSelectList +ExtrafieldSeparator +ExtrafieldUrl +FCKeditorForCompany +FCKeditorForMail +FCKeditorForMailing +FCKeditorForNotePrivate +FCKeditorForNotePublic +FCKeditorForProductDetails +FCKeditorForTicket +FCKeditorForUserSignature +FECFormatCredit +FECFormatDebit +FECFormatEntryDate +FECFormatEntryNum +FECFormatGeneralAccountLabel +FECFormatGeneralAccountNumber +FECFormatJournalCode +FECFormatJournalLabel +FECFormatLabelOperation +FECFormatMulticurrencyAmount +FECFormatMulticurrencyCode +FECFormatPieceDate +FECFormatPieceRef +FECFormatReconcilableCode +FECFormatReconcilableDate +FECFormatSubledgerAccountLabel +FECFormatSubledgerAccountNumber +FECFormatValidateDate +FailedToAddCodeIntoDescriptor +Feature +FeatureIsSupportedInInOutModeOnly +Features +FichinterNoContractLinked +FieldNeedSource +FieldTarget +FieldTitle +FileFormat +FileIsTooBig +FileUploaded +FileWithDataToImport +Filehtpasswd +FilesUpdated +FillAndSaveAccountIdAndSecret +FilterRefOrLabelOrBC +FinanceJournal +FindYourSEPAMandate +Fingerprints +Float +FlushInventory +FormCreateRate +FormUpdateRate +FormatedExportDesc2 +FormatedExportDesc3 +FormatedImportDesc2 +FreeModule +FrequencyPer_d +FrequencyPer_m +FrequencyPer_y +FrequencyUnit +FrontOffice +FullPhoneNumber +FunctionTest +FutureManager +FutureTransaction +GanttView +Gb +GeneralOptions +GigaBytes +GlobalVariableUpdaterHelp0 +GlobalVariableUpdaterHelp1 +GlobalVariableUpdaterHelpFormat0 +GlobalVariableUpdaterHelpFormat1 +GlobalVariableUpdaterType0 +GlobalVariableUpdaterType1 +Go +GoToHelpPage +GoToListOfTimeConsumed +GoToWikiHelpPage +GoodBye +GoogleAuthConfigured +GoogleAuthNotConfigured +GroupCard +GroupDeleted +HOLIDAY_APPROVEInDolibarr +HOLIDAY_CREATEInDolibarr +HOLIDAY_DELETEInDolibarr +HOLIDAY_MODIFYInDolibarr +HOLIDAY_VALIDATEInDolibarr +HR +HRM_DEFAULT_SKILL_DESCRIPTION +HRM_EMAIL_EXTERNAL_SERVICE +HRM_MAXRANK +HTPasswordExport +HalfDay +HasAbsoluteDiscountFromSupplier +HasCreditNoteFromSupplier +HasDownPaymentOrCommercialDiscountFromSupplier +HasNoAbsoluteDiscountFromSupplier +HasNoRelativeDiscountFromSupplier +HasRelativeDiscountFromSupplier +HeightUnits +HelpWarehouseStockTransferDestination +HelpWarehouseStockTransferSource +HideChildProducts +HideOpeningBalance +HolidayBalanceMonthlyUpdate +HostCharset +HtmlText +Human +HumanMachine +IBANNumber +IDCountry +INCVATONLY +INTRACOMMREPORT_NUM_AGREMENT +INTRACOMMREPORT_NUM_DECLARATION +INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT +IPCreation +IPLastLogin +IPModification +IPOfApplicant +IPPreviousLogin +IdAgenda +IdCompany +IdContact +IdPaymentMode +IdProduct +IdProposal +IdRecord +IdResource +IdSocialContribution +IdTaskTime +IdThirdParty +IdTransaction +IdWarehouse +Identification +IfJobIsLocatedAtAPartner +IfModuleEnabled +IfZeroItIsNotAVirtualProduct +IfZeroItIsNotUsedByVirtualProduct +ImapEncryption +ImapEncryptionHelp +ImportAccountingEntries +ImportAccountingEntriesFECFormat +ImportDatasetProjects +ImportDatasetTasks +ImportDataset_company_1 +ImportDataset_company_2 +ImportDataset_company_3 +ImportDataset_company_4 +ImportDataset_member_1 +ImportDataset_produit_1 +ImportDataset_resource_1 +ImportDataset_service_1 +ImportDataset_tax_contrib +ImportDataset_tax_vat +ImportDataset_user_1 +ImportSetup +InWorkingOrder +IncludeClosedAccount +IncludeDocsAlreadyExported +IncludePath +IndependantSubProductStock +InfosWorkflowCP +InitAccountancy +InputDetail +Int +InterDateCreation +InterDuration +InterId +InterLine +InterLineDate +InterLineDesc +InterLineDuration +InterLineId +InterNote +InterStatus +InternalWarehouse +InterventionCardsAndInterventionLines +IntoAccount +IntracommReportAbout +IntracommReportDownload +IntracommReportNumber +IntracommReportPeriod +IntracommReportTypeDeclaration +IntracommunityVATNumber +InventoryDate +InventoryFlushed +InventoryForASpecificProduct +InventoryForASpecificWarehouse +InvoiceAutoValidate +InvoiceDateCreation +InvoiceDeleted +InvoiceDepositAsk +InvoiceDiscount +InvoiceID +InvoiceLabel +InvoiceLine +InvoiceLinesToDispatch +InvoiceNotChecked +InvoiceNote +InvoicePaidCompletely +InvoicePaidCompletelyHelp +InvoiceProFormaAsk +InvoiceProFormaDesc +InvoiceReplacementShort +InvoiceSituationLast +InvoiceStandardShort +InvoiceStatus +InvoiceValidatedInDolibarrFromPos +IsAnAnswer +IsNotADraft +IsNotAnAnswer +ItemsCount +JSOnPaimentBill +JobCard +JobLabel +JournalFinancial +JournalLabel +JuridicalStatus200 +KeepDefaultValuesDeb +KeepDefaultValuesMamp +KeepDefaultValuesProxmox +KeepDefaultValuesWamp +KeepEmptyForAsap +KnowledgeManagementAbout +KnowledgeManagementAboutPage +KnowledgeManagementSetup +KnowledgemanagementsCategoriesArea +LDAPFieldSkype +LDAPFieldSkypeExample +LEAVE_OTHER +LEAVE_PAID +LEAVE_PAID_FR +LEAVE_SICK +LOAN_ACCOUNTING_ACCOUNT_CAPITAL +LOAN_ACCOUNTING_ACCOUNT_INSURANCE +LOAN_ACCOUNTING_ACCOUNT_INTEREST +LT1 +LT1Customer +LT1CustomerES +LT1CustomerIN +LT1ES +LT1GC +LT1IN +LT1Paid +LT1PaidES +LT1PaidIN +LT1Payment +LT1PaymentES +LT1Payments +LT1PaymentsES +LT1ReportByCustomers +LT1ReportByCustomersES +LT1ReportByMonth +LT1ReportByQuarters +LT1ReportByQuartersES +LT1Summary +LT1SummaryES +LT1SummaryIN +LT1Supplier +LT1SupplierES +LT1SupplierIN +LT1Type +LT2 +LT2Customer +LT2CustomerES +LT2CustomerIN +LT2ES +LT2IN +LT2Paid +LT2PaidES +LT2PaidIN +LT2Payment +LT2PaymentES +LT2Payments +LT2PaymentsES +LT2ReportByCustomers +LT2ReportByCustomersES +LT2ReportByMonth +LT2ReportByQuarters +LT2ReportByQuartersES +LT2Summary +LT2SummaryES +LT2SummaryIN +LT2Supplier +LT2SupplierES +LT2SupplierIN +LT2Type +LabelContrib +LabelPaymentMode +LabelRIB +Language_en_US_es_MX_etc +LastBills +LastCheckBacklink +LastMembersModified +LastOrders +LastPA +LastPasswordChangeDate +LastResult +LatestProjects +LatestSupplierTemplateInvoices +LatestTemplateInvoices +LawApplicationPart1 +LawApplicationPart2 +LawApplicationPart3 +LawApplicationPart4 +Lead +LeadOrProject +LeadTimeForWarning +LeaveId +LeaveRequestCreationBlockedBecauseBalanceIsNegative +LengthUnitcm +LengthUnitdm +LengthUnitm +LengthUnitmm +LengthUnits +Library +License +LieuWareHouse +Limit +LimitedLiabilityCompanyCapital +Limits +LineAlreadyDispatched +LineBuyPriceHT +LineDescription +LineDiscount +LineID +LineLabel +LineQty +LineTotalHT +LineTotalTTC +LineTotalVAT +LineUnitPrice +LineVATRate +LinkToAContract +LinkToContract +LinkToExpedition +LinkToGoldMember +LinkToIntervention +LinkToInvoice +LinkToMo +LinkToOrder +LinkToParentMenu +LinkToProposal +LinkToSupplierInvoice +LinkToSupplierOrder +LinkToSupplierProposal +LinkToTemplateInvoice +LinkToTicket +LinkedFichinter +LinkedOrder +ListActionsAssociatedProject +ListBankTransactions +ListContractAssociatedProject +ListCurrencyRate +ListDonationsAssociatedProject +ListExpenseReportsAssociatedProject +ListFichinterAssociatedProject +ListInventory +ListInvoicesAssociatedProject +ListKnowledgeRecord +ListLoanAssociatedProject +ListMOAssociatedProject +ListMouvementStockProject +ListOfAvailableAPIs +ListOfCandidatures +ListOfContracts +ListOfCustomers +ListOfEMailings +ListOfEmployees +ListOfEvents +ListOfFees +ListOfInterventions +ListOfInventories +ListOfNotificationsPerUser +ListOfNotificationsPerUserOrContact +ListOfOrders +ListOfPartnerships +ListOfPositionsToBeFilled +ListOfPreviousSituationInvoices +ListOfProductsWithoutAccountingAccount +ListOfProposals +ListOfProspects +ListOfSms +ListOfSubscriptions +ListOfSupplierOrders +ListOfSuppliers +ListOfThirdParties +ListOfTrips +ListOfWarehouses +ListOrdersAssociatedProject +ListPredefinedInvoicesAssociatedProject +ListProposalsAssociatedProject +ListSalariesAssociatedProject +ListShippingAssociatedProject +ListSocialContributionAssociatedProject +ListSupplierInvoicesAssociatedProject +ListSupplierOrdersAssociatedProject +ListSupplierProposalsAssociatedProject +ListToApprove +ListVariousPaymentsAssociatedProject +ListWarehouseAssociatedProject +LoadContactFromEmailOrCreate +LocalID +LocalTax1IsNotUsed +LocalTax1IsNotUsedDesc +LocalTax1IsNotUsedDescES +LocalTax1IsNotUsedES +LocalTax1IsNotUsedExample +LocalTax1IsNotUsedExampleES +LocalTax1IsUsed +LocalTax1IsUsedDesc +LocalTax1IsUsedDescES +LocalTax1IsUsedExample +LocalTax1IsUsedExampleES +LocalTax1ManagementES +LocalTax2IsNotUsed +LocalTax2IsNotUsedDesc +LocalTax2IsNotUsedDescES +LocalTax2IsNotUsedES +LocalTax2IsNotUsedExample +LocalTax2IsNotUsedExampleES +LocalTax2IsUsed +LocalTax2IsUsedDesc +LocalTax2IsUsedDescES +LocalTax2IsUsedExample +LocalTax2IsUsedExampleES +LocalTax2ManagementES +LoginEmail +LoginOrEmail +LogoDesc +LogoSquarredDesc +LogsLinesNumber +MAIN_DOCUMENTS_WITH_PICTURE_WIDTH +MOAndLines +MOChild +MODIFYInDolibarr +MRPDescription +MRP_MO_CANCELInDolibarr +MRP_MO_DELETEInDolibarr +MRP_MO_PRODUCEDInDolibarr +MRP_MO_UNVALIDATEInDolibarr +MRP_MO_VALIDATEInDolibarr +Machine +MailboxTargetDirectory +MailingModuleDescContactsByCategory +MailingModuleDescContactsByCompanyCategory +MailingModuleDescContactsByFunction +MailingModuleDescContactsWithThirdpartyFilter +MailingModuleDescDolibarrUsers +MailingModuleDescEmailsFromFile +MailingModuleDescEmailsFromUser +MailingModuleDescThirdPartiesByCategories +MailingStatusDraft +MailingStatusReadAndUnsubscribe +MailingStatusSentCompletely +MailingStatusSentPartialy +MailingStatusValidated +MainAccountForSubscriptionPaymentNotDefined +MainAccountForVatPaymentNotDefined +MainDefaultWarehouseUser +MainDefaultWarehouseUserDesc +MakeLocalDatabaseDump +MakeLocalDatabaseDumpShort +MakeSendLocalDatabaseDump +ManagePartnership +ManualTokenGeneration +Manufactured +Manufacturing +MarkAsRead +MaxEmailCollectPerCollect +Mb +MeasuringUnitTypeDesc +MegaBytes +MemberFirstname +MemberHasNoCategory +MemberIsInCategories +MemberLastname +MemberRef +MemberStatusActive +MemberTypeId +MemberTypeLabel +MembersAndSubscriptions +MembersCategoryShort +MembersHome +MentionCategoryOfOperations0 +MentionCategoryOfOperations1 +MentionCategoryOfOperations2 +MenuAWStats +MenuAccountancyValidationMovements +MenuAddedSuccessfuly +MenuAgendaGoogle +MenuBookcalIndex +MenuCheques +MenuChequesReceipts +MenuDirectPrinting +MenuDoneActions +MenuDoneMyActions +MenuECM +MenuKnowledgeRecord +MenuKnowledgeRecordShort +MenuLoanAccounts +MenuMembers +MenuResourceIndex +MenuSpecialExpenses +MenuTaxAndDividends +MenuTicketMyAssign +MenuTicketMyAssignNonClosed +MenuToDoActions +MenuToDoMyActions +MergingPDFTool +MessageSuccessfullyAdded +MinPriceHT +MinPriceTTC +MoChildsDeleted +ModeRCUR +ModelModulesProduct +Modelcsv_normal +ModifiedById +ModifiedByLogin +ModifyMarginRates +Module0Desc +Module0Name +Module10000Desc +Module10000Name +Module100Name +Module105Desc +Module105Name +Module10Name +Module1120Desc +Module1120Name +Module1200Desc +Module1200Name +Module1520Desc +Module1520Name +Module1780Desc +Module1780Name +Module1Desc +Module1Name +Module20000Desc +Module20000Name +Module2000Desc +Module2000Name +Module200Desc +Module200Name +Module20Desc +Module20Name +Module210Desc +Module210Name +Module2200Desc +Module2200Name +Module22Desc +Module22Name +Module2300Desc +Module23Desc +Module23Name +Module2400Desc +Module240Desc +Module240Name +Module2430Desc +Module2430Name +Module2500Desc +Module2500Name +Module250Desc +Module250Name +Module25Desc +Module2600Desc +Module2600Name +Module2610Desc +Module2610Name +Module2660Desc +Module2660Name +Module2700Desc +Module2700Name +Module27130Desc +Module27130Name +Module2800Desc +Module2900Desc +Module2900Name +Module2Desc +Module2Name +Module30Desc +Module310Desc +Module3200Desc +Module3200Name +Module320Desc +Module320Name +Module3300Desc +Module3300Name +Module330Desc +Module330Name +Module3400Desc +Module3400Name +Module39000Desc +Module39000Name +Module40000Desc +Module40000Name +Module4000Desc +Module4000Name +Module400Desc +Module400Name +Module40Desc +Module4100Desc +Module4100Name +Module410Desc +Module410Name +Module42Desc +Module42Name +Module43Desc +Module43Name +Module49Desc +Module49Name +Module50000Desc +Module50000Name +Module5000Desc +Module5000Name +Module500Desc +Module500Name +Module50100Desc +Module50100Name +Module50150Desc +Module50150Name +Module50200Desc +Module50200Name +Module50300Desc +Module50300Name +Module50400Desc +Module50400Name +Module50Desc +Module50Name +Module510Desc +Module510Name +Module51Desc +Module51Name +Module520Desc +Module520Name +Module52Desc +Module52Name +Module53Desc +Module53Name +Module54000Desc +Module54000Name +Module54Desc +Module54Name +Module55000Desc +Module55000Name +Module55Desc +Module55Name +Module56000Desc +Module56Desc +Module56Name +Module57Desc +Module57Name +Module58Desc +Module59000Desc +Module59000Name +Module60000Desc +Module60000Name +Module6000Desc +Module6000Name +Module600Desc +Module600Long +Module60Desc +Module60Name +Module610Desc +Module62000Desc +Module62000Name +Module63000Desc +Module63000Name +Module64000Desc +Module650Desc +Module650Name +Module66000Desc +Module66000Name +Module660Desc +Module660Name +Module68000Desc +Module68000Name +Module700Desc +Module700Name +Module70Desc +Module70Name +Module75Desc +Module75Name +Module770Desc +Module770Name +Module80Desc +Module85Desc +Module94160Name +ModuleAssetsDesc +ModuleAssetsName +ModuleBookCalDesc +ModuleBookCalName +ModuleBuilderDescbuildpackage +ModuleBuilderDescdescription +ModuleBuilderDeschooks +ModuleBuilderDescmenus +ModuleBuilderDescobjects +ModuleBuilderDescpermissions +ModuleBuilderDescspecifications +ModuleBuilderDesctriggers +ModuleBuilderDescwidgets +ModuleBuilderNotAllowed +ModuleCompanyCodeCustomerAquarium +ModuleCompanyCodeCustomerDigitaria +ModuleCompanyCodeDigitaria +ModuleCompanyCodePanicum +ModuleCompanyCodeSupplierAquarium +ModuleCompanyCodeSupplierDigitaria +ModuleEventOrganizationName +ModuleFamilyExperimental +ModuleInitialized +ModuleKnowledgeManagementDesc +ModulePartnershipName +ModuleReceiptPrinterMustBeEnabled +ModuleRecruitmentDesc +ModuleRecruitmentName +ModuleWebhookDesc +ModuleWebhookName +ModuleZapierForDolibarrDesc +ModuleZapierForDolibarrName +MonthOfDay +MotifCP +MovementId +Mrp +MultiCompanySetup +MultiCurrency +MultiCurrencySetup +MulticurrencyCurrency +MulticurrencySubPrice +MulticurrencyUsed +MutltiCurrencyAutoUpdateCurrencies +MyContainerTitle +MyProjects +MySqlExportParameters +MyTimeSpent +MyWebsitePages +NOT_AUTHOR +NameOrCompany +NameSlashCompany +NbCheque +NbOfGenerationDoneShort +NbOfInvoiceToWithdrawWithInfo +NbOfLines +NbOfObjects +NbOfPayments +NbOfQtyInOrders +NbOfQtyInProposals +NbOfSms +NbOfUniqueSms +NbOfUsers +NbOfVoters +NbOperatorsRequired +NbUseDaysCPShortInMonth +NbVotes +NeedBusinessTravels +NeedMoreInformation +NeedMoreInformationShort +NetToBePaid +NewAccountingJournal +NewAsset +NewAvailabilities +NewCalendar +NewCheckReceipt +NewGroupCreated +NewPayboxPaymentFailed +NewPayboxPaymentReceived +NewPayment +NewProductAttribute +NewProductAttributeValue +NewProductCombinations +NewSell +NewSms +NewSoldeCP +NewStripePaymentFailed +NewStripePaymentReceived +NewSupplier +NewUserPassword +NextDateToExecutionShort +NextDateToIntervention +NoAccount +NoArticle +NoArticlesFoundForTheCategory +NoCLIFile +NoContactDefined +NoContactDefinedForThirdParty +NoDefaultPrinterDefined +NoDraftBills +NoError +NoIntervention +NoLimit +NoLogForThisTicket +NoModueToManageStockIncrease +NoOtherDraftBills +NoProductFound +NoProposal +NoRSH +NoRSHHelp +NoRecordedUsers +NoResults +NoTicketsFound +NoTrigger +NoTripsToExportCSV +NoVAT +NoneOrSeveral +NotActiveModCP +NotAllExportedMovementsCouldBeRecordedAsExported +NotCompatible +NotImportedFields +NotMatch +NotRead +NotUsedFields +NotUsedForThisCustomer +NotUsedForThisVendor +NoteSomeFeaturesAreDisabled +NothingProcessed +Notify_ACTION_CREATE +Notify_BILL_CANCEL +Notify_BILL_PAYED +Notify_BILL_SENTBYMAIL +Notify_BILL_SUPPLIER_CANCELED +Notify_BILL_SUPPLIER_PAYED +Notify_BILL_SUPPLIER_SENTBYMAIL +Notify_BILL_SUPPLIER_VALIDATE +Notify_BILL_UNVALIDATE +Notify_BILL_VALIDATE +Notify_COMPANY_CREATE +Notify_COMPANY_SENTBYMAIL +Notify_CONTRACT_VALIDATE +Notify_EXPENSE_REPORT_APPROVE +Notify_EXPENSE_REPORT_VALIDATE +Notify_FICHINTER_ADD_CONTACT +Notify_FICHINTER_CLOSE +Notify_FICHINTER_SENTBYMAIL +Notify_FICHINTER_VALIDATE +Notify_HOLIDAY_APPROVE +Notify_HOLIDAY_VALIDATE +Notify_MEMBER_DELETE +Notify_MEMBER_MODIFY +Notify_MEMBER_RESILIATE +Notify_MEMBER_SUBSCRIPTION +Notify_MEMBER_VALIDATE +Notify_ORDER_CLOSE +Notify_ORDER_SENTBYMAIL +Notify_ORDER_SUPPLIER_APPROVE +Notify_ORDER_SUPPLIER_REFUSE +Notify_ORDER_SUPPLIER_SENTBYMAIL +Notify_ORDER_SUPPLIER_SUBMIT +Notify_ORDER_SUPPLIER_VALIDATE +Notify_ORDER_VALIDATE +Notify_PROJECT_CREATE +Notify_PROPAL_CLOSE_REFUSED +Notify_PROPAL_CLOSE_SIGNED +Notify_PROPAL_SENTBYMAIL +Notify_PROPAL_VALIDATE +Notify_SHIPPING_SENTBYMAIL +Notify_SHIPPING_VALIDATE +Notify_TASK_CREATE +Notify_TASK_DELETE +Notify_TASK_MODIFY +Notify_TICKET_SENTBYMAIL +Notify_WITHDRAW_CREDIT +Notify_WITHDRAW_EMIT +Notify_WITHDRAW_TRANSMIT +NumberOf +NumberOfUnits +NumberOfUnitsMos +NumeroNationalEmetter +OAUTH_GITHUB_ID +OAUTH_GITHUB_NAME +OAUTH_GITHUB_SECRET +OAUTH_GOOGLE_ID +OAUTH_GOOGLE_NAME +OAUTH_GOOGLE_SECRET +OAUTH_STRIPE_LIVE_ID +OAUTH_STRIPE_LIVE_NAME +OAUTH_STRIPE_TEST_ID +OAUTH_STRIPE_TEST_NAME +ONLINE_PAYMENT_CSS_URL +ONLINE_PAYMENT_WAREHOUSE +ORDER_SUPPLIER_DELETEInDolibarr +Of +OnHold +OneLinePerPeriod +OneLinePerTask +OneLinePerTimeSpentLine +OneLinePerUser +OnlineHelp +OnlyActiveElementsAreExposed +OnlyNonValid +OnlyOpenedAccount +OnlyProdsInStock +OpenAnyMovement +OpenEtablishment +OpenFiscalYear +OpenInternal +OpenVerb +OpenedProjectsByThirdparties +OpeningBalance +OppStatusLOST +OppStatusNEGO +OppStatusPENDING +OppStatusPROPO +OppStatusPROSP +OppStatusQUAL +OppStatusWON +OpportunitiesStatusForProjects +OptionModeProductBuyExportDesc +OptionModeProductBuyIntraDesc +OptionVatInfoModuleComptabilite +OrProductsWithCategories +OrderByDateAsc +OrderByDateDesc +OrderByEMail +OrderByFax +OrderByMail +OrderByPhone +OrderByWWW +OrderCreation +OrderDateShort +OrderDeleted +OrderId +OrderLine +OrderShowDetail +OrdersInProcess +OrdersOpened +OrganizationEvenLabelName +OrganizationEventBoothRequestWasReceived +OrganizationEventBulkMailToAttendees +OrganizationEventBulkMailToSpeakers +OrganizationEventConfRequestWasReceived +OrganizationEventLinkToThirdParty +OriginEmail +OtherCountriesCustomersReport +OtherReceptionsForSameOrder +OutOfEurope +OutOfOrder +OutOfProject +PAIDInDolibarr +PASSWORDInDolibarr +PAYBOX_PAYONLINE_SENDEMAIL +PAYPAL_API_SANDBOX +PDFCrevetteDescription +PDFCrevetteSituationInvoiceLine +PDFCrevetteSituationInvoiceLineDecompte +PDFCrevetteSituationInvoiceTitle +PDFCrevetteSituationNumber +PDFEdisonDescription +PDF_USE_1A +PL_HIGH +PL_LOW +PL_MEDIUM +PL_NONE +PL_UNKNOWN +POSModule +POSTerminal +PRINTGCP_AUTHLINK +PRINTGCP_INFO +PRINTGCP_TOKEN_ACCESS +PRINTIPP_HOST +PRINTIPP_PASSWORD +PRINTIPP_PORT +PRINTIPP_USER +PRODUCT_CREATEInDolibarr +PRODUCT_DELETEInDolibarr +PRODUCT_MODIFYInDolibarr +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help +PROJECT_CREATEInDolibarr +PROJECT_DELETEInDolibarr +PROJECT_MODIFYInDolibarr +PROPOSAL_PDF_HIDE_PAYMENTMODE +PROPOSAL_PDF_HIDE_PAYMENTTERM +PageContent +Param +ParentCategoryID +ParentCategoryLabel +ParentLine +ParentPageId +ParentProductOfVariant +ParentProductsNumber +PartnershipAbout +PartnershipAboutPage +PartnershipAccepted +PartnershipAlreadyExist +PartnershipCanceled +PartnershipCheckBacklink +PartnershipDedicatedToThisThirdParty +PartnershipDescription +PartnershipDescriptionLong +PartnershipDraft +PartnershipManagedFor +PartnershipRefused +PassEncoding +PassedInOpenStatus +PassedInShippedStatus +PasswordChangeRequest +PasswordChangeRequestSent +Paste +PaymentBack +PaymentByChequeOrderedToShort +PaymentCondition10D +PaymentCondition10DENDMONTH +PaymentCondition14D +PaymentCondition14DENDMONTH +PaymentCondition30D +PaymentCondition30DENDMONTH +PaymentCondition60D +PaymentCondition60DENDMONTH +PaymentConditionDEP30PCTDEL +PaymentConditionPT_5050 +PaymentConditionPT_DELIVERY +PaymentConditionPT_ORDER +PaymentConditionRECEP +PaymentConditionShort10D +PaymentConditionShort10DENDMONTH +PaymentConditionShort14D +PaymentConditionShort14DENDMONTH +PaymentConditionShort30D +PaymentConditionShort30DENDMONTH +PaymentConditionShort60D +PaymentConditionShort60DENDMONTH +PaymentConditionShortDEP30PCTDEL +PaymentConditionShortPT_5050 +PaymentConditionShortPT_DELIVERY +PaymentConditionShortPT_ORDER +PaymentConditionShortRECEP +PaymentConferenceAttendee +PaymentId +PaymentModeShort +PaymentNote +PaymentNumber +PaymentRef +PaymentRule +PaymentSupplierInvoice +PaymentTermsCustomer +PaymentTermsSupplier +PaymentTypeDC +PaymentTypeFAC +PaymentTypeLIQ +PaymentTypePP +PaymentTypePRE +PaymentTypeShortCB +PaymentTypeShortCHQ +PaymentTypeShortFAC +PaymentTypeShortPRE +PaymentTypeShortTIP +PaymentTypeShortTRA +PaymentTypeShortVAD +PaymentTypeShortVIR +PaymentTypeTIP +PaymentTypeTRA +PaymentTypeVAD +PaymentTypeVIR +PaypalImportPayment +PaypalOrCBDoPayment +PermanentLeftSearchForm +Permission10001 +Permission10002 +Permission10003 +Permission10005 +Permission1001 +Permission1002 +Permission1003 +Permission1004 +Permission1005 +Permission101 +Permission1011 +Permission1012 +Permission1014 +Permission1015 +Permission1016 +Permission102 +Permission104 +Permission105 +Permission106 +Permission109 +Permission11 +Permission1101 +Permission1102 +Permission1104 +Permission1109 +Permission111 +Permission112 +Permission1121 +Permission1122 +Permission1123 +Permission1124 +Permission1125 +Permission1126 +Permission113 +Permission114 +Permission115 +Permission116 +Permission117 +Permission1181 +Permission1182 +Permission1183 +Permission1184 +Permission1185 +Permission1186 +Permission1187 +Permission1188 +Permission1189 +Permission1191 +Permission12 +Permission1201 +Permission1202 +Permission121 +Permission122 +Permission1231 +Permission1232 +Permission1233 +Permission1234 +Permission1235 +Permission1236 +Permission1237 +Permission125 +Permission1251 +Permission126 +Permission13 +Permission130 +Permission1321 +Permission1322 +Permission14 +Permission141 +Permission142 +Permission1421 +Permission144 +Permission145 +Permission146 +Permission147 +Permission15 +Permission151 +Permission152 +Permission1521 +Permission1522 +Permission153 +Permission154 +Permission16 +Permission161 +Permission162 +Permission163 +Permission164 +Permission165 +Permission167 +Permission171 +Permission172 +Permission173 +Permission174 +Permission178 +Permission180 +Permission181 +Permission182 +Permission183 +Permission184 +Permission185 +Permission186 +Permission187 +Permission188 +Permission19 +Permission192 +Permission193 +Permission194 +Permission20001 +Permission20002 +Permission20003 +Permission20004 +Permission20005 +Permission20006 +Permission20007 +Permission202 +Permission203 +Permission204 +Permission205 +Permission206 +Permission21 +Permission211 +Permission212 +Permission213 +Permission214 +Permission215 +Permission22 +Permission221 +Permission222 +Permission223 +Permission229 +Permission23001 +Permission23002 +Permission23003 +Permission23004 +Permission23101 +Permission23102 +Permission23103 +Permission23104 +Permission237 +Permission238 +Permission239 +Permission24 +Permission2401 +Permission2402 +Permission2403 +Permission241 +Permission2411 +Permission2412 +Permission2413 +Permission2414 +Permission242 +Permission243 +Permission244 +Permission25 +Permission2501 +Permission2502 +Permission2503 +Permission251 +Permission2515 +Permission252 +Permission253 +Permission254 +Permission255 +Permission256 +Permission26 +Permission2610 +Permission262 +Permission263 +Permission27 +Permission271 +Permission272 +Permission273 +Permission28 +Permission2801 +Permission2802 +Permission281 +Permission282 +Permission283 +Permission286 +Permission291 +Permission292 +Permission293 +Permission301 +Permission304 +Permission305 +Permission31 +Permission311 +Permission312 +Permission32 +Permission3200 +Permission33 +Permission3301 +Permission331 +Permission332 +Permission333 +Permission34 +Permission341 +Permission342 +Permission343 +Permission344 +Permission351 +Permission352 +Permission353 +Permission354 +Permission358 +Permission36 +Permission38 +Permission39 +Permission40001 +Permission40002 +Permission40003 +Permission4001 +Permission4002 +Permission4003 +Permission401 +Permission402 +Permission4021 +Permission4022 +Permission4023 +Permission4025 +Permission4028 +Permission403 +Permission4031 +Permission4032 +Permission4033 +Permission404 +Permission41 +Permission42 +Permission430 +Permission44 +Permission45 +Permission50101 +Permission50151 +Permission50152 +Permission50153 +Permission50201 +Permission50202 +Permission50330 +Permission50331 +Permission50332 +Permission50401 +Permission50411 +Permission50412 +Permission50414 +Permission50415 +Permission50418 +Permission50420 +Permission50430 +Permission50440 +Permission51001 +Permission51002 +Permission51003 +Permission51005 +Permission511 +Permission512 +Permission514 +Permission517 +Permission519 +Permission520 +Permission522 +Permission524 +Permission525 +Permission527 +Permission531 +Permission532 +Permission533 +Permission534 +Permission536 +Permission538 +Permission54001 +Permission55001 +Permission55002 +Permission56001 +Permission56002 +Permission56003 +Permission56004 +Permission56005 +Permission56006 +Permission561 +Permission562 +Permission563 +Permission564 +Permission59001 +Permission59002 +Permission59003 +Permission601 +Permission602 +Permission609 +Permission61 +Permission611 +Permission612 +Permission613 +Permission62 +Permission63001 +Permission63002 +Permission63003 +Permission63004 +Permission64 +Permission64001 +Permission650 +Permission651 +Permission652 +Permission660 +Permission661 +Permission662 +Permission67 +Permission67000 +Permission68 +Permission68001 +Permission68002 +Permission68004 +Permission69 +Permission70 +Permission701 +Permission702 +Permission703 +Permission71 +Permission72 +Permission74 +Permission75 +Permission76 +Permission771 +Permission772 +Permission773 +Permission775 +Permission776 +Permission777 +Permission778 +Permission779 +Permission78 +Permission79 +Permission81 +Permission82 +Permission84 +Permission85 +Permission86 +Permission87 +Permission88 +Permission89 +Permission91 +Permission92 +Permission93 +Permission94 +Permission941601 +Permission941602 +Permission941603 +Permission941604 +Permission941605 +Permission941606 +Permission95 +PermissionAdvanced251 +PermissionAdvanced253 +PhoneNumber +PhpWebLink +PointOfSale +PointOfSaleShort +PopuCom +PopuProp +PossibleLanguages +PostgreSqlExportParameters +PredefinedGroups +PredefinedInvoices +PredefinedMailContentContract +PrepareSms +PrettyLittleSentence +PrevSoldeCP +PreviewSms +PriceFormatInCurrentLanguage +PriceLevelLabels +PriceQtyMinHT +PriceQtyMinHTCurrency +PriceU +PrintGCPDesc +PrintIPPDesc +PrintMethod +PrintTestDescprintgcp +PrintTestDescprintipp +PrintingDriverDescprintgcp +PrintingDriverDescprintipp +ProductBOMHelp +ProductBarcodeDoesNotExist +ProductBatchDoesNotExist +ProductCombination +ProductCombinationGenerator +ProductCombinationGeneratorWarning +ProductDescriptionTranslated +ProductDoesNotExist +ProductFound +ProductHasNoCategory +ProductId +ProductIsInCategories +ProductLabelTranslated +ProductNoteTranslated +ProductQtyInReceptionAlreadySent +ProductQtyInSuppliersReceptionAlreadyRecevied +ProductService +ProductSheet +ProductStockWarehouse +ProductVolume +ProductWeight +ProductsMultiPrice +ProductsOnPurchaseOnly +ProductsOnSaleOnly +ProductsOnSellAndOnBuy +ProductsOrServiceMultiPrice +ProductsOrServicesTranslations +ProductsPipeServices +ProductsPricePerCustomer +ProfId10 +ProfId10FR +ProfId10Short +ProfId10ShortFR +ProfId1ShortCM +ProfId1ShortFR +ProfId2ShortCM +ProfId2ShortFR +ProfId3ShortCM +ProfId3ShortFR +ProfId4ShortCM +ProfId4ShortFR +ProfId5ShortCM +ProfId5ShortFR +ProfId6ShortCM +ProfId6ShortFR +ProfId7Short +ProfId7ShortFR +ProfId8Short +ProfId8ShortFR +ProfId9Short +ProfId9ShortFR +ProformaBill +ProjectCreatedByEmailCollector +ProjectHasNoCategory +ProjectId +ProjectOpenedProjectByOppStatus +ProjectRef +ProjectStatus +ProjectsAndTasksLines +ProjectsCategoriesShort +Properties +Property +ProposalCard +ProposalDeleted +ProposalLine +ProposalLines +ProposalShort +ProposalsAndProposalsLines +ProposedRemuneration +ProspectStatus +ProtectAndEncryptPdfFiles +ProtectAndEncryptPdfFilesDesc +PublicMemberCard +PublicMemberList +PurchaseOrderLines +PurchasedAmount +PurgeDeleteTemporaryFiles +ReConciliedBy +Read +RealURL +RealValue +ReasonDecline +ReasonDeclineOrCancel +ReceiptPrinter +ReceiptPrinterMethodDescription +ReceiptPrinterProfileDesc +ReceiptPrinterTemplateDesc +ReceivedPayments +ReceptionDescription +ReceptionLine +ReceptionsAndReceivingForSameOrder +RecordEvent +RecordMovement +RecordedQty +RecruitmentAbout +RecruitmentAboutPage +RecurringInvoice +RecurringInvoiceSource +RecurringInvoices +RecurringInvoicesJob +RecurringSupplierInvoices +RecurringSupplierInvoicesJob +Redo +Reductions +ReductionsShort +RefBill +RefOrderSupplier +RefOrderSupplierShort +RefSalary +RefSupplierShort +RefTaskParent +RegenerateMissingFiles +RegionStateOrigin +RegistrationAndPaymentWereAlreadyRecorder +RegistrationDate +RegulateStock +RegulatedOn +RegulatedQty +RelatedBill +RelatedBills +RelatedCommercialProposals +RelatedCustomerInvoices +RelatedObjects +RelatedRecurringCustomerInvoices +RelatedSupplierInvoices +RelatedTickets +RelativeDiscount +RemainderToTakeMulticurrency +RemoteControlSupport +RemoveAll +RepeatEvent +Repeatable +RepeatableSupplierInvoicesList +Repeatables +Replenishments +ReportByCustomers +ReportThirdParty +RequestedRemuneration +RequireAtLeastXDigits +RequireAtLeastXString +RequireXDigitsMax +RequiredField +ResetSms +ResourceNotAssignedToTheTask +ResourcePageIndex +ResourceTypeCode +ResponsibleOfRecruitement +Rest +RestOfEurope +RestartSelling +RuleForWarehouse +RulesCATotalSaleJournal +RulesPurchaseTurnoverTotalPurchaseJournal +Run +SALARIES_ACCOUNTING_ACCOUNT_CHARGE +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc +SEPAMandate +SERVICE_BOOTH_LOCATION +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION +SMSSentTo +STRIPE_CGI_URL_V2 +STRIPE_PAYONLINE_SENDEMAIL +SalariesAndPayments +SalariesPaymentsOf +SalaryInvoice +SaleLocal +SaleOrderLines +SaleRepresentativeFirstname +SaleRepresentativeLastname +SaleRepresentativeLogin +SalesRepresentativeMargins +SameCountryCustomersWithVAT +SaveAndNew +SaveAs +SaveQtyFirst +SavingAccounts +SearchACustomerInvoice +SearchASupplierInvoice +SearchOf +SearchProduct +SearchRequest +SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry +SeeInMarkerPlace +SeeOfficalSupport +SeeSubstitutionVars +SeeTicket +SeeVATReportInDueDebtMode +SeeVATReportInInputOutputMode +Select2MoreCharactersMore +SelectCategory +SelectFournisseur +SelectImportFields +SelectTaskToAssign +Selectformat +SellFinished +SellingMinPriceTTC +SellingPriceHT +SellingPriceTTC +SendAgreement +SendAgreementText +SendAskByMail +SendAskRef +SendBillByMail +SendBillRef +SendContractRef +SendEmailsReminders +SendEmailsRemindersOnInvoiceDueDate +SendInterventionByMail +SendInterventionRef +SendNewPasswordLink +SendOrderByMail +SendOrderRef +SendPaymentReceipt +SendProjectRef +SendPropalByMail +SendPropalRef +SendReceptionByEMail +SendReceptionRef +SendRemindByMail +SendReminderBillByMail +SendReminderBillRef +SendReminderForExpiredSubscription +SendReminderForExpiredSubscriptionTitle +SendRequestCP +SendRequestCollectiveCP +SendShippingByEMail +SendTo +Sending +SendingEmailOnAutoSubscription +SendingEmailOnCancelation +SendingEmailOnMemberValidation +SendingEmailOnNewSubscription +SendingEmailOnPartnershipAccepted +SendingEmailOnPartnershipCanceled +SendingEmailOnPartnershipRefused +SendingEmailOnPartnershipWillSoonBeCanceled +SendingReminderActionComm +SendingReminderForExpiredSubscription +SendingsAbility +SentBy +SentToSuppliers +SentXXXmessages +SerialNumberAlreadyInUse +ServiceSheet +ServicesOnPurchaseOnly +ServicesOnSaleOnly +ServicesOnSellAndOnBuy +SetLinkToAnotherThirdParty +SetRef +SetToDisabled +SetToEnabled +SetWebsiteOnlineBefore +SetupDescription3 +SetupDescription4 +SetupPayBoxToHavePaymentCreatedAutomatically +SetupShort +SetupStripeToHavePaymentCreatedAutomatically +ShipProduct +ShipmentBackToDraftInDolibarr +ShipmentClassifyClosedInDolibarr +ShipmentValidatedInDolibarr +ShippableOrderIconInList +ShoppingCart +Shortname +ShowAllFingerPrintsErrorsMightBeTooLong +ShowAllFingerPrintsMightBeTooLong +ShowCustomer +ShowCustomerPreview +ShowDiscount +ShowFiscalYear +ShowListTicketWithTrackId +ShowLoanPayment +ShowMyTasksOnly +ShowOpeningBalance +ShowProjectLabel +ShowProspect +ShowReception +ShowResource +ShowSalaryPayment +ShowSms +ShowStock +ShowSubscription +ShowSupplierPreview +ShowTempMassFilesArea +ShowTypeCard +ShowUnpaidAll +ShowUnpaidLateOnly +ShowWithdraw +SignSociete_rib +SignatureSociete_ribRef +SituationAmount +SituationDeduction +SituationTotalRayToRest +SizeUnitdm +SizeUnitfoot +SizeUnitm +SizeUnits +SkillList +Skin +Skype +SmsCard +SmsMessage +SmsNoPossibleRecipientFound +SmsRecipient +SmsRecipients +SmsResult +SmsStatusApproved +SmsStatusDraft +SmsStatusError +SmsStatusNotSent +SmsStatusSent +SmsStatusSentCompletely +SmsStatusSentPartialy +SmsStatusValidated +SmsTargets +SmsTestMessage +SmsTitle +SmsTopic +SocialNetworkSetup +SocialNetworksFacebookURL +SocialNetworksGithubURL +SocialNetworksInstagramURL +SocialNetworksLinkedinURL +SocialNetworksTwitterURL +SocialNetworksYoutubeURL +Societe_ribSigned +SoldAmount +SolvedClosed +SourceInvoiceId +SourceRequired +Speaker +SpecialCharActivation +SpecialCode +StandingOrderPayment +StandingOrderToProcess +StandingOrdersPayment +StartUpload +StateCode +StateId +StateOrigin +StatusAtInstall +StatusDebitCredit +StatusOrderApproved +StatusOrderApprovedShort +StatusOrderOnProcessShort +StatusOrderOnProcessWithValidation +StatusOrderProcessedShort +StatusOrderReceivedAllShort +StatusOrderReceivedPartially +StatusOrderReceivedPartiallyShort +StatusOrderRefused +StatusOrderRefusedShort +StatusReceptionCanceled +StatusReceptionDraft +StatusReceptionProcessed +StatusReceptionValidated +StatusReceptionValidatedReceived +StatusReceptionValidatedToReceive +StatusSendingCanceled +StatusSendingCanceledShort +StatusSendingDraft +StatusSendingProcessed +StatusSendingValidated +StatusSupplierOrderApproved +StatusSupplierOrderCanceledShort +StatusSupplierOrderDelivered +StatusSupplierOrderDeliveredShort +StatusSupplierOrderDraft +StatusSupplierOrderOnProcess +StatusSupplierOrderOnProcessWithValidation +StatusSupplierOrderProcessed +StatusSupplierOrderProcessedShort +StatusSupplierOrderReceivedAllShort +StatusSupplierOrderReceivedPartially +StatusSupplierOrderRefusedShort +StatusSupplierOrderSent +StatusSupplierOrderSentShort +StatusSupplierOrderToBill +StatusSupplierOrderToBillShort +StatusSupplierOrderToProcessShort +StatusSupplierOrderValidatedShort +Statut +StatutCP +StockDecreaseForPointOfSaleDisabledbyBatch +StockDetailPerBatch +StockLimitShort +StockStransferDecrementedCancel +StockStransferIncrementedShort +StockStransferIncrementedShortCancel +StockToBuy +StockTransferSetup +StocksWithBatch +String +String1Line +StripeAccount +StripeGateways +StripeID +StripeImportPayment +StripeOrCBDoPayment +StripePaymentModes +SubCatOf +SubProduct +SubjectNotIn +SubmitTranslation +SubmitTranslationENUS +SubscriptionId +SubscriptionRecorded +SubscriptionReminderEmail +SuggestedForTicketsInGroup +SummarySystem +SupervisorNotFound +SupplierCard +SupplierCodeShort +SupplierIBAN +SupplierInvoiceGeneratedFromTemplate +SupplierInvoiceLines +SupplierInvoicePayment +SupplierProposalCard +SupplierProposalDate +SupplierProposalRefFourn +SupplierProposalShort +SupplierProposalsDraft +SupplierReputation +SuppliersCategoryShort +SuppliersPrices +SuppliersPricesOfProductsOrServices +SurfaceUnitcm2 +SurfaceUnitdm2 +SurfaceUnitfoot2 +SurfaceUnitinch2 +SurfaceUnitm2 +SurfaceUnitmm2 +SurfaceUnits +System +SystemInfo +SystemInfoDesc +SystemTools +SystemToolsArea +TE_ADMIN +TE_GROUP +TE_MEDIUM +TE_OTHER +TE_PRIVATE +TE_RETAIL +TE_SMALL +TE_STARTUP +TE_UNKNOWN +TE_WHOLE +TF_BUS +TF_CAR +TF_ESSENCE +TF_HOTEL +TF_LUNCH +TF_METRO +TF_OTHER +TF_PEAGE +TF_TAXI +TF_TRAIN +TF_TRIP +THMEstimatedHelp +THMMachineEstimated +THMMachineEstimatedHelp +THMOperatorEstimated +THMOperatorEstimatedHelp +TICKET_CLOSEInDolibarr +TICKET_CREATEInDolibarr +TICKET_DELETEInDolibarr +TICKET_MODIFYInDolibarr +TMenuAgenda +TMenuMRP +TMenuProducts +TMenuServices +TMenuTools +TOKEN_DELETE +TabLetteringCustomer +TabLetteringSupplier +TagCheckMail +TagMailtoEmail +TagSignature +TagUnsubscribe +TakeposConnectorMethodDescription +TakeposConnectorNecesary +TakeposNeedsPayment +TaskAssignedToEnterTime +TaskDateEnd +TaskDateStart +TaskDescription +TaskId +TaskProgressSummary +TaskTimeDate +TaskTimeNote +TaskTimeSpent +TaskTimeUser +TasksHistoryForThisContact +Tb +TeleFax +TeraBytes +Terminate +TerreNumRefModelError +TestConnection +TestLoginToAPI +TestSms +TextLong +TextLongNLines +TheoricalQty +TheoricalValue +ThirdPartyAccount +ThirdPartyBankCode +ThirdPartyBookCalHelp +ThirdPartyCreatedByEmailCollector +ThirdPartyCustomersStats +ThirdPartyProspectsStats +ThirdpartiesHome +ThisIsContentOfSubscriptionReminderEmail +ThisIsContentOfYourCard +ThisIsContentOfYourMembershipRequestWasReceived +ThisIsContentOfYourMembershipWasValidated +ThisIsContentOfYourSubscriptionWasRecorded +ThisIsInformationOnDocumentToSignSociete_rib +ThisScreenAllowsYouToSignDocFromSociete_rib +TicketAssignedCustomerBody +TicketAssignedCustomerEmail +TicketCategoryShortOTHER +TicketChangeCategory +TicketChangeSeverity +TicketChangeType +TicketCloseEmailBodyAdmin +TicketCloseEmailBodyCustomer +TicketCloseEmailBodyInfosTrackUrlCustomer +TicketCloseEmailSubjectAdmin +TicketCloseEmailSubjectCustomer +TicketCreatedByEmailCollector +TicketDictCategory +TicketDictResolution +TicketDictSeverity +TicketDictType +TicketInitialMessageModified +TicketLogAssignedTo +TicketLogClosedBy +TicketLogPropertyChanged +TicketLogReopen +TicketLogStatusChanged +TicketMailExchanges +TicketMessageMailIntroAutoNewPublicMessage +TicketNewEmailBodyCustomer +TicketNewEmailSubjectCustomer +TicketNotNotifyTiersAtCreate +TicketNotificationEmailSubject +TicketNotificationLogMessage +TicketNotificationNumberEmailSent +TicketParamMail +TicketParamModule +TicketParamPublicInterface +TicketParams +TicketPleaseSelectAContract +TicketSetupPage +TicketSeverityShortBLOCKING +TicketSeverityShortHIGH +TicketSeverityShortLOW +TicketSeverityShortNORMAL +TicketTimeToRead +TicketTypeShortCOM +TicketTypeShortHELP +TicketTypeShortISSUE +TicketTypeShortOTHER +TicketTypeShortPROBLEM +TicketTypeShortPROJET +TicketTypeShortREQUEST +TicketViewAllTickets +TicketViewNonClosedOnly +TicketsActivatePublicInterfaceHelp +TicketsCategoriesArea +TicketsDisableEmail +TicketsHome +TicketsLimitViewAssignedOnly +TicketsLimitViewAssignedOnlyHelp +TicketsLogEnableEmail +TicketsLogEnableEmailHelp +TimeSpentBy +TimeSpentForIntervention +TimeSpentInvoiced +TimeType +TitleNumberOfActivatedModules +ToBillSeveralOrderSelectCustomer +ToBuildBackupFileClickHere +ToConciliate +ToDate +ToDispatch +ToLocation +ToProcess +ToStart +ToTest +ToUseAGenericEmail +TokenMustHaveBeenCreated +Tomorrow +TooMuchCombinationsWarning +ToolkitForDevelopers +TotalHTforthispage +TotalLT1ES +TotalLT1IN +TotalLT2ES +TotalLT2IN +TotalNumberOfActivatedModules +TotalSituationInvoice +TotalTTCToYourCredit +TotalTicket +TotalVATIN +TrackableSecurityEvents +TransKey +TranslatedDescription +TranslatedLabel +TranslatedNote +TranslationSetup +TranslationUncomplete +TriggerCodeInfo +TriggerCodes +TripId +TurnoverCollectedbyVatrate +TypeContact_commande_external_BILLING +TypeContact_commande_external_CUSTOMER +TypeContact_commande_external_SHIPPING +TypeContact_commande_internal_SALESREPFOLL +TypeContact_commande_internal_SHIPPING +TypeContact_contrat_external_BILLING +TypeContact_contrat_external_CUSTOMER +TypeContact_contrat_external_SALESREPSIGN +TypeContact_facture_external_BILLING +TypeContact_facture_external_SERVICE +TypeContact_facture_external_SHIPPING +TypeContact_facture_internal_SALESREPFOLL +TypeContact_fichinter_external_CUSTOMER +TypeContact_invoice_supplier_external_BILLING +TypeContact_invoice_supplier_external_SERVICE +TypeContact_invoice_supplier_external_SHIPPING +TypeContact_invoice_supplier_internal_SALESREPFOLL +TypeContact_order_supplier_external_BILLING +TypeContact_order_supplier_external_CUSTOMER +TypeContact_order_supplier_external_SHIPPING +TypeContact_order_supplier_internal_SALESREPFOLL +TypeContact_order_supplier_internal_SHIPPING +TypeContact_project_external_PROJECTCONTRIBUTOR +TypeContact_project_external_PROJECTLEADER +TypeContact_project_internal_PROJECTCONTRIBUTOR +TypeContact_project_internal_PROJECTLEADER +TypeContact_project_task_external_TASKCONTRIBUTOR +TypeContact_project_task_external_TASKEXECUTIVE +TypeContact_project_task_internal_TASKCONTRIBUTOR +TypeContact_project_task_internal_TASKEXECUTIVE +TypeContact_propal_external_BILLING +TypeContact_propal_external_CUSTOMER +TypeContact_propal_external_SHIPPING +TypeContact_propal_internal_SALESREPFOLL +TypeContact_stocktransfer_internal_STDEST +TypeContact_stocktransfer_internal_STFROM +TypeContact_stocktransfer_internal_STRESP +TypeContact_supplier_proposal_external_BILLING +TypeContact_supplier_proposal_external_SERVICE +TypeContact_supplier_proposal_external_SHIPPING +TypeContact_ticket_external_CONTRIBUTOR +TypeContact_ticket_external_SUPPORTCLI +TypeContact_ticket_internal_CONTRIBUTOR +TypeContact_ticket_internal_SUPPORTTEC +TypeContrib +TypeOfLeaveCode +TypeOfLeaveId +TypeOfLeaveLabel +TypeOfLineServiceOrProduct +Unanswered +Uncheck +Under +Undo +UnitCharges +UnitPriceTTC +UnknownAccountForThirdpartyBlocking +Unlettering +Unread +UpdateByScaningLot +UpdateByScaningProductBarcode +UpdateConfCPOK +UpdateRate +UploadFileDragDropSuccess +UrlToCheck +UsBillingContactAsIncoiveRecipientIfExist +UsageBillTimeShort +UsageOpportunity +UsageOrganizeEvent +UsageTasks +UseCredit +UseCustomerContactAsPropalRecipientIfExist +UseDebugBar +UseDiscount +UseDocFolder +UseFormatFileEmailToTarget +UseFormatInputEmailToTarget +UsePercentageVariations +UsePreviewTabs +UseTextBetween5And70Chars +UsedByInvoice +UserAccountancyCode +UserApproval +UserApproval2 +UserAuthor +UserCP +UserCard +UserClosing +UserClosingService +UserClosingShort +UserCreationShort +UserDeleted +UserEnabled +UserEnabledDisabled +UserForApprovalFirstname +UserForApprovalID +UserForApprovalLastname +UserForApprovalLogin +UserHideExternal +UserHideNonEmployee +UserID +UserLogged +UserLoginFailed +UserLogoff +UserMargins +UserModification +UserModificationShort +UserNeedPermissionToEditStockToUsePos +UserPersonalEmail +UserPersonalMobile +UserRank +UserRights +UserSetup +UserStartingService +UserUpdateCP +UserValidation +UserValidationShort +UsersHome +VALIDATEInDolibarr +VATBalance +VATDue +VATIN +VATINs +VATNPR +VATReportBuildWithOptionDefinedInModule +VATReportByCustomers +VATReportByCustomersInInputOutputMode +VATReportByPeriods +VATReportByQuartersInInputOutputMode +VATs +ValidFrom +ValidSms +ValidUntil +ValidateAndClose +ValidateInvoice +ValidateOrderFirstBeforeReception +ValidateReply +ValidatedById +ValidatedByLogin +ValidatedProjects +ValidatedWaitingApproval +ValueOfMeansLossForProductProduced +VarAmount +VariantLabelExample +VariantRefExample +VariousPaymentId +VariousPaymentLabel +Vendor +VendorEmail +VendorFirstname +VendorLastname +ViewAccountList +ViewSiteInNewTab +ViewSubAccountList +ViewWebsiteInProduction +VirementOrder +VirtualStockAtDateDesc +VisibleEverywhere +VisibleNowhere +VolumeUnitcm3 +VolumeUnitdm3 +VolumeUnitfoot3 +VolumeUnitgallon +VolumeUnitinch3 +VolumeUnitlitre +VolumeUnitm3 +VolumeUnitmm3 +VolumeUnitounce +VolumeUnits +VueBySubAccountAccounting +WEBSITE_CSS_URL +WEBSITE_PAGEURL +Waiting +WarehouseId +WarehouseRef +WarehouseUsage +WarehousesAndProducts +WarehousesAndProductsBatchDetail +WarningBillExist +WarningCloseAlways +WarningFailedToAddFileIntoDatabaseIndex +WarningInstallationMayBecomeNotCompliantWithLaw +WarningNoSmsAdded +WarningNoteModuleInvoiceForFrenchLaw +WarningNoteModulePOSForFrenchLaw +Warnings +WatermarkOnDraftSupplierProposal +WebhookSetup +Webpage +WebsiteId +WebsiteTypeLabel +WeightUnitg +WeightUnitkg +WeightUnitmg +WeightUnitounce +WeightUnitpound +WeightUnits +WeightUnitton +WelcomeOnOnlineSignaturePageSociete_rib +WidthUnits +WithBankUsingBANBIC +WithBankUsingRIB +WithDolTrackingID +WithDolTrackingIDInMsgId +WithdrawRequestAmount +WithdrawRequestErrorNilAmount +WithdrawalCantBeCreditedTwice +WithdrawalFile +WithdrawalPayment +WithoutDolTrackingID +WithoutDolTrackingIDInMsgId +WorkPlace +Workflow +WorkstationArea +WorkstationCreate +WorkstationList +WorkstationSetup +WorkstationType +WorkstationsDescription +YearInvoice +Yesterday +YouAreNotContactOfProject +YouCanEditHtmlSourceckeditor +YouCanEditPHPTZ +YouCanLinkArticleToATicketCategory +YouCantShipThis +YouMayFindYourInvoiceInThisEmail +YouTryInstallDisabledByDirLock +YouUseLastStableVersion +YouWillBeRedirectedOnPayBox +YouWillBeRedirectedOnStripe +YourCandidature +YourCandidatureAnswerMessage +YourEMail +YourMembershipRequestWasReceived +YourMembershipWasCanceled +YourMembershipWasValidated +YourOrganizationEventBoothRequestWasReceived +YourOrganizationEventConfRequestWasReceived +YourPartnershipAcceptedContent +YourPartnershipAcceptedTopic +YourPartnershipCanceledContent +YourPartnershipCanceledTopic +YourPartnershipRefusedContent +YourPartnershipRefusedTopic +YourPartnershipWillSoonBeCanceledContent +YourPartnershipWillSoonBeCanceledTopic +YourPasswordHasBeenReset +YourSEPAMandate +YourSubscriptionWasRecorded +ZapierAbout +ZapierDescription +ZapierForDolibarrSetup +accessType +activityindex +addEventToUserCP +byEX_DAY +byEX_EXP +byEX_MON +byEX_YEA +categories +commercialindex +contractindex +datapolicySetup +davDescription +day +deplacement +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER +descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL +descWORKFLOW_ORDER_AUTOCREATE_INVOICE +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL +descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL +descWORKFLOW_ORDER_CLASSIFY_RECEIVED_RECEPTION +descWORKFLOW_ORDER_CLASSIFY_RECEIVED_RECEPTION_CLOSED +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE +descWORKFLOW_PROPAL_AUTOCREATE_ORDER +descWORKFLOW_RECEPTION_CLASSIFY_BILLED_INVOICE +descWORKFLOW_RECEPTION_CLASSIFY_CLOSED_INVOICE +descWORKFLOW_SHIPPING_CLASSIFY_BILLED_INVOICE +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE +descWORKFLOW_TICKET_CLOSE_INTERVENTION +descWORKFLOW_TICKET_CREATE_INTERVENTION +descWORKFLOW_TICKET_LINK_CONTRACT +descWORKFLOW_TICKET_USE_PARENT_COMPANY_CONTRACTS +donationindex +errorRateDelete +expensereportindex +g +gram +hour +hrmindex +interventionindex +inventoryChangePMPPermission +inventoryConfirmCreate +inventoryCreate +inventoryCreateDelete +inventoryCreatePermission +inventoryDeleteLine +inventoryDeletePermission +inventoryDraft +inventoryEdit +inventoryErrorQtyAdd +inventoryListEmpty +inventoryListTitle +inventoryMvtStock +inventoryOfWarehouse +inventoryOnDate +inventoryReadPermission +inventorySelectWarehouse +inventorySetup +inventoryTitle +inventoryValidate +inventoryValidatePermission +inventoryWarningProductAlreadyExists +inventoryWritePermission +invoiceindex +kg +kilogram +l +liter +lm +logBILL_DELETE +logBILL_PAYED +logBILL_SENTBYMAIL +logBILL_UNPAYED +logBILL_VALIDATE +logCASHCONTROL_VALIDATE +logDOC_DOWNLOAD +logDOC_PREVIEW +logDONATION_PAYMENT_CREATE +logDONATION_PAYMENT_DELETE +logDON_DELETE +logDON_MODIFY +logDON_VALIDATE +logMEMBER_SUBSCRIPTION_CREATE +logMEMBER_SUBSCRIPTION_DELETE +logMEMBER_SUBSCRIPTION_MODIFY +logMODULE_RESET +logMODULE_SET +logPAYMENT_ADD_TO_BANK +logPAYMENT_CUSTOMER_CREATE +logPAYMENT_CUSTOMER_DELETE +logPAYMENT_VARIOUS_CREATE +logPAYMENT_VARIOUS_DELETE +logPAYMENT_VARIOUS_MODIFY +loginPassword +m +m2 +m3 +mailingindex +margin +meter +modify +mrpindex +newLT1Payment +newLT1PaymentES +newLT2Payment +newLT2PaymentES +nolimitbyEX_DAY +nolimitbyEX_EXP +nolimitbyEX_MON +nolimitbyEX_YEA +notiftofixedemail +notiftouser +notiftouserandtofixedemail +oauthService +oauthToken +opensurveyindex +ordersindex +orderssuppliersindex +p +printPlannedWarehouse +productindex +projectsindex +proposalindex +rate +receptionindex +recruitment +s +se +second +sendingindex +set +specialexpensesindex +stockindex +supplier_proposalDESC +suppliersproposalsindex +with + +# Seem to be global settings +AI_CONFIGURATIONS_PROMPT +WEBPORTAL_BANNER_BACKGROUND +WEBPORTAL_BANNER_BACKGROUND_IS_DARK +WEBPORTAL_INVOICE_LIST_ACCESS +WEBPORTAL_LOGIN_BACKGROUND +WEBPORTAL_LOGIN_LOGO_URL +WEBPORTAL_MEMBER_CARD_ACCESS +WEBPORTAL_MENU_LOGO_URL +WEBPORTAL_ORDER_LIST_ACCESS +WEBPORTAL_PARTNERSHIP_CARD_ACCESS +WEBPORTAL_PRIMARY_COLOR +WEBPORTAL_PROPAL_LIST_ACCESS +WEBPORTAL_TITLE +WEBPORTAL_USER_LOGGED + + +# +# The following exceptions are added to have Continuous Integrations pass. +# They may not be valid exceptions - this list needs to be cleaned +# +ANONYMISER_AT +AiCustomPrompt +DATAPOLICYSUBSITUTION +DATAPOLICY_PORTABILITE_CONFIRMATION +DATAPOLICY_PORTABILITE_TITLE +DisplayGrandTotalInList +EditWithEditor +ElementId +ElementType +ErrorABatchShouldNotContainsSpaces +ImageGeneration +ModelTemplate +ModuleWebPortalDesc +ModuleWebPortalName +Reports +SendEmailsRemindersOnSupplierInvoiceDueDate +TXTLINKDATAPOLICYACCEPT +TXTLINKDATAPOLICYREFUSE +Transparency +WEBPORTAL_MENU_LOGO_URLTooltip +WEBPORTAL_SECONDARY_COLOR +WebPortalDescription +WebPortalInvoiceListNothing +WebPortalOrderListNothing +WebPortalPropalListNothing +WebPortalSetup +WebPortalSetupPage +XSubsriptionErrors +YouCanChooseAModelForYouMailContent +YouCanMakeSomeInstructionForEmail +helpWithAi diff --git a/dev/translation/ignore_translation_keys.lst b/dev/translation/ignore_translation_keys.lst new file mode 100644 index 00000000000..173355fe70a --- /dev/null +++ b/dev/translation/ignore_translation_keys.lst @@ -0,0 +1,1183 @@ +# File with translation keys that are ignored for +# reporting issues (where used). +# Two parts (ignored by the tools): +# - First part: +# Keys that are in the translation files, and commented +# in the code - so potentially useful in the future. +# - Second part: +# Keys that are used in the code and missing in translation +# files. These should be fixed but are ignored for now +# so that continuous integration does not complain about it +# in order to detect newly introduced issues with the keys. +# +# ██████╗ █████╗ ██████╗ ████████╗ ██╗ +# ██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝███║ +# ██████╔╝███████║██████╔╝ ██║ ╚██║ +# ██╔═══╝ ██╔══██║██╔══██╗ ██║ ██║ +# ██║ ██║ ██║██║ ██║ ██║ ██║ +# ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ +# Keys that are in the translation files, and commented +# in the code - so potentially useful in the future. +ActivateModule +AddDispatchBatchLine +AddNewNotification +AssignUser +BankAccountsAndGateways +Binding +ChartGenerated +CloneMainAttributes +CloseRefusedBecauseOneServiceActive +CollapseBatchDetailHelp +CustomersOrdersRunning +DelayToRequestCP +DescFinanceJournal +DetailLevel +DiscountNone +ErrorFieldAccountNotDefinedForInvoiceLine +EveryDay +FieldsTitle +FileIntegrityIsOkButFilesWereAdded +FirstUseDate +FollowingLinksArePublic +HidePassword +IPP_Device +InstallChoiceRecommanded +IsInPackage +MailNoChangePossible +ModuleBuilderDesc2 +ModulesMarketPlaceDesc +MoveField +MyContacts +NbOfActiveNotifications +NbOfTargetedContacts +PreviewMailing +Processing +PropalStatusClosedShort +PublicAttendeeSubscriptionPage +ResetBarcodeForAllRecords +ResourcesLinkedToElement +SetupDescription5 +ShowSending +SomethingMakeInstallFromWebNotPossible2 +StatusMotif0 +StatusOrderProcessed +SuppliersOrdersRunning +TasksOnOpenedProject +ThirdPartyCustomersWithIdProf12 +TicketPublicInfoCreateTicket +TitreRequestCP +UseAsciiDocFormat +ViewPageInNewTab +YourTicketSuccessfullySaved +# +# ██████╗ █████╗ ██████╗ ████████╗██████╗ +# ██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝╚════██╗ +# ██████╔╝███████║██████╔╝ ██║ █████╔╝ +# ██╔═══╝ ██╔══██║██╔══██╗ ██║ ██╔═══╝ +# ██║ ██║ ██║██║ ██║ ██║ ███████╗ +# ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝ +# Keys that are used in the code and missing in translation +# files. These should be fixed but are ignored for now +# so that continuous integration does not complain about it +# in order to detect newly introduced issues with the keys. +# +........ +AADE_WEBSERVICE_KEY +AADE_WEBSERVICE_USER +APCCacheInstalledButDisabled +APCInstalled +API +Accept +AccountancyErrorMismatchLetteringCode +AccountingAccount +AccountingCode +AccountingJournalType +ActionAC_ +ActionAC_ALL_ +AddSite +AddSupplier +AddTicketIntoCategory +Adherent +AdherentNotLinkedToThirdParty +AdvTgtUse +Agents +AllEntities +AllFilesDidAlreadyExist +AlreadyInV7 +AmountOfOrders +AmountOfOrdersHT +AmountOfProposals +AmountOfProposalsHT +AmountOfReceptions +AmountOfReceptionsByMonthHT +AmountOfShipments +AmountOfShipmentsByMonthHT +AmountOfTickets +AmountOfTicketsByMonthHT +AmountOfinterventions +AmountOfinterventionsByMonthHT +AnObjectWithThisClassNameAlreadyExists +Anciennete +AnnualByAccountDueDebtMode +AnnualByAccountInputOutputMode +Anonymous +AnotherField +Applications +Articles +AssetErrorFetchMaxDepreciationDateForMode +AssetInAccountNotDefined +AuthorityDidntReconizeFingerprintConformity +AuthorityReconizeFingerprintConformity +Auto +AutoGenerateDoc +AutoValidationNotPossibleWhenStockIsDecreasedOnInvoiceValidation +Automatic +AvailabilityType +BAN +BI +BOMs +Back +Bad value for email, email lwas not verified by Google +Bad value for returned userinfo[aud] +Bad value for returned userinfo[exp]. Token expired. +Bad value for returned userinfo[iss] +BadNumberOfLinesMustHaveAtLeastOneLinePlusTitle +BadParameterWhenCallingCreateOfBlockedLog +BadPaymentMethod +BadStatusOfObject +BadValueForParameterClientOrSupplier +BankColorizeMovementName +Banque +Barcode +BarcodeDesc +BarcodeStickersMask +BatchInformationNotfound +BillOfMaterialsLine +BlockLogNeedAmountsValue +BlockLogNeedElement +BlockedLogAuthorityNeededToStoreYouFingerprintsInNonAlterableRemote +BlockedLogAuthorityUrl +BlockedLogSetup +BookCalArea +BookCalSystem +Bookings +BoxTitleLast +BoxTitleLatest +BoxTitleLatestModifiedMyObjects +ByDefault +Bzip2 +CLI +CSS +Cache +CalcModeLT +CalculatedFromProductsToConsume +CancelReception +Candidatures +CantBeNullOrPositive +CantConvertToReducAnInvoiceOfThisType +CardFichinter +CardProduct +CashDeskBankAccountForStripeTerminal +Channel +Charset +Cheque +ChequeBankUpdateSucceeded +ChequeMakeUpdateSucceeded +Child of +ClassNotFound +Clear +ClickToDial +Clients +Clone +CloneAffectation +CloneChanges +CloneFile +CloneProgression +CloneTimes +Close Done +Close2 +CloseShipment +CodeTooltipHelp +Column +Combination +CompanyPaymentMode +ComptaFiles +ConferenceOrBoothAttendeeExtraFields +Confirm Delete Dictionnary +Confirm Delete Menu +Confirm Delete Right +ConfirmActionAvailabilities +ConfirmActionMyObject +ConfirmActionTarget +ConfirmCloneMyObject +ConfirmCloneTask +ConfirmCloseShipment +ConfirmCreateAdherent +ConfirmDeleteAdherent +ConfirmDeleteIndividual +ConfirmDeleteReport +ConfirmDeleteWebsiteAccount +ConfirmReoponAsk +ConnectingToStripeTerminal +Constant +ContactAddress +ContactDefault_ +ContactSuperAdminForChange +ContactUs +Container +Contrats +Control +Convert +Core +Count +CreateFichInter +CreateRemoteOrder +CreateRepeatableIntervention +Created +CronCannotLoadLib +Crypted +Current +CustomX +CustomY +DATAPOLICYReturn +DateInvalid +DatePaymentForDepositReceived +Datee +Dateo +Dates +Datet +DecimalSeparator +Declared +Decline +DefaultCashPOSLabel +Delays_ +DeleteAdherent +DeleteAnIndividual +DeleteAsset +DeleteAssetModel +DeleteAvailabilities +DeleteCalendar +DeleteConferenceOrBooth +DeleteEvaluation +DeleteInventory +DeleteJob +DeleteKnowledgeRecord +DeleteLoan +DeleteMyObject +DeleteOldFiles +DeletePosition +DeleteReception +DeleteRecruitmentCandidature +DeleteRecruitmentJobPosition +DeleteReport +DeleteTarget +DeleteWebsiteAccount +DemandReasonType +Demo +Desc +Detail +Details +Development +Dictionaries +DictionaryEmpty +DictionaryNameUpdated +Directory +DisabledByOptionADD_UNSPLASH_LOGIN_BACKGROUND +Document +Documentation +Dolibarr +Dolibarr constant MAIN_SERVER_TZ +DolibarrPassword +Down +DraftMyObjects +DragDrop +DuplicateRecord +DynamicPrice +ECMAreaDesc2 +ECMDocsByProducts +ECMSectionAutoDesc +ECMSectionManualDesc +EMail +EMails +EcmFiles +EditAdherent +EditAdherentAddress +EditRelativeDiscounts +EmailcollectorAction +EmailcollectorFilter +EmailingTargetSelector +Empty +End +EnterAnIP +EnterNameOfDictionnaryToDeleteDesc +EntityNameNotDefined +Entries +ErrSCAAuthentication +Error sql +ErrorADiscountThatHasBeenRemovedIsIncluded +ErrorAccountancyCodeOnBankAccountNotDefined +ErrorAccountancyCodeOnThirdPartyNotDefined +ErrorBackToDraft +ErrorBadEmail +ErrorBadInvoice +ErrorBadParameterCat +ErrorBadParameterQty +ErrorBadPhone +ErrorBadSocialNetworkValue +ErrorBadStatus +ErrorBadValue +ErrorBadValueForBatch +ErrorBadValueForDate +ErrorCanNotDeleteDir +ErrorCantSplitAUsedDiscount +ErrorChartOfAccountSystemNotSelected +ErrorCheckVersionIsDefined +ErrorCreateUserSkill +ErrorDB +ErrorDateEndLowerThanDateStart +ErrorDoNotProvideAccountsIfNullAmount +ErrorDuplicateEmalingSelector +ErrorDuplicateWidget +ErrorEmailInvalid +ErrorEmptyNameDic +ErrorFailToCreateZip +ErrorFailToOpenFile +ErrorFaildToOpenFile +ErrorFailedToAddUserAsContact +ErrorFailedToConnect +ErrorFailedToCopyProposal +ErrorFailedToDeleteFile +ErrorFailedToFindSomeFiles +ErrorFailedToGetListOfNotificationsToSend +ErrorFailedToLoadBankAccount +ErrorFailedToLoadDiscount +ErrorFailedToSetNewPassword +ErrorFaviconMustBeASquaredImage +ErrorFileNameInvalid +ErrorImportOfChartLimitedToCurrentChart +ErrorMAIN_ROUNDING_RULE_TOTCanMAIN_MAX_DECIMALS_TOT +ErrorMailFromRequired +ErrorNegativeValueNotAllowed +ErrorNoAccountingModuleEnabled +ErrorNoPhoneDefinedForThisUser +ErrorNoUrl +ErrorNoValueForLinkType +ErrorNoValueForSelectListType +ErrorNumberingModuleNotSetup +ErrorObjectMustHaveStatusClosedToBeReOpened +ErrorObjectMustHaveStatusValidToBeCanceled +ErrorObjectNoSupportedByFunction +ErrorOccurredReviseAndRetry +ErrorOnlyOrderNotDraftCanBeSentInMassAction +ErrorOnlyProposalNotDraftCanBeSentInMassAction +ErrorParamMustBeAnUrl +ErrorPriceExpression +ErrorProductIdIsMandatory +ErrorSetupOfCountryMustBeDone +ErrorSomeFilesCouldNotBeDeleted +ErrorStripeAccountNotDefined +ErrorTechnicalError +ErrorThirdPartyIdIsMandatory +ErrorTicketIsNotValid +ErrorTitreAlreadyExists +ErrorUpdatingUsersCP +ErrorUserFetch +ErrorValueMustBeInteger +ErrorValueTooHigh +ErrorVerif +ErrorWarehouseRequiredIntoReceptionLine +ErrorWebServicesFieldsRequired +Error_BOM_ADDON_NotDefined +Error_COMPANY_ADDON_PDF_NotDefined +Error_FICHEINTER_ADDON_NotDefined +Error_HOLIDAY_ADDON_NotDefined +Error_MRP_MO_ADDON_NotDefined +Error_RECEPTION_ADDON_NUMBER_NotDefined +ErrorloadUserOnSendingMail +EstimatedWeight +Evaluation +Evaluationdet +Evaluations +EventFee +EventIntoASerie +EventOrganizationArea +EventParticipant +ExampleOnlyForATBEDEITNLESCustomers +ExampleOnlyForBECustomers +ExampleOnlyForDECustomers +ExampleOnlyForKlarnaCustomers +ExampleOnlyForNLCustomers +Expedition +Experimental +Expired +Extension +ExtraLanguageHasWrongValue +Extrafieldcomputed +FRST +FTP +Failed +FailedToCloseProject +FailedToDefinGraph +FailedToExecutCommandJob +FailedToGetCostPrice +FailedToOpenFile +FailedToReadFile +FailedToSetPaid +FailedToSetToCancel +FailedToUncompressFile +FailedToUpdatePrice +FailedtoSetToApprove +FailedtoSetToDeny +FeatureNotAvailableWithThisDatabaseDriver +FieldNotFoundInObject +FieldsEdit +FieldsInsert +FieldsLinked +FieldsView +File encoding +FileDidAlreadyExist +FileIsNotCorrect +Filename +FilteredFrom +FiscalYear +Flashy +ForceEmailFrom +ForcedByGlobalSetup +Form for public lead registration has not been enabled +Free +FreeLegalTextOnReceptions +FrequencyPer_ +FromPublicEmail +Function_getNextValue_InModuleNotWorking +Gantt +GeneratePDF +GeoIPLibVersion +Get +GetCompanyParentsError +GlobalGroup +GlobalVariableUpdaterHelp +GlobalVariableUpdaterHelpFormat +GlobalVariableUpdaterType +GoOnTokenProviderToDeleteToken +GoSourceInvoice +Gzip +H +HTTPBasicPassword +HelpAbandonProductReturned +HideVersionLink +HolidayStarted +Hook +Hooks +IBANNotDefined +ID +IPP_COLOR_ +IconFieldSelector +Id +Image +ImpossibleToRetrieveUser +ImpossibleUpdateCat +Inactive +Inf +IntracommReport +IntracommReportDeleted +Introduction +JS +Job +JobPositionApplications +JournalNum +KO +Key +Keywords +LDAP +LDAP setup for groups not defined inside Dolibarr +LDAP setup for members not defined inside Dolibarr +LDAP setup for members types not defined inside Dolibarr +LDAP setup for users not defined inside Dolibarr +LT +LabelName +LabelPaperSize +Language_ +Languages +LdapUacf_ +Level +Lifetime +LinkedElementsInvalidDeleted +LinkedToAConcialitedTransaction +ListOfAttendeesPerConference +ListOfBookmark +ListTicketsLinkToContract +Load +LocalTaxReport +Locale +Lot +MAIN_MAIL_SMTPS_OAUTH_SERVICE_EMAILING +MAIN_MAIL_SMTPS_OAUTH_SERVICE_TICKET +MEDIA_IPP_ +MO +MRP +MYDATA_AADE_KEY +MYDATA_AADE_USER +Mailman +MainAccountForRevenueStampSaleNotDefined +Manual +Map +Max +MaxRunReached +Maximum +Measuringtype_durationDesc +MemberAllowchangeOfType +MemberTypeCard +MembersListOfTiers +MenuAddedSuccesfuly +Message +MigrationBankTransfertsToUpdate +MigrationContractsEmptyCreationDatesUpdateSuccess +Millisecond +Minimum +Mo +Mode +Modifier +Module/Application +ModuleCompanyCode +ModuleCompanyCodeCustomer +ModuleCompanyCodeSupplier +ModuleNotEnabled +ModuleTriggeringThisWarning +Modulebuilder +ModulebuilderSetup +MonthShort +MonthVeryShort +Morphy +Movement +MultiCompanyMode +Multicompanies +MulticurrencyPaidBack +MulticurrencyRemainderToPayBack +MustBeAdminToDeleteOtherAdmin +MyFilter +MyModule +MyModuleArea +MyModuleBoxDescription +MyModuleMassAction +MyModuleSetup +MyModuleSetupPage +MyModuleTab +MyObject +MyObjects +NA +NPR +NPR counterpart +Name of the new third party. In the meantime we check if it already exists... +Nb +NbOfDonations +NbOfIntervention +NbOfOrder +NbOfSendingsByMonth +NbOfTicket +NeedRefresh +NetMeasure +Network +NewAdherent +NewAdherentAddress +NewDeposit +NewEMailTemplate +NewLead +NewPartnershipForm +NewProperty +NoActiveEstablishmentDefined +NoAddMember +NoAuthorityURLDefined +NoBankAccountFound +NoCurrencyRateSelected +NoEntriesToShow +NoEstablishmentFound +NoMail +NoModuleFound +NoOperations +NoPasswordGenerationRuleConfigured +NoReader +NoRecordedUnpaidInvoices +NoRecordfound +NoRecords +NoRecordsToDisplay +NoSenderEmailDefined +NoShippingMethodDefined +NoStripe +NoSurvey +NoTitle +NoType +NoTypeOfPagePleaseEditDictionary +NoURL +No_record_on_multicurrency_rate +NobodyHasPermissionToValidateExpenseReport +NotARecurringInterventionalTemplate +NotAllExportedMovementsCouldBeRecordedAsExportedOrValidated +NotEnoughForAllOrders +NotFound +NotUsed +NotUserRightToView +Note: The function password_hash does not exist on your PHP +Note: The function password_hash exists on your PHP +Notification +Notify_ +Num +NumberOfCopy +NumberOfDonationsByMonth +NumberOfOrders +NumberOfProposals +Numeric +OK +Object +Objects +Offline +Ok +Omit sub-projects +Online +OnlineSignature +OnlyAdminUsersCanDisableAdminUsers +OnlyTerminal1IsAvailableForCashDeskModule +OpenSurvey +Operation +Operations +OppStatus +OrderSource +PARTNERSHIP_NEWFORM_PAYONLINE +PAYBOX_CGI_URL_V1 +PAYBOX_IBS_DEVISE +PAYPAL_API_EXPRESS +PDFStandardHrmEvaluation +PHP +PHP_OS +POS +PaperFormat +Parent +PasswordEncryption +PasswordLength +Path +PayBox +PayLoan +PayPal +Payement +PaymentBeingProcessed +PaymentCondition +PaymentConditionShort +PaymentDonation +PaymentHigherThanReminderToPaySupplier +PaymentSalary +PaymentSendToStripeTerminal +PaymentType +PaymentTypeShort +PaymentValidated +Paypal +Pending +PendingCreditTransferToComplete +PendingCreditTransferToCompleteShort +PendingDirectDebitToComplete +PendingDirectDebitToCompleteShort +PermissionAdvanced +Picto +PlanStripe +Poll +Posts +PredefinedInterventional +PrevRangeToThisRange +PreviousFingerprint +Print +PrintDriver +PrintModule +PrintUserConfDesc +PrinterId +PrinterIdEmpty +PrinterLocation +PrinterNameEmpty +PrinterParameterEmpty +Printers +Printing +ProductCodeDesc +ProductFournisseurPrice +ProductLot +ProductNotDefined +ProductReturned +Production +ProfId +Profile +Programs +Progression +ProjectNbProject +ProjectNbTask +Property %s not found in the class. The class was probably not generated by modulebuilder. +Proposer +Provider +Proxy +Pwd +QR +Question +RECUR +RSS +RateIndirect +Re-Open +Rechercher +ReconciledBy +RecordNotFound +RecruitmentJobPosition +Recurrence +RefAlreadyExists +Referer +Refuse +RegistrationAndPaymentWereAlreadyRecorded +Reinit +Rejection +RemoteOrderRef +RemotePriceMismatch +RemoteUserBadCredentials +RemoteUserMissingAssociatedSoc +RemoteUserNotPermission +RemoveDuplicates +Repair +Replace +Replaced +Reply +Request +RequireValidPhone +RequireValue +RequiredIfProduct +RequiredIfService +Resource +ResourceTypeShort +ResponseNonOK +Results +Retry +Reverse +RobotEmail +Roles +Rowid +RulesPurchaseTurnoverCollectedOfExpenseAccounts +SID +SOAPError +SPIP +SQL +SQLSort +STATE_ +STATE_IPP_ +STRIPE_APPLICATION_FEE_PLATFORM +STRIPE_BANCONTACT +STRIPE_GIROPAY +STRIPE_IDEAL +STRIPE_KLARNA +STRIPE_SOFORT +ST_ +SaveFailed +Saved +Script +SeeWikiPage +ServiceCodeDesc +Session +SetContract +SetModel +SetReceptionMethod +SetRefExt +SetRefusedAndClose +SetSendingMethod +SetTransDate +SetVATReverseCharge +SetWarehouse +Setting +SetupNotComplete +SetupNotError +SeveralEvents +ShipmentIncrementStockOnDelete +Shipping +ShowAsset +ShowAssetModel +ShowAvailabilities +ShowBill +ShowBillOfMaterials +ShowBillOfMaterialsLine +ShowCalendar +ShowCompanyPaymentMode +ShowConferenceOrBooth +ShowConferenceOrBoothAttendee +ShowCronJob +ShowEmailCollector +ShowEmailcollectorAction +ShowEmailcollectorFilter +ShowEvaluation +ShowEvaluationdet +ShowFichinter +ShowInterventionModel +ShowInventory +ShowJob +ShowKnowledgeRecord +ShowMo +ShowMyObject +ShowPartnership +ShowPayment +ShowPosition +ShowProductAttribute +ShowProductFournisseurPrice +ShowProductOrService +ShowProposal +ShowRecruitmentCandidature +ShowRecruitmentJobPosition +ShowSearchFields +ShowSkill +ShowSkillRank +ShowSkilldet +ShowStockTransfer +ShowStockTransferLine +ShowTarget +ShowTimeSpent +ShowWorkstation +Showing +SignatureKO +SignatureOK +Siren +Situation +SizeUnit +SkillCreated +SkillRank +SmsTestSubstitutionReplacedByGenericValues +SomeShipmentExists +SourceType +Split +SplitAllQuantity +Standard +StatsOnDonationsOnlyValidated +StatusProspect +Stock Total +Stock total +StockTransferLine +Stripe +StripeAutoSubscription +StripeBalance +StripeConnect +StripeConnectPay +StripeCustomer +Sub-projects +SubscriptionStripe +Success +Sumup +SumupAffiliate +SumupAppId +Supervisor +SupplierDepositsAreNotIncluded +SupplierMissingRef +Synchronize +Syslog +TLS/STARTTLS +TLSv1 +TLSv1.2 +TYPE_ +Tabs +Tag +TakePOS +TargetType +Targets +TasksToDo +Taxes +Template +TemplateIdEmpty +TemplateNameEmpty +Templates +TestPrinterTemplate +TestTemplateToPrinter +Theme +Thirdparty +ThirdpartyHasNoDefaultBanAccount +ThisIsInformationOnDocumentToSign +ThisScreenAllowsYouToSignDocFrom +TicketCategoryShort +TicketMessageMailNewText +TicketSeverityShort +TicketTypeShort +TimeOnly +Timezone +ToGetBack +ToPay +ToReopon +Token +Tooltip +TooltipEditAndRevertStockMovement +TotalEntries +Transaction +TranslationOfKey +Triggers +Trip +TripForPaid +TripForValid +TripPaid +TurnoverReport +TypeContact_ +TypeToFilter +UTF8 +Unix +UnknownError +Unlink +Up +UpdateContact +UpdateGroup +UpdateMemberType +UpdateUser +UpgradeHasBeenUnlocked +Url +Use of API for currency update is disabled by option MULTICURRENCY_DISABLE_SYNC_CURRENCYLAYER +UserRemovedFromGroup +UserSetInGroup +VCard +Vacant +ValidateAndSign +ValidationDateNotDefinedEvenIfReceptionValidated +ValueFromBom +Variable +Variant +Vote +WTOf +WaitAccountNotDefined +Warning: you will delete all menus linked to this one. +WarningFieldsMustContains +WarningPostActionErrorAfterPayment +WarningUserDifferentContactSocid +WebDAV +WebServiceKey +WebServiceURL +Website +WebsiteMustBeSameThanClonedPageIfTranslation +Weighted +WelcomeOnOnlineSignaturePage +WidgetDisabledAsModuleDisabled +Widgets +Windows +WorkingBoard +Workload +WrongAmount +XDebug +XXX +XmlCorrupted +Y +ZeroMeansEveryYear +Zstd +_blank +accountancy_error_modelnotfound +bytes +card +card3DS +checkMargins +copy_of_ +csv +customer +desc +diff_after_tomorrow +diff_before_yesterday +diff_now +diff_tomorrow +diff_yesterday +errorUpdateSkilldet +errors +iDEAL +log +minimum +multicurrency_code_already_added +noExtrafields +period_end_date +period_interval +period_recurrences +period_start_date +point +productlot +refunded +save +seconds +sepadebit +showInputBorder +skill +supplier +test01 +test02 +test03 +test04 +test05 +test06 +title1 +title2 +title3 +txt +unit +words +xcache.cacher +xcache.coverager +xcache.optimizer +xcache.stat +xxx + + +# Confirmed, will be used in the future +# (When used, remove from this list) + +AudioText +MenuResourceAdd +SendShippingRef +TextGeneration +VideoGeneration + +##################################################################### +##################################################################### +## The following list is added only to make Continuous Integration +## pass - this list needs to be cleaned up +##################################################################### +##################################################################### +$minimum +AI_KEY_API_ +AddService +AnHelpMessage +Analytic +AnalyticLabel +BOOKCAL_MYPARAM10 +BOOKCAL_MYPARAM8 +BOOKCAL_MYPARAM9 +BankId +Bcc +Birthdate +Candidature +ClientCollation +Collation +Config +Confirmed +Creation +CronLib +CronModuleNotEnabledInThisEntity +DateInitialBalance +Dimension +Don +ECM +EmptyMessageNotAllowedError +ErrorBarcodeNotFoundForProductWarehouse +ErrorCodeScannedIsBothProductAndSerial +ErrorInputRequired +ErrorLDAPFunctionsAreDisabledOnThisPHP +ErrorUpdating +Exceptions +Extra +Facture +FailedToConnectToSFTPAfterSSHAuthentication +FailedToLogin +First +France +Germany +Greece +GroupCreate +GroupUpdate +INVOICE_RETAINED_WARRANTY_LIMITED_TO_FINAL_SITUATION +INVOICE_RETAINED_WARRANTY_LIMITED_TO_SITUATION +INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_COND_ID +INVOICE_SITUATION_DEFAULT_RETAINED_WARRANTY_PERCENT +INVOICE_USE_RETAINED_WARRANTY +INVOICE_USE_SITUATION +INVOICE_USE_SITUATION_CREDIT_NOTE +ImpossibleToContactAuthority +InputValueIsNotAnNumber +InterDate +Inventory Code +InvoiceReplace +Italy +ItemID +JobApplications +JobPosition +Journal +Label Movement +Labels +Last +LedgerAccount +LocalTax1IsNotUsedExample +LocalTax1IsUsedExample +LocalTax2IsNotUsedExample +LocalTax2IsUsedExample +Logs +Lot/Série +MAIN_IMAP_USE_PHPIMAPDesc +MYMODULE_CATEGORY_ID_XXX +MYMODULE_MYPARAM1 +MYMODULE_MYPARAM10 +MYMODULE_MYPARAM2 +MYMODULE_MYPARAM3 +MYMODULE_MYPARAM4 +MYMODULE_MYPARAM5 +MYMODULE_MYPARAM6 +MYMODULE_MYPARAM7 +MYMODULE_MYPARAM8 +MYMODULE_MYPARAM9 +ManufacturingOrders +MemberCreate +MemberTypeCreate +MemberTypeUpdate +Messages +MoDate +MultiCompany +MyWidget +NO_PARAM_JUST_TEXT +NewSection +NoPreviousBillForCustomer +Normal +NotSelected +Null +Obsolete +Off +On +Open +PDF 1.7 +PDF/A-1b +PDF/A-3b +PartnershipSentByEMail +PdfTitle +Privileges +ProcessingError +PurchaseOrder +PurchaseOrders +ReceptionSentByEMail +ReceptionValidated +Recruited +Ref. Product +RefNewContract +Societe +Spain +Stable +Suggested +TaskModifieddInDolibarr +TicketMessageMailSignatureText +TicketSetupPage +Tiers +Timeline +TotalDiscount +TotalHTBeforeDiscount +Transfer +TryAnotherConnectionMode +UndefinedKey +UnknownType +UpdateMember +UserCreate +UserDiscarded +UserUpdate +Variables +Vat +VirtualHost +WEBPORTAL_ROOT_URL +WEBPORTAL_USER_LOGGED2 +XSubsriptionError +centimes +email +id +leftmenu +message +multicurrency_buyPriceInCurrency +multicurrency_modifyRateApplication +ref +sendEmailsReminder +smsing +societe +target +titre +type +url +Civility +IntracommReportList +PrintTestDesc +PrintingDriverDesc diff --git a/dev/translation/sanity_check_trans_missing_unused.sh b/dev/translation/sanity_check_trans_missing_unused.sh new file mode 100755 index 00000000000..459f59117a5 --- /dev/null +++ b/dev/translation/sanity_check_trans_missing_unused.sh @@ -0,0 +1,212 @@ +#!/bin/bash +# +# Find unused translations pretty fast... +# +# Principle: +# +# 1.Generate two files: +# - one for available translations keys, +# - one for expected keys. +# 2. Make the difference between the files. +# +# Find expected translation keys: +# 1. Find all occurrences that look like `->trans("` or `->trans('` +# with fast grep. +# 2. Split result to have only one '->trans(' on each line +# 3. Filter the text between the single or double quotes. +# +# Find available translation keys: +# 1. Get all strings before '=' token in the language files +# +# Notes: +# - Some side effects from translations on variables. +# - Some other minors side effects to be examined (#, %). +# +# Copyright (C) 2024 MDW + +LANG_DIR=htdocs/langs/en_US/ +MYDIR=$(dirname "$(realpath "$0")") +TMP=${TMP:=/tmp} # Most of the time defined on the system. +EXPECTED_FILE=${TMP}/expected_translations +AVAILABLE_FILE_NODEDUP=${TMP}/available_translations_no_dedup +AVAILABLE_FILE=${TMP}/available_translations +DUPLICATE_KEYS_FILE=${TMP}/duplicate_keys +DYNAMIC_KEYS_FILE=${TMP}/dynamic_keys +MISSING_AND_UNUSED_FILE=${TMP}/missing_and_unused +MISSING_FILE=${TMP}/missing +UNUSED_FILE=${TMP}/unused +EXPECTED_REGEX='(Country..|Language_.._..|MonthVeryShort\d\d|PaperFormat.*|ProfId\d(..)?|unit.*)' +DYNAMIC_KEYS_SRC_FILE=${MYDIR}/dynamic_translation_keys.lst +EXCLUDE_KEYS_SRC_FILE=${MYDIR}/ignore_translation_keys.lst +DUPLICATE_KEYS_SRC_FILE=${MYDIR}/duplicate_translation_keys.lst + +# Grep options that are reused (normal grep) +GREP_OPTS="" +GREP_OPTS="${GREP_OPTS} --exclude=htdocs/theme/common/fontawe*/" +GREP_OPTS="${GREP_OPTS} --exclude-dir=.cache --exclude-dir=.git" +GREP_OPTS="${GREP_OPTS} --exclude=*.phar --exclude=*.webp --exclude=*.z" +GREP_OPTS="${GREP_OPTS} --exclude=*.sw? --exclude=*.json" + +# Note: using 'git grep' to restrict to version controlled files +# and more flexible globbing. + +# TODO/to ignore: +# transnoentities(), transnoentitiesnoconv(), +# formSetup->newItem() + +exit_code=0 + +# Find all translations keys available in the language files (for the language) +grep --no-filename -r -oP -- '^([^#=]+?)(?=\s*=.*)' "${LANG_DIR}" \ + | grep -x -v -F -f "${EXCLUDE_KEYS_SRC_FILE}" \ + | sort > "${AVAILABLE_FILE_NODEDUP}" +sort -u \ + < "${AVAILABLE_FILE_NODEDUP}" \ + > "${AVAILABLE_FILE}" + + +# Combine strings found in sources with pre-determined dynamic string values. + +## Build some regex strings to match translations +# +EXTRACT_STR="" +JOIN_STR="" +for t in '->trans' '->transnoentities' '->transnoentitiesnoconv' 'formSetup->newItem' ; do + MATCH_STR="$MATCH_STR$JOIN_STR$t" + EXTRACT_STR="$EXTRACT_STR$JOIN_STR(?<=${t}\\([\"'])([^\"']+)(?=[\"']\$)" + JOIN_STR="|" +done + +{ + # Find static strings that are translated in the sources (comments stripped) + # shellcheck disable=2086 + # With std grep: `grep --no-filename -r ${GREP_OPTS} -- '->trans(' . ` + # Using git grep avoiding to look into unversioned files + # transnoentitiesnoconv + git grep -h -r -P -- "${MATCH_STR}\\(" ':*.php' ':*.html' \ + | sed 's@\(^#\|[^:]//\|/\*\|^\s*\*\).*@@' \ + | sed 's@)\|\(['"'"'"]\)\(,\)@\1\n@g' \ + | grep -aPo "$EXTRACT_STR(?=.$)" + + # "Append" the list of strings that are used in dynamic expressions. + # (Fixed list: needs to be updated if the dynamic strings evolve.) + cat "${DYNAMIC_KEYS_SRC_FILE}" +} \ + | grep -x -v -F -f "${EXCLUDE_KEYS_SRC_FILE}" \ + | sort -u \ + | grep -v -P '^(#|$)' \ + > "${EXPECTED_FILE}" + + +# shellcheck disable=2050 +if [ 0 = 1 ] ; then + # Find dynamic keys for call to trans. + # shellcheck disable=2086 + grep --no-filename ${GREP_OPTS} -r -- '->trans(' . \ + | tr ')' '\n' \ + | grep -- '->trans(' \ + | grep -v -P '(?<=->trans\(["'"'"'])([^"'"'"']*)(?=["'"'"'])' \ + | grep -Po '(?<=->trans\()(.*)' \ + | sort -u \ + > "${DYNAMIC_KEYS_FILE}" +fi + + +# Produce reports on STDOUT. +# Some output is already compatible with message extraction for github annotation (logToCs.py) +# # Produce reports on STDOUT. +# Some output is already compatible with message extraction for github annotation (logToCs.py) +# +diff "${AVAILABLE_FILE}" "${EXPECTED_FILE}" \ + | grep -E "^[<>]" \ + | grep -v -P "^< ${EXPECTED_REGEX}$" \ + | sort \ + > "${MISSING_AND_UNUSED_FILE}" + +if [ -s "${MISSING_AND_UNUSED_FILE}" ] ; then + echo "##[group]List Apparently Unused Translations (<) and Missing Translations (>)" + echo + echo "## :warning: Unused Translations may match ->trans(\$key.'SomeString')." + echo "## You can add such dynamic keys to $(basename "$DYNAMIC_KEYS_SRC_FILE")" + echo "## so that they are ignored for this report." + echo "## :warning: Unused Translations may be commented in the code" + echo "## You can add such 'disabled' keys to $(basename "$EXCLUDE_KEYS_SRC_FILE")" + echo "## so that they are ignored for this report." + echo + cat "${MISSING_AND_UNUSED_FILE}" + echo "##[endgroup]" + echo +fi + +sed -n 's@< \(.*\)@^\1\\s*=@p' \ + < "${MISSING_AND_UNUSED_FILE}" \ + > "${UNUSED_FILE}.grep" + +# Too many results, git grep is slow +#sed -n 's@> \(.*\)@trans.["'"'"']\1["'"'"'].@p' \ +# < "${MISSING_AND_UNUSED_FILE}" \ +# > "${MISSING_FILE}.grep" +# + +# Prepare file with exact matches for use with `git grep`, supposing " quotes +# +REPL_STR="" +for t in trans transnoentities transnoentitiesnoconv ; do + REPL_STR="${REPL_STR}\n->${t}(\"\\1\"," + REPL_STR="${REPL_STR}\n->${t}('\\1'," + REPL_STR="${REPL_STR}\n->${t}(\"\\1\")" + REPL_STR="${REPL_STR}\n->${t}('\\1')" +done + +sed -n 's@> \(.*\)'"@${REPL_STR}@p" \ + < "${MISSING_AND_UNUSED_FILE}" \ + | grep -v -E '^$' \ + > "${MISSING_FILE}.grep" + + + +if [ -s "${UNUSED_FILE}.grep" ] ; then + exit_code=1 + + # Report unused translation in recognizable format + git grep -n --column -r -f "${UNUSED_FILE}.grep" -- "${LANG_DIR}"'/*.lang' \ + | sort -t: -k 4 \ + | sed 's@^\([^:]*:[^:]*:[^:]*:\)\s*@\1 Not used, translated; @' +fi + +if [ -s "${MISSING_FILE}.grep" ] ; then + exit_code=1 + + # Report missing translation in recognizable format + git grep -n --column -r -F -f "${MISSING_FILE}.grep" -- ':*.php' ':*.html' \ + | sort -t: -k 4 \ + | sed 's@^\([^:]*:[^:]*:[^:]*:\)\s*@\1 Missing translation; @' +fi + + +diff "${AVAILABLE_FILE_NODEDUP}" "${AVAILABLE_FILE}" \ + | grep -Po '(?<=^\< )(.*)$' \ + | grep -x -v -F -f "${DUPLICATE_KEYS_SRC_FILE}" \ + | sed 's/.*/^\0=/' \ + > "${DUPLICATE_KEYS_FILE}" + +if [ -s "${DUPLICATE_KEYS_FILE}" ] ; then + exit_code=1 + echo + echo "##[group]List Duplicate Keys" + echo "## :warning:" + echo "## Duplicate keys may be expected across language files." + echo "## You may want to avoid them or they could be a copy/paste mistake." + echo "## You can add add valid duplicates to $(basename "$DUPLICATE_KEYS_SRC_FILE")" + echo "## so that they are ignored for this report." + cat "${DUPLICATE_KEYS_FILE}" + echo "##[endgroup]" + echo + + git grep -n -r -f "${DUPLICATE_KEYS_FILE}" -- "${LANG_DIR}"'/*.lang' \ + | sort -t: -k 3 \ + | sed 's@^\([^:]*:[^:]*:\)\s*@\1 Is/Has duplicate @' +fi + + +exit $exit_code diff --git a/pyproject.toml b/pyproject.toml index 23f76292a93..39d126bd778 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta" # `codespell` can be run as a standalone program from the CLI # with the appropriate default options. -skip = "*/.*/*,*/langs/*,*/build/exe/*,**.log,*.pdf,*dev/resources/*,*.phar,*.z,*.gz,*.sql,*.svg,*htdocs/includes/*,*/textiso.txt,*.js,*README-*,*build/rpm/*spec,*build/pad/*ml,*htdocs/includes/phpoffice/*,*htdocs/includes/tecnickcom/*,*dev/initdemo/removeconfdemo.sh,*dev/tools/codespell/*,*pyproject.toml,*build/exe/*,*fontawe*,*htdocs/theme/*/flags-sprite.inc.php,*dev/setup/codetemplates/codetemplates.xml,*/php.ini,*/html_cerfafr.*,*/lessc.class.php,*.asciidoc,*.xml,*opensurvey/css/style.css,*dev/tools/phan/stubs/*,*/documents" +skip = "*/.*/*,*/langs/*,*/build/exe/*,**.log,*.pdf,*dev/resources/*,*.phar,*.z,*.gz,*.sql,*.svg,*htdocs/includes/*,*/textiso.txt,*.js,*README-*,*build/rpm/*spec,*build/pad/*ml,*htdocs/includes/phpoffice/*,*htdocs/includes/tecnickcom/*,*dev/initdemo/removeconfdemo.sh,*dev/tools/codespell/*,*dev/trans*/ignore_translation_keys.lst,*pyproject.toml,*build/exe/*,*fontawe*,*htdocs/theme/*/flags-sprite.inc.php,*dev/setup/codetemplates/codetemplates.xml,*/php.ini,*/html_cerfafr.*,*/lessc.class.php,*.asciidoc,*.xml,*opensurvey/css/style.css,*dev/tools/phan/stubs/*,*/documents" check-hidden = true quiet-level=2