@vtex/faststore-plugin-buyer-portal 2.0.13 → 2.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/cms/b2b/components/.gitkeep +0 -0
  3. package/cms/b2b/pages/cms_content_type__i18n.jsonc +36 -0
  4. package/cypress/integration/localization.test.ts +482 -0
  5. package/cypress/support/commands.ts +8 -0
  6. package/docs/i18n/i18n-messages-format.md +391 -0
  7. package/docs/i18n/locales.json +701 -0
  8. package/docs/i18n/migration-inventory.md +959 -0
  9. package/package.json +3 -3
  10. package/specs/custom-localization-system.md +711 -0
  11. package/specs/multi-locale-e2e-validation.md +277 -0
  12. package/src/__mocks__/discovery.config.ts +12 -0
  13. package/src/features/accounting-fields/components/AccountingConfirmDelete/AccountingConfirmDelete.tsx +14 -4
  14. package/src/features/accounting-fields/components/AccountingFieldConfirmEdit/AccountingFieldConfirmEdit.tsx +11 -6
  15. package/src/features/accounting-fields/components/AccountingFieldDropdown/AccountingFieldDropdown.tsx +5 -3
  16. package/src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx +33 -23
  17. package/src/features/accounting-fields/components/AccountingValueConfirmEdit/AccountingValueConfirmEdit.tsx +10 -6
  18. package/src/features/accounting-fields/components/AccountingValueDropdown/AccountingValueDropdown.tsx +19 -9
  19. package/src/features/accounting-fields/components/AccountingValueForm/AccountingValueForm.tsx +21 -10
  20. package/src/features/accounting-fields/components/CreateAccountingFieldDrawer/CreateAccountingFieldDrawer.tsx +11 -8
  21. package/src/features/accounting-fields/components/CreateAccountingValueDrawer/CreateAccountingValueDrawer.tsx +18 -7
  22. package/src/features/accounting-fields/components/DeleteAccountingFieldDrawer/DeleteAccountingFieldDrawer.tsx +14 -12
  23. package/src/features/accounting-fields/components/DeleteAccountingValueDrawer/DeleteAccountingValueDrawer.tsx +20 -10
  24. package/src/features/accounting-fields/components/EditAccountingFieldDrawer/EditAccountingFieldDrawer.tsx +5 -3
  25. package/src/features/accounting-fields/components/EditAccountingValueDrawer/EditAccountingValueDrawer.tsx +13 -6
  26. package/src/features/accounting-fields/components/RemoveValueFromUnitDrawer/RemoveValueFromUnitDrawer.tsx +19 -8
  27. package/src/features/accounting-fields/layouts/AccountingFieldLayout/AccountingFieldLayout.tsx +11 -9
  28. package/src/features/addresses/components/AddRecipientsDrawer/AddRecipientsDrawer.tsx +13 -7
  29. package/src/features/addresses/components/AddressDropdownMenu/AddressDropdownMenu.tsx +22 -20
  30. package/src/features/addresses/components/AddressForm/AddressForm.tsx +33 -22
  31. package/src/features/addresses/components/AddressLine/AddressLine.tsx +29 -25
  32. package/src/features/addresses/components/AddressLocationsList/AddressLocationsList.tsx +15 -6
  33. package/src/features/addresses/components/AddressRecipientsList/AddressRecipientsList.tsx +9 -4
  34. package/src/features/addresses/components/AddressesCard/AddressesCard.tsx +8 -5
  35. package/src/features/addresses/components/CreateAddressDrawer/CreateAddressDrawer.tsx +27 -14
  36. package/src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx +26 -21
  37. package/src/features/addresses/components/DeleteAddressDrawer/DeleteAddressDrawer.tsx +20 -16
  38. package/src/features/addresses/components/DeleteAddressLocationDrawer/DeleteAddressLocationDrawer.tsx +26 -14
  39. package/src/features/addresses/components/DeleteRecipientAddressDrawer/DeleteRecipientAddressDrawer.tsx +20 -17
  40. package/src/features/addresses/components/EditAddressDrawer/EditAddressDrawer.tsx +12 -6
  41. package/src/features/addresses/components/EditAddressLocationDrawer/EditAddressLocationDrawer.tsx +24 -17
  42. package/src/features/addresses/components/EditRecipientAddressDrawer/EditRecipientAddressDrawer.tsx +17 -15
  43. package/src/features/addresses/components/LocationForm/LocationField/LocationField.tsx +8 -5
  44. package/src/features/addresses/components/LocationForm/LocationForm.tsx +9 -3
  45. package/src/features/addresses/components/LocationsDrawer/LocationsDrawer.tsx +15 -9
  46. package/src/features/addresses/components/RecipientsForm/RecipientItem/RecipientItem.tsx +55 -46
  47. package/src/features/addresses/components/RecipientsForm/RecipientsForm.tsx +4 -1
  48. package/src/features/addresses/components/RemoveAddressDrawer/RemoveAddressDrawer.tsx +21 -14
  49. package/src/features/addresses/layouts/AddressDetailsLayout/AddressDetailsLayout.tsx +16 -9
  50. package/src/features/addresses/layouts/AddressesLayout/AddressesLayout.tsx +11 -8
  51. package/src/features/b2b-agent/layouts/B2BAgentLayout/B2BAgentLayout.tsx +3 -1
  52. package/src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx +14 -12
  53. package/src/features/budgets/components/BudgetAddSuccess/BudgetAddSuccess.tsx +16 -14
  54. package/src/features/budgets/components/BudgetAllocationsSelection/BudgetAllocationsSelection.tsx +8 -5
  55. package/src/features/budgets/components/BudgetAllocationsTable/BudgetAllocationsTable.tsx +9 -6
  56. package/src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx +23 -17
  57. package/src/features/budgets/components/BudgetEditNotificationDrawer/BudgetEditNotificationDrawer.tsx +13 -6
  58. package/src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx +31 -24
  59. package/src/features/budgets/components/BudgetNotificationsInfo/BudgetNotificationsInfo.tsx +15 -9
  60. package/src/features/budgets/components/BudgetRemainingBalance/BudgetRemainingBalance.tsx +6 -2
  61. package/src/features/budgets/components/BudgetSettingsInfo/BudgetSettingsInfo.tsx +27 -10
  62. package/src/features/budgets/components/BudgetUsersTable/BudgetUsersTable.tsx +14 -7
  63. package/src/features/budgets/components/BudgetsTable/BudgetsTable.tsx +11 -8
  64. package/src/features/budgets/components/CreateBudgetAllocationDrawer/CreateBudgetAllocationDrawer.tsx +8 -5
  65. package/src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx +31 -18
  66. package/src/features/budgets/components/DeleteBudgetAllocationDrawer/DeleteBudgetAllocationDrawer.tsx +17 -12
  67. package/src/features/budgets/components/EditBudgetDrawer/EditBudgetDrawer.tsx +14 -8
  68. package/src/features/budgets/components/EmptyState.tsx/EmptyState.tsx +4 -1
  69. package/src/features/budgets/layouts/BudgetsDetailsLayout/BudgetsDetailsLayout.tsx +7 -5
  70. package/src/features/budgets/layouts/BudgetsLayout/BudgetsLayout.tsx +5 -3
  71. package/src/features/budgets/messages/budgetNotifications.ts +5 -5
  72. package/src/features/budgets/utils/handleBudgetError.tsx +5 -8
  73. package/src/features/budgets/utils/handleBudgetError.types.ts +3 -0
  74. package/src/features/buying-policies/components/AccountingFieldCriteriaSelector/AccountingFieldCriteriaSelector.tsx +5 -3
  75. package/src/features/buying-policies/components/AccountingFieldCriteriaSelector/AccountingValueCriteriaSelector.tsx +20 -9
  76. package/src/features/buying-policies/components/AddBuyingPolicyDrawer/AddBuyingPolicyDrawer.tsx +8 -5
  77. package/src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx +49 -33
  78. package/src/features/buying-policies/components/BudgetCriteriaSelector/BudgetCriteriaSelector.tsx +8 -2
  79. package/src/features/buying-policies/components/BuyingPolicyDropdownMenu/BuyingPolicyDropdownMenu.tsx +5 -3
  80. package/src/features/buying-policies/components/DeleteBuyingPolicyDrawer/DeleteBuyingPolicyDrawer.tsx +28 -24
  81. package/src/features/buying-policies/components/UpdateBuyingPolicyDrawer/UpdateBuyingPolicyDrawer.tsx +10 -7
  82. package/src/features/buying-policies/layouts/BuyingPoliciesLayout/BuyingPoliciesLayout.tsx +11 -4
  83. package/src/features/buying-policies/layouts/BuyingPolicyDetailsLayout/BuyingPolicyDetailsLayout.tsx +26 -9
  84. package/src/features/buying-policies/utils/accountingFieldCriteriaHelpers.ts +2 -2
  85. package/src/features/buying-policies/utils/buyingPoliciesWorkflowTypes.ts +3 -3
  86. package/src/features/buying-policies/utils/orderFieldsCriteriaOptions.ts +8 -8
  87. package/src/features/buying-policies/utils/spendingLimitsCriteriaOptions.ts +6 -6
  88. package/src/features/contracts/components/ContractsCard/ContractsCard.tsx +7 -5
  89. package/src/features/contracts/layouts/ContractsLayout/ContractsLayout.tsx +9 -4
  90. package/src/features/credit-cards/components/CreateCreditCardDrawer/CreateCreditCardDrawer.tsx +17 -11
  91. package/src/features/credit-cards/components/CreditCardDropdownMenu/CreditCardDropdownMenu.tsx +17 -11
  92. package/src/features/credit-cards/components/CreditCardForm/CreditCardForm.tsx +8 -5
  93. package/src/features/credit-cards/components/CreditCardSettingsDrawer/CreditCardSettingsDrawer.tsx +10 -8
  94. package/src/features/credit-cards/components/DeleteCreditCardDrawer/DeleteCreditCardDrawer.tsx +19 -14
  95. package/src/features/credit-cards/components/EditCreditCardDrawer/EditCreditCardDrawer.tsx +14 -13
  96. package/src/features/credit-cards/components/RemoveCreditCardDrawer/RemoveCreditCardDrawer.tsx +18 -15
  97. package/src/features/credit-cards/layouts/CreditCardsLayout/CreditCardLayout.tsx +10 -4
  98. package/src/features/order-entry/layouts/OrderEntryLayout.tsx +3 -1
  99. package/src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx +11 -9
  100. package/src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx +28 -16
  101. package/src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx +18 -12
  102. package/src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx +28 -29
  103. package/src/features/org-units/components/OrgUnitBreadcrumb/OrgUnitBreadcrumbLink.tsx +4 -4
  104. package/src/features/org-units/components/OrgUnitDetailsDropdownMenu/OrgUnitDetailsDropdownMenu.tsx +4 -2
  105. package/src/features/org-units/components/OrgUnitDetailsNavbar/OrgUnitDetailsNavbar.tsx +23 -5
  106. package/src/features/org-units/components/OrgUnitDetailsNavbar/org-unit-details-navbar.scss +18 -2
  107. package/src/features/org-units/components/OrgUnitsDropdownMenu/OrgUnitsDropdownMenu.tsx +6 -4
  108. package/src/features/org-units/components/OrgUnitsHierarchyTree/OrgUnitsHierarchyTree.tsx +9 -6
  109. package/src/features/org-units/components/OrganizationalUnitsCard/OrganizationalUnitsCard.tsx +15 -7
  110. package/src/features/org-units/components/UpdateOrgUnitDrawer/UpdateOrgUnitDrawer.tsx +15 -9
  111. package/src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx +27 -26
  112. package/src/features/org-units/layouts/OrgUnitsLayout/OrgUnitsLayout.tsx +8 -3
  113. package/src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx +29 -18
  114. package/src/features/payment-methods/components/PaymentMethodSettingsDrawer/PaymentMethodSettingsDrawer.tsx +13 -9
  115. package/src/features/payment-methods/components/RemoveMethodButton/RemoveMethodButton.tsx +5 -2
  116. package/src/features/payment-methods/components/RemovePaymentMethodsDrawer/RemovePaymentMethodsDrawer.tsx +10 -7
  117. package/src/features/payment-methods/hooks/useRemovePaymentMethodSubmit.ts +6 -4
  118. package/src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx +21 -15
  119. package/src/features/product-assortment/components/ProductAssortmentTable/ProductAssortmentTable.tsx +11 -7
  120. package/src/features/product-assortment/layouts/ProductAssortmentLayout/ProductAssortmentLayout.tsx +9 -6
  121. package/src/features/profile/components/ProfileCard/ProfileCard.tsx +8 -5
  122. package/src/features/profile/components/ProfileSummary/ProfileSummary.tsx +13 -6
  123. package/src/features/profile/layouts/ProfileLayout/ProfileLayout.tsx +16 -6
  124. package/src/features/roles/layout/RoleDetailsLayout/RoleDetailsLayout.tsx +4 -2
  125. package/src/features/roles/layout/RolesLayout/RolesLayout.tsx +5 -3
  126. package/src/features/shared/components/BasicCard/BasicCard.tsx +6 -4
  127. package/src/features/shared/components/BasicCard/BasicCardLine.tsx +5 -4
  128. package/src/features/shared/components/CustomerSwitch/CustomerSwitchDrawer.tsx +10 -2
  129. package/src/features/shared/components/CustomerSwitch/CustomerSwitchSearch.tsx +4 -1
  130. package/src/features/shared/components/DropdownFilter/DropdownFilter.tsx +11 -7
  131. package/src/features/shared/components/Error/Error.tsx +13 -6
  132. package/src/features/shared/components/HeaderInside/HeaderInside.tsx +5 -2
  133. package/src/features/shared/components/InternalSearch/InternalSearch.tsx +4 -1
  134. package/src/features/shared/components/InternalTopbar/InternalTopbar.tsx +7 -5
  135. package/src/features/shared/components/MainLinksDropdownMenu/MainLinksDropdownMenu.tsx +23 -8
  136. package/src/features/shared/components/OrgUnitInputSearch/OrgUnitInputSearch.tsx +7 -2
  137. package/src/features/shared/components/Pagination/Pagination.tsx +6 -2
  138. package/src/features/shared/components/Paginator/Counter.tsx +11 -5
  139. package/src/features/shared/components/Paginator/Interval.tsx +4 -3
  140. package/src/features/shared/components/Paginator/NextPageButton.tsx +6 -2
  141. package/src/features/shared/components/SettingsDrawer/SettingsDrawer.tsx +6 -4
  142. package/src/features/shared/components/SettingsDrawer/SettingsDrawerListType.tsx +11 -10
  143. package/src/features/shared/components/SettingsDrawer/listTypeOptions.ts +10 -7
  144. package/src/features/shared/components/SortFilter/SortFilter.tsx +15 -8
  145. package/src/features/shared/components/Table/TableRow/TableRow.tsx +5 -1
  146. package/src/features/shared/components/VerticalNav/VerticalNavLink.tsx +7 -3
  147. package/src/features/shared/layouts/BaseTabsLayout/Navbar.tsx +28 -4
  148. package/src/features/shared/layouts/BaseTabsLayout/about-drawer/AboutDrawer.tsx +15 -5
  149. package/src/features/shared/layouts/BaseTabsLayout/base-tabs-layout.scss +24 -9
  150. package/src/features/shared/layouts/BaseTabsLayout/sidebar-drawer/SidebarDrawer.tsx +5 -2
  151. package/src/features/shared/layouts/ContractTabsLayout/ContractTabsLayout.tsx +10 -5
  152. package/src/features/shared/layouts/ErrorTabsLayout/ErrorTabsLayout.tsx +7 -4
  153. package/src/features/shared/layouts/FinanceTabsLayout/FinanceTabsLayout.tsx +9 -4
  154. package/src/features/shared/layouts/LoadingTabsLayout/LoadingTabsLayout.tsx +7 -4
  155. package/src/features/shared/layouts/OrgUnitTabsLayout/OrgUnitTabLayout.tsx +3 -0
  156. package/src/features/shared/layouts/SumaPageLayout/FullSidebarNav.tsx +13 -7
  157. package/src/features/shared/layouts/SumaPageLayout/SumaSidebar.tsx +9 -5
  158. package/src/features/shared/localization/LocalizationContext.tsx +35 -0
  159. package/src/features/shared/localization/__tests__/createLocalize.test.ts +166 -0
  160. package/src/features/shared/localization/__tests__/get-localization-labels.service.test.ts +202 -0
  161. package/src/features/shared/localization/clients/LocalizationClient.ts +19 -0
  162. package/src/features/shared/localization/constants.ts +31 -0
  163. package/src/features/shared/localization/createLocalize.ts +78 -0
  164. package/src/features/shared/localization/services/get-localization-labels.service.ts +76 -0
  165. package/src/features/shared/localization/types.ts +66 -0
  166. package/src/features/shared/localization/withLocalization.tsx +22 -0
  167. package/src/features/shared/types/AuthRouteProps.ts +5 -0
  168. package/src/features/shared/types/LoaderData.ts +1 -0
  169. package/src/features/shared/utils/addresLabelToPropMapping.ts +10 -10
  170. package/src/features/shared/utils/constants.ts +1 -4
  171. package/src/features/shared/utils/getContractSettingsLinks.ts +17 -12
  172. package/src/features/shared/utils/getFinanceSettingsLinks.ts +14 -9
  173. package/src/features/shared/utils/getKeyByValue.ts +2 -2
  174. package/src/features/shared/utils/getOrganizationSettingsLinks.ts +13 -3
  175. package/src/features/shared/utils/getSumaListingSidebarLinks.ts +15 -10
  176. package/src/features/shared/utils/index.ts +2 -0
  177. package/src/features/shared/utils/routeLayoutMapping.ts +30 -30
  178. package/src/features/shared/utils/search.tsx +10 -0
  179. package/src/features/shared/utils/withAuth.tsx +6 -0
  180. package/src/features/shared/utils/withAuthLoader.ts +11 -0
  181. package/src/features/shared/utils/withLoaderErrorBoundary.ts +9 -0
  182. package/src/features/shared/utils/withProviders.tsx +13 -2
  183. package/src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx +39 -27
  184. package/src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx +41 -39
  185. package/src/features/users/components/DeleteUserDrawer/DeleteUserDrawer.tsx +27 -23
  186. package/src/features/users/components/EmailTransactionalSection/EmailTransactionalSection.tsx +6 -8
  187. package/src/features/users/components/LoginField/LoginField.tsx +4 -4
  188. package/src/features/users/components/ReassignOrgUnitDrawer/ReassignOrgUnitDrawer.tsx +22 -19
  189. package/src/features/users/components/ResetPasswordDrawer/ResetPasswordDrawer.tsx +16 -21
  190. package/src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx +26 -15
  191. package/src/features/users/components/UpdateUserDrawerWithUsername/UpdateUserDrawerWithUsername.tsx +22 -8
  192. package/src/features/users/components/UserDropdownMenu/UserDropdownMenu.tsx +7 -5
  193. package/src/features/users/components/UserFormFields/UserFormFields.tsx +9 -8
  194. package/src/features/users/components/UsersCard/UsersCard.tsx +4 -2
  195. package/src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx +26 -10
  196. package/src/features/users/layouts/UsersLayout/UsersLayout.tsx +12 -8
  197. package/src/pages/accounting-field.tsx +28 -15
  198. package/src/pages/address-details.tsx +37 -26
  199. package/src/pages/addresses.tsx +27 -12
  200. package/src/pages/budgets-details.tsx +25 -15
  201. package/src/pages/budgets.tsx +31 -17
  202. package/src/pages/buyer-organization-manager.tsx +23 -12
  203. package/src/pages/buying-policies.tsx +38 -20
  204. package/src/pages/buying-policy-details.tsx +20 -19
  205. package/src/pages/contracts.tsx +15 -1
  206. package/src/pages/credit-cards.tsx +30 -17
  207. package/src/pages/order-entry.tsx +26 -15
  208. package/src/pages/org-unit-details.tsx +20 -6
  209. package/src/pages/org-units.tsx +20 -6
  210. package/src/pages/payment-groups.tsx +15 -12
  211. package/src/pages/productAssortment.tsx +10 -1
  212. package/src/pages/profile.tsx +14 -1
  213. package/src/pages/role-details.tsx +19 -6
  214. package/src/pages/roles.tsx +27 -14
  215. package/src/pages/user-details.tsx +29 -17
  216. package/src/pages/users.tsx +11 -0
  217. package/vitest.config.ts +13 -0
  218. package/src/features/addresses/constants/messages.ts +0 -8
  219. package/src/features/credit-cards/constants/messages.ts +0 -6
