@eifi1/ui-kit 0.41.0 → 0.43.0
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.
- package/README.md +26 -7
- package/dist/admin/admin-area-labels.d.ts +59 -0
- package/dist/admin/admin-area-labels.js +35 -0
- package/dist/admin/admin-area-labels.js.map +1 -0
- package/dist/admin/admin-forbidden.d.ts +35 -0
- package/dist/admin/admin-forbidden.js +36 -0
- package/dist/admin/admin-forbidden.js.map +1 -0
- package/dist/admin/admin-overview.d.ts +110 -0
- package/dist/admin/admin-overview.js +92 -0
- package/dist/admin/admin-overview.js.map +1 -0
- package/dist/admin/admin-sections.d.ts +94 -0
- package/dist/admin/admin-sections.js +81 -0
- package/dist/admin/admin-sections.js.map +1 -0
- package/dist/admin/admin-tool-links.d.ts +48 -0
- package/dist/admin/admin-tool-links.js +31 -0
- package/dist/admin/admin-tool-links.js.map +1 -0
- package/dist/billing/billing-banner.d.ts +33 -2
- package/dist/billing/billing-banner.js +29 -3
- package/dist/billing/billing-banner.js.map +1 -1
- package/dist/billing/billing-labels.d.ts +36 -0
- package/dist/billing/billing-labels.js +10 -0
- package/dist/billing/billing-labels.js.map +1 -1
- package/dist/billing/billing-overview.d.ts +33 -0
- package/dist/billing/billing-overview.js +6 -0
- package/dist/billing/billing-overview.js.map +1 -1
- package/dist/billing/billing-standing.d.ts +8 -0
- package/dist/billing/billing-standing.js.map +1 -1
- package/dist/billing/cancel-request.d.ts +53 -0
- package/dist/billing/cancel-request.js +21 -0
- package/dist/billing/cancel-request.js.map +1 -0
- package/dist/billing/cancel-subscription.d.ts +46 -0
- package/dist/billing/cancel-subscription.js +57 -0
- package/dist/billing/cancel-subscription.js.map +1 -0
- package/dist/billing/plan-card.d.ts +45 -1
- package/dist/billing/plan-card.js +53 -2
- package/dist/billing/plan-card.js.map +1 -1
- package/dist/billing/plan-switch.d.ts +10 -1
- package/dist/billing/plan-switch.js +22 -13
- package/dist/billing/plan-switch.js.map +1 -1
- package/dist/billing/provider-page.d.ts +40 -0
- package/dist/billing/provider-page.js +33 -0
- package/dist/billing/provider-page.js.map +1 -0
- package/dist/billing/subscription-actions.d.ts +68 -4
- package/dist/billing/subscription-actions.js +65 -5
- package/dist/billing/subscription-actions.js.map +1 -1
- package/dist/components/account-chips.d.ts +50 -2
- package/dist/components/account-chips.js +33 -0
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/empty-state.d.ts +2 -1
- package/dist/components/empty-state.js.map +1 -1
- package/dist/eslint/index.js +1 -1
- package/dist/feedback/feedback-menu.d.ts +7 -4
- package/dist/feedback/feedback-menu.js +4 -2
- package/dist/feedback/feedback-menu.js.map +1 -1
- package/dist/hooks/use-search-param-state.js +4 -1
- package/dist/hooks/use-search-param-state.js.map +1 -1
- package/dist/i18n/defaults.js +7 -1
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.js +113 -0
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +12 -0
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/locales/en.js +142 -1
- package/dist/i18n/locales/en.js.map +3 -3
- package/dist/i18n/locales/es.js +110 -0
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.js +109 -0
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.js +110 -0
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.js +110 -0
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.js +109 -0
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.js +34 -1
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +24 -2
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/dist/search/global-search.d.ts +3 -0
- package/dist/search/global-search.js +3 -1
- package/dist/search/global-search.js.map +1 -1
- package/dist/settings/settings-catalogue.d.ts +9 -1
- package/dist/settings/settings-catalogue.js +1 -1
- package/dist/settings/settings-catalogue.js.map +1 -1
- package/dist/settings/settings-layout.d.ts +7 -1
- package/dist/settings/settings-layout.js +35 -27
- package/dist/settings/settings-layout.js.map +1 -1
- package/dist/shell/account-menu-language.d.ts +46 -0
- package/dist/shell/account-menu-language.js +64 -0
- package/dist/shell/account-menu-language.js.map +1 -0
- package/dist/shell/admin-menu.d.ts +69 -0
- package/dist/shell/admin-menu.js +64 -0
- package/dist/shell/admin-menu.js.map +1 -0
- package/dist/shell/app-shell.d.ts +10 -0
- package/dist/shell/app-shell.js +22 -4
- package/dist/shell/app-shell.js.map +1 -1
- package/dist/shell/dev-switchers.d.ts +53 -0
- package/dist/shell/dev-switchers.js +107 -0
- package/dist/shell/dev-switchers.js.map +1 -0
- package/dist/shell/sync-status-indicator.d.ts +86 -0
- package/dist/shell/sync-status-indicator.js +170 -0
- package/dist/shell/sync-status-indicator.js.map +1 -0
- package/dist/shell/top-bar-actions.d.ts +49 -0
- package/dist/shell/top-bar-actions.js +31 -0
- package/dist/shell/top-bar-actions.js.map +1 -0
- package/dist/shell/top-bar-parts-labels.d.ts +90 -0
- package/dist/shell/top-bar-parts-labels.js +51 -0
- package/dist/shell/top-bar-parts-labels.js.map +1 -0
- package/dist/shell/topbar-action-menu.d.ts +13 -1
- package/dist/shell/topbar-action-menu.js +5 -2
- package/dist/shell/topbar-action-menu.js.map +1 -1
- package/dist/shell/topbar-controls.d.ts +16 -3
- package/dist/shell/topbar-controls.js +5 -1
- package/dist/shell/topbar-controls.js.map +1 -1
- package/dist/shell/tour-menu.d.ts +67 -0
- package/dist/shell/tour-menu.js +87 -0
- package/dist/shell/tour-menu.js.map +1 -0
- package/dist/shell.d.ts +16 -0
- package/dist/shell.js +21 -0
- package/dist/shell.js.map +1 -1
- package/dist/tour/tour-catalogue-labels.d.ts +44 -0
- package/dist/tour/tour-catalogue-labels.js +32 -0
- package/dist/tour/tour-catalogue-labels.js.map +1 -0
- package/dist/tour/tour-catalogue.d.ts +68 -0
- package/dist/tour/tour-catalogue.js +189 -0
- package/dist/tour/tour-catalogue.js.map +1 -0
- package/dist/tour/tour-info.d.ts +112 -0
- package/dist/tour/tour-info.js +36 -0
- package/dist/tour/tour-info.js.map +1 -0
- package/dist/tour/use-tour-progress.d.ts +61 -0
- package/dist/tour/use-tour-progress.js +116 -0
- package/dist/tour/use-tour-progress.js.map +1 -0
- package/dist/tour/use-tour-url-sync.d.ts +58 -0
- package/dist/tour/use-tour-url-sync.js +110 -0
- package/dist/tour/use-tour-url-sync.js.map +1 -0
- package/dist/tour.d.ts +8 -0
- package/dist/tour.js +18 -0
- package/dist/tour.js.map +1 -1
- package/package.json +1 -1
- package/src/admin/admin-area-labels.ts +91 -0
- package/src/admin/admin-forbidden.tsx +75 -0
- package/src/admin/admin-overview.tsx +217 -0
- package/src/admin/admin-sections.tsx +198 -0
- package/src/admin/admin-tool-links.tsx +84 -0
- package/src/billing/billing-banner.tsx +57 -6
- package/src/billing/billing-labels.ts +59 -0
- package/src/billing/billing-overview.ts +37 -0
- package/src/billing/billing-standing.ts +8 -0
- package/src/billing/cancel-request.ts +75 -0
- package/src/billing/cancel-subscription.tsx +102 -0
- package/src/billing/plan-card.tsx +97 -1
- package/src/billing/plan-switch.tsx +16 -0
- package/src/billing/provider-page.ts +75 -0
- package/src/billing/subscription-actions.tsx +155 -20
- package/src/components/account-chips.tsx +89 -2
- package/src/components/empty-state.tsx +2 -1
- package/src/feedback/feedback-menu.tsx +8 -3
- package/src/hooks/use-search-param-state.ts +6 -1
- package/src/i18n/defaults.ts +6 -0
- package/src/i18n/german.ts +127 -0
- package/src/i18n/kit-labels.tsx +12 -0
- package/src/i18n/locales/en.ts +32 -0
- package/src/i18n/locales/es.ts +121 -0
- package/src/i18n/locales/fr.ts +121 -0
- package/src/i18n/locales/hu.ts +119 -0
- package/src/i18n/locales/it.ts +122 -0
- package/src/i18n/locales/zh.ts +114 -0
- package/src/i18n/review.ts +33 -0
- package/src/index.ts +38 -2
- package/src/search/global-search.tsx +5 -0
- package/src/settings/settings-catalogue.ts +10 -2
- package/src/settings/settings-layout.tsx +58 -34
- package/src/shell/account-menu-language.tsx +116 -0
- package/src/shell/admin-menu.tsx +146 -0
- package/src/shell/app-shell.tsx +44 -3
- package/src/shell/dev-switchers.tsx +179 -0
- package/src/shell/sync-status-indicator.tsx +301 -0
- package/src/shell/top-bar-actions.tsx +79 -0
- package/src/shell/top-bar-parts-labels.ts +142 -0
- package/src/shell/topbar-action-menu.tsx +15 -2
- package/src/shell/topbar-controls.tsx +20 -3
- package/src/shell/tour-menu.tsx +179 -0
- package/src/shell.ts +27 -0
- package/src/tour/tour-catalogue-labels.ts +75 -0
- package/src/tour/tour-catalogue.tsx +316 -0
- package/src/tour/tour-info.ts +144 -0
- package/src/tour/use-tour-progress.ts +198 -0
- package/src/tour/use-tour-url-sync.ts +221 -0
- package/src/tour.ts +11 -0
package/src/i18n/locales/en.ts
CHANGED
|
@@ -216,6 +216,38 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
216
216
|
...d.settings,
|
|
217
217
|
matchCount: (count) => (count === 1 ? "1 match" : `${n(count)} matches`),
|
|
218
218
|
},
|
|
219
|
+
// 0.42.0: the admin area's two counts (docs/admin-harmonization.md §3.1).
|
|
220
|
+
adminArea: {
|
|
221
|
+
...d.adminArea,
|
|
222
|
+
waiting: (count) => `${n(count)} waiting`,
|
|
223
|
+
tiles: { ...d.adminArea.tiles, usersNew: (count) => `${n(count)} new in 7 days` },
|
|
224
|
+
},
|
|
225
|
+
// 0.43.0: the tours page's counts (docs/tours-harmonization.md §3).
|
|
226
|
+
tourCatalogue: {
|
|
227
|
+
...d.tourCatalogue,
|
|
228
|
+
groupAll: (count) => `All topics (${n(count)})`,
|
|
229
|
+
groupOption: (group, count) => `${group} (${n(count)})`,
|
|
230
|
+
stateAll: (count) => `All (${n(count)})`,
|
|
231
|
+
stateTodo: (count) => `To do (${n(count)})`,
|
|
232
|
+
stateDone: (count) => `Completed (${n(count)})`,
|
|
233
|
+
showing: (shown, total) => `Showing ${n(shown)} of ${n(total)} tours`,
|
|
234
|
+
points: (count) => `+${n(count)} pts`,
|
|
235
|
+
steps: (count) => (count === 1 ? "1 step" : `${n(count)} steps`),
|
|
236
|
+
duration: (minutes) => `About ${n(minutes)} min`,
|
|
237
|
+
},
|
|
238
|
+
// 0.42.0: the top bar's three counts (docs/top-bar-harmonization.md §3.1).
|
|
239
|
+
topBarParts: {
|
|
240
|
+
...d.topBarParts,
|
|
241
|
+
sync: {
|
|
242
|
+
...d.topBarParts.sync,
|
|
243
|
+
blocked: (count) =>
|
|
244
|
+
count === 1
|
|
245
|
+
? "1 change cannot be sent from this device"
|
|
246
|
+
: `${n(count)} changes cannot be sent from this device`,
|
|
247
|
+
pending: (count) => (count === 1 ? "1 change waiting to sync" : `${n(count)} changes waiting to sync`),
|
|
248
|
+
waitingShort: (count) => `${n(count)} waiting`,
|
|
249
|
+
},
|
|
250
|
+
},
|
|
219
251
|
demo: {
|
|
220
252
|
...d.demo,
|
|
221
253
|
rateLimited: (minutes) =>
|
package/src/i18n/locales/es.ts
CHANGED
|
@@ -609,6 +609,34 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
609
609
|
awaitClickHint: "Haga clic en el elemento resaltado para continuar",
|
|
610
610
|
step: (current, total) => `${n(current)} / ${n(total)}`,
|
|
611
611
|
},
|
|
612
|
+
// 0.43.0 — docs/tours-harmonization.md §3, §8: the tours page.
|
|
613
|
+
tourCatalogue: {
|
|
614
|
+
searchLabel: "Buscar visitas",
|
|
615
|
+
searchPlaceholder: "Buscar visitas…",
|
|
616
|
+
groupLabel: "Tema",
|
|
617
|
+
groupAll: (count) => `Todos los temas (${n(count)})`,
|
|
618
|
+
groupOption: (group, count) => `${group} (${n(count)})`,
|
|
619
|
+
stateLabel: "Filtrar visitas",
|
|
620
|
+
stateAll: (count) => `Todas (${n(count)})`,
|
|
621
|
+
stateTodo: (count) => `Pendientes (${n(count)})`,
|
|
622
|
+
stateDone: (count) => `Completadas (${n(count)})`,
|
|
623
|
+
showing: (shown, total) => `Mostrando ${n(shown)} de ${n(total)} visitas`,
|
|
624
|
+
noMatches: "Ninguna visita coincide",
|
|
625
|
+
noMatchesHint: "Pruebe con otra palabra o borre los filtros.",
|
|
626
|
+
clearFilters: "Borrar filtros",
|
|
627
|
+
badgeNew: "Nuevo",
|
|
628
|
+
badgeUpdated: "Actualizado",
|
|
629
|
+
resetOn: (date, reason) => (reason ? `Restablecida el ${date}: ${reason}` : `Restablecida el ${date}`),
|
|
630
|
+
points: (count) => `+${n(count)} pts`,
|
|
631
|
+
steps: (count) => (count === 1 ? `${n(count)} paso` : `${n(count)} pasos`),
|
|
632
|
+
duration: (minutes) => `Unos ${n(minutes)} min`,
|
|
633
|
+
completedOn: (date) => `Completada el ${date}`,
|
|
634
|
+
completed: "Completada",
|
|
635
|
+
notCompleted: "No completada",
|
|
636
|
+
markUndone: "Marcar como no completada",
|
|
637
|
+
start: "Empezar",
|
|
638
|
+
replay: "Repetir",
|
|
639
|
+
},
|
|
612
640
|
commandPalette: {
|
|
613
641
|
clear: "Borrar búsqueda",
|
|
614
642
|
submit: "Buscar",
|
|
@@ -1683,6 +1711,11 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
1683
1711
|
"Su pago se está procesando. Su plan empieza en cuanto se confirme; esta página se actualiza sola.",
|
|
1684
1712
|
choosePlan: "Elegir un plan",
|
|
1685
1713
|
updatePayment: "Actualizar el método de pago",
|
|
1714
|
+
// 0.42 (§16.7 A): for an admin who isn't the buyer.
|
|
1715
|
+
paymentFailedAskBuyer: (buyer) =>
|
|
1716
|
+
buyer
|
|
1717
|
+
? `El pago no se ha completado. ${buyer} puede actualizar el método de pago.`
|
|
1718
|
+
: "El pago no se ha completado. El administrador que contrató la suscripción puede actualizar el método de pago.",
|
|
1686
1719
|
checkAgain: "Volver a comprobar",
|
|
1687
1720
|
lockReason: "Su plan ha terminado. Elija un plan para volver a hacer cambios.",
|
|
1688
1721
|
// As `characterCount.limitReached` ("Límite de caracteres alcanzado").
|
|
@@ -1713,6 +1746,21 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
1713
1746
|
switchCredited: "Abonado a sus próximos cargos",
|
|
1714
1747
|
switchNextCharge: (date) => `Próximo cargo el ${date}`,
|
|
1715
1748
|
switchConfirm: "Cambiar de plan",
|
|
1749
|
+
// 0.42 (§16): the portal for the buyer only, the in-app cancel, the grant warning.
|
|
1750
|
+
buyerHolds: (buyer) =>
|
|
1751
|
+
buyer
|
|
1752
|
+
? `El método de pago y las facturas los gestiona ${buyer}, que contrató la suscripción.`
|
|
1753
|
+
: "El método de pago y las facturas los gestiona el administrador que contrató la suscripción.",
|
|
1754
|
+
cancelConfirmTitle: "Cancelar la suscripción",
|
|
1755
|
+
cancelConfirmBody: (date) => `Su suscripción termina el ${date}. Hasta entonces, todo funciona como antes.`,
|
|
1756
|
+
cancelConfirmAction: "Cancelar ahora la suscripción",
|
|
1757
|
+
keepSubscription: "Mantener la suscripción",
|
|
1758
|
+
portalOpensNewTab: (provider, app) =>
|
|
1759
|
+
`Los pagos y las facturas se abren en ${provider} en una pestaña nueva; ${app ? `${app} sigue abierto aquí` : "esta página sigue abierta"}.`,
|
|
1760
|
+
grantWarningTitle: "Su acceso gratuito continúa",
|
|
1761
|
+
grantWarningBody:
|
|
1762
|
+
"Su acceso gratuito no tiene fecha de fin. Mientras dure, una compra no cambia su plan: pagaría por un plan que no se aplica.",
|
|
1763
|
+
grantWarningAction: "Comprar de todos modos",
|
|
1716
1764
|
waitingChanges: (count) => `${n(count)} ${plural(count, "cambio", "cambios")} a la espera de un plan`,
|
|
1717
1765
|
// "Descartar", as `wizard.cancelConfirmLabel`.
|
|
1718
1766
|
discardWaiting: "Descartar los cambios en espera",
|
|
@@ -1781,6 +1829,79 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
1781
1829
|
more: "Más",
|
|
1782
1830
|
moreTitle: "Más páginas",
|
|
1783
1831
|
},
|
|
1832
|
+
// 0.42.0 — docs/admin-harmonization.md §3.1: the admin area's shared words. "Usted",
|
|
1833
|
+
// as the rest of the catalogue.
|
|
1834
|
+
adminArea: {
|
|
1835
|
+
title: "Administración",
|
|
1836
|
+
waiting: (count) => `${n(count)} ${plural(count, "pendiente", "pendientes")}`,
|
|
1837
|
+
forbiddenTitle: "Solo para administradores",
|
|
1838
|
+
forbiddenBody: (appName) =>
|
|
1839
|
+
`Aquí es donde los administradores gestionan ${appName}. Su cuenta no puede abrir esta página.`,
|
|
1840
|
+
forbiddenHome: "Ir a la página de inicio",
|
|
1841
|
+
forbiddenReviewer: "Revisar traducciones",
|
|
1842
|
+
sections: {
|
|
1843
|
+
overview: { title: "Resumen", help: "Lo que está pendiente, de un vistazo." },
|
|
1844
|
+
users: { title: "Usuarios", help: "Quién tiene una cuenta y qué puede hacer cada uno." },
|
|
1845
|
+
invitations: { title: "Invitaciones", help: "Invite a personas por correo electrónico en su idioma; reenvíe o revoque las invitaciones aún pendientes." },
|
|
1846
|
+
billing: { title: "Facturación", help: "El plan, el pago y las facturas." },
|
|
1847
|
+
activity: { title: "Actividad", help: "Lo que hicieron los administradores, lo más reciente primero." },
|
|
1848
|
+
},
|
|
1849
|
+
tiles: {
|
|
1850
|
+
feedbackWaiting: "Por clasificar",
|
|
1851
|
+
deletionRequests: "Solicitudes de eliminación",
|
|
1852
|
+
invitationsPending: "Invitaciones pendientes",
|
|
1853
|
+
users: "Usuarios",
|
|
1854
|
+
usersNew: (count) => `${n(count)} ${plural(count, "nuevo", "nuevos")} en 7 días`,
|
|
1855
|
+
},
|
|
1856
|
+
overviewError: "No se pudo cargar el resumen.",
|
|
1857
|
+
retry: "Reintentar",
|
|
1858
|
+
tools: "Herramientas",
|
|
1859
|
+
},
|
|
1860
|
+
// 0.42.0 — docs/top-bar-harmonization.md §3.1: the top bar's shared parts; "plan" as
|
|
1861
|
+
// `billing`, "usted" as the rest of the catalogue.
|
|
1862
|
+
topBarParts: {
|
|
1863
|
+
tours: {
|
|
1864
|
+
menu: "Visitas guiadas",
|
|
1865
|
+
newDot: "Visitas nuevas",
|
|
1866
|
+
thisPage: "En esta página",
|
|
1867
|
+
newTours: "Visitas nuevas",
|
|
1868
|
+
allTours: "Todas las visitas…",
|
|
1869
|
+
badgeNew: "Nuevo",
|
|
1870
|
+
completed: "Completada",
|
|
1871
|
+
badgeUpdated: "Actualizado",
|
|
1872
|
+
updatedDot: "Visitas actualizadas",
|
|
1873
|
+
newAndUpdated: "Nuevas y actualizadas",
|
|
1874
|
+
},
|
|
1875
|
+
sync: {
|
|
1876
|
+
blocked: (count) =>
|
|
1877
|
+
`${n(count)} ${plural(count, "cambio no se puede enviar", "cambios no se pueden enviar")} desde este dispositivo`,
|
|
1878
|
+
offline: "Sin conexión: los cambios se guardan en este dispositivo y se sincronizarán al volver a conectarse",
|
|
1879
|
+
refused: "El servidor rechazó la última sincronización",
|
|
1880
|
+
syncing: "Sincronizando…",
|
|
1881
|
+
pending: (count) =>
|
|
1882
|
+
`${n(count)} ${plural(count, "cambio", "cambios")} a la espera de sincronizarse`,
|
|
1883
|
+
syncedAt: (time) => `Sincronizado a las ${time}`,
|
|
1884
|
+
idle: "Al día",
|
|
1885
|
+
syncHint: "Toque para sincronizar ahora",
|
|
1886
|
+
offlineHint: "no hay nada que sincronizar sin conexión",
|
|
1887
|
+
withHint: (state, hint) => `${state} — ${hint}`,
|
|
1888
|
+
scoped: (scope, state) => `${scope}: ${state}`,
|
|
1889
|
+
offlineShort: "Sin conexión",
|
|
1890
|
+
syncingShort: "Sincronizando…",
|
|
1891
|
+
waitingShort: (count) => `${n(count)} en espera`,
|
|
1892
|
+
refusedShort: "Sin sincronizar",
|
|
1893
|
+
offlineUnsaved: "Sin conexión: los cambios no se pueden guardar hasta que vuelva a conectarse",
|
|
1894
|
+
saving: "Guardando…",
|
|
1895
|
+
},
|
|
1896
|
+
dev: {
|
|
1897
|
+
roleHeading: "Dev · rol",
|
|
1898
|
+
switchPlan: "Cambiar de plan",
|
|
1899
|
+
plan: (value) => `Plan: ${value}`,
|
|
1900
|
+
planHeading: "Dev · plan",
|
|
1901
|
+
backTo: (role) => `Volver a ${role}`,
|
|
1902
|
+
billingOff: "La facturación está desactivada en local: los planes no cambian nada",
|
|
1903
|
+
},
|
|
1904
|
+
},
|
|
1784
1905
|
};
|
|
1785
1906
|
}
|
|
1786
1907
|
|
package/src/i18n/locales/fr.ts
CHANGED
|
@@ -624,6 +624,34 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
624
624
|
awaitClickHint: "Cliquez sur l’élément mis en évidence pour continuer",
|
|
625
625
|
step: (current, total) => `${n(current)} / ${n(total)}`,
|
|
626
626
|
},
|
|
627
|
+
// 0.43.0 — docs/tours-harmonization.md §3, §8: the tours page. keksdose's reviewed words.
|
|
628
|
+
tourCatalogue: {
|
|
629
|
+
searchLabel: "Rechercher une visite",
|
|
630
|
+
searchPlaceholder: "Rechercher une visite…",
|
|
631
|
+
groupLabel: "Thème",
|
|
632
|
+
groupAll: (count) => `Tous les thèmes (${n(count)})`,
|
|
633
|
+
groupOption: (group, count) => `${group} (${n(count)})`,
|
|
634
|
+
stateLabel: "Filtrer les visites",
|
|
635
|
+
stateAll: (count) => `Toutes (${n(count)})`,
|
|
636
|
+
stateTodo: (count) => `À faire (${n(count)})`,
|
|
637
|
+
stateDone: (count) => `Terminées (${n(count)})`,
|
|
638
|
+
showing: (shown, total) => `${n(shown)} visites sur ${n(total)}`,
|
|
639
|
+
noMatches: "Aucune visite ne correspond",
|
|
640
|
+
noMatchesHint: "Essayez un autre mot, ou effacez les filtres.",
|
|
641
|
+
clearFilters: "Effacer les filtres",
|
|
642
|
+
badgeNew: "Nouveau",
|
|
643
|
+
badgeUpdated: "Mise à jour",
|
|
644
|
+
resetOn: (date, reason) => (reason ? `Réinitialisée le ${date}\u202f: ${reason}` : `Réinitialisée le ${date}`),
|
|
645
|
+
points: (count) => `+${n(count)} pts`,
|
|
646
|
+
steps: (count) => (count === 1 ? `${n(count)} étape` : `${n(count)} étapes`),
|
|
647
|
+
duration: (minutes) => `Environ ${n(minutes)} min`,
|
|
648
|
+
completedOn: (date) => `Terminée le ${date}`,
|
|
649
|
+
completed: "Terminée",
|
|
650
|
+
notCompleted: "Non terminée",
|
|
651
|
+
markUndone: "Marquer comme non terminée",
|
|
652
|
+
start: "Démarrer",
|
|
653
|
+
replay: "Rejouer",
|
|
654
|
+
},
|
|
627
655
|
commandPalette: {
|
|
628
656
|
clear: "Effacer la recherche",
|
|
629
657
|
submit: "Rechercher",
|
|
@@ -1716,6 +1744,11 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
1716
1744
|
"Votre paiement est en cours de traitement. Votre formule démarre dès qu’il est confirmé\u202f; cette page se met à jour d’elle-même.",
|
|
1717
1745
|
choosePlan: "Choisir une formule",
|
|
1718
1746
|
updatePayment: "Mettre à jour le moyen de paiement",
|
|
1747
|
+
// 0.42 (§16.7 A): for an admin who isn't the buyer.
|
|
1748
|
+
paymentFailedAskBuyer: (buyer) =>
|
|
1749
|
+
buyer
|
|
1750
|
+
? `Le paiement a échoué. ${buyer} peut mettre à jour le moyen de paiement.`
|
|
1751
|
+
: "Le paiement a échoué. L’administrateur qui a souscrit l’abonnement peut mettre à jour le moyen de paiement.",
|
|
1719
1752
|
checkAgain: "Vérifier à nouveau",
|
|
1720
1753
|
lockReason: "Votre formule a pris fin. Choisissez une formule pour pouvoir de nouveau apporter des modifications.",
|
|
1721
1754
|
// As `characterCount.limitReached` ("Limite de caractères atteinte").
|
|
@@ -1747,6 +1780,22 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
1747
1780
|
switchCredited: "Crédité sur vos prochains paiements",
|
|
1748
1781
|
switchNextCharge: (date) => `Prochain prélèvement le ${date}`,
|
|
1749
1782
|
switchConfirm: "Changer de formule",
|
|
1783
|
+
// 0.42 (§16): the portal for the buyer only, the in-app cancel, the grant warning.
|
|
1784
|
+
buyerHolds: (buyer) =>
|
|
1785
|
+
buyer
|
|
1786
|
+
? `Le moyen de paiement et les factures sont gérés par ${buyer}, qui a souscrit l’abonnement.`
|
|
1787
|
+
: "Le moyen de paiement et les factures sont gérés par l’administrateur qui a souscrit l’abonnement.",
|
|
1788
|
+
cancelConfirmTitle: "Résilier l’abonnement",
|
|
1789
|
+
cancelConfirmBody: (date) =>
|
|
1790
|
+
`Votre abonnement prendra fin le ${date}. D’ici là, tout fonctionne comme avant.`,
|
|
1791
|
+
cancelConfirmAction: "Résilier maintenant",
|
|
1792
|
+
keepSubscription: "Conserver l’abonnement",
|
|
1793
|
+
portalOpensNewTab: (provider, app) =>
|
|
1794
|
+
`Le paiement et les factures s’ouvrent chez ${provider} dans un nouvel onglet\u202f; ${app ? `${app} reste ouvert ici` : "cette page reste ouverte"}.`,
|
|
1795
|
+
grantWarningTitle: "Votre accès gratuit continue",
|
|
1796
|
+
grantWarningBody:
|
|
1797
|
+
"Votre accès gratuit n’a pas de date de fin. Tant qu’il dure, un achat ne change pas votre formule : vous paieriez pour une formule qui ne s’applique pas.",
|
|
1798
|
+
grantWarningAction: "Acheter quand même",
|
|
1750
1799
|
waitingChanges: (count) =>
|
|
1751
1800
|
`${n(count)} ${plural(count, "modification en attente", "modifications en attente")} d’une formule`,
|
|
1752
1801
|
// "Abandonner", as `wizard.cancelConfirmLabel`.
|
|
@@ -1820,6 +1869,78 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
1820
1869
|
more: "Plus",
|
|
1821
1870
|
moreTitle: "Autres pages",
|
|
1822
1871
|
},
|
|
1872
|
+
// 0.42.0 — docs/admin-harmonization.md §3.1: the admin area's shared words.
|
|
1873
|
+
adminArea: {
|
|
1874
|
+
title: "Administration",
|
|
1875
|
+
waiting: (count) => `${n(count)} en attente`,
|
|
1876
|
+
forbiddenTitle: "Réservé aux administrateurs",
|
|
1877
|
+
forbiddenBody: (appName) =>
|
|
1878
|
+
`C’est ici que les administrateurs gèrent ${appName}. Votre compte ne peut pas ouvrir cette page.`,
|
|
1879
|
+
forbiddenHome: "Aller à la page d’accueil",
|
|
1880
|
+
forbiddenReviewer: "Relire les traductions",
|
|
1881
|
+
sections: {
|
|
1882
|
+
overview: { title: "Vue d’ensemble", help: "Ce qui est en attente, en un coup d’œil." },
|
|
1883
|
+
users: { title: "Utilisateurs", help: "Qui a un compte, et ce que chacun peut faire." },
|
|
1884
|
+
invitations: { title: "Invitations", help: "Invitez des personnes par e-mail dans leur langue\u202f; renvoyez ou révoquez les invitations encore ouvertes." },
|
|
1885
|
+
billing: { title: "Facturation", help: "L’offre, le paiement et les factures." },
|
|
1886
|
+
activity: { title: "Activité", help: "Ce que les administrateurs ont fait, du plus récent au plus ancien." },
|
|
1887
|
+
},
|
|
1888
|
+
tiles: {
|
|
1889
|
+
feedbackWaiting: "À trier",
|
|
1890
|
+
deletionRequests: "Demandes de suppression",
|
|
1891
|
+
invitationsPending: "Invitations en attente",
|
|
1892
|
+
users: "Utilisateurs",
|
|
1893
|
+
usersNew: (count) => `${n(count)} ${plural(count, "nouveau", "nouveaux")} en 7 jours`,
|
|
1894
|
+
},
|
|
1895
|
+
overviewError: "La vue d’ensemble n’a pas pu être chargée.",
|
|
1896
|
+
retry: "Réessayer",
|
|
1897
|
+
tools: "Outils",
|
|
1898
|
+
},
|
|
1899
|
+
// 0.42.0 — docs/top-bar-harmonization.md §3.1: the top bar's shared parts, keksdose's
|
|
1900
|
+
// reviewed sync words where they are not about its budgets; "formule" as `billing`.
|
|
1901
|
+
topBarParts: {
|
|
1902
|
+
tours: {
|
|
1903
|
+
menu: "Visites guidées",
|
|
1904
|
+
newDot: "Nouvelles visites",
|
|
1905
|
+
thisPage: "Sur cette page",
|
|
1906
|
+
newTours: "Nouvelles visites",
|
|
1907
|
+
allTours: "Toutes les visites…",
|
|
1908
|
+
badgeNew: "Nouveau",
|
|
1909
|
+
completed: "Terminée",
|
|
1910
|
+
badgeUpdated: "Mise à jour",
|
|
1911
|
+
updatedDot: "Visites mises à jour",
|
|
1912
|
+
newAndUpdated: "Nouvelles et mises à jour",
|
|
1913
|
+
},
|
|
1914
|
+
sync: {
|
|
1915
|
+
blocked: (count) =>
|
|
1916
|
+
`${n(count)} ${plural(count, "modification ne peut pas être envoyée", "modifications ne peuvent pas être envoyées")} depuis cet appareil`,
|
|
1917
|
+
offline: "Hors ligne — les modifications sont enregistrées sur cet appareil et seront synchronisées à la reconnexion",
|
|
1918
|
+
refused: "Le serveur a refusé la dernière synchronisation",
|
|
1919
|
+
syncing: "Synchronisation…",
|
|
1920
|
+
pending: (count) =>
|
|
1921
|
+
`${n(count)} ${plural(count, "modification", "modifications")} en attente de synchronisation`,
|
|
1922
|
+
syncedAt: (time) => `Synchronisé à ${time}`,
|
|
1923
|
+
idle: "À jour",
|
|
1924
|
+
syncHint: "Touchez pour synchroniser maintenant",
|
|
1925
|
+
offlineHint: "rien à synchroniser hors ligne",
|
|
1926
|
+
withHint: (state, hint) => `${state} — ${hint}`,
|
|
1927
|
+
scoped: (scope, state) => `${scope}\u00a0: ${state}`,
|
|
1928
|
+
offlineShort: "Hors ligne",
|
|
1929
|
+
syncingShort: "Synchronisation…",
|
|
1930
|
+
waitingShort: (count) => `${n(count)} en attente`,
|
|
1931
|
+
refusedShort: "Non synchronisé",
|
|
1932
|
+
offlineUnsaved: "Hors ligne — les modifications ne peuvent pas être enregistrées avant la reconnexion",
|
|
1933
|
+
saving: "Enregistrement…",
|
|
1934
|
+
},
|
|
1935
|
+
dev: {
|
|
1936
|
+
roleHeading: "Dev · rôle",
|
|
1937
|
+
switchPlan: "Changer de formule",
|
|
1938
|
+
plan: (value) => `Formule\u00a0: ${value}`,
|
|
1939
|
+
planHeading: "Dev · formule",
|
|
1940
|
+
backTo: (role) => `Revenir à ${role}`,
|
|
1941
|
+
billingOff: "La facturation est désactivée en local\u00a0: les formules ne changent rien",
|
|
1942
|
+
},
|
|
1943
|
+
},
|
|
1823
1944
|
};
|
|
1824
1945
|
}
|
|
1825
1946
|
|
package/src/i18n/locales/hu.ts
CHANGED
|
@@ -611,6 +611,34 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
611
611
|
awaitClickHint: "A folytatáshoz kattintson a kiemelt elemre",
|
|
612
612
|
step: (current, total) => `${n(current)} / ${n(total)}`,
|
|
613
613
|
},
|
|
614
|
+
// 0.43.0 — docs/tours-harmonization.md §3, §8: the tours page.
|
|
615
|
+
tourCatalogue: {
|
|
616
|
+
searchLabel: "Bemutatók keresése",
|
|
617
|
+
searchPlaceholder: "Bemutatók keresése…",
|
|
618
|
+
groupLabel: "Téma",
|
|
619
|
+
groupAll: (count) => `Összes téma (${n(count)})`,
|
|
620
|
+
groupOption: (group, count) => `${group} (${n(count)})`,
|
|
621
|
+
stateLabel: "Bemutatók szűrése",
|
|
622
|
+
stateAll: (count) => `Összes (${n(count)})`,
|
|
623
|
+
stateTodo: (count) => `Teendő (${n(count)})`,
|
|
624
|
+
stateDone: (count) => `Elvégezve (${n(count)})`,
|
|
625
|
+
showing: (shown, total) => `${n(shown)} / ${n(total)} bemutató látható`,
|
|
626
|
+
noMatches: "Nincs megfelelő bemutató",
|
|
627
|
+
noMatchesHint: "Próbáljon egy másik szót, vagy törölje a szűrőket.",
|
|
628
|
+
clearFilters: "Szűrők törlése",
|
|
629
|
+
badgeNew: "Új",
|
|
630
|
+
badgeUpdated: "Frissítve",
|
|
631
|
+
resetOn: (date, reason) => (reason ? `Visszaállítva: ${date} – ${reason}` : `Visszaállítva: ${date}`),
|
|
632
|
+
points: (count) => `+${n(count)} pont`,
|
|
633
|
+
steps: (count) => `${n(count)} lépés`,
|
|
634
|
+
duration: (minutes) => `Kb. ${n(minutes)} perc`,
|
|
635
|
+
completedOn: (date) => `Elvégezve: ${date}`,
|
|
636
|
+
completed: "Elvégezve",
|
|
637
|
+
notCompleted: "Még nincs elvégezve",
|
|
638
|
+
markUndone: "Megjelölés el nem végzettként",
|
|
639
|
+
start: "Indítás",
|
|
640
|
+
replay: "Újra",
|
|
641
|
+
},
|
|
614
642
|
commandPalette: {
|
|
615
643
|
clear: "Keresés törlése",
|
|
616
644
|
submit: "Keresés",
|
|
@@ -1684,6 +1712,11 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
1684
1712
|
"A fizetése feldolgozás alatt áll. A csomagja a megerősítés után azonnal elindul; ez az oldal magától frissül.",
|
|
1685
1713
|
choosePlan: "Csomag választása",
|
|
1686
1714
|
updatePayment: "Fizetési mód frissítése",
|
|
1715
|
+
// 0.42 (§16.7 A): for an admin who isn't the buyer.
|
|
1716
|
+
paymentFailedAskBuyer: (buyer) =>
|
|
1717
|
+
buyer
|
|
1718
|
+
? `A fizetés sikertelen volt. ${buyer} tudja frissíteni a fizetési módot.`
|
|
1719
|
+
: "A fizetés sikertelen volt. Az előfizetést megvásárló adminisztrátor tudja frissíteni a fizetési módot.",
|
|
1687
1720
|
checkAgain: "Újraellenőrzés",
|
|
1688
1721
|
lockReason: "A csomagja lejárt. Ha ismét módosítani szeretne, válasszon csomagot.",
|
|
1689
1722
|
// As `characterCount.limitReached` ("Elérte a karakterkorlátot").
|
|
@@ -1716,6 +1749,21 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
1716
1749
|
switchCredited: "A következő terhelésekből levonva",
|
|
1717
1750
|
switchNextCharge: (date) => `Következő terhelés: ${date}`,
|
|
1718
1751
|
switchConfirm: "Csomag módosítása",
|
|
1752
|
+
// 0.42 (§16): the portal for the buyer only, the in-app cancel, the grant warning.
|
|
1753
|
+
buyerHolds: (buyer) =>
|
|
1754
|
+
buyer
|
|
1755
|
+
? `A fizetési módot és a számlákat ${buyer} kezeli, aki az előfizetést megvásárolta.`
|
|
1756
|
+
: "A fizetési módot és a számlákat az előfizetést megvásárló adminisztrátor kezeli.",
|
|
1757
|
+
cancelConfirmTitle: "Előfizetés lemondása",
|
|
1758
|
+
cancelConfirmBody: (date) => `Az előfizetése ekkor ér véget: ${date}. Addig minden a megszokott módon működik.`,
|
|
1759
|
+
cancelConfirmAction: "Lemondás most",
|
|
1760
|
+
keepSubscription: "Előfizetés megtartása",
|
|
1761
|
+
portalOpensNewTab: (provider, app) =>
|
|
1762
|
+
`A fizetés és a számlák új lapon nyílnak meg a(z) ${provider} oldalán; ${app ? `a(z) ${app} itt nyitva marad` : "ez az oldal nyitva marad"}.`,
|
|
1763
|
+
grantWarningTitle: "Az ingyenes hozzáférése továbbra is él",
|
|
1764
|
+
grantWarningBody:
|
|
1765
|
+
"Az ingyenes hozzáférésének nincs lejárati dátuma. Amíg tart, a vásárlás nem változtatja meg a csomagját: olyan csomagért fizetne, amely nem érvényes.",
|
|
1766
|
+
grantWarningAction: "Mégis megvásárolom",
|
|
1719
1767
|
// No plural after a numeral (convention 2).
|
|
1720
1768
|
waitingChanges: (count) => `${n(count)} módosítás csomagra vár`,
|
|
1721
1769
|
// "Elvetés", as `wizard.cancelConfirmLabel`.
|
|
@@ -1787,6 +1835,77 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
1787
1835
|
more: "Továbbiak",
|
|
1788
1836
|
moreTitle: "További oldalak",
|
|
1789
1837
|
},
|
|
1838
|
+
// 0.42.0 — docs/admin-harmonization.md §3.1: the admin area's shared words. "Ön", as
|
|
1839
|
+
// the rest of the catalogue.
|
|
1840
|
+
adminArea: {
|
|
1841
|
+
title: "Adminisztráció",
|
|
1842
|
+
waiting: (count) => `${n(count)} várakozik`,
|
|
1843
|
+
forbiddenTitle: "Csak adminisztrátoroknak",
|
|
1844
|
+
forbiddenBody: (appName) =>
|
|
1845
|
+
`Itt kezelik az adminisztrátorok a(z) ${appName} alkalmazást. Az Ön fiókja nem nyithatja meg ezt az oldalt.`,
|
|
1846
|
+
forbiddenHome: "Ugrás a kezdőlapra",
|
|
1847
|
+
forbiddenReviewer: "Fordítások ellenőrzése",
|
|
1848
|
+
sections: {
|
|
1849
|
+
overview: { title: "Áttekintés", help: "Ami most várakozik, egy pillantásra." },
|
|
1850
|
+
users: { title: "Felhasználók", help: "Kinek van fiókja, és ki mit tehet." },
|
|
1851
|
+
invitations: { title: "Meghívások", help: "Hívjon meg embereket e-mailben a saját nyelvükön; küldje újra vagy vonja vissza a még nyitott meghívókat." },
|
|
1852
|
+
billing: { title: "Számlázás", help: "A csomag, a fizetés és a számlák." },
|
|
1853
|
+
activity: { title: "Tevékenység", help: "Mit tettek az adminisztrátorok, a legújabb elöl." },
|
|
1854
|
+
},
|
|
1855
|
+
tiles: {
|
|
1856
|
+
feedbackWaiting: "Osztályozásra vár",
|
|
1857
|
+
deletionRequests: "Törlési kérelmek",
|
|
1858
|
+
invitationsPending: "Függő meghívások",
|
|
1859
|
+
users: "Felhasználók",
|
|
1860
|
+
usersNew: (count) => `${n(count)} új az elmúlt 7 napban`,
|
|
1861
|
+
},
|
|
1862
|
+
overviewError: "Az áttekintést nem sikerült betölteni.",
|
|
1863
|
+
retry: "Próbálja újra",
|
|
1864
|
+
tools: "Eszközök",
|
|
1865
|
+
},
|
|
1866
|
+
// 0.42.0 — docs/top-bar-harmonization.md §3.1: the top bar's shared parts; "csomag" as
|
|
1867
|
+
// `billing`, the formal register as the rest of the catalogue.
|
|
1868
|
+
topBarParts: {
|
|
1869
|
+
tours: {
|
|
1870
|
+
menu: "Bemutatók",
|
|
1871
|
+
newDot: "Új bemutatók",
|
|
1872
|
+
thisPage: "Ezen az oldalon",
|
|
1873
|
+
newTours: "Új bemutatók",
|
|
1874
|
+
allTours: "Összes bemutató…",
|
|
1875
|
+
badgeNew: "Új",
|
|
1876
|
+
completed: "Elvégezve",
|
|
1877
|
+
badgeUpdated: "Frissítve",
|
|
1878
|
+
updatedDot: "Frissített bemutatók",
|
|
1879
|
+
newAndUpdated: "Új és frissített",
|
|
1880
|
+
},
|
|
1881
|
+
sync: {
|
|
1882
|
+
blocked: (count) => `${n(count)} módosítás nem küldhető el erről az eszközről`,
|
|
1883
|
+
offline: "Offline – a módosítások ezen az eszközön maradnak, és az újracsatlakozáskor szinkronizálódnak",
|
|
1884
|
+
refused: "A szerver elutasította a legutóbbi szinkronizálást",
|
|
1885
|
+
syncing: "Szinkronizálás…",
|
|
1886
|
+
pending: (count) => `${n(count)} módosítás szinkronizálásra vár`,
|
|
1887
|
+
syncedAt: (time) => `Szinkronizálva: ${time}`,
|
|
1888
|
+
idle: "Naprakész",
|
|
1889
|
+
syncHint: "Koppintson a szinkronizáláshoz",
|
|
1890
|
+
offlineHint: "offline nincs mit szinkronizálni",
|
|
1891
|
+
withHint: (state, hint) => `${state} – ${hint}`,
|
|
1892
|
+
scoped: (scope, state) => `${scope}: ${state}`,
|
|
1893
|
+
offlineShort: "Offline",
|
|
1894
|
+
syncingShort: "Szinkronizálás…",
|
|
1895
|
+
waitingShort: (count) => `${n(count)} várakozik`,
|
|
1896
|
+
refusedShort: "Nincs szinkronizálva",
|
|
1897
|
+
offlineUnsaved: "Offline – a módosítások az újracsatlakozásig nem menthetők",
|
|
1898
|
+
saving: "Mentés…",
|
|
1899
|
+
},
|
|
1900
|
+
dev: {
|
|
1901
|
+
roleHeading: "Dev · szerepkör",
|
|
1902
|
+
switchPlan: "Csomag váltása",
|
|
1903
|
+
plan: (value) => `Csomag: ${value}`,
|
|
1904
|
+
planHeading: "Dev · csomag",
|
|
1905
|
+
backTo: (role) => `Vissza: ${role}`,
|
|
1906
|
+
billingOff: "A számlázás helyben ki van kapcsolva: a csomagok semmin nem változtatnak",
|
|
1907
|
+
},
|
|
1908
|
+
},
|
|
1790
1909
|
};
|
|
1791
1910
|
}
|
|
1792
1911
|
|
package/src/i18n/locales/it.ts
CHANGED
|
@@ -613,6 +613,34 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
613
613
|
awaitClickHint: "Faccia clic sull’elemento evidenziato per continuare",
|
|
614
614
|
step: (current, total) => `${n(current)} / ${n(total)}`,
|
|
615
615
|
},
|
|
616
|
+
// 0.43.0 — docs/tours-harmonization.md §3, §8: the tours page. keksdose's reviewed words.
|
|
617
|
+
tourCatalogue: {
|
|
618
|
+
searchLabel: "Cerca tour",
|
|
619
|
+
searchPlaceholder: "Cerca tour…",
|
|
620
|
+
groupLabel: "Argomento",
|
|
621
|
+
groupAll: (count) => `Tutti gli argomenti (${n(count)})`,
|
|
622
|
+
groupOption: (group, count) => `${group} (${n(count)})`,
|
|
623
|
+
stateLabel: "Filtra i tour",
|
|
624
|
+
stateAll: (count) => `Tutti (${n(count)})`,
|
|
625
|
+
stateTodo: (count) => `Da fare (${n(count)})`,
|
|
626
|
+
stateDone: (count) => `Completati (${n(count)})`,
|
|
627
|
+
showing: (shown, total) => `${n(shown)} di ${n(total)} tour`,
|
|
628
|
+
noMatches: "Nessun tour corrisponde",
|
|
629
|
+
noMatchesHint: "Provi un’altra parola o cancelli i filtri.",
|
|
630
|
+
clearFilters: "Cancella filtri",
|
|
631
|
+
badgeNew: "Nuovo",
|
|
632
|
+
badgeUpdated: "Aggiornato",
|
|
633
|
+
resetOn: (date, reason) => (reason ? `Reimpostato il ${date}: ${reason}` : `Reimpostato il ${date}`),
|
|
634
|
+
points: (count) => `+${n(count)} pt`,
|
|
635
|
+
steps: (count) => (count === 1 ? `${n(count)} passaggio` : `${n(count)} passaggi`),
|
|
636
|
+
duration: (minutes) => `Circa ${n(minutes)} min`,
|
|
637
|
+
completedOn: (date) => `Completato il ${date}`,
|
|
638
|
+
completed: "Completato",
|
|
639
|
+
notCompleted: "Non completato",
|
|
640
|
+
markUndone: "Segna come non completato",
|
|
641
|
+
start: "Avvia",
|
|
642
|
+
replay: "Ripeti",
|
|
643
|
+
},
|
|
616
644
|
commandPalette: {
|
|
617
645
|
clear: "Cancella ricerca",
|
|
618
646
|
submit: "Cerca",
|
|
@@ -1699,6 +1727,11 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
1699
1727
|
"Il Suo pagamento è in elaborazione. Il Suo piano inizia non appena viene confermato; questa pagina si aggiorna da sola.",
|
|
1700
1728
|
choosePlan: "Scegli un piano",
|
|
1701
1729
|
updatePayment: "Aggiorna il metodo di pagamento",
|
|
1730
|
+
// 0.42 (§16.7 A): for an admin who isn't the buyer.
|
|
1731
|
+
paymentFailedAskBuyer: (buyer) =>
|
|
1732
|
+
buyer
|
|
1733
|
+
? `Il pagamento non è andato a buon fine. ${buyer} può aggiornare il metodo di pagamento.`
|
|
1734
|
+
: "Il pagamento non è andato a buon fine. L’amministratore che ha sottoscritto l’abbonamento può aggiornare il metodo di pagamento.",
|
|
1702
1735
|
checkAgain: "Verifica di nuovo",
|
|
1703
1736
|
lockReason: "Il Suo piano è terminato. Scelga un piano per apportare di nuovo modifiche.",
|
|
1704
1737
|
// As `characterCount.limitReached` ("Limite di caratteri raggiunto").
|
|
@@ -1729,6 +1762,22 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
1729
1762
|
switchCredited: "Accreditato sui prossimi addebiti",
|
|
1730
1763
|
switchNextCharge: (date) => `Prossimo addebito il ${date}`,
|
|
1731
1764
|
switchConfirm: "Cambia piano",
|
|
1765
|
+
// 0.42 (§16): the portal for the buyer only, the in-app cancel, the grant warning.
|
|
1766
|
+
buyerHolds: (buyer) =>
|
|
1767
|
+
buyer
|
|
1768
|
+
? `Il metodo di pagamento e le fatture sono gestiti da ${buyer}, che ha sottoscritto l’abbonamento.`
|
|
1769
|
+
: "Il metodo di pagamento e le fatture sono gestiti dall’amministratore che ha sottoscritto l’abbonamento.",
|
|
1770
|
+
cancelConfirmTitle: "Disdici l’abbonamento",
|
|
1771
|
+
cancelConfirmBody: (date) =>
|
|
1772
|
+
`Il Suo abbonamento termina il ${date}. Fino ad allora tutto funziona come prima.`,
|
|
1773
|
+
cancelConfirmAction: "Disdici ora",
|
|
1774
|
+
keepSubscription: "Mantieni l’abbonamento",
|
|
1775
|
+
portalOpensNewTab: (provider, app) =>
|
|
1776
|
+
`Pagamenti e fatture si aprono su ${provider} in una nuova scheda; ${app ? `${app} resta aperto qui` : "questa pagina resta aperta"}.`,
|
|
1777
|
+
grantWarningTitle: "Il Suo accesso gratuito continua",
|
|
1778
|
+
grantWarningBody:
|
|
1779
|
+
"Il Suo accesso gratuito non ha una data di fine. Finché dura, un acquisto non cambia il Suo piano: pagherebbe per un piano che non si applica.",
|
|
1780
|
+
grantWarningAction: "Acquista comunque",
|
|
1732
1781
|
waitingChanges: (count) =>
|
|
1733
1782
|
`${n(count)} ${plural(count, "modifica in attesa", "modifiche in attesa")} di un piano`,
|
|
1734
1783
|
// "Scarta", as `wizard.cancelConfirmLabel`.
|
|
@@ -1799,6 +1848,79 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
1799
1848
|
more: "Altro",
|
|
1800
1849
|
moreTitle: "Altre pagine",
|
|
1801
1850
|
},
|
|
1851
|
+
// 0.42.0 — docs/admin-harmonization.md §3.1: the admin area's shared words. "Lei", as
|
|
1852
|
+
// the rest of the catalogue.
|
|
1853
|
+
adminArea: {
|
|
1854
|
+
title: "Amministrazione",
|
|
1855
|
+
waiting: (count) => `${n(count)} in attesa`,
|
|
1856
|
+
forbiddenTitle: "Solo per gli amministratori",
|
|
1857
|
+
forbiddenBody: (appName) =>
|
|
1858
|
+
`Qui gli amministratori gestiscono ${appName}. Il Suo account non può aprire questa pagina.`,
|
|
1859
|
+
forbiddenHome: "Vai alla pagina iniziale",
|
|
1860
|
+
forbiddenReviewer: "Rivedi le traduzioni",
|
|
1861
|
+
sections: {
|
|
1862
|
+
overview: { title: "Panoramica", help: "Ciò che è in attesa, a colpo d’occhio." },
|
|
1863
|
+
users: { title: "Utenti", help: "Chi ha un account e cosa può fare ciascuno." },
|
|
1864
|
+
invitations: { title: "Inviti", help: "Inviti persone via e-mail nella loro lingua; reinvii o revochi gli inviti ancora aperti." },
|
|
1865
|
+
billing: { title: "Fatturazione", help: "Il piano, il pagamento e le fatture." },
|
|
1866
|
+
activity: { title: "Attività", help: "Ciò che hanno fatto gli amministratori, dal più recente." },
|
|
1867
|
+
},
|
|
1868
|
+
tiles: {
|
|
1869
|
+
feedbackWaiting: "Da smistare",
|
|
1870
|
+
deletionRequests: "Richieste di eliminazione",
|
|
1871
|
+
invitationsPending: "Inviti in sospeso",
|
|
1872
|
+
users: "Utenti",
|
|
1873
|
+
usersNew: (count) => `${n(count)} ${plural(count, "nuovo", "nuovi")} in 7 giorni`,
|
|
1874
|
+
},
|
|
1875
|
+
overviewError: "Non è stato possibile caricare la panoramica.",
|
|
1876
|
+
retry: "Riprova",
|
|
1877
|
+
tools: "Strumenti",
|
|
1878
|
+
},
|
|
1879
|
+
// 0.42.0 — docs/top-bar-harmonization.md §3.1: the top bar's shared parts, keksdose's
|
|
1880
|
+
// reviewed sync words where they are not about its budgets; "piano" as `billing`.
|
|
1881
|
+
topBarParts: {
|
|
1882
|
+
tours: {
|
|
1883
|
+
menu: "Tour guidati",
|
|
1884
|
+
newDot: "Nuovi tour",
|
|
1885
|
+
thisPage: "In questa pagina",
|
|
1886
|
+
newTours: "Nuovi tour",
|
|
1887
|
+
allTours: "Tutti i tour…",
|
|
1888
|
+
badgeNew: "Nuovo",
|
|
1889
|
+
completed: "Completato",
|
|
1890
|
+
badgeUpdated: "Aggiornato",
|
|
1891
|
+
updatedDot: "Tour aggiornati",
|
|
1892
|
+
newAndUpdated: "Nuovi e aggiornati",
|
|
1893
|
+
},
|
|
1894
|
+
sync: {
|
|
1895
|
+
blocked: (count) =>
|
|
1896
|
+
`${n(count)} ${plural(count, "modifica non può essere inviata", "modifiche non possono essere inviate")} da questo dispositivo`,
|
|
1897
|
+
offline: "Offline: le modifiche vengono salvate su questo dispositivo e sincronizzate alla riconnessione",
|
|
1898
|
+
refused: "Il server ha rifiutato l’ultima sincronizzazione",
|
|
1899
|
+
syncing: "Sincronizzazione…",
|
|
1900
|
+
pending: (count) =>
|
|
1901
|
+
`${n(count)} ${plural(count, "modifica", "modifiche")} in attesa di sincronizzazione`,
|
|
1902
|
+
syncedAt: (time) => `Sincronizzato alle ${time}`,
|
|
1903
|
+
idle: "Aggiornato",
|
|
1904
|
+
syncHint: "Tocchi per sincronizzare ora",
|
|
1905
|
+
offlineHint: "offline non c’è nulla da sincronizzare",
|
|
1906
|
+
withHint: (state, hint) => `${state} — ${hint}`,
|
|
1907
|
+
scoped: (scope, state) => `${scope}: ${state}`,
|
|
1908
|
+
offlineShort: "Offline",
|
|
1909
|
+
syncingShort: "Sincronizzazione…",
|
|
1910
|
+
waitingShort: (count) => `${n(count)} in attesa`,
|
|
1911
|
+
refusedShort: "Non sincronizzato",
|
|
1912
|
+
offlineUnsaved: "Offline: le modifiche non possono essere salvate finché non si riconnette",
|
|
1913
|
+
saving: "Salvataggio…",
|
|
1914
|
+
},
|
|
1915
|
+
dev: {
|
|
1916
|
+
roleHeading: "Dev · ruolo",
|
|
1917
|
+
switchPlan: "Cambia piano",
|
|
1918
|
+
plan: (value) => `Piano: ${value}`,
|
|
1919
|
+
planHeading: "Dev · piano",
|
|
1920
|
+
backTo: (role) => `Torna a ${role}`,
|
|
1921
|
+
billingOff: "La fatturazione è disattivata in locale: i piani non cambiano nulla",
|
|
1922
|
+
},
|
|
1923
|
+
},
|
|
1802
1924
|
};
|
|
1803
1925
|
}
|
|
1804
1926
|
|