@@ -0,0 +1,959 @@
1
+ # i18n Migration Inventory
2
+
3
+ > Generated from a full scan of `src/features/` and `src/pages/`.
4
+ > Each section represents one feature domain. Strings with `shared.*` or `layouts.*` keys
5
+ > appear in multiple sections — the key is the same; each row is a unique **occurrence** that
6
+ > needs replacing with `t('key')`.
7
+ >
8
+ > Replace every hardcoded literal with the matching `t('key')` call using `useLocalization()`
9
+ > from `src/features/shared/localization/LocalizationContext.tsx`.
10
+
11
+ ---
12
+
13
+ ## shared
14
+
15
+ Strings defined in `src/features/shared/` — canonical source for all `shared.*` and `layouts.*` keys.
16
+
17
+ | Key | Value | File | Line |
18
+ | :--- | :--- | :--- | :--- |
19
+ | `shared.errors.networkError` | "Network error" | `src/features/shared/clients/Client.ts` | 142 |
20
+ | `shared.errors.requestFailed` | "Request failed" | `src/features/shared/clients/Client.ts` | 131 |
21
+ | `shared.placeholders.search` | "Search" | `src/features/shared/components/CustomerSwitch/CustomerSwitchSearch.tsx` | 31 |
22
+ | `shared.buttons.confirm` | "Confirm" | `src/features/shared/components/CustomerSwitch/CustomerSwitchDrawer.tsx` | 111 |
23
+ | `layouts.drawers.switchCustomerId` | "Switch customer ID" | `src/features/shared/components/CustomerSwitch/CustomerSwitchDrawer.tsx` | 93 |
24
+ | `shared.dropdown.noFilter` | "No Filter" | `src/features/shared/components/DropdownFilter/DropdownFilter.tsx` | 50 |
25
+ | `shared.dropdown.filterLabel` | "{0}: {1}" | `src/features/shared/components/DropdownFilter/DropdownFilter.tsx` | 29 | |
26
+ | `shared.errors.somethingWentWrong` | "Something went wrong!" | `src/features/shared/components/Error/Error.tsx` | 19 |
27
+ | `shared.buttons.tryAgain` | "Try again" | `src/features/shared/components/Error/Error.tsx` | 21 |
28
+ | `shared.errors.errorDetails` | "Error Details" | `src/features/shared/components/Error/Error.tsx` | 26 |
29
+ | `shared.errors.stackLabel` | "Stack:" | `src/features/shared/components/Error/Error.tsx` | 28 |
30
+ | `shared.errors.componentLabel` | "Component:" | `src/features/shared/components/Error/Error.tsx` | 30 |
31
+ | `shared.errors.queryLabel` | "Query:" | `src/features/shared/components/Error/Error.tsx` | 33 |
32
+ | `shared.labels.buyerPortal` | "Buyer Portal" | `src/features/shared/components/InternalTopbar/InternalTopbar.tsx` | 52 |
33
+ | `shared.placeholders.search` | "Search" | `src/features/shared/components/InternalSearch/InternalSearch.tsx` | 32 |
34
+ | `shared.labels.loading` | "loading..." | `src/features/shared/components/OrgUnitInputSearch/OrgUnitInputSearch.tsx` | 36 |
35
+ | `shared.labels.searchOrganizationalUnits` | "Search organizational units" | `src/features/shared/components/OrgUnitInputSearch/OrgUnitInputSearch.tsx` | 59 |
36
+ | `shared.buttons.loadMore` | "Load more" | `src/features/shared/components/Pagination/Pagination.tsx` | 22 |
37
+ | `shared.pagination.counter` | "{0} of {1}" | `src/features/shared/components/Pagination/Pagination.tsx` | 30 | |
38
+ | `shared.pagination.counter` | "{0} of {1}" | `src/features/shared/components/Paginator/Counter.tsx` | 8 | |
39
+ | `shared.pagination.interval` | "{0} to {1} of {2}" | `src/features/shared/components/Paginator/Interval.tsx` | 31 | |
40
+ | `shared.pagination.nextPage` | "Next Page" | `src/features/shared/components/Paginator/NextPageButton.tsx` | 8 |
41
+ | `shared.buttons.save` | "Save" | `src/features/shared/components/SettingsDrawer/SettingsDrawer.tsx` | 41 |
42
+ | `shared.buttons.cancel` | "Cancel" | `src/features/shared/components/SettingsDrawer/SettingsDrawer.tsx` | 42 |
43
+ | `shared.labels.customList` | "Custom list" | `src/features/shared/components/SettingsDrawer/SettingsDrawerListType.tsx` | 18 |
44
+ | `shared.labels.sharedList` | "Shared list" | `src/features/shared/components/SettingsDrawer/SettingsDrawerListType.tsx` | 23 |
45
+ | `shared.messages.customListDescription` | "Manage a unique list of {0} for this organization." | `src/features/shared/components/SettingsDrawer/listTypeOptions.ts` | 7 | |
46
+ | `shared.messages.sharedListDescription` | "Use the shared list of {0} defined by the contract. Updates are automatic." | `src/features/shared/components/SettingsDrawer/listTypeOptions.ts` | 10 | |
47
+ | `shared.labels.sortBy` | "Sort by:" | `src/features/shared/components/SortFilter/SortFilter.tsx` | 32 |
48
+ | `shared.labels.name` | "Name" | `src/features/shared/components/Table/utils/tableColumns.ts` | 13 |
49
+ | `layouts.drawers.about` | "About" | `src/features/shared/layouts/BaseTabsLayout/about-drawer/AboutDrawer.tsx` | 29 |
50
+ | `layouts.titles.versionDetails` | "Version details" | `src/features/shared/layouts/BaseTabsLayout/about-drawer/AboutDrawer.tsx` | 32 |
51
+ | `layouts.labels.organizationAccount` | "Organization Account" | `src/features/shared/layouts/BaseTabsLayout/about-drawer/AboutDrawer.tsx` | 38 |
52
+ | `layouts.titles.navigationDetails` | "Navigation Details" | `src/features/shared/layouts/BaseTabsLayout/about-drawer/AboutDrawer.tsx` | 58 |
53
+ | `layouts.labels.contractId` | "Contract ID" | `src/features/shared/layouts/BaseTabsLayout/about-drawer/AboutDrawer.tsx` | 62 |
54
+ | `layouts.navigation.startShopping` | "Start shopping" | `src/features/shared/layouts/BaseTabsLayout/Navbar.tsx` | 84 |
55
+ | `layouts.navigation.accountingFields` | "Accounting fields" | `src/features/shared/layouts/BaseTabsLayout/SidebarMenu.tsx` | 83 |
56
+ | `layouts.tabs.contract` | "Contract" | `src/features/shared/layouts/BaseTabsLayout/SidebarMenu.tsx` | 114 |
57
+ | `layouts.tabs.organization` | "Organization" | `src/features/shared/layouts/BaseTabsLayout/SidebarMenu.tsx` | 117 |
58
+ | `layouts.tabs.financeAndCompliance` | "Finance and Compliance" | `src/features/shared/layouts/BaseTabsLayout/SidebarMenu.tsx` | 120 |
59
+ | `layouts.actions.removeFromUnit` | "Remove from unit" | `src/features/shared/layouts/ContractTabsLayout/ContractTabsLayout.tsx` | 54 |
60
+ | `layouts.navigation.profile` | "Profile" | `src/features/shared/components/MainLinksDropdownMenu/MainLinksDropdownMenu.tsx` | 13 |
61
+ | `layouts.navigation.contracts` | "Contracts" | `src/features/shared/components/MainLinksDropdownMenu/MainLinksDropdownMenu.tsx` | 14 |
62
+ | `layouts.navigation.users` | "Users" | `src/features/shared/components/MainLinksDropdownMenu/MainLinksDropdownMenu.tsx` | 17 |
63
+ | `layouts.navigation.organizationalUnits` | "Organizational Units" | `src/features/shared/components/MainLinksDropdownMenu/MainLinksDropdownMenu.tsx` | 18 |
64
+ | `layouts.navigation.addresses` | "Addresses" | `src/features/shared/components/MainLinksDropdownMenu/MainLinksDropdownMenu.tsx` | 20 |
65
+ | `layouts.navigation.organizationAccount` | "Organization Account" | `src/features/shared/components/MainLinksDropdownMenu/MainLinksDropdownMenu.tsx` | 28 |
66
+ | `layouts.navigation.addresses` | "Addresses" | `src/features/shared/utils/getContractSettingsLinks.ts` | 15 |
67
+ | `layouts.navigation.paymentMethods` | "Payment methods" | `src/features/shared/utils/getContractSettingsLinks.ts` | 19 |
68
+ | `layouts.navigation.creditCards` | "Credit cards" | `src/features/shared/utils/getContractSettingsLinks.ts` | 23 |
69
+ | `layouts.navigation.assortments` | "Assortments" | `src/features/shared/utils/getContractSettingsLinks.ts` | 27 |
70
+ | `layouts.navigation.budgets` | "Budgets" | `src/features/shared/utils/getFinanceSettingsLinks.ts` | 11 |
71
+ | `layouts.navigation.buyingPolicies` | "Buying Policies" | `src/features/shared/utils/getFinanceSettingsLinks.ts` | 15 |
72
+ | `layouts.navigation.users` | "Users" | `src/features/shared/utils/getOrganizationSettingsLinks.ts` | 4 |
73
+ | `layouts.navigation.roles` | "Roles" | `src/features/shared/utils/getOrganizationSettingsLinks.ts` | 5 |
74
+ | `layouts.navigation.organizationalUnits` | "Organizational Units" | `src/features/shared/utils/getOrganizationSettingsLinks.ts` | 7 |
75
+ | `shared.labels.manager` | "Manager" | `src/features/shared/utils/roles.ts` | 1 |
76
+ | `shared.labels.buyer` | "Buyer" | `src/features/shared/utils/roles.ts` | 1 |
77
+ | `shared.labels.admin` | "Admin" | `src/features/shared/utils/roles.ts` | 1 |
78
+ | `layouts.tabs.contract` | "Contract" | `src/features/shared/utils/routeLayoutMapping.ts` | 17 |
79
+ | `layouts.titles.profile` | "Profile" | `src/features/shared/utils/routeLayoutMapping.ts` | 18 |
80
+ | `layouts.titles.addresses` | "Addresses" | `src/features/shared/utils/routeLayoutMapping.ts` | 23 |
81
+ | `layouts.titles.addressDetails` | "Address Details" | `src/features/shared/utils/routeLayoutMapping.ts` | 28 |
82
+ | `layouts.titles.paymentMethods` | "Payment Methods" | `src/features/shared/utils/routeLayoutMapping.ts` | 33 |
83
+ | `layouts.titles.creditCards` | "Credit Cards" | `src/features/shared/utils/routeLayoutMapping.ts` | 38 |
84
+ | `layouts.titles.assortments` | "Assortments" | `src/features/shared/utils/routeLayoutMapping.ts` | 43 |
85
+ | `layouts.titles.accountingField` | "Accounting field" | `src/features/shared/utils/routeLayoutMapping.ts` | 49 |
86
+ | `layouts.tabs.financeAndCompliance` | "Finance and Compliance" | `src/features/shared/utils/routeLayoutMapping.ts` | 53 |
87
+ | `layouts.titles.buyingPolicies` | "Buying Policies" | `src/features/shared/utils/routeLayoutMapping.ts` | 54 |
88
+ | `layouts.titles.buyingPolicyDetails` | "Buying Policy Details" | `src/features/shared/utils/routeLayoutMapping.ts` | 60 |
89
+ | `layouts.tabs.organization` | "Organization" | `src/features/shared/utils/routeLayoutMapping.ts` | 65 |
90
+ | `layouts.titles.roles` | "Roles" | `src/features/shared/utils/routeLayoutMapping.ts` | 66 |
91
+ | `layouts.titles.roleDetails` | "Role Details" | `src/features/shared/utils/routeLayoutMapping.ts` | 71 |
92
+ | `layouts.titles.users` | "Users" | `src/features/shared/utils/routeLayoutMapping.ts` | 76 |
93
+ | `layouts.titles.userDetails` | "User Details" | `src/features/shared/utils/routeLayoutMapping.ts` | 81 |
94
+ | `layouts.titles.organizationDetails` | "Organization Details" | `src/features/shared/utils/routeLayoutMapping.ts` | 86 |
95
+ | `shared.labels.active` | "Active" | `src/features/shared/utils/search.tsx` | 7 |
96
+ | `shared.labels.inactive` | "Inactive" | `src/features/shared/utils/search.tsx` | 8 |
97
+ | `shared.labels.alphabeticalOrder` | "Alphabetical Order" | `src/features/shared/utils/compareItems.ts` | 8 |
98
+ | `shared.labels.alphabeticalOrderDesc` | "Alphabetical Order Desc" | `src/features/shared/utils/compareItems.ts` | 10 |
99
+ | `shared.labels.activeFirst` | "Active First" | `src/features/shared/utils/compareItems.ts` | 12 |
100
+ | `shared.labels.inactiveFirst` | "Inactive First" | `src/features/shared/utils/compareItems.ts` | 14 |
101
+ | `shared.messages.changesTimeout` | "Changes may take up to 10 minutes to apply." | `src/features/shared/utils/constants.ts` | 28 |
102
+ | `shared.errors.httpStatus` | "HTTP {0}: {1}" | `src/features/shared/utils/extractErrorMessage.ts` | 21 | |
103
+ | `shared.labels.addressName` | "Address Name" | `src/features/shared/utils/addresLabelToPropMapping.ts` | 2 |
104
+ | `shared.labels.streetAddress` | "Street Address" | `src/features/shared/utils/addresLabelToPropMapping.ts` | 3 |
105
+ | `shared.labels.number` | "Number" | `src/features/shared/utils/addresLabelToPropMapping.ts` | 4 |
106
+ | `shared.labels.aptSuiteBuilding` | "Apt, Suite, Building" | `src/features/shared/utils/addresLabelToPropMapping.ts` | 5 |
107
+ | `shared.labels.country` | "Country" | `src/features/shared/utils/addresLabelToPropMapping.ts` | 6 |
108
+ | `shared.labels.postalCode` | "Postal Code" | `src/features/shared/utils/addresLabelToPropMapping.ts` | 7 |
109
+ | `shared.labels.state` | "State" | `src/features/shared/utils/addresLabelToPropMapping.ts` | 8 |
110
+ | `shared.labels.city` | "City" | `src/features/shared/utils/addresLabelToPropMapping.ts` | 9 |
111
+ | `shared.labels.geoCoordinate` | "Geo Coordinate" | `src/features/shared/utils/addresLabelToPropMapping.ts` | 10 |
112
+ | `shared.labels.addressType` | "Address Type" | `src/features/shared/utils/addresLabelToPropMapping.ts` | 11 |
113
+ | `shared.labels.users` | "Users" | `src/features/shared/utils/getKeyByValue.ts` | 8 |
114
+ | `shared.labels.shippingAddresses` | "Shipping Addresses" | `src/features/shared/utils/getKeyByValue.ts` | 9 |
115
+ | `shared.orgUnitDropdown.rename` | "Rename" | `src/features/org-units/components/OrgUnitsDropdownMenu/OrgUnitsDropdownMenu.tsx` | 60 |
116
+ | `shared.orgUnitDropdown.addUser` | "Add User" | `src/features/org-units/components/OrgUnitsDropdownMenu/OrgUnitsDropdownMenu.tsx` | 67 |
117
+ | `shared.orgUnitDropdown.addOrganizationalUnit` | "Add Organizational Unit" | `src/features/org-units/components/OrgUnitsDropdownMenu/OrgUnitsDropdownMenu.tsx` | 71 |
118
+ | `shared.orgUnitDropdown.rename` | "Rename" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 114 |
119
+ | `shared.orgUnitDropdown.addAddress` | "Add address" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 122 |
120
+ | `shared.orgUnitDropdown.addCreditCard` | "Add credit card" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 126 |
121
+ | `shared.orgUnitDropdown.addAccountingFields` | "Add accounting fields" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 130 |
122
+ | `shared.orgUnitDropdown.addUser` | "Add user" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 138 |
123
+ | `shared.orgUnitDropdown.addOrganizationUnit` | "Add organization unit" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 142 |
124
+ | `shared.orgUnitDropdown.addBudget` | "Add budget" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 148 |
125
+ | `shared.orgUnitDropdown.addBuyingPolicy` | "Add buying policy" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 152 |
126
+
127
+ ---
128
+
129
+ ## addresses
130
+
131
+ | Key | Value | File | Line |
132
+ | :--- | :--- | :--- | :--- |
133
+ | `addresses.toasts.defaultSaved` | "Default address saved successfully" | `src/features/addresses/constants/messages.ts` | 2 |
134
+ | `addresses.toasts.defaultUnset` | "Default address unset successfully" | `src/features/addresses/constants/messages.ts` | 3 |
135
+ | `addresses.errors.defaultError` | "An error occurred while setting the default address" | `src/features/addresses/constants/messages.ts` | 4 |
136
+ | `addresses.errors.defaultUnsetError` | "An error occurred while removing the default address" | `src/features/addresses/constants/messages.ts` | 5 |
137
+ | `addresses.errors.locationSettingsUpdate` | "Failed to update Location data" | `src/features/addresses/constants/messages.ts` | 6 |
138
+ | `addresses.errors.locationSettingsFetch` | "Failed to fetch Location data" | `src/features/addresses/constants/messages.ts` | 7 |
139
+ | `addresses.titles.addresses` | "Addresses" | `src/features/addresses/components/AddressesCard/AddressesCard.tsx` | 29 |
140
+ | `addresses.links.manageAddresses` | "Manage addresses" | `src/features/addresses/components/AddressesCard/AddressesCard.tsx` | 28 |
141
+ | `shared.buttons.edit` | "Edit" | `src/features/addresses/components/AddressesCard/AddressesCard.tsx` | 76 |
142
+ | `shared.buttons.delete` | "Delete" | `src/features/addresses/components/AddressesCard/AddressesCard.tsx` | 85 |
143
+ | `addresses.labels.active` | "Active" | `src/features/addresses/components/AddressesCard/AddressesCard.tsx` | 96 |
144
+ | `addresses.labels.locations` | "Locations" | `src/features/addresses/components/AddressDropdownMenu/AddressDropdownMenu.tsx` | 32 |
145
+ | `addresses.toasts.settingDefault` | "Setting the default address..." | `src/features/addresses/components/AddressDropdownMenu/AddressDropdownMenu.tsx` | 82 |
146
+ | `addresses.toasts.unsettingDefault` | "Unsetting the default address..." | `src/features/addresses/components/AddressDropdownMenu/AddressDropdownMenu.tsx` | 103 |
147
+ | `addresses.dropdown.editDetails` | "Edit details" | `src/features/addresses/components/AddressDropdownMenu/AddressDropdownMenu.tsx` | 164 |
148
+ | `addresses.actions.addLocations` | "Add {0}" | `src/features/addresses/components/AddressDropdownMenu/AddressDropdownMenu.tsx` | 171 | |
149
+ | `addresses.actions.addRecipients` | "Add Recipients" | `src/features/addresses/components/AddressDropdownMenu/AddressDropdownMenu.tsx` | 178 |
150
+ | `addresses.actions.unsetAsDefault` | "Unset as default" | `src/features/addresses/components/AddressDropdownMenu/AddressDropdownMenu.tsx` | 183 |
151
+ | `addresses.actions.setAsDefault` | "Set as default" | `src/features/addresses/components/AddressDropdownMenu/AddressDropdownMenu.tsx` | 188 |
152
+ | `addresses.actions.removeFromUnit` | "Remove from Unit" | `src/features/addresses/components/AddressDropdownMenu/AddressDropdownMenu.tsx` | 198 |
153
+ | `addresses.forms.fillInDetails` | "Fill in the address details" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 94 |
154
+ | `addresses.forms.country` | "Country" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 99 |
155
+ | `addresses.forms.postalCode` | "Postal Code" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 129 |
156
+ | `addresses.validation.postalCodeRequired` | "Postal Code is required" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 138 |
157
+ | `addresses.forms.addressName` | "Address Name" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 146 |
158
+ | `addresses.placeholders.selectExistingAddress` | "Already in the contract — select to add" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 162 |
159
+ | `addresses.forms.streetAddress` | "Street Address" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 199 |
160
+ | `addresses.validation.streetAddressRequired` | "Street Address is required" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 209 |
161
+ | `addresses.forms.number` | "Number" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 218 |
162
+ | `addresses.validation.numberRequired` | "Number is required" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 228 |
163
+ | `addresses.forms.neighborhood` | "Neighborhood" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 234 |
164
+ | `addresses.validation.neighborhoodRequired` | "Neighborhood is required" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 244 |
165
+ | `addresses.forms.aptSuiteBuilding` | "Apt, Suite, Building (optional)" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 252 |
166
+ | `addresses.forms.city` | "City" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 263 |
167
+ | `addresses.validation.cityRequired` | "City is required" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 273 |
168
+ | `addresses.forms.state` | "State" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 280 |
169
+ | `addresses.forms.geoCoordinates` | "Geo coordinates (Optional)" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 352 |
170
+ | `addresses.forms.addressType` | "Address Type" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 364 |
171
+ | `addresses.forms.shipping` | "Shipping" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 50 |
172
+ | `addresses.forms.billing` | "Billing" | `src/features/addresses/components/AddressForm/AddressForm.tsx` | 50 |
173
+ | `addresses.empty.noResults` | "No results found" | `src/features/addresses/components/AddressLocationsList/AddressLocationsList.tsx` | 135 |
174
+ | `addresses.buttons.addLocations` | "Add locations" | `src/features/addresses/components/AddressLocationsList/AddressLocationsList.tsx` | 142 |
175
+ | `shared.labels.loading` | "Loading..." | `src/features/addresses/components/AddressLocationsList/AddressLocationsList.tsx` | 211 |
176
+ | `shared.buttons.loadMore` | "Load More" | `src/features/addresses/components/AddressLocationsList/AddressLocationsList.tsx` | 211 |
177
+ | `addresses.table.phone` | "Phone" | `src/features/addresses/components/AddressRecipientsList/AddressRecipientsList.tsx` | 146 |
178
+ | `addresses.empty.tryDifferentTerms` | "Try using different terms or filters" | `src/features/addresses/components/AddressRecipientsList/AddressRecipientsList.tsx` | 170 |
179
+ | `addresses.toasts.recipientsAdded` | "Recipients added successfully" | `src/features/addresses/components/AddRecipientsDrawer/AddRecipientsDrawer.tsx` | 54 |
180
+ | `addresses.errors.recipientsAdd` | "An error occurred while adding recipients" | `src/features/addresses/components/AddRecipientsDrawer/AddRecipientsDrawer.tsx` | 87 |
181
+ | `addresses.drawers.addRecipients` | "Add Recipients" | `src/features/addresses/components/AddRecipientsDrawer/AddRecipientsDrawer.tsx` | 114 |
182
+ | `shared.buttons.cancel` | "Cancel" | `src/features/addresses/components/AddRecipientsDrawer/AddRecipientsDrawer.tsx` | 121 |
183
+ | `shared.buttons.save` | "Save" | `src/features/addresses/components/AddRecipientsDrawer/AddRecipientsDrawer.tsx` | 129 |
184
+ | `shared.buttons.view` | "View" | `src/features/addresses/components/AddRecipientsDrawer/AddRecipientsDrawer.tsx` | 70 |
185
+ | `addresses.toasts.addressAdded` | "Address added successfully" | `src/features/addresses/components/CreateAddressDrawer/CreateAddressDrawer.tsx` | 98 |
186
+ | `addresses.errors.addressCreate` | "An error occurred while creating the address" | `src/features/addresses/components/CreateAddressDrawer/CreateAddressDrawer.tsx` | 113 |
187
+ | `addresses.drawers.addAddress` | "Add address" | `src/features/addresses/components/CreateAddressDrawer/CreateAddressDrawer.tsx` | 175 |
188
+ | `addresses.tabs.details` | "Details" | `src/features/addresses/components/CreateAddressDrawer/CreateAddressDrawer.tsx` | 178 |
189
+ | `addresses.tabs.recipients` | "Recipients" | `src/features/addresses/components/CreateAddressDrawer/CreateAddressDrawer.tsx` | 180 |
190
+ | `addresses.messages.invalidAddress` | "Invalid Address" | `src/features/addresses/components/CreateAddressDrawer/CreateAddressDrawer.tsx` | 196 |
191
+ | `addresses.forms.addLocationsDescription` | "If necessary, add {0} to this address" | `src/features/addresses/components/CreateAddressDrawer/CreateAddressDrawer.tsx` | 219 | |
192
+ | `shared.buttons.add` | "Add" | `src/features/addresses/components/CreateAddressDrawer/CreateAddressDrawer.tsx` | 242 |
193
+ | `addresses.drawers.addressSettings` | "Address settings" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 206 |
194
+ | `addresses.forms.listType` | "List type" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 216 |
195
+ | `addresses.titles.defaultAddresses` | "Default addresses" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 224 |
196
+ | `addresses.forms.selectDefaultAddresses` | "Select the default addresses for this unit" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 226 |
197
+ | `addresses.forms.defaultShippingAddress` | "Default shipping address (optional)" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 230 |
198
+ | `addresses.forms.searchShippingAddresses` | "Search shipping addresses" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 246 |
199
+ | `addresses.forms.defaultBillingAddress` | "Default billing address (optional)" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 283 |
200
+ | `addresses.forms.searchBillingAddresses` | "Search billing addresses" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 299 |
201
+ | `addresses.forms.setLocationsFieldName` | "Set the name of the {0} field in addresses" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 341 | |
202
+ | `addresses.forms.fieldLabel` | "Field label" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 344 |
203
+ | `addresses.errors.locationsSettingsUpdate` | "Failed to update Addresses Locations settings" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 123 |
204
+ | `addresses.toasts.scopeConfigUpdated` | "Scope configuration updated successfully" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 132 |
205
+ | `addresses.errors.scopeConfigUpdate` | "Failed to update scope configuration" | `src/features/addresses/components/CreateAddressSettingsDrawer/CreateAddressSettingsDrawer.tsx` | 138 |
206
+ | `addresses.toasts.addressDeleted` | "Address deleted successfully" | `src/features/addresses/components/DeleteAddressDrawer/DeleteAddressDrawer.tsx` | 48 |
207
+ | `addresses.errors.addressRemoveFromUnit` | "An error occurred while removing the address from the unit" | `src/features/addresses/components/DeleteAddressDrawer/DeleteAddressDrawer.tsx` | 69 |
208
+ | `addresses.drawers.deleteAddress` | "Delete address" | `src/features/addresses/components/DeleteAddressDrawer/DeleteAddressDrawer.tsx` | 86 |
209
+ | `addresses.deleteAddress.confirmQuestion` | "Permanently delete {0}?" | `src/features/addresses/components/DeleteAddressDrawer/DeleteAddressDrawer.tsx` | 90 | |
210
+ | `addresses.deleteAddress.warning` | "This address may be used by multiple units. Deleting it will permanently remove it and all its data from all associated units, though usage history will be kept for audit. This action can't be undone." | `src/features/addresses/components/DeleteAddressDrawer/DeleteAddressDrawer.tsx` | 95 |
211
+ | `addresses.deleteAddress.confirmInstruction` | "Confirm by typing the address name below:" | `src/features/addresses/components/DeleteAddressDrawer/DeleteAddressDrawer.tsx` | 101 |
212
+ | `shared.buttons.remove` | "Remove" | `src/features/addresses/components/DeleteAddressDrawer/DeleteAddressDrawer.tsx` | 124 |
213
+ | `addresses.labels.location` | "Location" | `src/features/addresses/components/DeleteAddressLocationDrawer/DeleteAddressLocationDrawer.tsx` | 28 |
214
+ | `addresses.toasts.locationRemoved` | "Location removed successfully" | `src/features/addresses/components/DeleteAddressLocationDrawer/DeleteAddressLocationDrawer.tsx` | 54 |
215
+ | `addresses.errors.locationRemove` | "An error occurred while removing {0}" | `src/features/addresses/components/DeleteAddressLocationDrawer/DeleteAddressLocationDrawer.tsx` | 73 | |
216
+ | `addresses.drawers.deleteLocation` | "Delete {0}" | `src/features/addresses/components/DeleteAddressLocationDrawer/DeleteAddressLocationDrawer.tsx` | 89 | |
217
+ | `addresses.deleteLocation.confirmQuestion` | "Permanently delete {0}?" | `src/features/addresses/components/DeleteAddressLocationDrawer/DeleteAddressLocationDrawer.tsx` | 93 | |
218
+ | `addresses.deleteLocation.warning` | "This {0} may be used by multiple units through its associated address. Deleting it will permanently remove it and all its data from all associated units, though usage history will be kept for audit. This action can't be undone." | `src/features/addresses/components/DeleteAddressLocationDrawer/DeleteAddressLocationDrawer.tsx` | 96 | |
219
+ | `addresses.deleteLocation.confirmInstruction` | "Confirm by typing the {0} name below:" | `src/features/addresses/components/DeleteAddressLocationDrawer/DeleteAddressLocationDrawer.tsx` | 102 | |
220
+ | `addresses.toasts.recipientDeleted` | "Recipient deleted successfully" | `src/features/addresses/components/DeleteRecipientAddressDrawer/DeleteRecipientAddressDrawer.tsx` | 56 |
221
+ | `addresses.errors.recipientRemove` | "An error occurred while removing the recipient from address" | `src/features/addresses/components/DeleteRecipientAddressDrawer/DeleteRecipientAddressDrawer.tsx` | 76 |
222
+ | `addresses.drawers.deleteRecipient` | "Delete recipient" | `src/features/addresses/components/DeleteRecipientAddressDrawer/DeleteRecipientAddressDrawer.tsx` | 97 |
223
+ | `addresses.deleteRecipient.confirmQuestion` | "Permanently delete {0}?" | `src/features/addresses/components/DeleteRecipientAddressDrawer/DeleteRecipientAddressDrawer.tsx` | 101 | |
224
+ | `addresses.deleteRecipient.warning` | "This recipient may be associated with multiple units through its address. Deleting it will permanently remove it and all its data from all associated units, though usage history will be kept for audit. This action can't be undone." | `src/features/addresses/components/DeleteRecipientAddressDrawer/DeleteRecipientAddressDrawer.tsx` | 106 |
225
+ | `addresses.deleteRecipient.confirmInstruction` | "Confirm by typing the recipient name below:" | `src/features/addresses/components/DeleteRecipientAddressDrawer/DeleteRecipientAddressDrawer.tsx` | 112 |
226
+ | `addresses.forms.recipientName` | "Recipient name" | `src/features/addresses/components/DeleteRecipientAddressDrawer/DeleteRecipientAddressDrawer.tsx` | 115 |
227
+ | `addresses.toasts.addressUpdated` | "Address updated successfully" | `src/features/addresses/components/EditAddressDrawer/EditAddressDrawer.tsx` | 54 |
228
+ | `addresses.errors.addressUpdate` | "An error occurred while updating the address" | `src/features/addresses/components/EditAddressDrawer/EditAddressDrawer.tsx` | 75 |
229
+ | `addresses.drawers.editAddressDetails` | "Edit address details" | `src/features/addresses/components/EditAddressDrawer/EditAddressDrawer.tsx` | 115 |
230
+ | `addresses.drawers.confirmLocationUpdate` | "Confirm {0} update" | `src/features/addresses/components/EditAddressLocationDrawer/EditAddressLocationDrawer.tsx` | 46 | |
231
+ | `addresses.drawers.editLocation` | "Edit {0}" | `src/features/addresses/components/EditAddressLocationDrawer/EditAddressLocationDrawer.tsx` | 47 | |
232
+ | `addresses.toasts.locationEdited` | "Location edited successfully" | `src/features/addresses/components/EditAddressLocationDrawer/EditAddressLocationDrawer.tsx` | 67 |
233
+ | `addresses.errors.locationEdit` | "An error occurred while editing the {0}" | `src/features/addresses/components/EditAddressLocationDrawer/EditAddressLocationDrawer.tsx` | 86 | |
234
+ | `addresses.editLocation.multiUnitWarning` | "This {0} may be used by multiple units through its associated address. Updates will affect all of them." | `src/features/addresses/components/EditAddressLocationDrawer/EditAddressLocationDrawer.tsx` | 123 | |
235
+ | `addresses.editLocation.proceedQuestion` | "Proceed with the update?" | `src/features/addresses/components/EditAddressLocationDrawer/EditAddressLocationDrawer.tsx` | 126 |
236
+ | `addresses.forms.dontShowAgain` | "Don't show this message again" | `src/features/addresses/components/EditAddressLocationDrawer/EditAddressLocationDrawer.tsx` | 128 |
237
+ | `addresses.toasts.recipientEdited` | "Recipient edited successfully" | `src/features/addresses/components/EditRecipientAddressDrawer/EditRecipientAddressDrawer.tsx` | 70 |
238
+ | `addresses.errors.recipientEdit` | "An error occurred while editing the recipient" | `src/features/addresses/components/EditRecipientAddressDrawer/EditRecipientAddressDrawer.tsx` | 92 |
239
+ | `addresses.drawers.confirmChanges` | "Confirm changes" | `src/features/addresses/components/EditRecipientAddressDrawer/EditRecipientAddressDrawer.tsx` | 146 |
240
+ | `addresses.drawers.editRecipient` | "Edit recipient" | `src/features/addresses/components/EditRecipientAddressDrawer/EditRecipientAddressDrawer.tsx` | 146 |
241
+ | `addresses.editRecipient.multiUnitWarning` | "This recipient may be used by multiple units through its associated address. Updates will affect all of them." | `src/features/addresses/components/EditRecipientAddressDrawer/EditRecipientAddressDrawer.tsx` | 160 |
242
+ | `addresses.editRecipient.proceedQuestion` | "Proceed with the update?" | `src/features/addresses/components/EditRecipientAddressDrawer/EditRecipientAddressDrawer.tsx` | 164 |
243
+ | `shared.buttons.confirm` | "Confirm" | `src/features/addresses/components/EditRecipientAddressDrawer/EditRecipientAddressDrawer.tsx` | 147 |
244
+ | `addresses.forms.locationNumber` | "{0} {1}" | `src/features/addresses/components/LocationForm/LocationField/LocationField.tsx` | 28 | |
245
+ | `addresses.forms.locationName` | "{0} name" | `src/features/addresses/components/LocationForm/LocationField/LocationField.tsx` | 40 | |
246
+ | `addresses.buttons.addLocation` | "Add {0}" | `src/features/addresses/components/LocationForm/LocationForm.tsx` | 53 | |
247
+ | `addresses.toasts.locationsAdded` | "Locations added successfully" | `src/features/addresses/components/LocationsDrawer/LocationsDrawer.tsx` | 64 |
248
+ | `addresses.errors.locationsAdd` | "An error occurred while adding {0}" | `src/features/addresses/components/LocationsDrawer/LocationsDrawer.tsx` | 97 | |
249
+ | `addresses.drawers.addLocations` | "Add {0}" | `src/features/addresses/components/LocationsDrawer/LocationsDrawer.tsx` | 130 | |
250
+ | `addresses.toasts.addressRemoved` | "Address removed successfully" | `src/features/addresses/components/RemoveAddressDrawer/RemoveAddressDrawer.tsx` | 26 |
251
+ | `addresses.drawers.removeAddressFromUnit` | "Remove address from unit" | `src/features/addresses/components/RemoveAddressDrawer/RemoveAddressDrawer.tsx` | 53 |
252
+ | `addresses.removeAddress.confirmQuestion` | "Remove {0} from {1} organizational unit?" | `src/features/addresses/components/RemoveAddressDrawer/RemoveAddressDrawer.tsx` | 58 | |
253
+ | `addresses.removeAddress.warning` | "This action will prevent users in this unit from accessing this address during store navigation and checkout" | `src/features/addresses/components/RemoveAddressDrawer/RemoveAddressDrawer.tsx` | 64 |
254
+ | `addresses.buttons.addRecipient` | "Add recipient" | `src/features/addresses/components/RecipientsForm/RecipientsForm.tsx` | 56 |
255
+ | `addresses.forms.recipientNumber` | "Recipient {0}" | `src/features/addresses/components/RecipientsForm/RecipientItem/RecipientItem.tsx` | 27 | |
256
+ | `shared.labels.name` | "Name" | `src/features/addresses/components/RecipientsForm/RecipientItem/RecipientItem.tsx` | 39 |
257
+ | `addresses.forms.phoneNumber` | "Phone Number" | `src/features/addresses/components/RecipientsForm/RecipientItem/RecipientItem.tsx` | 52 |
258
+ | `addresses.forms.country.brazil` | "Brazil" | `src/features/addresses/data/countries.ts` | 7 |
259
+ | `addresses.forms.country.usa` | "United States of America" | `src/features/addresses/data/countries.ts` | 8 |
260
+ | `addresses.forms.country.canada` | "Canada" | `src/features/addresses/data/countries.ts` | 9 |
261
+ | `addresses.forms.country.mexico` | "Mexico" | `src/features/addresses/data/countries.ts` | 10 |
262
+ | `addresses.errors.locationNameFetch` | "Failed to fetch Addresses Location name" | `src/features/addresses/layouts/AddressDetailsLayout/AddressDetailsLayout.tsx` | 109 |
263
+ | `shared.navigation.contract` | "Contract" | `src/features/addresses/layouts/AddressDetailsLayout/AddressDetailsLayout.tsx` | 181 |
264
+ | `addresses.errors.locationSettingsFetchLayout` | "Failed to fetch Addresses Location settings" | `src/features/addresses/layouts/AddressesLayout/AddressesLayout.tsx` | 56 |
265
+ | `addresses.table.type` | "Type" | `src/features/addresses/layouts/AddressesLayout/AddressesLayout.tsx` | 110 |
266
+ | `addresses.empty.noAddressesYet` | "No addresses yet" | `src/features/addresses/layouts/AddressesLayout/AddressesLayout.tsx` | 180 |
267
+ | `shared.pagination.previousPage` | "Previous Page" | `src/features/addresses/layouts/AddressesLayout/AddressesLayout.tsx` | 249 |
268
+ | `shared.pagination.nextPage` | "Next Page" | `src/features/addresses/layouts/AddressesLayout/AddressesLayout.tsx` | 256 |
269
+ | `addresses.errors.locationSettingsFetchService` | "Failed to fetch Addresses Location settings." | `src/features/addresses/services/get-address-location-settings.service.ts` | 13 |
270
+
271
+ ---
272
+
273
+ ## roles
274
+
275
+ | Key | Value | File | Line |
276
+ | :--- | :--- | :--- | :--- |
277
+ | `shared.labels.organization` | "Organization" | `src/features/roles/layout/RolesLayout/RolesLayout.tsx` | 26 |
278
+ | `roles.titles.roles` | "Roles" | `src/features/roles/layout/RolesLayout/RolesLayout.tsx` | 28 |
279
+ | `shared.labels.organization` | "Organization" | `src/features/roles/layout/RoleDetailsLayout/RoleDetailsLayout.tsx` | 41 |
280
+ | `roles.titles.permissions` | "Permissions" | `src/features/roles/layout/RoleDetailsLayout/RoleDetailsLayout.tsx` | 52 |
281
+
282
+ ---
283
+
284
+ ## orgUnits
285
+
286
+ | Key | Value | File | Line |
287
+ | :--- | :--- | :--- | :--- |
288
+ | `orgUnits.titles.organization` | "Organization" | `src/features/org-units/layouts/OrgUnitsLayout/OrgUnitsLayout.tsx` | 57 |
289
+ | `orgUnits.titles.organizationalUnits` | "Organizational Units" | `src/features/org-units/layouts/OrgUnitsLayout/OrgUnitsLayout.tsx` | 59 |
290
+ | `orgUnits.empty.noOrganizationalUnitsYet` | "No organizational units yet" | `src/features/org-units/layouts/OrgUnitsLayout/OrgUnitsLayout.tsx` | 81 |
291
+ | `orgUnits.links.manageOrganizationalUnits` | "Manage organizational units" | `src/features/org-units/components/OrganizationalUnitsCard/OrganizationalUnitsCard.tsx` | 27 |
292
+ | `orgUnits.titles.organizationalUnits` | "Organizational Units" | `src/features/org-units/components/OrganizationalUnitsCard/OrganizationalUnitsCard.tsx` | 28 |
293
+ | `orgUnits.labels.root` | "Root" | `src/features/org-units/components/OrganizationalUnitsCard/OrganizationalUnitsCard.tsx` | 18 |
294
+ | `orgUnits.empty.noChildOrganizationalUnitsYet` | "No child organizational units yet" | `src/features/org-units/components/OrganizationalUnitsCard/OrganizationalUnitsCard.tsx` | 76 |
295
+ | `orgUnits.buttons.addNew` | "+ Add New" | `src/features/org-units/components/OrganizationalUnitsCard/OrganizationalUnitsCard.tsx` | 78 |
296
+ | `shared.orgUnitDropdown.rename` | "Rename" | `src/features/org-units/components/OrgUnitsDropdownMenu/OrgUnitsDropdownMenu.tsx` | 60 |
297
+ | `shared.orgUnitDropdown.addUser` | "Add User" | `src/features/org-units/components/OrgUnitsDropdownMenu/OrgUnitsDropdownMenu.tsx` | 67 |
298
+ | `shared.orgUnitDropdown.addOrganizationalUnit` | "Add Organizational Unit" | `src/features/org-units/components/OrgUnitsDropdownMenu/OrgUnitsDropdownMenu.tsx` | 71 |
299
+ | `shared.buttons.delete` | "Delete" | `src/features/org-units/components/OrgUnitsDropdownMenu/OrgUnitsDropdownMenu.tsx` | 81 |
300
+ | `orgUnits.drawers.create.title` | "Create organization unit" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 132 |
301
+ | `orgUnits.toasts.createSuccess` | "Organizational unit added successfully" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 63 |
302
+ | `shared.messages.changesTimeout` | "Changes may take up to 10 minutes to apply." | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 63 |
303
+ | `shared.buttons.view` | "View" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 77 |
304
+ | `orgUnits.errors.duplicateName` | "An organizational unit with the same name already exists" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 101 |
305
+ | `orgUnits.errors.createFailed` | "An error occurred while creating the organizational unit" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 108 |
306
+ | `orgUnits.forms.parentLabel` | "Parent" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 135 |
307
+ | `orgUnits.validation.parentRequired` | "Parent is required" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 159 |
308
+ | `shared.labels.name` | "Name" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 163 |
309
+ | `orgUnits.validation.nameRequired` | "Name is required" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 172 |
310
+ | `shared.buttons.cancel` | "Cancel" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 177 |
311
+ | `orgUnits.buttons.add` | "Add" | `src/features/org-units/components/CreateOrgUnitDrawer/CreateOrgUnitDrawer.tsx` | 185 |
312
+ | `orgUnits.drawers.update.title` | "Edit organization unit" | `src/features/org-units/components/UpdateOrgUnitDrawer/UpdateOrgUnitDrawer.tsx` | 115 |
313
+ | `orgUnits.toasts.updateSuccess` | "Organizational unit successfully edited" | `src/features/org-units/components/UpdateOrgUnitDrawer/UpdateOrgUnitDrawer.tsx` | 54 |
314
+ | `shared.messages.changesTimeout` | "Changes may take up to 10 minutes to apply." | `src/features/org-units/components/UpdateOrgUnitDrawer/UpdateOrgUnitDrawer.tsx` | 54 |
315
+ | `shared.buttons.view` | "View" | `src/features/org-units/components/UpdateOrgUnitDrawer/UpdateOrgUnitDrawer.tsx` | 68 |
316
+ | `orgUnits.errors.updateFailed` | "An error occurred while editing the organizational unit" | `src/features/org-units/components/UpdateOrgUnitDrawer/UpdateOrgUnitDrawer.tsx` | 92 |
317
+ | `shared.labels.name` | "Name" | `src/features/org-units/components/UpdateOrgUnitDrawer/UpdateOrgUnitDrawer.tsx` | 118 |
318
+ | `orgUnits.validation.nameRequired` | "Name is required" | `src/features/org-units/components/UpdateOrgUnitDrawer/UpdateOrgUnitDrawer.tsx` | 127 |
319
+ | `shared.buttons.cancel` | "Cancel" | `src/features/org-units/components/UpdateOrgUnitDrawer/UpdateOrgUnitDrawer.tsx` | 132 |
320
+ | `shared.buttons.save` | "Save" | `src/features/org-units/components/UpdateOrgUnitDrawer/UpdateOrgUnitDrawer.tsx` | 140 |
321
+ | `orgUnits.drawers.delete.title` | "Delete organizational unit" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 133 |
322
+ | `orgUnits.toasts.deleteSuccess` | "Organizational unit deleted successfully" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 63 |
323
+ | `shared.messages.changesTimeout` | "Changes may take up to 10 minutes to apply." | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 63 |
324
+ | `orgUnits.errors.deleteFailed` | "An error occurred while deleting the organizational unit" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 108 |
325
+ | `orgUnits.delete.confirmMessage` | "Are you sure you want to permanently delete the {0}?" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 138 | |
326
+ | `orgUnits.delete.warningDeleteAllData` | "This action will delete all data from this unit." | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 145 |
327
+ | `orgUnits.delete.confirmNamePrompt` | "To confirm this action, please enter the organizational unit name below:" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 147 |
328
+ | `shared.labels.name` | "Name" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 152 |
329
+ | `orgUnits.validation.nameMismatch` | "The entered name does not match the organizational unit's name. Please, check and try again." | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 160 |
330
+ | `orgUnits.delete.hasChildrenMessage` | "Before deleting {0}, you must first remove all child organizational units{1}..." | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 168 | |
331
+ | `orgUnits.delete.andUsers` | " and users" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 173 |
332
+ | `orgUnits.titles.organizationalUnits` | "Organizational Units" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 183 |
333
+ | `shared.buttons.cancel` | "Cancel" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 196 |
334
+ | `shared.buttons.ok` | "Ok" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 203 |
335
+ | `shared.buttons.delete` | "Delete" | `src/features/org-units/components/DeleteOrgUnitDrawer/DeleteOrgUnitDrawer.tsx` | 203 |
336
+ | `orgUnitDetails.drawers.authentication.title` | "Authentication" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 269 |
337
+ | `orgUnitDetails.auth.userIdentification` | "User identification" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 273 |
338
+ | `orgUnitDetails.auth.selectIdentifiersDescription` | "Select the identifiers allowed for sign-in" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 276 |
339
+ | `orgUnitDetails.auth.username` | "Username" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 33 |
340
+ | `orgUnitDetails.auth.email` | "Email" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 39 |
341
+ | `orgUnitDetails.auth.phone` | "Phone" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 45 |
342
+ | `orgUnitDetails.auth.authenticationMethods` | "Authentication methods" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 309 |
343
+ | `orgUnitDetails.auth.controlMethodsDescription` | "Control which authentication methods are available" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 312 |
344
+ | `orgUnitDetails.auth.password` | "Password" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 67 |
345
+ | `orgUnitDetails.auth.emailAccessCode` | "Email access code" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 72 |
346
+ | `orgUnitDetails.auth.smsAccessCode` | "SMS access code" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 78 |
347
+ | `orgUnitDetails.auth.pingFederateSso` | "PingFederate (SSO)" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 84 |
348
+ | `orgUnitDetails.auth.ssoTooltip` | "Enables login through external identity providers..." | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 86 |
349
+ | `orgUnitDetails.toasts.authSettingsSaved` | "Authentication settings saved successfully" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 170 |
350
+ | `shared.messages.changesTimeout` | "Changes may take up to 10 minutes to apply." | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 170 |
351
+ | `orgUnitDetails.errors.authSettingsUpdateFailed` | "An error occurred while updating authentication settings" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 195 |
352
+ | `shared.buttons.cancel` | "Cancel" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 385 |
353
+ | `shared.buttons.save` | "Save" | `src/features/org-units/components/AuthSetupDrawer/AuthSetupDrawer.tsx` | 393 |
354
+ | `orgUnitDetails.dropdown.rename` | "Rename" | `src/features/org-units/components/OrgUnitDetailsDropdownMenu/OrgUnitDetailsDropdownMenu.tsx` | 42 |
355
+ | `orgUnitDetails.dropdown.authentication` | "Authentication" | `src/features/org-units/components/OrgUnitDetailsDropdownMenu/OrgUnitDetailsDropdownMenu.tsx` | 47 |
356
+ | `orgUnitDetails.links.startShopping` | "Start shopping" | `src/features/org-units/components/OrgUnitDetailsNavbar/OrgUnitDetailsNavbar.tsx` | 49 |
357
+ | `shared.orgUnitDropdown.rename` | "Rename" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 114 |
358
+ | `shared.orgUnitDropdown.addAddress` | "Add address" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 122 |
359
+ | `shared.orgUnitDropdown.addCreditCard` | "Add credit card" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 126 |
360
+ | `shared.orgUnitDropdown.addAccountingFields` | "Add accounting fields" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 130 |
361
+ | `shared.orgUnitDropdown.addUser` | "Add user" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 138 |
362
+ | `shared.orgUnitDropdown.addOrganizationUnit` | "Add organization unit" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 142 |
363
+ | `shared.orgUnitDropdown.addBudget` | "Add budget" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 148 |
364
+ | `shared.orgUnitDropdown.addBuyingPolicy` | "Add buying policy" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 152 |
365
+ | `shared.buttons.delete` | "Delete" | `src/features/org-units/components/AddAllToOrgUnitDropdown/AddAllToOrgUnitDropdown.tsx` | 162 |
366
+ | `orgUnitDetails.settings.accountingFields` | "Accounting fields" | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 114 |
367
+ | `orgUnitDetails.messages.accountingFieldEmptySingle` | "Buyers won't be able to place orders until all required information is provided. Add at least one {0} value to complete the setup." | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 232 | |
368
+ | `orgUnitDetails.messages.accountingFieldEmptyMultiple` | "Buyers won't be able to place orders until all required information is provided. Complete the accounting field settings." | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 239 |
369
+ | `orgUnitDetails.buttons.addValue` | "Add value" | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 250 |
370
+ | `orgUnitDetails.links.manageContractSettings` | "Manage contract settings" | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 259 |
371
+ | `orgUnitDetails.titles.contracts` | "Contracts" | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 289 |
372
+ | `orgUnitDetails.actions.edit` | "Edit" | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 315 |
373
+ | `orgUnitDetails.links.manageOrganizationSettings` | "Manage organization settings" | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 325 |
374
+ | `orgUnitDetails.titles.organization` | "Organization" | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 331 |
375
+ | `orgUnitDetails.links.manageFinanceAndComplianceSettings` | "Manage finance and compliance settings" | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 337 |
376
+ | `orgUnitDetails.titles.financeAndCompliance` | "Finance and Compliance" | `src/features/org-units/layouts/OrgUnitDetailsLayout/OrgUnitDetailsLayout.tsx` | 344 |
377
+
378
+ ---
379
+
380
+ ## users
381
+
382
+ > **Status**: migrated — all occurrences below already use `t()` via `useLocalization()`.
383
+
384
+ | Key | Value | File | Line |
385
+ | :--- | :--- | :--- | :--- |
386
+ | `users.table.columnUsername` | "Username" | `src/features/users/layouts/UsersLayout/UsersLayout.tsx` | 58 |
387
+ | `users.table.columnFullName` | "Full Name" | `src/features/users/layouts/UsersLayout/UsersLayout.tsx` | 64 |
388
+ | `users.table.columnEmail` | "Email" | `src/features/users/layouts/UsersLayout/UsersLayout.tsx` | 71 |
389
+ | `users.table.columnPhone` | "Phone" | `src/features/users/layouts/UsersLayout/UsersLayout.tsx` | 78 |
390
+ | `users.table.columnRoles` | "Roles" | `src/features/users/layouts/UsersLayout/UsersLayout.tsx` | 85 |
391
+ | `shared.navigation.organization` | "Organization" | `src/features/users/layouts/UsersLayout/UsersLayout.tsx` | 118 |
392
+ | `users.titles.users` | "Users" | `src/features/users/layouts/UsersLayout/UsersLayout.tsx` | 120 |
393
+ | `shared.labels.loading` | "Loading" | `src/features/users/layouts/UsersLayout/UsersLayout.tsx` | 195 |
394
+ | `shared.buttons.loadMore` | "Load More" | `src/features/users/layouts/UsersLayout/UsersLayout.tsx` | 195 |
395
+ | `shared.navigation.organization` | "Organization" | `src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx` | 48 |
396
+ | `users.actions.editDetails` | "Edit details" | `src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx` | 63 |
397
+ | `users.titles.details` | "Details" | `src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx` | 75 |
398
+ | `users.labels.name` | "Name" | `src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx` | 80 |
399
+ | `users.labels.username` | "Username" | `src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx` | 88 |
400
+ | `users.labels.phoneNumber` | "Phone number" | `src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx` | 97 |
401
+ | `users.labels.email` | "Email" | `src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx` | 106 |
402
+ | `users.labels.role` | "Role" | `src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx` | 115 |
403
+ | `users.labels.organizationalUnit` | "Organizational Unit" | `src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx` | 131 |
404
+ | `users.actions.change` | "Change" | `src/features/users/layouts/UserDetailsLayout/UserDetailsLayout.tsx` | 138 |
405
+ | `users.create.toasts.userSuccessfullyAdded` | "User successfully added" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 101 |
406
+ | `shared.buttons.view` | "View" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 114 |
407
+ | `users.create.drawerTitleUserCannotBeAdded` | "User cannot be added" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 221 |
408
+ | `users.create.drawerTitle` | "Add User" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 224 |
409
+ | `shared.messages.somethingWentWrong` | "Something went wrong" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 235 |
410
+ | `users.create.errors.formCouldNotBeLoaded` | "The add user form could not be loaded." | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 236 |
411
+ | `shared.buttons.tryAgain` | "Try again" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 238 |
412
+ | `users.forms.fullName` | "Full Name" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 244 |
413
+ | `users.validation.fullNameRequired` | "Full name is required" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 252 |
414
+ | `users.forms.email` | "Email" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 256 |
415
+ | `users.validation.emailRequired` | "Email is required" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 267 |
416
+ | `users.validation.emailInvalid` | "Email is invalid" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 267 |
417
+ | `users.forms.phoneNumberOptional` | "Phone number (optional)" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 272 |
418
+ | `users.forms.roles` | "Roles" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 284 |
419
+ | `shared.buttons.cancel` | "Cancel" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 319 |
420
+ | `users.create.buttons.add` | "Add" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 327 |
421
+ | `users.create.messages.userAssignedToAnotherUnit` | "This user is assigned to another organizational unit." | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 335 |
422
+ | `users.create.messages.moveUserFromAnotherUnit` | "Users can only belong to one organizational unit at a time..." | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 338 |
423
+ | `shared.buttons.ok` | "Ok" | `src/features/users/components/CreateUserDrawer/CreateUserDrawer.tsx` | 351 |
424
+ | `users.create.errors.failedToGenerateAccessCode` | "Failed to generate access code. Please try resetting the password later." | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 150 |
425
+ | `users.create.toasts.userAddedSuccessfully` | "User added successfully" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 223 |
426
+ | `users.create.toasts.accessCodeSent` | "An access code has been sent to {0} for first-time login." | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 224 | |
427
+ | `users.create.errors.usernameAlreadyTaken` | "Username is already taken. Please choose another one." | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 285 |
428
+ | `users.create.errors.failedToCreateUser` | "An error occurred while creating the user" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 292 |
429
+ | `users.reset.toasts.accessCodeCopied` | "Access code copied to clipboard" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 356 |
430
+ | `users.reset.toasts.failedToCopyAccessCode` | "Failed to copy access code" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 361 |
431
+ | `users.create.drawerTitleConfirmSharedEmail` | "Confirm shared email" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 413 |
432
+ | `users.create.drawerTitle` | "Add User" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 419 |
433
+ | `users.forms.fullNameOptional` | "Full Name (optional)" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 454 |
434
+ | `users.forms.emailOptional` | "Email (optional)" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 460 |
435
+ | `users.forms.phoneNumberOptional` | "Phone number (optional)" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 478 |
436
+ | `users.validation.emailOrPhoneRequiredFor2fa` | "Email or phone number is required for two-factor authentication" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 504 |
437
+ | `users.forms.username` | "Username" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 510 |
438
+ | `users.validation.usernameRequired` | "Username is required" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 559 |
439
+ | `users.validation.atLeastOneRoleRequired` | "At least one role is required" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 595 |
440
+ | `users.create.messages.emailAlreadyRegistered` | "This email is already registered" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 626 |
441
+ | `users.create.messages.emailRegisteredForAnotherUser` | "The email {0} is already registered for another user ({1})." | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 629 | |
442
+ | `users.create.messages.confirmSharedEmailContinue` | "Are you sure you want to continue? If you proceed, a temporary access code will be generated for the new user." | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 634 |
443
+ | `shared.buttons.continue` | "Continue" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 647 |
444
+ | `users.reset.messages.passwordResetSuccessfully` | "Password reset successfully" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 658 |
445
+ | `users.reset.messages.accessCodeGeneratedDescription` | "A temporary access code has been generated..." | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 661 |
446
+ | `shared.buttons.done` | "Done" | `src/features/users/components/CreateUserDrawerWithUsername/CreateUserDrawerWithUsername.tsx` | 681 |
447
+ | `users.update.errors.failedToFetchUserDetails` | "Failed to fetch user details" | `src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx` | 62 |
448
+ | `users.update.toasts.userSuccessfullyUpdated` | "User successfully updated" | `src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx` | 107 |
449
+ | `users.update.errors.failedToUpdateUser` | "Failed to update user" | `src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx` | 128 |
450
+ | `users.edit.drawerTitle` | "Edit user details" | `src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx` | 202 |
451
+ | `users.forms.fullName` | "Full Name" | `src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx` | 209 |
452
+ | `users.forms.email` | "Email" | `src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx` | 233 |
453
+ | `users.forms.phoneNumberOptional` | "Phone number (optional)" | `src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx` | 264 |
454
+ | `users.forms.roles` | "Roles" | `src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx` | 274 |
455
+ | `shared.buttons.cancel` | "Cancel" | `src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx` | 312 |
456
+ | `shared.buttons.save` | "Save" | `src/features/users/components/UpdateUserDrawer/UpdateUserDrawer.tsx` | 320 |
457
+ | `users.reset.errors.failedToResetPassword` | "Failed to reset password. Please try again." | `src/features/users/components/ResetPasswordDrawer/ResetPasswordDrawer.tsx` | 44 |
458
+ | `users.reset.toasts.accessCodeCopied` | "Access code copied to clipboard" | `src/features/users/components/ResetPasswordDrawer/ResetPasswordDrawer.tsx` | 66 |
459
+ | `users.reset.toasts.failedToCopyAccessCode` | "Failed to copy access code" | `src/features/users/components/ResetPasswordDrawer/ResetPasswordDrawer.tsx` | 71 |
460
+ | `users.reset.drawerTitle` | "Reset password" | `src/features/users/components/ResetPasswordDrawer/ResetPasswordDrawer.tsx` | 93 |
461
+ | `users.reset.messages.confirmResetPassword` | "Are you sure you want to reset this user's password? The old password will be deactivated immediately." | `src/features/users/components/ResetPasswordDrawer/ResetPasswordDrawer.tsx` | 96 |
462
+ | `shared.buttons.cancel` | "Cancel" | `src/features/users/components/ResetPasswordDrawer/ResetPasswordDrawer.tsx` | 102 |
463
+ | `users.reset.buttons.reset` | "Reset" | `src/features/users/components/ResetPasswordDrawer/ResetPasswordDrawer.tsx` | 109 |
464
+ | `users.reset.messages.passwordResetSuccessfully` | "Password reset successfully" | `src/features/users/components/ResetPasswordDrawer/ResetPasswordDrawer.tsx` | 121 |
465
+ | `shared.buttons.done` | "Done" | `src/features/users/components/ResetPasswordDrawer/ResetPasswordDrawer.tsx` | 144 |
466
+ | `users.reassign.toasts.userSuccessfullyEdited` | "User successfully edited" | `src/features/users/components/ReassignOrgUnitDrawer/ReassignOrgUnitDrawer.tsx` | 45 |
467
+ | `users.reassign.errors.failedToReassign` | "An error occurred while reassigning the organizational unit" | `src/features/users/components/ReassignOrgUnitDrawer/ReassignOrgUnitDrawer.tsx` | 56 |
468
+ | `users.reassign.drawerTitle` | "Change user organizational unit" | `src/features/users/components/ReassignOrgUnitDrawer/ReassignOrgUnitDrawer.tsx` | 81 |
469
+ | `users.reassign.messages.selectNewUnit` | "Users can belong to only one Organizational Unit. Search and select a new unit for {0}." | `src/features/users/components/ReassignOrgUnitDrawer/ReassignOrgUnitDrawer.tsx` | 86 | |
470
+ | `users.reassign.forms.searchOrganizationalUnits` | "Search organizational units" | `src/features/users/components/ReassignOrgUnitDrawer/ReassignOrgUnitDrawer.tsx` | 113 |
471
+ | `users.reassign.validation.newOrgUnitRequired` | "New Organizational unit is required" | `src/features/users/components/ReassignOrgUnitDrawer/ReassignOrgUnitDrawer.tsx` | 140 |
472
+ | `shared.buttons.cancel` | "Cancel" | `src/features/users/components/ReassignOrgUnitDrawer/ReassignOrgUnitDrawer.tsx` | 145 |
473
+ | `shared.buttons.save` | "Save" | `src/features/users/components/ReassignOrgUnitDrawer/ReassignOrgUnitDrawer.tsx` | 153 |
474
+ | `users.delete.toasts.userSuccessfullyDeleted` | "User successfully deleted" | `src/features/users/components/DeleteUserDrawer/DeleteUserDrawer.tsx` | 49 |
475
+ | `users.delete.errors.failedToDeleteUser` | "An error occurred while deleting the user" | `src/features/users/components/DeleteUserDrawer/DeleteUserDrawer.tsx` | 79 |
476
+ | `users.delete.drawerTitle` | "Delete user" | `src/features/users/components/DeleteUserDrawer/DeleteUserDrawer.tsx` | 89 |
477
+ | `users.delete.messages.confirmDeleteUser` | "Permanently delete {0}?" | `src/features/users/components/DeleteUserDrawer/DeleteUserDrawer.tsx` | 92 | |
478
+ | `users.delete.messages.deleteWarning` | "Deleting this user will permanently remove all its data..." | `src/features/users/components/DeleteUserDrawer/DeleteUserDrawer.tsx` | 106 |
479
+ | `users.delete.messages.confirmByTypingUserName` | "Confirm by typing the user name below:" | `src/features/users/components/DeleteUserDrawer/DeleteUserDrawer.tsx` | 110 |
480
+ | `users.delete.forms.userName` | "User name" | `src/features/users/components/DeleteUserDrawer/DeleteUserDrawer.tsx` | 114 |
481
+ | `shared.buttons.cancel` | "Cancel" | `src/features/users/components/DeleteUserDrawer/DeleteUserDrawer.tsx` | 124 |
482
+ | `shared.buttons.delete` | "Delete" | `src/features/users/components/DeleteUserDrawer/DeleteUserDrawer.tsx` | 132 |
483
+ | `users.dropdown.open` | "Open" | `src/features/users/components/UserDropdownMenu/UserDropdownMenu.tsx` | 76 |
484
+ | `users.actions.editDetails` | "Edit details" | `src/features/users/components/UserDropdownMenu/UserDropdownMenu.tsx` | 80 |
485
+ | `users.dropdown.resetPassword` | "Reset password" | `src/features/users/components/UserDropdownMenu/UserDropdownMenu.tsx` | 87 |
486
+ | `users.dropdown.changeOrganizationalUnit` | "Change organizational unit" | `src/features/users/components/UserDropdownMenu/UserDropdownMenu.tsx` | 92 |
487
+ | `shared.buttons.delete` | "Delete" | `src/features/users/components/UserDropdownMenu/UserDropdownMenu.tsx` | 100 |
488
+ | `users.components.UsersCard.manageUsers` | "Manage users" | `src/features/users/components/UsersCard/UsersCard.tsx` | 32 |
489
+ | `users.titles.users` | "Users" | `src/features/users/components/UsersCard/UsersCard.tsx` | 35 |
490
+
491
+ ---
492
+
493
+ ## budgets
494
+
495
+ | Key | Value | File | Line |
496
+ | :--- | :--- | :--- | :--- |
497
+ | `budgets.titles.financeAndCompliance` | "Finance and Compliance" | `src/features/budgets/layouts/BudgetsLayout/BudgetsLayout.tsx` | 166 |
498
+ | `budgets.titles.budgets` | "Budgets" | `src/features/budgets/layouts/BudgetsLayout/BudgetsLayout.tsx` | 169 |
499
+ | `budgets.empty.noBudgets` | "No budgets yet" | `src/features/budgets/layouts/BudgetsLayout/BudgetsLayout.tsx` | 175 |
500
+ | `budgets.table.remaining` | "Remaining" | `src/features/budgets/components/BudgetsTable/BudgetsTable.tsx` | 51 |
501
+ | `budgets.table.expirationDate` | "Expiration date" | `src/features/budgets/components/BudgetsTable/BudgetsTable.tsx` | 58 |
502
+ | `budgets.table.totalUsd` | "Total (USD)" | `src/features/budgets/components/BudgetsTable/BudgetsTable.tsx` | 65 |
503
+ | `budgets.dropdown.editSettings` | "Edit settings" | `src/features/budgets/components/BudgetsTable/BudgetsTable.tsx` | 102 |
504
+ | `budgets.dropdown.editNotifications` | "Edit notifications" | `src/features/budgets/components/BudgetsTable/BudgetsTable.tsx` | 109 |
505
+ | `budgets.dropdown.addAllocations` | "Add allocations" | `src/features/budgets/components/BudgetsTable/BudgetsTable.tsx` | 117 |
506
+ | `shared.buttons.delete` | "Delete" | `src/features/budgets/components/BudgetsTable/BudgetsTable.tsx` | 126 |
507
+ | `budgets.errors.unexpectedAllocationsLoad` | "Unexpected error loading allocations list" | `src/features/budgets/layouts/BudgetsDetailsLayout/BudgetsDetailsLayout.tsx` | 134 |
508
+ | `budgets.dropdown.editSettings` | "Edit settings" | `src/features/budgets/layouts/BudgetsDetailsLayout/BudgetsDetailsLayout.tsx` | 172 |
509
+ | `budgets.dropdown.addAllocations` | "Add allocations" | `src/features/budgets/layouts/BudgetsDetailsLayout/BudgetsDetailsLayout.tsx` | 179 |
510
+ | `shared.buttons.delete` | "Delete" | `src/features/budgets/layouts/BudgetsDetailsLayout/BudgetsDetailsLayout.tsx` | 188 |
511
+ | `budgets.labels.remainingBalance` | "Remaining balance" | `src/features/budgets/components/BudgetRemainingBalance/BudgetRemainingBalance.tsx` | 17 |
512
+ | `budgets.labels.ofTotalUsed` | "of {0} used" | `src/features/budgets/components/BudgetRemainingBalance/BudgetRemainingBalance.tsx` | 25 | |
513
+ | `budgets.settingsInfo.title` | "Settings" | `src/features/budgets/components/BudgetSettingsInfo/BudgetSettingsInfo.tsx` | 48 |
514
+ | `shared.buttons.edit` | "Edit" | `src/features/budgets/components/BudgetSettingsInfo/BudgetSettingsInfo.tsx` | 54 |
515
+ | `budgets.settingsInfo.name` | "Name" | `src/features/budgets/components/BudgetSettingsInfo/BudgetSettingsInfo.tsx` | 59 |
516
+ | `budgets.settingsInfo.amount` | "Amount" | `src/features/budgets/components/BudgetSettingsInfo/BudgetSettingsInfo.tsx` | 60 |
517
+ | `budgets.settingsInfo.period` | "Period" | `src/features/budgets/components/BudgetSettingsInfo/BudgetSettingsInfo.tsx` | 61 |
518
+ | `budgets.settingsInfo.automaticRenewal` | "Automatic renewal" | `src/features/budgets/components/BudgetSettingsInfo/BudgetSettingsInfo.tsx` | 63 |
519
+ | `budgets.labels.active` | "Active" | `src/features/budgets/components/BudgetSettingsInfo/BudgetSettingsInfo.tsx` | 64 |
520
+ | `budgets.labels.inactive` | "Inactive" | `src/features/budgets/components/BudgetSettingsInfo/BudgetSettingsInfo.tsx` | 64 |
521
+ | `budgets.notificationsForm.title` | "Notifications" | `src/features/budgets/components/BudgetNotificationsInfo/BudgetNotificationsInfo.tsx` | 69 |
522
+ | `shared.buttons.edit` | "Edit" | `src/features/budgets/components/BudgetNotificationsInfo/BudgetNotificationsInfo.tsx` | 75 |
523
+ | `budgets.notificationsForm.thresholds` | "Thresholds" | `src/features/budgets/components/BudgetNotificationsInfo/BudgetNotificationsInfo.tsx` | 84 |
524
+ | `budgets.notificationsForm.users` | "Users" | `src/features/budgets/components/BudgetNotificationsInfo/BudgetNotificationsInfo.tsx` | 89 |
525
+ | `budgets.empty.noNotifications` | "No notifications" | `src/features/budgets/components/BudgetNotificationsInfo/BudgetNotificationsInfo.tsx` | 96 |
526
+ | `budgets.empty.noNotificationsDescription` | "Set up to 5 thresholds and notify users when the total amount reaches specific percentages." | `src/features/budgets/components/BudgetNotificationsInfo/BudgetNotificationsInfo.tsx` | 97 |
527
+ | `budgets.allocationsTable.title` | "Allocations" | `src/features/budgets/components/BudgetAllocationsTable/BudgetAllocationsTable.tsx` | 164 |
528
+ | `shared.buttons.add` | "Add" | `src/features/budgets/components/BudgetAllocationsTable/BudgetAllocationsTable.tsx` | 171 |
529
+ | `budgets.table.type` | "Type" | `src/features/budgets/components/BudgetAllocationsTable/BudgetAllocationsTable.tsx` | 66 |
530
+ | `budgets.table.contract` | "Contract" | `src/features/budgets/components/BudgetAllocationsTable/BudgetAllocationsTable.tsx` | 73 |
531
+ | `budgets.empty.noAllocations` | "No allocations yet" | `src/features/budgets/components/BudgetAllocationsTable/BudgetAllocationsTable.tsx` | 108 |
532
+ | `budgets.empty.noAllocationsDescription` | "Add at least one allocation so that this budget can be used at checkout." | `src/features/budgets/components/BudgetAllocationsTable/BudgetAllocationsTable.tsx` | 109 |
533
+ | `budgets.forms.settings` | "Settings" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 41 |
534
+ | `budgets.forms.name` | "Name" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 46 |
535
+ | `budgets.validation.nameRequired` | "Name is required" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 56 |
536
+ | `budgets.forms.amount` | "Amount" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 61 |
537
+ | `budgets.currencies.usd` | "USD" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 71 |
538
+ | `budgets.validation.amountRequired` | "Amount is required" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 77 |
539
+ | `budgets.forms.startDate` | "Start date" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 86 |
540
+ | `budgets.validation.startDateRequired` | "Start date is required" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 101 |
541
+ | `budgets.forms.endDate` | "End date" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 108 |
542
+ | `budgets.validation.endDateRequired` | "End date is required" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 123 |
543
+ | `budgets.forms.renewBudgetLabel` | "Renew this budget amount and period upon expiration" | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 134 |
544
+ | `budgets.tooltips.renewBudget` | "When this budget expires, both its amount and period will automatically renew..." | `src/features/budgets/components/BudgetAddForm/BudgetAddForm.tsx` | 139 |
545
+ | `budgets.create.addNewBudget` | "Add new budget" | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 463 |
546
+ | `budgets.create.addBudgetAllocations` | "Add budget allocations" | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 467 |
547
+ | `budgets.toasts.budgetAdded` | "Budget added successfully." | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 221 |
548
+ | `budgets.toasts.budgetPolicyAdded` | "Budget policy added successfully." | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 279 |
549
+ | `budgets.errors.genericRetry` | "An error occurred. Please try again." | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 311 |
550
+ | `budgets.validation.fillRequiredFields` | "Fill in all required fields." | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 354 |
551
+ | `shared.buttons.cancel` | "Cancel" | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 543 |
552
+ | `shared.buttons.continue` | "Continue" | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 599 |
553
+ | `shared.buttons.skip` | "Skip" | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 610 |
554
+ | `shared.buttons.add` | "Add" | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 618 |
555
+ | `shared.buttons.confirm` | "Confirm" | `src/features/budgets/components/CreateBudgetDrawer/CreateBudgetDrawer.tsx` | 629 |
556
+ | `budgets.create.budgetCreated` | "Your budget has been created." | `src/features/budgets/components/BudgetAddSuccess/BudgetAddSuccess.tsx` | 26 |
557
+ | `budgets.create.firstBudgetPolicyDescription` | "Because this is the first budget created in this organization..." | `src/features/budgets/components/BudgetAddSuccess/BudgetAddSuccess.tsx` | 31 |
558
+ | `budgets.create.enforcementPolicyLabel` | "Create budget enforcement policy" | `src/features/budgets/components/BudgetAddSuccess/BudgetAddSuccess.tsx` | 48 |
559
+ | `budgets.tooltips.enforcementPolicy` | "When enabled, a default policy will be created to control budget usage at checkout..." | `src/features/budgets/components/BudgetAddSuccess/BudgetAddSuccess.tsx` | 53 |
560
+ | `budgets.create.preventCheckoutExceeded` | "Prevent checkout when budget is exceeded" | `src/features/budgets/components/BudgetAddSuccess/BudgetAddSuccess.tsx` | 73 |
561
+ | `budgets.create.preventCheckoutExceededDescription` | "Block orders when the budget amount has been fully used" | `src/features/budgets/components/BudgetAddSuccess/BudgetAddSuccess.tsx` | 77 |
562
+ | `budgets.create.preventCheckoutExpired` | "Prevent checkout when budget is expired" | `src/features/budgets/components/BudgetAddSuccess/BudgetAddSuccess.tsx` | 89 |
563
+ | `budgets.create.preventCheckoutExpiredDescription` | "Block orders when the budget is no longer valid due to its expiration date" | `src/features/budgets/components/BudgetAddSuccess/BudgetAddSuccess.tsx` | 93 |
564
+ | `budgets.edit.budgetSettings` | "Edit Budget Settings" | `src/features/budgets/components/EditBudgetDrawer/EditBudgetDrawer.tsx` | 228 |
565
+ | `budgets.toasts.budgetUpdated` | "Budget updated successfully." | `src/features/budgets/components/EditBudgetDrawer/EditBudgetDrawer.tsx` | 123 |
566
+ | `budgets.errors.genericRetry` | "An error occurred. Please try again." | `src/features/budgets/components/EditBudgetDrawer/EditBudgetDrawer.tsx` | 143 |
567
+ | `budgets.validation.fillRequiredFieldsCorrectly` | "Please fill all required fields correctly." | `src/features/budgets/components/EditBudgetDrawer/EditBudgetDrawer.tsx` | 178 |
568
+ | `shared.buttons.cancel` | "Cancel" | `src/features/budgets/components/EditBudgetDrawer/EditBudgetDrawer.tsx` | 257 |
569
+ | `shared.buttons.save` | "Save" | `src/features/budgets/components/EditBudgetDrawer/EditBudgetDrawer.tsx` | 264 |
570
+ | `budgets.delete.budgetTitle` | "Delete budget" | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 121 |
571
+ | `budgets.delete.permanentlyDeleteBudget` | "Permanently delete {0}?" | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 125 | |
572
+ | `budgets.delete.budgetWarning` | "Deleting this budget will permanently remove all its data..." | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 130 |
573
+ | `budgets.delete.confirmBudgetName` | "Confirm by typing the budget name below:" | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 134 |
574
+ | `budgets.forms.budgetName` | "Budget name" | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 139 |
575
+ | `budgets.validation.budgetNameRequired` | "Budget name is required" | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 52 |
576
+ | `budgets.validation.budgetNameInvalid` | "Budget name is invalid" | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 56 |
577
+ | `budgets.errors.budgetRemoveFailed` | "An error occurred while removing the budget" | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 79 |
578
+ | `budgets.toasts.budgetDeleted` | "Budget deleted successfully" | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 96 |
579
+ | `shared.buttons.cancel` | "Cancel" | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 153 |
580
+ | `shared.buttons.remove` | "Remove" | `src/features/budgets/components/BudgetDeleteDrawer/BudgetDeleteDrawer.tsx` | 161 |
581
+ | `budgets.create.addBudgetAllocations` | "Add budget allocations" | `src/features/budgets/components/CreateBudgetAllocationDrawer/CreateBudgetAllocationDrawer.tsx` | 138 |
582
+ | `budgets.toasts.allocationAdded` | "Allocation successfully added" | `src/features/budgets/components/CreateBudgetAllocationDrawer/CreateBudgetAllocationDrawer.tsx` | 93 |
583
+ | `shared.buttons.cancel` | "Cancel" | `src/features/budgets/components/CreateBudgetAllocationDrawer/CreateBudgetAllocationDrawer.tsx` | 169 |
584
+ | `shared.buttons.save` | "Save" | `src/features/budgets/components/CreateBudgetAllocationDrawer/CreateBudgetAllocationDrawer.tsx` | 176 |
585
+ | `budgets.delete.allocationTitle` | "Delete allocation" | `src/features/budgets/components/DeleteBudgetAllocationDrawer/DeleteBudgetAllocationDrawer.tsx` | 88 |
586
+ | `budgets.delete.permanentlyDeleteAllocation` | "Permanently delete {0}?" | `src/features/budgets/components/DeleteBudgetAllocationDrawer/DeleteBudgetAllocationDrawer.tsx` | 91 | |
587
+ | `budgets.delete.allocationWarning` | "Deleting this allocation will permanently remove all its data..." | `src/features/budgets/components/DeleteBudgetAllocationDrawer/DeleteBudgetAllocationDrawer.tsx` | 95 |
588
+ | `budgets.delete.confirmAllocationName` | "Confirm by typing the allocation name below:" | `src/features/budgets/components/DeleteBudgetAllocationDrawer/DeleteBudgetAllocationDrawer.tsx` | 99 |
589
+ | `budgets.forms.allocationName` | "Allocation name" | `src/features/budgets/components/DeleteBudgetAllocationDrawer/DeleteBudgetAllocationDrawer.tsx` | 103 |
590
+ | `budgets.toasts.allocationDeleted` | "Allocation deleted successfully" | `src/features/budgets/components/DeleteBudgetAllocationDrawer/DeleteBudgetAllocationDrawer.tsx` | 51 |
591
+ | `shared.buttons.cancel` | "Cancel" | `src/features/budgets/components/DeleteBudgetAllocationDrawer/DeleteBudgetAllocationDrawer.tsx` | 113 |
592
+ | `shared.buttons.delete` | "Delete" | `src/features/budgets/components/DeleteBudgetAllocationDrawer/DeleteBudgetAllocationDrawer.tsx` | 121 |
593
+ | `budgets.edit.notificationsTitle` | "Edit notifications" | `src/features/budgets/components/BudgetEditNotificationDrawer/BudgetEditNotificationDrawer.tsx` | 133 |
594
+ | `budgets.toasts.budgetUpdated` | "Budget updated successfully." | `src/features/budgets/components/BudgetEditNotificationDrawer/BudgetEditNotificationDrawer.tsx` | 62 |
595
+ | `shared.buttons.cancel` | "Cancel" | `src/features/budgets/components/BudgetEditNotificationDrawer/BudgetEditNotificationDrawer.tsx` | 151 |
596
+ | `shared.buttons.save` | "Save" | `src/features/budgets/components/BudgetEditNotificationDrawer/BudgetEditNotificationDrawer.tsx` | 159 |
597
+ | `budgets.notificationsForm.title` | "Notifications" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 256 |
598
+ | `budgets.notificationsForm.thresholdsDescription` | "Set up to 5 thresholds and notify users when the total amount reaches specific percentages" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 269 |
599
+ | `budgets.table.threshold` | "Threshold" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 281 |
600
+ | `budgets.table.consumed` | "Consumed" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 284 |
601
+ | `budgets.actions.removeThreshold` | "Remove threshold" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 329 |
602
+ | `budgets.notificationsForm.addThreshold` | "Add threshold" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 367 |
603
+ | `budgets.notificationsForm.addUsersDescription` | "Add users to be notified by email. At least one user must be added" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 375 |
604
+ | `budgets.forms.addUsers` | "Add users" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 381 |
605
+ | `budgets.errors.userNoValidEmail` | "This user has no valid email on file and cannot receive budget notifications." | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 197 |
606
+ | `shared.labels.loading` | "Loading..." | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 164 |
607
+ | `budgets.labels.defaultUserName` | "User" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 169 |
608
+ | `budgets.labels.you` | "You" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 179 |
609
+ | `budgets.labels.youSuffix` | "(You)" | `src/features/budgets/components/BudgetNotificationForm/BudgetNotificationForm.tsx` | 179 |
610
+ | `budgets.empty.noUsersFound` | "No users found" | `src/features/budgets/components/BudgetUsersTable/BudgetUsersTable.tsx` | 26 |
611
+ | `budgets.table.userName` | "User name" | `src/features/budgets/components/BudgetUsersTable/BudgetUsersTable.tsx` | 32 |
612
+ | `budgets.table.email` | "Email" | `src/features/budgets/components/BudgetUsersTable/BudgetUsersTable.tsx` | 38 |
613
+ | `budgets.tooltips.atLeastOneUserRequired` | "At least one user must be notified. Add another user before removing this one." | `src/features/budgets/components/BudgetUsersTable/BudgetUsersTable.tsx` | 85 |
614
+ | `budgets.table.contract` | "Contract" | `src/features/budgets/components/BudgetAllocationsSelection/BudgetAllocationsSelection.tsx` | 157 |
615
+ | `budgets.tooltips.allocationsInfo` | "Allocations determine how this budget is applied at checkout..." | `src/features/budgets/components/BudgetAllocationsSelection/BudgetAllocationsSelection.tsx` | 215 |
616
+ | `budgets.pagination.selectedCount` | "{0} selected" | `src/features/budgets/components/BudgetAllocationsSelection/BudgetAllocationsSelection.tsx` | 242 | |
617
+ | `budgets.messages.noUsersNotification` | "Add at least one user to notifications or turn it off." | `src/features/budgets/messages/budgetNotifications.ts` | 8 |
618
+ | `budgets.messages.noThresholdsNotification` | "Add at least one notification threshold." | `src/features/budgets/messages/budgetNotifications.ts` | 10 |
619
+ | `budgets.messages.invalidEmailNotification` | "Every notified user must have a valid email on file. Remove invalid users or turn off notifications." | `src/features/budgets/messages/budgetNotifications.ts` | 12 |
620
+ | `budgets.validation.selectAtLeastOneUser` | "Select at least one user." | `src/features/budgets/messages/budgetNotifications.ts` | 17 |
621
+ | `budgets.validation.allUsersValidEmail` | "All notified users must have a valid email. Remove users without email or disable notifications." | `src/features/budgets/messages/budgetNotifications.ts` | 21 |
622
+ | `budgets.errors.genericRetry` | "An error occurred. Please try again." | `src/features/budgets/utils/handleBudgetError.tsx` | 9 |
623
+ | `budgets.errors.userEmailNotFound` | "The selected user does not have any available email to receive the budget notifications." | `src/features/budgets/utils/handleBudgetError.tsx` | 37 |
624
+ | `budgets.actions.seeUserDetails` | "See user details" | `src/features/budgets/utils/handleBudgetError.tsx` | 53 |
625
+
626
+ ---
627
+
628
+ ## buyingPolicies
629
+
630
+ | Key | Value | File | Line |
631
+ | :--- | :--- | :--- | :--- |
632
+ | `buyingPolicies.empty.noBuyingPoliciesYet` | "No buying policies yet" | `src/features/buying-policies/layouts/BuyingPoliciesLayout/BuyingPoliciesLayout.tsx` | 100 |
633
+ | `buyingPolicies.titles.financeAndCompliance` | "Finance and Compliance" | `src/features/buying-policies/layouts/BuyingPoliciesLayout/BuyingPoliciesLayout.tsx` | 147 |
634
+ | `buyingPolicies.titles.buyingPolicies` | "Buying Policies" | `src/features/buying-policies/layouts/BuyingPoliciesLayout/BuyingPoliciesLayout.tsx` | 149 |
635
+ | `shared.labels.loading` | "Loading" | `src/features/buying-policies/layouts/BuyingPoliciesLayout/BuyingPoliciesLayout.tsx` | 172 |
636
+ | `shared.buttons.loadMore` | "Load More" | `src/features/buying-policies/layouts/BuyingPoliciesLayout/BuyingPoliciesLayout.tsx` | 172 |
637
+ | `buyingPolicies.details.settings` | "Settings" | `src/features/buying-policies/layouts/BuyingPolicyDetailsLayout/BuyingPolicyDetailsLayout.tsx` | 110 |
638
+ | `shared.buttons.edit` | "Edit" | `src/features/buying-policies/layouts/BuyingPolicyDetailsLayout/BuyingPolicyDetailsLayout.tsx` | 116 |
639
+ | `buyingPolicies.labels.name` | "Name" | `src/features/buying-policies/layouts/BuyingPolicyDetailsLayout/BuyingPolicyDetailsLayout.tsx` | 120 |
640
+ | `buyingPolicies.labels.description` | "Description" | `src/features/buying-policies/layouts/BuyingPolicyDetailsLayout/BuyingPolicyDetailsLayout.tsx` | 126 |
641
+ | `buyingPolicies.labels.criteria` | "Criteria" | `src/features/buying-policies/layouts/BuyingPolicyDetailsLayout/BuyingPolicyDetailsLayout.tsx` | 132 |
642
+ | `buyingPolicies.labels.action` | "Action" | `src/features/buying-policies/layouts/BuyingPolicyDetailsLayout/BuyingPolicyDetailsLayout.tsx` | 138 |
643
+ | `buyingPolicies.details.level` | "Level {0}" | `src/features/buying-policies/layouts/BuyingPolicyDetailsLayout/BuyingPolicyDetailsLayout.tsx` | 147 | |
644
+ | `buyingPolicies.drawers.addNewBuyingPolicy` | "Add new buying policy" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 62 |
645
+ | `shared.buttons.add` | "Add" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 63 |
646
+ | `buyingPolicies.forms.basicInformation` | "Basic information" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 228 |
647
+ | `buyingPolicies.forms.basicInformationDescription` | "Define policy name and description to inform buyers during checkout" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 230 |
648
+ | `buyingPolicies.validation.nameRequired` | "Name is required" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 248 |
649
+ | `buyingPolicies.tooltips.description` | "Describe how this policy works so buyers know why an order may be denied or require approval." | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 265 |
650
+ | `buyingPolicies.validation.descriptionRequired` | "Description is required" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 275 |
651
+ | `buyingPolicies.forms.criteriaDescription` | "Define the conditions that will trigger this buying policy using" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 280 |
652
+ | `buyingPolicies.forms.jsonataLink` | "JSONata" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 281 |
653
+ | `buyingPolicies.tooltips.monetaryValuesInCents` | "In this field, monetary values are represented in cents..." | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 286 |
654
+ | `buyingPolicies.placeholders.criteriaExample` | "Example: value > 10000" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 333 |
655
+ | `buyingPolicies.validation.criteriaRequired` | "Criteria is required" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 341 |
656
+ | `buyingPolicies.criteria.setSpendingLimitCriteria` | "Set spending limit criteria" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 351 |
657
+ | `buyingPolicies.criteria.setOrderFieldCriteria` | "Set order field criteria" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 361 |
658
+ | `buyingPolicies.forms.actionDescription` | "Define how orders that meet the criteria will be handled" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 369 |
659
+ | `buyingPolicies.messages.bypassAllLegend` | "When this policy is applied, all other buying policy will be ignored" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 424 |
660
+ | `buyingPolicies.validation.actionRequired` | "Action is required" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 430 |
661
+ | `buyingPolicies.workflow.level` | "Level {0}" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 438 | |
662
+ | `buyingPolicies.validation.sequentialWorkflowRequired` | "Sequential workflow is required" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 457 |
663
+ | `buyingPolicies.buttons.addApprovalLevel` | "Add approval level" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 468 |
664
+ | `shared.buttons.cancel` | "Cancel" | `src/features/buying-policies/components/BasicBuyingPolicyDrawer/BasicBuyingPolicyDrawer.tsx` | 477 |
665
+ | `buyingPolicies.toasts.addedSuccessfully` | "Buying policy added successfully" | `src/features/buying-policies/components/AddBuyingPolicyDrawer/AddBuyingPolicyDrawer.tsx` | 70 |
666
+ | `shared.buttons.view` | "View" | `src/features/buying-policies/components/AddBuyingPolicyDrawer/AddBuyingPolicyDrawer.tsx` | 87 |
667
+ | `shared.errors.generic` | "An error occurred. Please try again." | `src/features/buying-policies/components/AddBuyingPolicyDrawer/AddBuyingPolicyDrawer.tsx` | 108 |
668
+ | `shared.errors.title` | "Error" | `src/features/buying-policies/components/AddBuyingPolicyDrawer/AddBuyingPolicyDrawer.tsx` | 109 |
669
+ | `buyingPolicies.toasts.updatedSuccessfully` | "Buying policy updated successfully" | `src/features/buying-policies/components/UpdateBuyingPolicyDrawer/UpdateBuyingPolicyDrawer.tsx` | 72 |
670
+ | `buyingPolicies.drawers.updateBuyingPolicy` | "Update Buying Policy" | `src/features/buying-policies/components/UpdateBuyingPolicyDrawer/UpdateBuyingPolicyDrawer.tsx` | 122 |
671
+ | `shared.buttons.save` | "Save" | `src/features/buying-policies/components/UpdateBuyingPolicyDrawer/UpdateBuyingPolicyDrawer.tsx` | 123 |
672
+ | `buyingPolicies.toasts.deletedSuccessfully` | "Buying policy deleted successfully" | `src/features/buying-policies/components/DeleteBuyingPolicyDrawer/DeleteBuyingPolicyDrawer.tsx` | 54 |
673
+ | `buyingPolicies.drawers.deleteBuyingPolicy` | "Delete buying policy" | `src/features/buying-policies/components/DeleteBuyingPolicyDrawer/DeleteBuyingPolicyDrawer.tsx` | 105 |
674
+ | `buyingPolicies.delete.permanentlyDelete` | "Permanently delete {0}?" | `src/features/buying-policies/components/DeleteBuyingPolicyDrawer/DeleteBuyingPolicyDrawer.tsx` | 107 | |
675
+ | `buyingPolicies.delete.warningMessage` | "Deleting this buying policy will permanently remove all its data..." | `src/features/buying-policies/components/DeleteBuyingPolicyDrawer/DeleteBuyingPolicyDrawer.tsx` | 122 |
676
+ | `buyingPolicies.delete.confirmByTypingName` | "Confirm by typing the buying policy name below:" | `src/features/buying-policies/components/DeleteBuyingPolicyDrawer/DeleteBuyingPolicyDrawer.tsx` | 126 |
677
+ | `buyingPolicies.labels.buyingPolicyName` | "Buying policy name" | `src/features/buying-policies/components/DeleteBuyingPolicyDrawer/DeleteBuyingPolicyDrawer.tsx` | 130 |
678
+ | `shared.buttons.cancel` | "Cancel" | `src/features/buying-policies/components/DeleteBuyingPolicyDrawer/DeleteBuyingPolicyDrawer.tsx` | 140 |
679
+ | `shared.buttons.delete` | "Delete" | `src/features/buying-policies/components/DeleteBuyingPolicyDrawer/DeleteBuyingPolicyDrawer.tsx` | 148 |
680
+ | `buyingPolicies.dropdown.open` | "Open" | `src/features/buying-policies/components/BuyingPolicyDropdownMenu/BuyingPolicyDropdownMenu.tsx` | 54 |
681
+ | `buyingPolicies.dropdown.editSettings` | "Edit settings" | `src/features/buying-policies/components/BuyingPolicyDropdownMenu/BuyingPolicyDropdownMenu.tsx` | 61 |
682
+ | `shared.buttons.delete` | "Delete" | `src/features/buying-policies/components/BuyingPolicyDropdownMenu/BuyingPolicyDropdownMenu.tsx` | 70 |
683
+ | `buyingPolicies.messages.loadingBudgets` | "Loading budgets..." | `src/features/buying-policies/components/BudgetCriteriaSelector/BudgetCriteriaSelector.tsx` | 73 |
684
+ | `shared.labels.loading` | "Loading..." | `src/features/buying-policies/components/BudgetCriteriaSelector/BudgetCriteriaSelector.tsx` | 96 |
685
+ | `buyingPolicies.errors.failedToFetchAccountingFields` | "Failed to fetch accounting fields" | `src/features/buying-policies/components/AccountingFieldCriteriaSelector/AccountingFieldCriteriaSelector.tsx` | 39 |
686
+ | `buyingPolicies.errors.failedToFetchAccountingFields` | "Failed to fetch accounting fields" | `src/features/buying-policies/components/AccountingFieldCriteriaSelector/AccountingValueCriteriaSelector.tsx` | 54 |
687
+ | `buyingPolicies.errors.failedToFetchValues` | "Failed to fetch values" | `src/features/buying-policies/components/AccountingFieldCriteriaSelector/AccountingValueCriteriaSelector.tsx` | 75 |
688
+ | `buyingPolicies.errors.failedToFetchAccountingValueDetails` | "Failed to fetch accounting value details" | `src/features/buying-policies/components/AccountingFieldCriteriaSelector/AccountingValueCriteriaSelector.tsx` | 95 |
689
+ | `buyingPolicies.workflow.sequentialWorkflow` | "Sequential workflow" | `src/features/buying-policies/utils/buyingPoliciesWorkflowTypes.ts` | 11 |
690
+ | `buyingPolicies.workflow.denyOrder` | "Deny order" | `src/features/buying-policies/utils/buyingPoliciesWorkflowTypes.ts` | 12 |
691
+ | `buyingPolicies.workflow.bypassAllBuyingPolicies` | "Bypass all buying policies" | `src/features/buying-policies/utils/buyingPoliciesWorkflowTypes.ts` | 13 |
692
+ | `buyingPolicies.criteria.orderValueGreaterThanX` | "If the order value is greater than X" | `src/features/buying-policies/utils/spendingLimitsCriteriaOptions.ts` | 3 |
693
+ | `buyingPolicies.criteria.orderValueGreaterThanXAndLessThanY` | "If the order value is greater than X and less than Y" | `src/features/buying-policies/utils/spendingLimitsCriteriaOptions.ts` | 7 |
694
+ | `buyingPolicies.criteria.unitPriceGreaterThanX` | "If the unit price is greater than X" | `src/features/buying-policies/utils/spendingLimitsCriteriaOptions.ts` | 11 |
695
+ | `buyingPolicies.criteria.unitPriceGreaterThanXAndLessThanY` | "If the unit price is greater than X and less than Y" | `src/features/buying-policies/utils/spendingLimitsCriteriaOptions.ts` | 15 |
696
+ | `buyingPolicies.criteria.extendedLineItemGreaterThanX` | "If any extended line item is greater than X" | `src/features/buying-policies/utils/spendingLimitsCriteriaOptions.ts` | 19 |
697
+ | `buyingPolicies.criteria.extendedLineItemGreaterThanXAndLessThanY` | "If any extended line item is greater than X and less than Y" | `src/features/buying-policies/utils/spendingLimitsCriteriaOptions.ts` | 23 |
698
+ | `buyingPolicies.criteria.orderContainsBudget` | "If the order contains a budget" | `src/features/buying-policies/utils/orderFieldsCriteriaOptions.ts` | 9 |
699
+ | `buyingPolicies.criteria.orderContainsBudgetsXyz` | "If the order contains the budgets X, Y, Z" | `src/features/buying-policies/utils/orderFieldsCriteriaOptions.ts` | 13 |
700
+ | `buyingPolicies.criteria.orderContainsExceededBudget` | "If the order contains an exceeded budget" | `src/features/buying-policies/utils/orderFieldsCriteriaOptions.ts` | 17 |
701
+ | `buyingPolicies.criteria.orderContainsExpiredBudget` | "If the order contains an expired budget" | `src/features/buying-policies/utils/orderFieldsCriteriaOptions.ts` | 22 |
702
+ | `buyingPolicies.criteria.orderContainsAccountingField` | "If the order contains an Accounting field" | `src/features/buying-policies/utils/orderFieldsCriteriaOptions.ts` | 27 |
703
+ | `buyingPolicies.criteria.orderContainsAccountingFieldsXyz` | "If the order contains the Accounting fields X, Y, Z" | `src/features/buying-policies/utils/orderFieldsCriteriaOptions.ts` | 31 |
704
+ | `buyingPolicies.criteria.allOrderItemsNegotiated` | "If all order items are negotiated items" | `src/features/buying-policies/utils/orderFieldsCriteriaOptions.ts` | 35 |
705
+ | `buyingPolicies.criteria.restrictedItemsInOrder` | "If there are restricted items in the order" | `src/features/buying-policies/utils/orderFieldsCriteriaOptions.ts` | 40 |
706
+ | `shared.labels.loading` | "Loading..." | `src/features/buying-policies/utils/accountingFieldCriteriaHelpers.ts` | 64 |
707
+ | `buyingPolicies.messages.noOptionFound` | "No option found" | `src/features/buying-policies/utils/accountingFieldCriteriaHelpers.ts` | 71 |
708
+
709
+ ---
710
+
711
+ ## creditCards
712
+
713
+ | Key | Value | File | Line |
714
+ | :--- | :--- | :--- | :--- |
715
+ | `creditCards.toasts.defaultSaved` | "Default credit card saved" | `src/features/credit-cards/constants/messages.ts` | 2 |
716
+ | `creditCards.toasts.defaultUnset` | "Default credit card unset" | `src/features/credit-cards/constants/messages.ts` | 3 |
717
+ | `creditCards.toasts.defaultError` | "Error setting default credit card" | `src/features/credit-cards/constants/messages.ts` | 4 |
718
+ | `creditCards.toasts.defaultUnsetError` | "Error unsetting default credit card" | `src/features/credit-cards/constants/messages.ts` | 5 |
719
+ | `creditCards.forms.cardDetails` | "Card Details" | `src/features/credit-cards/components/CreditCardForm/CreditCardForm.tsx` | 43 |
720
+ | `creditCards.labels.cardNumber` | "Card number" | `src/features/credit-cards/components/CreditCardForm/CreditCardForm.tsx` | 47 |
721
+ | `creditCards.labels.expirationDate` | "Exp MM/YY" | `src/features/credit-cards/components/CreditCardForm/CreditCardForm.tsx` | 55 |
722
+ | `creditCards.labels.cvv` | "CVV" | `src/features/credit-cards/components/CreditCardForm/CreditCardForm.tsx` | 62 |
723
+ | `creditCards.labels.cardholderName` | "Cardholder name" | `src/features/credit-cards/components/CreditCardForm/CreditCardForm.tsx` | 71 |
724
+ | `creditCards.toasts.scopeConfigUpdated` | "Scope configuration updated successfully" | `src/features/credit-cards/components/CreditCardSettingsDrawer/CreditCardSettingsDrawer.tsx` | 36 |
725
+ | `creditCards.toasts.scopeConfigUpdateFailed` | "Failed to update scope configuration" | `src/features/credit-cards/components/CreditCardSettingsDrawer/CreditCardSettingsDrawer.tsx` | 43 |
726
+ | `creditCards.settings.title` | "Credit cards settings" | `src/features/credit-cards/components/CreditCardSettingsDrawer/CreditCardSettingsDrawer.tsx` | 60 |
727
+ | `creditCards.settings.listType` | "List type" | `src/features/credit-cards/components/CreditCardSettingsDrawer/CreditCardSettingsDrawer.tsx` | 70 |
728
+ | `creditCards.toasts.creditCardAdded` | "Credit card added successfully" | `src/features/credit-cards/components/CreateCreditCardDrawer/CreateCreditCardDrawer.tsx` | 107 |
729
+ | `creditCards.errors.createCreditCard` | "An error occurred while creating the credit card" | `src/features/credit-cards/components/CreateCreditCardDrawer/CreateCreditCardDrawer.tsx` | 119 |
730
+ | `creditCards.errors.saveCreditCardFailed` | "Failed to save credit card" | `src/features/credit-cards/components/CreateCreditCardDrawer/CreateCreditCardDrawer.tsx` | 147 |
731
+ | `creditCards.create.title` | "Add credit card" | `src/features/credit-cards/components/CreateCreditCardDrawer/CreateCreditCardDrawer.tsx` | 235 |
732
+ | `creditCards.forms.cardNickname` | "Card nickname" | `src/features/credit-cards/components/CreateCreditCardDrawer/CreateCreditCardDrawer.tsx` | 238 |
733
+ | `creditCards.forms.billingAddress` | "Billing Address" | `src/features/credit-cards/components/CreateCreditCardDrawer/CreateCreditCardDrawer.tsx` | 252 |
734
+ | `shared.buttons.cancel` | "Cancel" | `src/features/credit-cards/components/CreateCreditCardDrawer/CreateCreditCardDrawer.tsx` | 269 |
735
+ | `shared.buttons.save` | "Save" | `src/features/credit-cards/components/CreateCreditCardDrawer/CreateCreditCardDrawer.tsx` | 277 |
736
+ | `creditCards.toasts.settingDefault` | "Setting the default credit card..." | `src/features/credit-cards/components/CreditCardDropdownMenu/CreditCardDropdownMenu.tsx` | 82 |
737
+ | `creditCards.toasts.unsettingDefault` | "Unsetting the default credit card..." | `src/features/credit-cards/components/CreditCardDropdownMenu/CreditCardDropdownMenu.tsx` | 97 |
738
+ | `creditCards.actions.unsetAsDefault` | "Unset as default" | `src/features/credit-cards/components/CreditCardDropdownMenu/CreditCardDropdownMenu.tsx` | 122 |
739
+ | `creditCards.actions.setAsDefault` | "Set as default" | `src/features/credit-cards/components/CreditCardDropdownMenu/CreditCardDropdownMenu.tsx` | 127 |
740
+ | `shared.buttons.delete` | "Delete" | `src/features/credit-cards/components/CreditCardDropdownMenu/CreditCardDropdownMenu.tsx` | 146 |
741
+ | `creditCards.toasts.creditCardDeleted` | "Credit card deleted successfully" | `src/features/credit-cards/components/DeleteCreditCardDrawer/DeleteCreditCardDrawer.tsx` | 40 |
742
+ | `creditCards.delete.title` | "Delete credit card" | `src/features/credit-cards/components/DeleteCreditCardDrawer/DeleteCreditCardDrawer.tsx` | 53 |
743
+ | `creditCards.delete.permanentlyDeleteConfirm` | "Permanently delete {0}?" | `src/features/credit-cards/components/DeleteCreditCardDrawer/DeleteCreditCardDrawer.tsx` | 57 | |
744
+ | `creditCards.delete.warning` | "This credit card may be used by multiple units. Deleting it will permanently remove it..." | `src/features/credit-cards/components/DeleteCreditCardDrawer/DeleteCreditCardDrawer.tsx` | 61 |
745
+ | `creditCards.delete.confirmUnitName` | "Confirm by typing the organizational unit name below:" | `src/features/credit-cards/components/DeleteCreditCardDrawer/DeleteCreditCardDrawer.tsx` | 67 |
746
+ | `creditCards.labels.organizationalUnit` | "Organizational Unit" | `src/features/credit-cards/components/DeleteCreditCardDrawer/DeleteCreditCardDrawer.tsx` | 70 |
747
+ | `shared.buttons.cancel` | "Cancel" | `src/features/credit-cards/components/DeleteCreditCardDrawer/DeleteCreditCardDrawer.tsx` | 81 |
748
+ | `shared.buttons.delete` | "Delete" | `src/features/credit-cards/components/DeleteCreditCardDrawer/DeleteCreditCardDrawer.tsx` | 89 |
749
+ | `creditCards.update.confirmTitle` | "Confirm credit card update" | `src/features/credit-cards/components/EditCreditCardDrawer/EditCreditCardDrawer.tsx` | 34 |
750
+ | `creditCards.edit.title` | "Rename credit card" | `src/features/credit-cards/components/EditCreditCardDrawer/EditCreditCardDrawer.tsx` | 35 |
751
+ | `creditCards.toasts.creditCardUpdated` | "Credit card updated successfully" | `src/features/credit-cards/components/EditCreditCardDrawer/EditCreditCardDrawer.tsx` | 40 |
752
+ | `creditCards.edit.multiUnitWarning` | "This credit card may be used by multiple units. Updates will affect all of them." | `src/features/credit-cards/components/EditCreditCardDrawer/EditCreditCardDrawer.tsx` | 59 |
753
+ | `creditCards.edit.proceedConfirm` | "Proceed with the update?" | `src/features/credit-cards/components/EditCreditCardDrawer/EditCreditCardDrawer.tsx` | 63 |
754
+ | `creditCards.labels.cardNickname` | "Card nickname" | `src/features/credit-cards/components/EditCreditCardDrawer/EditCreditCardDrawer.tsx` | 68 |
755
+ | `shared.buttons.cancel` | "Cancel" | `src/features/credit-cards/components/EditCreditCardDrawer/EditCreditCardDrawer.tsx` | 83 |
756
+ | `shared.buttons.confirm` | "Confirm" | `src/features/credit-cards/components/EditCreditCardDrawer/EditCreditCardDrawer.tsx` | 91 |
757
+ | `shared.buttons.save` | "Save" | `src/features/credit-cards/components/EditCreditCardDrawer/EditCreditCardDrawer.tsx` | 91 |
758
+ | `creditCards.toasts.creditCardRemoved` | "Credit card removed successfully" | `src/features/credit-cards/components/RemoveCreditCardDrawer/RemoveCreditCardDrawer.tsx` | 27 |
759
+ | `creditCards.errors.removeFromUnit` | "An error occurred while removing the credit card from the unit" | `src/features/credit-cards/components/RemoveCreditCardDrawer/RemoveCreditCardDrawer.tsx` | 39 |
760
+ | `creditCards.delete.removeFromUnitTitle` | "Remove credit card from unit" | `src/features/credit-cards/components/RemoveCreditCardDrawer/RemoveCreditCardDrawer.tsx` | 56 |
761
+ | `creditCards.delete.removeFromUnitConfirm` | "Remove {0} credit card from {1} organizational unit?" | `src/features/credit-cards/components/RemoveCreditCardDrawer/RemoveCreditCardDrawer.tsx` | 63 | |
762
+ | `creditCards.delete.removeFromUnitDescription` | "This action will prevent users in this unit from accessing this credit card during checkout" | `src/features/credit-cards/components/RemoveCreditCardDrawer/RemoveCreditCardDrawer.tsx` | 69 |
763
+ | `shared.buttons.cancel` | "Cancel" | `src/features/credit-cards/components/RemoveCreditCardDrawer/RemoveCreditCardDrawer.tsx` | 77 |
764
+ | `shared.buttons.confirm` | "Confirm" | `src/features/credit-cards/components/RemoveCreditCardDrawer/RemoveCreditCardDrawer.tsx` | 80 |
765
+ | `shared.labels.contract` | "Contract" | `src/features/credit-cards/layouts/CreditCardsLayout/CreditCardLayout.tsx` | 137 |
766
+ | `creditCards.titles.creditCards` | "Credit cards" | `src/features/credit-cards/layouts/CreditCardsLayout/CreditCardLayout.tsx` | 140 |
767
+ | `creditCards.table.cardNickname` | "Card Nickname" | `src/features/credit-cards/layouts/CreditCardsLayout/CreditCardLayout.tsx` | 96 |
768
+ | `creditCards.empty.noCreditCards` | "No credit cards yet" | `src/features/credit-cards/layouts/CreditCardsLayout/CreditCardLayout.tsx` | 149 |
769
+
770
+ ---
771
+
772
+ ## accountingFields
773
+
774
+ | Key | Value | File | Line |
775
+ | :--- | :--- | :--- | :--- |
776
+ | `accountingFields.table.columnName` | "Name" | `src/features/accounting-fields/layouts/AccountingFieldLayout/AccountingFieldLayout.tsx` | 103 |
777
+ | `accountingFields.table.columnDescription` | "Description" | `src/features/accounting-fields/layouts/AccountingFieldLayout/AccountingFieldLayout.tsx` | 109 |
778
+ | `shared.labels.contract` | "Contract" | `src/features/accounting-fields/layouts/AccountingFieldLayout/AccountingFieldLayout.tsx` | 166 |
779
+ | `accountingFields.messages.emptyValueRequired` | "Due to the field settings, at least one value is required for buyers to complete checkout." | `src/features/accounting-fields/layouts/AccountingFieldLayout/AccountingFieldLayout.tsx` | 200 |
780
+ | `accountingFields.buttons.addValue` | "Add value" | `src/features/accounting-fields/layouts/AccountingFieldLayout/AccountingFieldLayout.tsx` | 207 |
781
+ | `accountingFields.empty.noValuesTitle` | "No values yet" | `src/features/accounting-fields/layouts/AccountingFieldLayout/AccountingFieldLayout.tsx` | 216 |
782
+ | `shared.buttons.add` | "Add" | `src/features/accounting-fields/layouts/AccountingFieldLayout/AccountingFieldLayout.tsx` | 221 |
783
+ | `shared.pagination.previousPage` | "Previous Page" | `src/features/accounting-fields/layouts/AccountingFieldLayout/AccountingFieldLayout.tsx` | 263 |
784
+ | `shared.pagination.nextPage` | "Next Page" | `src/features/accounting-fields/layouts/AccountingFieldLayout/AccountingFieldLayout.tsx` | 270 |
785
+ | `accountingFields.messages.editFieldDescription` | "Set how buyers in this unit should enter {0}s during checkout" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 89 | |
786
+ | `accountingFields.settings.listTypeTitle` | "List type" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 93 |
787
+ | `accountingFields.messages.createFieldDescription` | "Add and configure up to 20 custom accounting fields used by buyers at checkout" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 102 |
788
+ | `accountingFields.forms.fieldLabel` | "Field label" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 108 |
789
+ | `accountingFields.validation.fieldLabelRequired` | "Field label is required" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 133 |
790
+ | `accountingFields.forms.inputLevel` | "Input level" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 142 |
791
+ | `accountingFields.forms.orderLevel` | "Order level - Applies to the entire order" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 155 |
792
+ | `accountingFields.forms.itemLevel` | "Item level - Applies to each item in the cart" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 162 |
793
+ | `accountingFields.forms.inputRequirement` | "Input requirement" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 172 |
794
+ | `accountingFields.forms.required` | "Required" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 184 |
795
+ | `accountingFields.forms.optional` | "Optional" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 187 |
796
+ | `accountingFields.forms.enableOpenTextInput` | "Enable open text input so buyers can enter a value manually at checkout" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 195 |
797
+ | `shared.buttons.cancel` | "Cancel" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 209 |
798
+ | `shared.buttons.save` | "Save" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 217 |
799
+ | `shared.buttons.create` | "Create" | `src/features/accounting-fields/components/AccountingFieldForm/AccountingFieldForm.tsx` | 217 |
800
+ | `accountingFields.drawers.addFirstValueTitle` | "Add a first field value" | `src/features/accounting-fields/components/AccountingValueForm/AccountingValueForm.tsx` | 46 |
801
+ | `shared.buttons.skip` | "Skip" | `src/features/accounting-fields/components/AccountingValueForm/AccountingValueForm.tsx` | 47 |
802
+ | `shared.labels.name` | "Name" | `src/features/accounting-fields/components/AccountingValueForm/AccountingValueForm.tsx` | 102 |
803
+ | `accountingFields.messages.alreadyInList` | "Already in the list — select to add" | `src/features/accounting-fields/components/AccountingValueForm/AccountingValueForm.tsx` | 110 |
804
+ | `accountingFields.validation.nameRequired` | "Name is required" | `src/features/accounting-fields/components/AccountingValueForm/AccountingValueForm.tsx` | 135 |
805
+ | `accountingFields.forms.descriptionOptional` | "Description (optional)" | `src/features/accounting-fields/components/AccountingValueForm/AccountingValueForm.tsx` | 145 |
806
+ | `accountingFields.drawers.confirmFieldUpdateTitle` | "Confirm field update" | `src/features/accounting-fields/components/AccountingFieldConfirmEdit/AccountingFieldConfirmEdit.tsx` | 18 |
807
+ | `accountingFields.messages.confirmFieldUpdateDescription` | "This accounting field is used by all organizational units. Updates will affect all of them." | `src/features/accounting-fields/components/AccountingFieldConfirmEdit/AccountingFieldConfirmEdit.tsx` | 21 |
808
+ | `accountingFields.messages.proceedWithUpdate` | "Proceed with the update?" | `src/features/accounting-fields/components/AccountingFieldConfirmEdit/AccountingFieldConfirmEdit.tsx` | 25 |
809
+ | `shared.buttons.confirm` | "Confirm" | `src/features/accounting-fields/components/AccountingFieldConfirmEdit/AccountingFieldConfirmEdit.tsx` | 41 |
810
+ | `accountingFields.drawers.confirmValueUpdateTitle` | "Confirm {0} update" | `src/features/accounting-fields/components/AccountingValueConfirmEdit/AccountingValueConfirmEdit.tsx` | 23 | |
811
+ | `accountingFields.messages.confirmValueUpdateDescription` | "This value may be used by multiple units. Updates will affect all of them." | `src/features/accounting-fields/components/AccountingValueConfirmEdit/AccountingValueConfirmEdit.tsx` | 29 |
812
+ | `shared.buttons.delete` | "Delete" | `src/features/accounting-fields/components/AccountingConfirmDelete/AccountingConfirmDelete.tsx` | 80 |
813
+ | `accountingFields.dropdown.addValues` | "Add values" | `src/features/accounting-fields/components/AccountingFieldDropdown/AccountingFieldDropdown.tsx` | 83 |
814
+ | `accountingFields.dropdown.fieldSettings` | "Field settings" | `src/features/accounting-fields/components/AccountingFieldDropdown/AccountingFieldDropdown.tsx` | 87 |
815
+ | `accountingFields.dropdown.edit` | "Edit" | `src/features/accounting-fields/components/AccountingValueDropdown/AccountingValueDropdown.tsx` | 87 |
816
+ | `accountingFields.dropdown.unsetAsDefault` | "Unset as default" | `src/features/accounting-fields/components/AccountingValueDropdown/AccountingValueDropdown.tsx` | 99 |
817
+ | `accountingFields.dropdown.setAsDefault` | "Set as default" | `src/features/accounting-fields/components/AccountingValueDropdown/AccountingValueDropdown.tsx` | 112 |
818
+ | `accountingFields.dropdown.removeFromUnit` | "Remove from unit" | `src/features/accounting-fields/components/AccountingValueDropdown/AccountingValueDropdown.tsx` | 121 |
819
+ | `accountingFields.toasts.defaultValueSaved` | "Default {0} value saved successfully" | `src/features/accounting-fields/components/AccountingValueDropdown/AccountingValueDropdown.tsx` | 54 | |
820
+ | `accountingFields.toasts.defaultValueSaveFailed` | "Failed to save {0} value" | `src/features/accounting-fields/components/AccountingValueDropdown/AccountingValueDropdown.tsx` | 62 | |
821
+ | `accountingFields.toasts.defaultValueUnset` | "Default {0} value unset successfully" | `src/features/accounting-fields/components/AccountingValueDropdown/AccountingValueDropdown.tsx` | 70 | |
822
+ | `accountingFields.toasts.defaultValueUnsetFailed` | "Failed to unset {0} value" | `src/features/accounting-fields/components/AccountingValueDropdown/AccountingValueDropdown.tsx` | 78 | |
823
+ | `accountingFields.toasts.createFieldFailed` | "Failed to create accounting field" | `src/features/accounting-fields/components/CreateAccountingFieldDrawer/CreateAccountingFieldDrawer.tsx` | 87 |
824
+ | `accountingFields.toasts.createValueFailed` | "Failed to create accounting value field" | `src/features/accounting-fields/components/CreateAccountingFieldDrawer/CreateAccountingFieldDrawer.tsx` | 104 |
825
+ | `accountingFields.toasts.fieldAdded` | "Accounting field added successfully" | `src/features/accounting-fields/components/CreateAccountingFieldDrawer/CreateAccountingFieldDrawer.tsx` | 113 |
826
+ | `shared.buttons.view` | "View" | `src/features/accounting-fields/components/CreateAccountingFieldDrawer/CreateAccountingFieldDrawer.tsx` | 129 |
827
+ | `accountingFields.messages.requiredValueDescription` | "Since you selected \"Required\" and disabled \"Open text input,\" you must add at least one value for buyers to complete checkout." | `src/features/accounting-fields/components/CreateAccountingFieldDrawer/CreateAccountingFieldDrawer.tsx` | 218 |
828
+ | `accountingFields.drawers.addValueTitle` | "Add {0} value" | `src/features/accounting-fields/components/CreateAccountingValueDrawer/CreateAccountingValueDrawer.tsx` | 174 | |
829
+ | `accountingFields.toasts.valueAdded` | "{0} value added successfully" | `src/features/accounting-fields/components/CreateAccountingValueDrawer/CreateAccountingValueDrawer.tsx` | 65 | |
830
+ | `accountingFields.toasts.addValueFailed` | "Failed to add {0} value" | `src/features/accounting-fields/components/CreateAccountingValueDrawer/CreateAccountingValueDrawer.tsx` | 84 | |
831
+ | `accountingFields.toasts.fieldSettingsEdited` | "Field settings edited successfully" | `src/features/accounting-fields/components/EditAccountingFieldDrawer/EditAccountingFieldDrawer.tsx` | 65 |
832
+ | `accountingFields.toasts.fieldSettingsEditFailed` | "Failed to edit field settings" | `src/features/accounting-fields/components/EditAccountingFieldDrawer/EditAccountingFieldDrawer.tsx` | 73 |
833
+ | `accountingFields.toasts.scopeConfigUpdateFailed` | "Failed to update scope configuration" | `src/features/accounting-fields/components/EditAccountingFieldDrawer/EditAccountingFieldDrawer.tsx` | 83 |
834
+ | `accountingFields.drawers.editValueTitle` | "Edit {0} value" | `src/features/accounting-fields/components/EditAccountingValueDrawer/EditAccountingValueDrawer.tsx` | 126 | |
835
+ | `accountingFields.toasts.valueEdited` | "{0} value edited successfully" | `src/features/accounting-fields/components/EditAccountingValueDrawer/EditAccountingValueDrawer.tsx` | 72 | |
836
+ | `accountingFields.toasts.valueEditFailed` | "Failed to edit {0} value" | `src/features/accounting-fields/components/EditAccountingValueDrawer/EditAccountingValueDrawer.tsx` | 92 | |
837
+ | `accountingFields.drawers.deleteFieldTitle` | "Delete accounting field" | `src/features/accounting-fields/components/DeleteAccountingFieldDrawer/DeleteAccountingFieldDrawer.tsx` | 55 |
838
+ | `accountingFields.toasts.fieldDeleted` | "{0} deleted successfully" | `src/features/accounting-fields/components/DeleteAccountingFieldDrawer/DeleteAccountingFieldDrawer.tsx` | 29 | |
839
+ | `accountingFields.toasts.fieldDeleteFailed` | "Failed to delete {0}." | `src/features/accounting-fields/components/DeleteAccountingFieldDrawer/DeleteAccountingFieldDrawer.tsx` | 36 | |
840
+ | `accountingFields.delete.confirmPermanentDelete` | "Permanently delete {0}?" | `src/features/accounting-fields/components/DeleteAccountingFieldDrawer/DeleteAccountingFieldDrawer.tsx` | 62 | |
841
+ | `accountingFields.delete.fieldDeleteWarning` | "This accounting field is used across all organizational units. Deleting it will permanently remove the field..." | `src/features/accounting-fields/components/DeleteAccountingFieldDrawer/DeleteAccountingFieldDrawer.tsx` | 65 |
842
+ | `accountingFields.delete.confirmByTypingFieldLabel` | "Confirm by typing the field label below:" | `src/features/accounting-fields/components/DeleteAccountingFieldDrawer/DeleteAccountingFieldDrawer.tsx` | 70 |
843
+ | `accountingFields.drawers.deleteValueTitle` | "Delete {0}" | `src/features/accounting-fields/components/DeleteAccountingValueDrawer/DeleteAccountingValueDrawer.tsx` | 92 | |
844
+ | `accountingFields.toasts.valueDeleted` | "{0} value deleted successfully" | `src/features/accounting-fields/components/DeleteAccountingValueDrawer/DeleteAccountingValueDrawer.tsx` | 50 | |
845
+ | `accountingFields.toasts.valueDeleteFailed` | "Failed to delete {0} value" | `src/features/accounting-fields/components/DeleteAccountingValueDrawer/DeleteAccountingValueDrawer.tsx` | 71 | |
846
+ | `accountingFields.delete.confirmPermanentDeleteValue` | "Permanently delete {0}?" | `src/features/accounting-fields/components/DeleteAccountingValueDrawer/DeleteAccountingValueDrawer.tsx` | 98 | |
847
+ | `accountingFields.delete.valueDeleteWarning` | "This {0} may be used by multiple units. Deleting it will permanently remove it..." | `src/features/accounting-fields/components/DeleteAccountingValueDrawer/DeleteAccountingValueDrawer.tsx` | 101 | |
848
+ | `accountingFields.delete.confirmByTypingName` | "Confirm by typing the name below:" | `src/features/accounting-fields/components/DeleteAccountingValueDrawer/DeleteAccountingValueDrawer.tsx` | 106 |
849
+ | `accountingFields.drawers.removeFromUnitTitle` | "Remove {0} from unit" | `src/features/accounting-fields/components/RemoveValueFromUnitDrawer/RemoveValueFromUnitDrawer.tsx` | 65 | |
850
+ | `accountingFields.delete.removeFromUnitConfirm` | "Remove {0} {1} from {2}?" | `src/features/accounting-fields/components/RemoveValueFromUnitDrawer/RemoveValueFromUnitDrawer.tsx` | 71 | |
851
+ | `accountingFields.delete.removeFromUnitWarning` | "This action will prevent users in this unit from accessing this {0} during checkout." | `src/features/accounting-fields/components/RemoveValueFromUnitDrawer/RemoveValueFromUnitDrawer.tsx` | 75 | |
852
+
853
+ ---
854
+
855
+ ## paymentMethods
856
+
857
+ | Key | Value | File | Line |
858
+ | :--- | :--- | :--- | :--- |
859
+ | `paymentMethods.empty.noResultsTitle` | "No results found" | `src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx` | 117 |
860
+ | `paymentMethods.empty.tryDifferentTerms` | "Try using different terms" | `src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx` | 120 |
861
+ | `paymentMethods.empty.noPaymentMethodsFound` | "No payment methods found" | `src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx` | 121 |
862
+ | `paymentMethods.tooltips.allMethodsAdded` | "All available payment methods have already been added to this organizational unit" | `src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx` | 140 |
863
+ | `paymentMethods.tooltips.cannotAddSharedList` | "Cannot add items while using shared list" | `src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx` | 144 |
864
+ | `paymentMethods.tooltips.cannotRemoveSharedList` | "Cannot remove items while using shared list" | `src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx` | 190 |
865
+ | `paymentMethods.titles.paymentMethods` | "Payment methods" | `src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx` | 212 |
866
+ | `paymentMethods.empty.noPaymentMethodsAvailableTitle` | "No payment methods available" | `src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx` | 217 |
867
+ | `paymentMethods.empty.noPaymentMethodsConfigured` | "This contract does not have any payment methods configured." | `src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx` | 220 |
868
+ | `paymentMethods.empty.ordersCannotBePlaced` | "Orders cannot be placed until a payment method is defined." | `src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx` | 223 |
869
+ | `paymentMethods.drawers.addTitle` | "Add payment methods" | `src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx` | 234 |
870
+ | `paymentMethods.table.columnName` | "Name" | `src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx` | 158 |
871
+ | `paymentMethods.empty.allMethodsAlreadyAddedTitle` | "All methods already added" | `src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx` | 221 |
872
+ | `paymentMethods.empty.noAdditionalMethods` | "There are no additional payment methods to add for this unit." | `src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx` | 222 |
873
+ | `shared.labels.loading` | "Loading" | `src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx` | 273 |
874
+ | `shared.pagination.previousPage` | "Previous page" | `src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx` | 273 |
875
+ | `shared.pagination.nextPage` | "Next page" | `src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx` | 284 |
876
+ | `paymentMethods.toasts.methodsAdded` | "Payment methods added successfully" | `src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx` | 82 |
877
+ | `paymentMethods.toasts.addMethodsFailed` | "An error occurred while adding the payment methods" | `src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx` | 96 |
878
+ | `paymentMethods.drawers.removeTitle` | "Remove payment method from unit" | `src/features/payment-methods/components/RemovePaymentMethodsDrawer/RemovePaymentMethodsDrawer.tsx` | 46 |
879
+ | `paymentMethods.delete.removeConfirm` | "Remove {0} contract from {1} organizational unit?" | `src/features/payment-methods/components/RemovePaymentMethodsDrawer/RemovePaymentMethodsDrawer.tsx` | 52 | |
880
+ | `paymentMethods.delete.removeWarning` | "This action will prevent users in this unit from accessing this payment method during checkout." | `src/features/payment-methods/components/RemovePaymentMethodsDrawer/RemovePaymentMethodsDrawer.tsx` | 56 |
881
+ | `shared.buttons.remove` | "Remove" | `src/features/payment-methods/components/RemovePaymentMethodsDrawer/RemovePaymentMethodsDrawer.tsx` | 72 |
882
+ | `paymentMethods.settings.drawerTitle` | "Payment method settings" | `src/features/payment-methods/components/PaymentMethodSettingsDrawer/PaymentMethodSettingsDrawer.tsx` | 64 |
883
+ | `paymentMethods.settings.listTypeTitle` | "List type" | `src/features/payment-methods/components/PaymentMethodSettingsDrawer/PaymentMethodSettingsDrawer.tsx` | 74 |
884
+ | `paymentMethods.toasts.scopeConfigUpdated` | "Scope configuration updated successfully" | `src/features/payment-methods/components/PaymentMethodSettingsDrawer/PaymentMethodSettingsDrawer.tsx` | 39 |
885
+ | `paymentMethods.toasts.scopeConfigUpdateFailed` | "Failed to update scope configuration" | `src/features/payment-methods/components/PaymentMethodSettingsDrawer/PaymentMethodSettingsDrawer.tsx` | 47 |
886
+ | `paymentMethods.tooltips.cannotRemoveLastMethod` | "This payment method can't be removed. Each unit must have at least one active payment method..." | `src/features/payment-methods/components/RemoveMethodButton/RemoveMethodButton.tsx` | 28 |
887
+ | `paymentMethods.tooltips.removeFromUnit` | "Remove from unit" | `src/features/payment-methods/components/RemoveMethodButton/RemoveMethodButton.tsx` | 29 |
888
+ | `paymentMethods.toasts.methodRemoved` | "Payment method removed successfully" | `src/features/payment-methods/hooks/useRemovePaymentMethodSubmit.ts` | 27 |
889
+ | `paymentMethods.toasts.removeMethodFailed` | "An error occurred while removing the payment method" | `src/features/payment-methods/hooks/useRemovePaymentMethodSubmit.ts` | 36 |
890
+
891
+ ---
892
+
893
+ ## productAssortment
894
+
895
+ | Key | Value | File | Line |
896
+ | :--- | :--- | :--- | :--- |
897
+ | `productAssortment.titles.assortments` | "Assortments" | `src/features/product-assortment/layouts/ProductAssortmentLayout/ProductAssortmentLayout.tsx` | 35 |
898
+ | `productAssortment.messages.subtitle` | "Select the product assortment that users in this organizational unit should access" | `src/features/product-assortment/layouts/ProductAssortmentLayout/ProductAssortmentLayout.tsx` | 38 |
899
+ | `productAssortment.empty.noAssortmentsTitle` | "No product assortments found." | `src/features/product-assortment/layouts/ProductAssortmentLayout/ProductAssortmentLayout.tsx` | 45 |
900
+ | `productAssortment.empty.noAssortmentsDescription` | "This organizational unit has no available product assortments." | `src/features/product-assortment/layouts/ProductAssortmentLayout/ProductAssortmentLayout.tsx` | 46 |
901
+ | `productAssortment.table.columnName` | "Name" | `src/features/product-assortment/components/ProductAssortmentTable/ProductAssortmentTable.tsx` | 13 |
902
+ | `productAssortment.toasts.saveFailed` | "Failed to save assortment" | `src/features/product-assortment/components/ProductAssortmentTable/ProductAssortmentTable.tsx` | 54 |
903
+ | `productAssortment.toasts.saveSuccess` | "Assortment saved successfully" | `src/features/product-assortment/components/ProductAssortmentTable/ProductAssortmentTable.tsx` | 59 |
904
+
905
+ ---
906
+
907
+ ## contracts
908
+
909
+ | Key | Value | File | Line |
910
+ | :--- | :--- | :--- | :--- |
911
+ | `contracts.titles.contracts` | "Contracts" | `src/features/contracts/layouts/ContractsLayout/ContractsLayout.tsx` | 37 |
912
+ | `contracts.labels.status` | "Status" | `src/features/contracts/layouts/ContractsLayout/ContractsLayout.tsx` | 55 |
913
+ | `contracts.titles.contracts` | "Contracts" | `src/features/contracts/components/ContractsCard/ContractsCard.tsx` | 37 |
914
+ | `contracts.actions.viewContracts` | "View contracts" | `src/features/contracts/components/ContractsCard/ContractsCard.tsx` | 36 |
915
+ | `contracts.dropdown.open` | "Open" | `src/features/contracts/components/ContractsCard/ContractsCard.tsx` | 81 |
916
+ | `contracts.dropdown.edit` | "Edit" | `src/features/contracts/components/ContractsCard/ContractsCard.tsx` | 90 |
917
+
918
+ ---
919
+
920
+ ## profile
921
+
922
+ | Key | Value | File | Line |
923
+ | :--- | :--- | :--- | :--- |
924
+ | `profile.titles.profile` | "Profile" | `src/features/profile/layouts/ProfileLayout/ProfileLayout.tsx` | 32 |
925
+ | `profile.titles.details` | "Details" | `src/features/profile/layouts/ProfileLayout/ProfileLayout.tsx` | 36 |
926
+ | `shared.labels.name` | "Name" | `src/features/profile/layouts/ProfileLayout/ProfileLayout.tsx` | 42 |
927
+ | `shared.labels.email` | "Email" | `src/features/profile/layouts/ProfileLayout/ProfileLayout.tsx` | 53 |
928
+ | `profile.labels.creationDate` | "Creation Date" | `src/features/profile/layouts/ProfileLayout/ProfileLayout.tsx` | 62 |
929
+ | `profile.titles.profile` | "Profile" | `src/features/profile/components/ProfileCard/ProfileCard.tsx` | 16 |
930
+ | `profile.actions.viewProfile` | "View profile" | `src/features/profile/components/ProfileCard/ProfileCard.tsx` | 15 |
931
+ | `shared.labels.id` | "ID" | `src/features/profile/components/ProfileCard/ProfileCard.tsx` | 30 |
932
+ | `shared.actions.manageOrganization` | "Manage Organization" | `src/features/profile/components/ProfileSummary/ProfileSummary.tsx` | 40 |
933
+ | `shared.buttons.logout` | "Logout" | `src/features/profile/components/ProfileSummary/ProfileSummary.tsx` | 54 |
934
+
935
+ ---
936
+
937
+ ## b2bAgent
938
+
939
+ | Key | Value | File | Line |
940
+ | :--- | :--- | :--- | :--- |
941
+ | `b2bAgent.titles.b2bAgent` | "B2B Agent" | `src/features/b2b-agent/layouts/B2BAgentLayout/B2BAgentLayout.tsx` | 110 |
942
+
943
+ ---
944
+
945
+ ## orderEntry
946
+
947
+ | Key | Value | File | Line |
948
+ | :--- | :--- | :--- | :--- |
949
+ | `orderEntry.titles.orderEntryAgent` | "Order Entry Agent" | `src/features/order-entry/layouts/OrderEntryLayout.tsx` | 133 |
950
+
951
+ ---
952
+
953
+ ## pages
954
+
955
+ Strings hardcoded diretamente nos arquivos de `src/pages/`. A maioria das strings de UI das páginas vem dos layouts referenciados nas features acima.
956
+
957
+ | Key | Value | File | Line |
958
+ | :--- | :--- | :--- | :--- |
959
+ | `roles.details.notFound` | "Not Found" | `src/pages/role-details.tsx` | 65 |