@eifi1/ui-kit 0.25.0 → 0.26.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 +3 -3
- package/dist/components/data-table.js +3 -2
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/swipeable-row.d.ts +5 -1
- package/dist/components/swipeable-row.js.map +1 -1
- package/dist/components/translation-review-labels.d.ts +4 -0
- package/dist/components/translation-review-labels.js +2 -1
- package/dist/components/translation-review-labels.js.map +1 -1
- package/dist/components/translation-review.d.ts +67 -7
- package/dist/components/translation-review.js +115 -29
- package/dist/components/translation-review.js.map +1 -1
- package/dist/hooks/use-search-param-state.d.ts +1 -1
- package/dist/hooks/use-search-param-state.js +8 -1
- package/dist/hooks/use-search-param-state.js.map +1 -1
- package/dist/i18n/german.js +1 -0
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/locales/en.js +1 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.js +1 -0
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.js +1 -0
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.js +1 -0
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.js +1 -0
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.js +1 -0
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.js +1 -0
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/translation-review.d.ts +76 -1
- package/dist/lib/translation-review.js +30 -0
- package/dist/lib/translation-review.js.map +1 -1
- package/package.json +1 -1
- package/src/components/data-table.tsx +9 -2
- package/src/components/swipeable-row.tsx +5 -1
- package/src/components/translation-review-labels.ts +5 -0
- package/src/components/translation-review.tsx +275 -48
- package/src/hooks/use-search-param-state.ts +19 -4
- package/src/i18n/german.ts +1 -0
- package/src/i18n/locales/en.ts +1 -0
- package/src/i18n/locales/es.ts +1 -0
- package/src/i18n/locales/fr.ts +1 -0
- package/src/i18n/locales/hu.ts +1 -0
- package/src/i18n/locales/it.ts +1 -0
- package/src/i18n/locales/zh.ts +1 -0
- package/src/i18n/review.ts +1 -0
- package/src/index.ts +6 -0
- package/src/lib/translation-review.ts +109 -0
- package/tokens.css +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/i18n/locales/it.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Italian: every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_IT}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `it-IT` digits; {@link uiKitLabelsIt} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsIt(numberLocale = \"it-IT\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n const plural = (count: number, one: string, many: string) => (count === 1 ? one : many);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"Allega immagine\",\n attachmentCapture: \"Cattura schermata\",\n attachmentPaste: \"…oppure incolli uno screenshot dagli appunti.\",\n attachmentRemove: \"Rimuovi allegato\",\n attachmentList: \"Allegati\",\n attachmentScreenshot: \"Screenshot\",\n attachmentRemoveFile: (name) => `Rimuovi ${name}`,\n attachmentLimit: (max) => `Massimo ${n(max)} ${max === 1 ? \"allegato\" : \"allegati\"}: ne rimuova uno per aggiungerne un altro.`,\n attachmentUploading: \"Caricamento…\",\n attachmentUploadFailed: (name) => `Impossibile caricare «${name}»`,\n },\n feedbackDialog: {\n title: \"Invia feedback\",\n category: \"Categoria\",\n subject: \"Oggetto\",\n body: \"Cosa è successo?\",\n bodyOptional: \"Cosa è successo? (facoltativo)\",\n attachment: \"Screenshot\",\n submitHint: \"Ctrl/⌘ + Invio per inviare\",\n cancel: \"Annulla\",\n save: \"Invia\",\n },\n feedbackThread: {\n thread: \"Commenti\",\n empty: \"Ancora nessun commento\",\n loading: \"Caricamento dei commenti…\",\n you: \"Lei\",\n staff: \"Team\",\n attachments: \"Allegati\",\n },\n feedbackComposer: {\n field: \"Scriva un commento\",\n placeholder: \"Scriva un commento…\",\n send: \"Invia\",\n sendHint: (modifier) => `${modifier} + Invio per inviare`,\n sendHintEnter: \"Invio per inviare, Maiusc + Invio per andare a capo\",\n },\n accountSettings: {\n profile: {\n title: \"Profilo\",\n email: \"Email\",\n role: \"Ruolo\",\n memberSince: \"Membro dal\",\n displayName: \"Nome visualizzato\",\n save: \"Salva\",\n },\n password: {\n title: \"Cambia password\",\n current: \"Password attuale\",\n next: \"Nuova password\",\n confirm: \"Conferma la nuova password\",\n submit: \"Cambia password\",\n tooShort: \"La nuova password è troppo corta.\",\n mismatch: \"Le password non coincidono.\",\n },\n twoFactor: {\n status: \"Autenticazione a due fattori\",\n enabledText: \"Attiva\",\n disabledText: \"Non attiva\",\n enable: \"Configura l’autenticazione a due fattori\",\n scanHint:\n \"Scansioni questo codice con la Sua app di autenticazione, poi inserisca il codice che mostra.\",\n codeLabel: \"Codice di verifica\",\n verify: \"Verifica e attiva\",\n disableSection: \"Disattiva l’autenticazione a due fattori\",\n password: \"Password attuale\",\n disable: \"Disattiva\",\n qrAlt: \"Codice QR per la Sua app di autenticazione\",\n secretHint: \"Non riesce a scansionarlo? Inserisca invece questa chiave nell’app:\",\n copySecret: \"Copia chiave\",\n },\n passkeys: {\n title: \"Passkey\",\n description: \"Acceda con impronta, volto o PIN del dispositivo invece che con una password.\",\n descriptionAlongside: \"Acceda con impronta, volto o PIN del dispositivo. La Sua password continua a funzionare.\",\n empty: \"Ancora nessuna passkey\",\n loading: \"Caricamento delle passkey…\",\n list: \"Le Sue passkey\",\n nameLabel: \"Nome (facoltativo)\",\n namePlaceholder: \"ad es. Portatile, Telefono\",\n add: \"Aggiungi passkey\",\n adding: \"In attesa del dispositivo…\",\n rename: \"Rinomina\",\n renameItem: (name) => `Rinomina ${name}`,\n renameField: (name) => `Nuovo nome per ${name}`,\n save: \"Salva\",\n cancel: \"Annulla\",\n delete: \"Elimina\",\n deleteItem: (name) => `Elimina ${name}`,\n deleteConfirm: (name) => `Eliminare «${name}»? Non potrà più essere usata per accedere.`,\n confirmDelete: \"Elimina passkey\",\n created: (date) => `Aggiunta il ${date}`,\n lastUsed: (date) => `Ultimo uso: ${date}`,\n neverUsed: \"Mai usata\",\n },\n },\n measuredGrid: {\n view: \"Vista tabella\",\n cellsView: \"Celle\",\n textView: \"Testo\",\n addRow: \"Aggiungi riga\",\n removeRow: (row) => `Rimuovi riga ${row}`,\n clear: \"Svuota tabella\",\n pasteHint: \"Incolli un blocco da un foglio di calcolo in qualsiasi cella\",\n cell: (column, row) => `${column}, riga ${row}`,\n rowNumber: \"Riga\",\n rowActions: \"Azioni riga\",\n keyboardHint:\n \"I tasti freccia spostano tra le celle. Digiti per sostituire una cella, F2 per modificarla, Esc per annullare la modifica. Invio scende e aggiunge una riga alla fine.\",\n lineError: (line) => `Impossibile leggere la riga ${line}`,\n points: (count) => (count === 1 ? \"1 punto\" : `${count} punti`),\n problems: (count) =>\n count === 1 ? \"1 cella non è un numero\" : `${count} celle non sono numeri`,\n },\n pageContents: { title: \"In questa pagina\" },\n common: {\n dismiss: \"Chiudi\",\n close: \"Chiudi\",\n clear: \"Cancella\",\n search: \"Cerca\",\n done: \"Fine\",\n cancel: \"Annulla\",\n save: \"Salva\",\n back: \"Indietro\",\n next: \"Avanti\",\n remove: \"Rimuovi\",\n loading: \"Caricamento…\",\n noResults: \"Nessun risultato\",\n fieldValue: (field, value) => `${field}: ${value}`,\n opensInNewTab: \"si apre in una nuova scheda\",\n },\n dataTable: {\n columns: \"Colonne\",\n selectAllRows: \"Seleziona tutte le righe\",\n sortHint: \"Faccia clic per ordinare · Maiusc+clic per aggiungere un ordinamento\",\n filter: \"Filtra\",\n close: \"Chiudi\",\n selectRow: \"Seleziona riga\",\n autoSize: \"Adatta larghezza colonne\",\n loading: \"Caricamento…\",\n filters: \"Filtri\",\n clearAll: \"Cancella tutto\",\n done: \"Fine\",\n pageSize: \"Righe per pagina\",\n pageSizeAll: \"Tutte\",\n prevPage: \"Pagina precedente\",\n nextPage: \"Pagina successiva\",\n clearFilter: \"Cancella filtro\",\n filterPlaceholder: \"Filtra…\",\n selectFilter: \"Seleziona\",\n selectAll: \"Tutti\",\n selectNone: \"Nessuno\",\n dateFrom: \"Dal\",\n dateTo: \"Al\",\n numberMin: \"Min\",\n numberMax: \"Max\",\n numberAbs: \"Valore assoluto\",\n presets: {\n today: \"Oggi\",\n yesterday: \"Ieri\",\n this_week: \"Questa settimana\",\n last_week: \"Settimana scorsa\",\n last_7_days: \"Ultimi 7 giorni\",\n last_30_days: \"Ultimi 30 giorni\",\n this_month: \"Questo mese\",\n last_month: \"Mese scorso\",\n last_3_months: \"Ultimi 3 mesi\",\n ytd: \"Da inizio anno\",\n last_year: \"Anno scorso\",\n },\n table: \"Tabella dati\",\n filterResults: (shown, total) =>\n `${n(shown)} di ${n(total)} ${plural(total, \"riga\", \"righe\")}`,\n sortedAscending: (column) => `Ordinato per ${column}, crescente`,\n sortedDescending: (column) => `Ordinato per ${column}, decrescente`,\n sortCleared: (column) => `Ordinamento per ${column} rimosso`,\n pageChanged: (page, totalPages) => `Pagina ${n(page)} di ${n(totalPages)}`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `Colonne (${n(visible)}/${n(total)})`,\n empty: \"Nessuna voce\",\n actions: \"Azioni\",\n edit: \"Modifica\",\n delete: \"Elimina\",\n booleanTrue: \"Sì\",\n booleanFalse: \"No\",\n booleanUnset: \"Non impostato\",\n sortBy: \"Ordina per\",\n sortDefault: \"Ordine predefinito\",\n sortAscending: \"Crescente\",\n sortDescending: \"Decrescente\",\n },\n miniCalendar: {\n previousMonth: \"Mese precedente\",\n nextMonth: \"Mese successivo\",\n // Already formatted in the provider's locale (\"lunedì 14 settembre 2026\").\n day: (date) => date,\n chooseStart: \"Scelga una data di inizio\",\n chooseEnd: \"Scelga una data di fine\",\n // \"Data\" is feminine and the formatted day cannot agree with a participle, so the\n // date follows a label instead of being the subject.\n startSelected: (date) => `Data di inizio: ${date}. Scelga una data di fine.`,\n rangeSelected: (from, to) =>\n `Periodo selezionato: da ${from} a ${to}. Scelga una data di inizio per ricominciare.`,\n },\n monthPicker: {\n previousYear: \"Anno precedente\",\n nextYear: \"Anno successivo\",\n panel: \"Scegli un mese\",\n month: (monthYear) => monthYear,\n previousMonth: \"Mese precedente\",\n nextMonth: \"Mese successivo\",\n today: \"Oggi\",\n yearPanel: \"Scegli un anno\",\n earlierYears: \"Anni precedenti\",\n laterYears: \"Anni successivi\",\n thisYear: \"Quest’anno\",\n },\n calendarHeatmap: {\n grid: \"Valori giornalieri\",\n day: (date, value) => `${date}: ${value}`,\n less: \"Meno\",\n more: \"Più\",\n truncated: (count) =>\n `Vengono mostrati i giorni più recenti; ${count === 1 ? \"1 giorno precedente non è mostrato\" : `${n(count)} giorni precedenti non sono mostrati`}.`,\n },\n datePicker: {\n apply: \"Applica\",\n cancel: \"Annulla\",\n presets: \"Intervalli rapidi\",\n panel: \"Scegli una data\",\n rangePanel: \"Scegli un intervallo di date\",\n clear: \"Cancella\",\n previousDay: \"Giorno precedente\",\n nextDay: \"Giorno successivo\",\n today: \"Oggi\",\n },\n popover: {\n panel: \"Finestra a comparsa\",\n },\n combobox: {\n search: \"Cerca\",\n noResults: \"Nessun risultato\",\n clear: \"Cancella\",\n loading: \"Caricamento…\",\n create: (query) => `Crea «${query}»`,\n selectedCount: (count) => `${n(count)} ${plural(count, \"selezionato\", \"selezionati\")}`,\n loadError: \"Impossibile caricare i risultati\",\n resultCount: (count) => `${n(count)} ${plural(count, \"risultato\", \"risultati\")}`,\n minChars: (count) => `Digiti almeno ${n(count)} ${plural(count, \"carattere\", \"caratteri\")}`,\n },\n multiSelect: {\n search: \"Cerca\",\n selectAll: \"Seleziona tutto\",\n clear: \"Cancella\",\n all: \"Tutti\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"Apri calcolatrice\",\n panel: \"Calcolatrice\",\n calculation: \"Calcolo\",\n backspace: \"Cancella ultimo carattere\",\n clear: \"Azzera\",\n equals: \"Uguale\",\n done: \"Fine\",\n plus: \"Più\",\n minus: \"Meno\",\n times: \"Per\",\n divide: \"Diviso\",\n decimal: \"Separatore decimale\",\n },\n currency: {\n currency: \"Valuta\",\n search: \"Cerca valuta\",\n },\n chipInput: {\n // The quoted value is a citation; the participle agrees with the implied\n // \"elemento\" whatever the chip says.\n added: (value) => `«${value}» aggiunto`,\n removed: (value) => `«${value}» rimosso`,\n remove: \"Rimuovi\",\n atLimit: (max) => `Limite di ${n(max)} ${plural(max, \"elemento\", \"elementi\")} raggiunto`,\n duplicate: (value) => `«${value}» è già nell’elenco`,\n },\n swatchPicker: {\n none: \"Nessun colore\",\n mixed: \"Misto: gli elementi selezionati hanno colori diversi\",\n },\n iconPicker: {\n none: \"Nessuna icona\",\n mixed: \"Misto: gli elementi selezionati hanno icone diverse\",\n search: \"Cerca icone\",\n noResults: \"Nessuna icona corrispondente\",\n resultCount: (count) => `${n(count)} ${plural(count, \"icona\", \"icone\")}`,\n },\n fieldSync: {\n synced: \"Salvato\",\n edited: \"Modifiche non salvate\",\n pending: \"Salvataggio…\",\n error: \"Impossibile salvare\",\n retry: \"Riprova\",\n },\n passwordReveal: {\n show: \"Mostra password\",\n hide: \"Nascondi password\",\n },\n dangerConfirm: {\n arm: \"Elimina…\",\n confirm: \"Elimina\",\n cancel: \"Annulla\",\n prompt: \"Questa operazione non può essere annullata.\",\n password: \"Password\",\n phrase: (phrase) => `Digiti «${phrase}» per confermare`,\n acknowledge: \"Ho letto cosa comporta questa operazione e desidero continuare.\",\n needsPhrase: (phrase) => `Digiti «${phrase}» per confermare`,\n needsAcknowledge: \"Spunti la casella per confermare\",\n needsPassword: \"Inserisca la password per confermare\",\n },\n tabs: {\n add: \"Aggiungi scheda\",\n remove: (tab) => `Rimuovi ${tab}`,\n },\n appShell: {\n collapse: \"Comprimi barra laterale\",\n expand: \"Espandi barra laterale\",\n toggleGroup: (groupLabel) => `${groupLabel}: pagine`,\n },\n topBar: {\n theme: \"Cambia tema\",\n palette: \"Preset di aspetto\",\n language: \"Lingua\",\n switchRole: \"Cambia ruolo\",\n role: (value) => `Ruolo: ${value}`,\n },\n pickerSheet: {\n close: \"Chiudi\",\n },\n dialogFrame: {\n close: \"Chiudi\",\n },\n bulkActionBar: {\n selected: (count) => `${n(count)} ${count === 1 ? \"selezionato\" : \"selezionati\"}`,\n clear: \"Annulla selezione\",\n cleared: \"Selezione annullata\",\n },\n swipeableRow: {\n actions: \"Azioni della riga\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale (\"3,4 MB\").\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"Caricamento file\",\n browse: \"Sfoglia\",\n empty: \"Trascini qui un file\",\n emptyMultiple: \"Trascini qui i file\",\n hint: (accept) => (accept ? `Accettati: ${accept}` : \"Qualsiasi tipo di file\"),\n busy: \"Caricamento…\",\n rejectedPick: (count) =>\n count === 1 ? \"Il file non è stato aggiunto\" : `Nessuno dei ${count} file è stato aggiunto`,\n // \"file\" is invariable in Italian (\"1 file\", \"3 file\"); only the verb agrees.\n rejectedType: (name) => `Il tipo di file di «${name}» non è supportato`,\n rejectedTypeOnly: (accept) => `Solo file ${accept}`,\n rejectedSize: (name, maxSize) => `«${name}» supera ${maxSize}`,\n rejectedCount: (name, maxFiles) =>\n `«${name}» non è stato aggiunto: al massimo ${n(maxFiles)} file`,\n rejectedInvalid: (name) => `«${name}» non può essere usato qui`,\n rejectedMany: (count) =>\n count === 1 ? \"1 file non è stato aggiunto\" : `${n(count)} file non sono stati aggiunti`,\n selected: (count, firstName) =>\n count === 1 ? `«${firstName}» selezionato` : `${n(count)} file selezionati`,\n remove: (name) => `Rimuovi «${name}»`,\n clearAll: \"Rimuovi tutti i file\",\n removed: (name) => `«${name}» rimosso`,\n cleared: \"Tutti i file rimossi\",\n },\n wizard: {\n done: \"Fine\",\n cancel: \"Annulla\",\n back: \"Indietro\",\n next: \"Avanti\",\n skip: \"Salta\",\n finish: \"Fine\",\n submitting: \"Creazione in corso…\",\n steps: \"Passaggi\",\n step: (current, total) => `Passaggio ${n(current)} di ${n(total)}`,\n cancelTitle: \"Scartare questo modulo?\",\n confirmCancel: \"I dati inseriti andranno persi.\",\n cancelConfirmLabel: \"Scarta\",\n cancelDismissLabel: \"Continua a modificare\",\n reviewTitle: \"Riepilogo\",\n edit: \"Modifica\",\n missingRequired: \"Compili tutti i campi obbligatori.\",\n genericError: \"Si è verificato un errore\",\n },\n tour: {\n next: \"Avanti\",\n back: \"Indietro\",\n skip: \"Salta\",\n done: \"Fine\",\n awaitClickHint: \"Faccia clic sull’elemento evidenziato per continuare\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"Cancella ricerca\",\n submit: \"Cerca\",\n close: \"Chiudi\",\n placeholder: \"Cerca…\",\n empty: \"Nessun risultato\",\n loading: \"Ricerca in corso…\",\n dialog: \"Ricerca\",\n error: \"Ricerca non riuscita. Riprovi.\",\n },\n globalSearch: {\n trigger: \"Cerca\",\n placeholder: \"Cerca o vai a…\",\n shortcut: (keys) => `Cerca (${keys})`,\n suggestions: \"Provi\",\n results: \"Risultati\",\n },\n sparkline: {\n rising: (first, last) => `In aumento da ${first} a ${last}`,\n falling: (first, last) => `In calo da ${first} a ${last}`,\n flat: (value) => `Stabile a ${value}`,\n single: (value) => `Un solo valore: ${value}`,\n noData: \"Nessun dato\",\n named: (name, summary) => `${name}: ${summary}`,\n },\n statTile: {\n increase: (amount) => `In aumento di ${amount}`,\n decrease: (amount) => `In calo di ${amount}`,\n unchanged: \"Nessuna variazione\",\n better: (change) => `${change} (favorevole)`,\n worse: (change) => `${change} (sfavorevole)`,\n noValue: \"Nessun dato\",\n loading: \"Caricamento…\",\n },\n signaturePad: {\n label: \"Firma\",\n instructions: \"Firmi nel riquadro con il mouse, il dito o una penna.\",\n typedFallbackHint: \"Se non può disegnare, scriva invece il Suo nome.\",\n empty: \"Ancora nessun tratto\",\n signed: \"Firma tracciata\",\n undo: \"Annulla l’ultimo tratto\",\n clear: \"Cancella\",\n save: \"Salva firma\",\n useTyped: \"Scrivi il nome\",\n useDrawn: \"Disegna la firma\",\n typedName: \"Nome e cognome\",\n cleared: \"Firma cancellata\",\n undone: \"Ultimo tratto rimosso\",\n viewEmpty: \"Non firmato\",\n viewDrawn: \"Firma autografa\",\n viewTyped: (name) => `Firmato con il nome digitato ${name}`,\n },\n passwordStrength: {\n // Agrees with \"password\" (feminine in Italian).\n tooShort: \"Troppo corta\",\n weak: \"Debole\",\n fair: \"Discreta\",\n good: \"Buona\",\n strong: \"Forte\",\n announcement: (level) => `Sicurezza della password: ${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) =>\n `Almeno ${minLength} ${plural(minLength, \"carattere\", \"caratteri\")}`,\n ruleCase: \"Maiuscole e minuscole\",\n ruleDigit: \"Un numero\",\n ruleSymbol: \"Un simbolo\",\n optional: (rule) => `${rule} (facoltativo)`,\n met: \"Soddisfatto:\",\n notMet: \"Non soddisfatto:\",\n tooLong: (maxBytes) =>\n `Al massimo ${maxBytes} ${plural(maxBytes, \"carattere\", \"caratteri\")} (le lettere accentate e le emoji contano più di uno).`,\n },\n seriesChart: {\n resetZoom: \"Reimposta zoom\",\n zoomHint:\n \"Trascini per ingrandire: una selezione più o meno quadrata ingrandisce entrambi gli assi, una lunga e sottile solo il proprio. Faccia doppio clic per ripristinare.\",\n empty: \"Nessun dato\",\n legend: \"Serie\",\n points: \"Valori del grafico\",\n },\n pieChart: {\n slices: \"Settori del grafico\",\n slice: (label, value, percent) => `${label}: ${value} (${percent})`,\n total: \"Totale\",\n empty: \"Nessun dato\",\n legend: \"Categorie\",\n },\n confirmDialog: {\n confirm: \"Conferma\",\n cancel: \"Annulla\",\n typed: (text) => `Digiti «${text}» per confermare`,\n },\n floatingPanel: {\n close: \"Chiudi\",\n badge: (count) => `${n(count)} ${plural(count, \"nuovo\", \"nuovi\")}`,\n },\n copyButton: {\n copy: \"Copia\",\n copied: \"Copiato\",\n failed: \"Copia non riuscita\",\n copiedAnnouncement: \"Copiato negli appunti\",\n failedAnnouncement: \"Impossibile copiare negli appunti\",\n },\n list: {\n unread: \"Non letto\",\n opensInNewTab: \"si apre in una nuova scheda\",\n },\n breadcrumbs: {\n label: \"Percorso di navigazione\",\n showAll: \"Mostra percorso completo\",\n },\n toast: {\n close: \"Chiudi notifica\",\n notifications: \"Notifiche\",\n undo: \"Annulla\",\n redo: \"Ripeti\",\n },\n form: {\n save: \"Salva\",\n cancel: \"Annulla\",\n submitShortcut: (apple) => (apple ? \"⌘ Invio\" : \"Ctrl+Invio\"),\n },\n descriptionList: {\n empty: \"—\",\n },\n lineItems: {\n add: \"Aggiungi riga\",\n remove: (row) => `Rimuovi riga ${row}`,\n confirmRemove: (row) => `Rimuovere la riga ${row}? Prema di nuovo per confermare`,\n row: (row) => `Riga ${row}`,\n cell: (column, row) => `${column}, riga ${row}`,\n totals: \"Totale\",\n },\n progressBar: {\n unlimited: \"Illimitato\",\n overLimit: (amount) => `${amount} oltre il limite`,\n },\n signedAmount: {\n positive: (amount) => `più ${amount}`,\n negative: (amount) => `meno ${amount}`,\n },\n errorBoundary: {\n title: \"Si è verificato un errore\",\n message: \"Impossibile mostrare questa parte della pagina. Riprovi o ricarichi la pagina.\",\n retry: \"Riprova\",\n details: \"Dettagli dell’errore\",\n reload: \"Ricarica\",\n updateTitle: \"È disponibile una nuova versione\",\n updateMessage: \"Una parte dell’app è cambiata da quando questa pagina è stata caricata. Ricarichi per ottenere la nuova versione.\",\n offlineTitle: \"Nessuna connessione\",\n offlineMessage: \"Impossibile caricare questa pagina senza connessione. Si riconnetta, poi ricarichi la pagina.\",\n copyReport: \"Copia il rapporto di errore\",\n reported: \"L’errore è stato segnalato automaticamente.\",\n reportedAs: (reference) => `Segnalato con riferimento ${reference}`,\n },\n authedImage: {\n loading: \"Caricamento immagine…\",\n loadError: \"Impossibile caricare l’immagine\",\n failedImage: (alt) => `${alt}: impossibile caricare l’immagine`,\n },\n imageGrid: {\n list: \"Immagini\",\n item: (index, count) => `Immagine ${n(index)} di ${n(count)}`,\n actions: (name) => `Azioni per ${name}`,\n },\n lightbox: {\n dialog: \"Visualizzatore immagini\",\n close: \"Chiudi\",\n previous: \"Immagine precedente\",\n next: \"Immagine successiva\",\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `Immagine ${n(index)} di ${n(count)}`,\n download: \"Scarica\",\n zoom: \"Ingrandisci\",\n noPreview: \"Nessuna anteprima disponibile per questo file\",\n openInNewTab: \"Apri in una nuova scheda\",\n },\n writeLock: {\n reason: \"Può visualizzarlo, ma non modificarlo.\",\n },\n accountState: {\n // Agreeing with \"account\" (masculine): the chip is the state of an account.\n active: \"Attivo\",\n inactive: \"Non attivo\",\n invited: \"Invitato\",\n registered: \"Registrato\",\n unverified: \"Non verificato\",\n passwordChange: \"Deve cambiare la password\",\n },\n shareCard: {\n dialogTitle: \"Condividi\",\n close: \"Chiudi\",\n email: \"Indirizzo email\",\n emailOptional: \"Indirizzo email (facoltativo)\",\n // example.com is reserved for examples (RFC 2606); a localised domain is real.\n emailPlaceholder: \"nome@example.com\",\n invalidEmail: \"Inserisca un indirizzo email completo.\",\n role: \"Ruolo\",\n roleOf: (name) => `Ruolo di ${name}`,\n add: \"Condividi\",\n whoHasAccess: \"Chi ha accesso\",\n nobodyYet: \"Nessun altro ha ancora accesso.\",\n pending: \"In attesa\",\n openInvite: \"Link di invito aperto\",\n copyLink: \"Copia link\",\n team: \"Team\",\n teamHint: (name) => `Tutti i membri di ${name} avranno accesso.`,\n remove: \"Rimuovi accesso\",\n removeConfirm: (name) => `Rimuovere l’accesso di ${name}?`,\n revokePending: \"Ritira invito\",\n revokePendingConfirm: (name) => `Ritirare l’invito per ${name}?`,\n failed: \"Non ha funzionato. Riprovi.\",\n loading: \"Caricamento…\",\n },\n reauthDialog: {\n title: \"Confermi la Sua identità\",\n description: \"Inserisca la password attuale per continuare.\",\n password: \"Password attuale\",\n submit: \"Continua\",\n cancel: \"Annulla\",\n },\n serverWake: {\n slow: \"Caricamento in corso: ci vuole più del solito.\",\n waking: (appName) =>\n `Il server va in sospensione quando nessuno usa ${appName ?? \"l’app\"}, quindi la prima richiesta dopo una pausa deve riavviarlo. Può volerci un momento: non si perde nulla, la pagina si completa da sola.`,\n },\n legal: {\n navLabel: \"Note legali\",\n },\n characterCount: {\n count: (used, max) => `${n(used)} di ${n(max)} ${plural(max, \"carattere\", \"caratteri\")}`,\n remaining: (left) =>\n left === 1 ? \"Resta 1 carattere\" : `Restano ${n(left)} caratteri`,\n limitReached: \"Limite di caratteri raggiunto\",\n },\n countrySelect: {\n country: \"Paese\",\n search: \"Cerca paese\",\n others: \"Altri paesi\",\n },\n inlineEdit: {\n edit: (label) => `Modifica ${label}`,\n failed: \"Non è stato possibile salvare la modifica.\",\n empty: \"Vuoto\",\n },\n ibanInput: {\n format: \"Un IBAN inizia con un codice paese di due lettere e due cifre di controllo.\",\n country: (code) => `«${code}» non è il codice paese di un IBAN.`,\n length: (actual, expected) =>\n `Un IBAN di questo paese ha ${n(expected)} caratteri, questo ne ha ${n(actual)}.`,\n checksum: \"Le cifre di controllo non corrispondono: probabilmente un carattere è stato digitato male.\",\n qrRequired: \"Questo è un IBAN normale. Una QR-fattura richiede il QR-IBAN del conto.\",\n qrNotAllowed:\n \"Questo è un QR-IBAN, che riceve solo pagamenti con QR-fattura. Inserisca l’IBAN normale del conto.\",\n },\n phoneInput: {\n countryCode: \"Prefisso internazionale\",\n other: \"Altro\",\n },\n signChip: {\n outflow: \"Uscita\",\n inflow: \"Entrata\",\n // \"premere per…\": an instruction without a tu imperative, as the kit's Italian is formal.\n direction: (current, next) => `Direzione: ${current} – premere per passare a ${next}`,\n },\n columnMapper: {\n paste: \"Incolla una tabella\",\n pasteHint:\n \"Copi le righe da un foglio di calcolo e le incolli qui, oppure trascini un file CSV o di testo.\",\n chooseFile: \"Scegli un file\",\n readError: (name) => `Impossibile leggere «${name}»`,\n headerRow: \"La prima riga contiene i nomi delle colonne\",\n summary: (columns, rows) =>\n `${n(columns)} ${plural(columns, \"colonna\", \"colonne\")}, ${n(rows)} ${plural(rows, \"riga\", \"righe\")}`,\n // Fragments of the summary line. \"Separato da…\" would have to agree with a noun the\n // line does not name, so the separator is stated as a value.\n separatorSemicolon: \"separatore: punto e virgola\",\n separatorComma: \"separatore: virgola\",\n separatorTab: \"separatore: tabulazione\",\n separatorSpace: \"separatore: spazio\",\n // The examples stay as written: they show the convention, not the reader's locale.\n decimalComma: \"virgola decimale (1,5)\",\n decimalPoint: \"punto decimale (1.5)\",\n unreadCount: (count) =>\n count === 1 ? \"Impossibile leggere 1 riga\" : `Impossibile leggere ${n(count)} righe`,\n unreadLine: (line) => `Impossibile leggere la riga ${line}`,\n unreadMore: (count) => (count === 1 ? \"…e un’altra\" : `…e altre ${n(count)}`),\n noRows: \"Nessuna riga di questo testo si può leggere come riga della tabella.\",\n table: \"Colonne e relativi ruoli\",\n columnN: (column) => `Colonna ${column}`,\n roleOf: (column) => `Che cosa contiene la colonna «${column}»?`,\n ignore: \"Ignora\",\n requiredRole: (role) => `${role} (obbligatorio)`,\n requiredRoleShort: (role) => `${role} *`,\n previewOf: (shown, total) =>\n shown === 1\n ? `La prima di ${n(total)} righe`\n : `Le prime ${n(shown)} di ${n(total)} righe`,\n // `roles` arrives joined with \"o\" (\"Dare o Avere\").\n oneOf: (roles) => `${roles} (a scelta)`,\n // A participle phrase: no verb to agree with however many roles follow.\n missing: (roles) => `Ancora da assegnare: ${roles}.`,\n },\n translationReview: {\n statusMissing: \"Mancante\",\n statusUnreviewed: \"Non rivisto\",\n statusChanged: \"Modificato dopo la revisione\",\n statusNeedsChange: \"Da modificare\",\n statusApproved: \"Approvato\",\n statusFilter: \"Stato\",\n all: \"Tutti\",\n filterCount: (label, count) => `${label} · ${n(count)}`,\n source: \"Testi\",\n allSources: \"Tutti i testi\",\n namespace: \"Area\",\n allNamespaces: \"Tutte le aree\",\n search: \"Cerca nelle chiavi e nei testi\",\n placeholdersOnly: (count) => `Solo problemi di segnaposto (${n(count)})`,\n placeholderChip: \"Segnaposto\",\n key: \"Chiave\",\n statusColumn: \"Stato\",\n empty: \"Nessun testo corrisponde a questi filtri.\",\n missingText: \"Mancante in questa lingua\",\n progress: (approved, total) => `${n(approved)} di ${n(total)} ${plural(approved, \"approvato\", \"approvati\")}`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n locales: \"Lingue\",\n approve: \"Approva\",\n flag: \"Da modificare\",\n suggest: \"Proponi una traduzione\",\n reset: \"Segna come non rivisto\",\n cancel: \"Annulla\",\n approveSelected: \"Approva i selezionati\",\n resetSelected: \"Segna i selezionati come non rivisti\",\n selectShown: \"Seleziona tutti quelli mostrati\",\n changedSince: \"Questo testo è stato modificato dopo la revisione. Lo rilegga, per favore.\",\n reviewedWording: \"Formulazione al momento della revisione\",\n reviewedReference: \"Riferimento al momento della revisione\",\n placeholderMismatch: (reference, text) =>\n `I segnaposto differiscono dal riferimento — riferimento: ${reference}; questo testo: ${text}. L’app vi inserisce dei valori, quindi devono restare esattamente come sono.`,\n lastApproved: (name, date) => `Approvato da ${name} il ${date}`,\n lastFlagged: (name, date) => `Segnato da modificare da ${name} il ${date}`,\n erasedReviewer: \"un account eliminato\",\n suggestion: \"Formulazione migliore\",\n translation: \"Traduzione\",\n note: \"Nota (facoltativa)\",\n notePlaceholder: \"Cosa non va, o di cosa tenere conto\",\n readOnly: \"Può leggere questa lingua, ma non rivederla.\",\n scope: (areas) => `La Sua revisione è limitata a: ${areas}.`,\n exportCorrections: (count) => `Esporta le correzioni (${n(count)})`,\n failed: \"Non ha funzionato. Riprovi.\",\n approvedToast: (count) => (count === 1 ? \"Testo approvato\" : `${n(count)} testi approvati`),\n groupCount: (unreviewed, total) =>\n `${n(unreviewed)} ${plural(unreviewed, \"non rivisto\", \"non rivisti\")} / ${n(total)}`,\n approveGroup: (count) => `Approva i non rivisti (${n(count)})`,\n confirmGroup: (count, group) =>\n count === 1\n ? `Approvare il testo non rivisto in «${group}»?`\n : `Approvare tutti i ${n(count)} testi non rivisti in «${group}», compresi quelli non visibili sullo schermo?`,\n },\n };\n}\n\nexport const UI_KIT_LABELS_IT: UiKitLabels = uiKitLabelsIt();\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/i18n/locales/it.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Italian: every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_IT}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `it-IT` digits; {@link uiKitLabelsIt} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsIt(numberLocale = \"it-IT\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n const plural = (count: number, one: string, many: string) => (count === 1 ? one : many);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"Allega immagine\",\n attachmentCapture: \"Cattura schermata\",\n attachmentPaste: \"…oppure incolli uno screenshot dagli appunti.\",\n attachmentRemove: \"Rimuovi allegato\",\n attachmentList: \"Allegati\",\n attachmentScreenshot: \"Screenshot\",\n attachmentRemoveFile: (name) => `Rimuovi ${name}`,\n attachmentLimit: (max) => `Massimo ${n(max)} ${max === 1 ? \"allegato\" : \"allegati\"}: ne rimuova uno per aggiungerne un altro.`,\n attachmentUploading: \"Caricamento…\",\n attachmentUploadFailed: (name) => `Impossibile caricare «${name}»`,\n },\n feedbackDialog: {\n title: \"Invia feedback\",\n category: \"Categoria\",\n subject: \"Oggetto\",\n body: \"Cosa è successo?\",\n bodyOptional: \"Cosa è successo? (facoltativo)\",\n attachment: \"Screenshot\",\n submitHint: \"Ctrl/⌘ + Invio per inviare\",\n cancel: \"Annulla\",\n save: \"Invia\",\n },\n feedbackThread: {\n thread: \"Commenti\",\n empty: \"Ancora nessun commento\",\n loading: \"Caricamento dei commenti…\",\n you: \"Lei\",\n staff: \"Team\",\n attachments: \"Allegati\",\n },\n feedbackComposer: {\n field: \"Scriva un commento\",\n placeholder: \"Scriva un commento…\",\n send: \"Invia\",\n sendHint: (modifier) => `${modifier} + Invio per inviare`,\n sendHintEnter: \"Invio per inviare, Maiusc + Invio per andare a capo\",\n },\n accountSettings: {\n profile: {\n title: \"Profilo\",\n email: \"Email\",\n role: \"Ruolo\",\n memberSince: \"Membro dal\",\n displayName: \"Nome visualizzato\",\n save: \"Salva\",\n },\n password: {\n title: \"Cambia password\",\n current: \"Password attuale\",\n next: \"Nuova password\",\n confirm: \"Conferma la nuova password\",\n submit: \"Cambia password\",\n tooShort: \"La nuova password è troppo corta.\",\n mismatch: \"Le password non coincidono.\",\n },\n twoFactor: {\n status: \"Autenticazione a due fattori\",\n enabledText: \"Attiva\",\n disabledText: \"Non attiva\",\n enable: \"Configura l’autenticazione a due fattori\",\n scanHint:\n \"Scansioni questo codice con la Sua app di autenticazione, poi inserisca il codice che mostra.\",\n codeLabel: \"Codice di verifica\",\n verify: \"Verifica e attiva\",\n disableSection: \"Disattiva l’autenticazione a due fattori\",\n password: \"Password attuale\",\n disable: \"Disattiva\",\n qrAlt: \"Codice QR per la Sua app di autenticazione\",\n secretHint: \"Non riesce a scansionarlo? Inserisca invece questa chiave nell’app:\",\n copySecret: \"Copia chiave\",\n },\n passkeys: {\n title: \"Passkey\",\n description: \"Acceda con impronta, volto o PIN del dispositivo invece che con una password.\",\n descriptionAlongside: \"Acceda con impronta, volto o PIN del dispositivo. La Sua password continua a funzionare.\",\n empty: \"Ancora nessuna passkey\",\n loading: \"Caricamento delle passkey…\",\n list: \"Le Sue passkey\",\n nameLabel: \"Nome (facoltativo)\",\n namePlaceholder: \"ad es. Portatile, Telefono\",\n add: \"Aggiungi passkey\",\n adding: \"In attesa del dispositivo…\",\n rename: \"Rinomina\",\n renameItem: (name) => `Rinomina ${name}`,\n renameField: (name) => `Nuovo nome per ${name}`,\n save: \"Salva\",\n cancel: \"Annulla\",\n delete: \"Elimina\",\n deleteItem: (name) => `Elimina ${name}`,\n deleteConfirm: (name) => `Eliminare «${name}»? Non potrà più essere usata per accedere.`,\n confirmDelete: \"Elimina passkey\",\n created: (date) => `Aggiunta il ${date}`,\n lastUsed: (date) => `Ultimo uso: ${date}`,\n neverUsed: \"Mai usata\",\n },\n },\n measuredGrid: {\n view: \"Vista tabella\",\n cellsView: \"Celle\",\n textView: \"Testo\",\n addRow: \"Aggiungi riga\",\n removeRow: (row) => `Rimuovi riga ${row}`,\n clear: \"Svuota tabella\",\n pasteHint: \"Incolli un blocco da un foglio di calcolo in qualsiasi cella\",\n cell: (column, row) => `${column}, riga ${row}`,\n rowNumber: \"Riga\",\n rowActions: \"Azioni riga\",\n keyboardHint:\n \"I tasti freccia spostano tra le celle. Digiti per sostituire una cella, F2 per modificarla, Esc per annullare la modifica. Invio scende e aggiunge una riga alla fine.\",\n lineError: (line) => `Impossibile leggere la riga ${line}`,\n points: (count) => (count === 1 ? \"1 punto\" : `${count} punti`),\n problems: (count) =>\n count === 1 ? \"1 cella non è un numero\" : `${count} celle non sono numeri`,\n },\n pageContents: { title: \"In questa pagina\" },\n common: {\n dismiss: \"Chiudi\",\n close: \"Chiudi\",\n clear: \"Cancella\",\n search: \"Cerca\",\n done: \"Fine\",\n cancel: \"Annulla\",\n save: \"Salva\",\n back: \"Indietro\",\n next: \"Avanti\",\n remove: \"Rimuovi\",\n loading: \"Caricamento…\",\n noResults: \"Nessun risultato\",\n fieldValue: (field, value) => `${field}: ${value}`,\n opensInNewTab: \"si apre in una nuova scheda\",\n },\n dataTable: {\n columns: \"Colonne\",\n selectAllRows: \"Seleziona tutte le righe\",\n sortHint: \"Faccia clic per ordinare · Maiusc+clic per aggiungere un ordinamento\",\n filter: \"Filtra\",\n close: \"Chiudi\",\n selectRow: \"Seleziona riga\",\n autoSize: \"Adatta larghezza colonne\",\n loading: \"Caricamento…\",\n filters: \"Filtri\",\n clearAll: \"Cancella tutto\",\n done: \"Fine\",\n pageSize: \"Righe per pagina\",\n pageSizeAll: \"Tutte\",\n prevPage: \"Pagina precedente\",\n nextPage: \"Pagina successiva\",\n clearFilter: \"Cancella filtro\",\n filterPlaceholder: \"Filtra…\",\n selectFilter: \"Seleziona\",\n selectAll: \"Tutti\",\n selectNone: \"Nessuno\",\n dateFrom: \"Dal\",\n dateTo: \"Al\",\n numberMin: \"Min\",\n numberMax: \"Max\",\n numberAbs: \"Valore assoluto\",\n presets: {\n today: \"Oggi\",\n yesterday: \"Ieri\",\n this_week: \"Questa settimana\",\n last_week: \"Settimana scorsa\",\n last_7_days: \"Ultimi 7 giorni\",\n last_30_days: \"Ultimi 30 giorni\",\n this_month: \"Questo mese\",\n last_month: \"Mese scorso\",\n last_3_months: \"Ultimi 3 mesi\",\n ytd: \"Da inizio anno\",\n last_year: \"Anno scorso\",\n },\n table: \"Tabella dati\",\n filterResults: (shown, total) =>\n `${n(shown)} di ${n(total)} ${plural(total, \"riga\", \"righe\")}`,\n sortedAscending: (column) => `Ordinato per ${column}, crescente`,\n sortedDescending: (column) => `Ordinato per ${column}, decrescente`,\n sortCleared: (column) => `Ordinamento per ${column} rimosso`,\n pageChanged: (page, totalPages) => `Pagina ${n(page)} di ${n(totalPages)}`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `Colonne (${n(visible)}/${n(total)})`,\n empty: \"Nessuna voce\",\n actions: \"Azioni\",\n edit: \"Modifica\",\n delete: \"Elimina\",\n booleanTrue: \"Sì\",\n booleanFalse: \"No\",\n booleanUnset: \"Non impostato\",\n sortBy: \"Ordina per\",\n sortDefault: \"Ordine predefinito\",\n sortAscending: \"Crescente\",\n sortDescending: \"Decrescente\",\n },\n miniCalendar: {\n previousMonth: \"Mese precedente\",\n nextMonth: \"Mese successivo\",\n // Already formatted in the provider's locale (\"lunedì 14 settembre 2026\").\n day: (date) => date,\n chooseStart: \"Scelga una data di inizio\",\n chooseEnd: \"Scelga una data di fine\",\n // \"Data\" is feminine and the formatted day cannot agree with a participle, so the\n // date follows a label instead of being the subject.\n startSelected: (date) => `Data di inizio: ${date}. Scelga una data di fine.`,\n rangeSelected: (from, to) =>\n `Periodo selezionato: da ${from} a ${to}. Scelga una data di inizio per ricominciare.`,\n },\n monthPicker: {\n previousYear: \"Anno precedente\",\n nextYear: \"Anno successivo\",\n panel: \"Scegli un mese\",\n month: (monthYear) => monthYear,\n previousMonth: \"Mese precedente\",\n nextMonth: \"Mese successivo\",\n today: \"Oggi\",\n yearPanel: \"Scegli un anno\",\n earlierYears: \"Anni precedenti\",\n laterYears: \"Anni successivi\",\n thisYear: \"Quest’anno\",\n },\n calendarHeatmap: {\n grid: \"Valori giornalieri\",\n day: (date, value) => `${date}: ${value}`,\n less: \"Meno\",\n more: \"Più\",\n truncated: (count) =>\n `Vengono mostrati i giorni più recenti; ${count === 1 ? \"1 giorno precedente non è mostrato\" : `${n(count)} giorni precedenti non sono mostrati`}.`,\n },\n datePicker: {\n apply: \"Applica\",\n cancel: \"Annulla\",\n presets: \"Intervalli rapidi\",\n panel: \"Scegli una data\",\n rangePanel: \"Scegli un intervallo di date\",\n clear: \"Cancella\",\n previousDay: \"Giorno precedente\",\n nextDay: \"Giorno successivo\",\n today: \"Oggi\",\n },\n popover: {\n panel: \"Finestra a comparsa\",\n },\n combobox: {\n search: \"Cerca\",\n noResults: \"Nessun risultato\",\n clear: \"Cancella\",\n loading: \"Caricamento…\",\n create: (query) => `Crea «${query}»`,\n selectedCount: (count) => `${n(count)} ${plural(count, \"selezionato\", \"selezionati\")}`,\n loadError: \"Impossibile caricare i risultati\",\n resultCount: (count) => `${n(count)} ${plural(count, \"risultato\", \"risultati\")}`,\n minChars: (count) => `Digiti almeno ${n(count)} ${plural(count, \"carattere\", \"caratteri\")}`,\n },\n multiSelect: {\n search: \"Cerca\",\n selectAll: \"Seleziona tutto\",\n clear: \"Cancella\",\n all: \"Tutti\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"Apri calcolatrice\",\n panel: \"Calcolatrice\",\n calculation: \"Calcolo\",\n backspace: \"Cancella ultimo carattere\",\n clear: \"Azzera\",\n equals: \"Uguale\",\n done: \"Fine\",\n plus: \"Più\",\n minus: \"Meno\",\n times: \"Per\",\n divide: \"Diviso\",\n decimal: \"Separatore decimale\",\n },\n currency: {\n currency: \"Valuta\",\n search: \"Cerca valuta\",\n },\n chipInput: {\n // The quoted value is a citation; the participle agrees with the implied\n // \"elemento\" whatever the chip says.\n added: (value) => `«${value}» aggiunto`,\n removed: (value) => `«${value}» rimosso`,\n remove: \"Rimuovi\",\n atLimit: (max) => `Limite di ${n(max)} ${plural(max, \"elemento\", \"elementi\")} raggiunto`,\n duplicate: (value) => `«${value}» è già nell’elenco`,\n },\n swatchPicker: {\n none: \"Nessun colore\",\n mixed: \"Misto: gli elementi selezionati hanno colori diversi\",\n },\n iconPicker: {\n none: \"Nessuna icona\",\n mixed: \"Misto: gli elementi selezionati hanno icone diverse\",\n search: \"Cerca icone\",\n noResults: \"Nessuna icona corrispondente\",\n resultCount: (count) => `${n(count)} ${plural(count, \"icona\", \"icone\")}`,\n },\n fieldSync: {\n synced: \"Salvato\",\n edited: \"Modifiche non salvate\",\n pending: \"Salvataggio…\",\n error: \"Impossibile salvare\",\n retry: \"Riprova\",\n },\n passwordReveal: {\n show: \"Mostra password\",\n hide: \"Nascondi password\",\n },\n dangerConfirm: {\n arm: \"Elimina…\",\n confirm: \"Elimina\",\n cancel: \"Annulla\",\n prompt: \"Questa operazione non può essere annullata.\",\n password: \"Password\",\n phrase: (phrase) => `Digiti «${phrase}» per confermare`,\n acknowledge: \"Ho letto cosa comporta questa operazione e desidero continuare.\",\n needsPhrase: (phrase) => `Digiti «${phrase}» per confermare`,\n needsAcknowledge: \"Spunti la casella per confermare\",\n needsPassword: \"Inserisca la password per confermare\",\n },\n tabs: {\n add: \"Aggiungi scheda\",\n remove: (tab) => `Rimuovi ${tab}`,\n },\n appShell: {\n collapse: \"Comprimi barra laterale\",\n expand: \"Espandi barra laterale\",\n toggleGroup: (groupLabel) => `${groupLabel}: pagine`,\n },\n topBar: {\n theme: \"Cambia tema\",\n palette: \"Preset di aspetto\",\n language: \"Lingua\",\n switchRole: \"Cambia ruolo\",\n role: (value) => `Ruolo: ${value}`,\n },\n pickerSheet: {\n close: \"Chiudi\",\n },\n dialogFrame: {\n close: \"Chiudi\",\n },\n bulkActionBar: {\n selected: (count) => `${n(count)} ${count === 1 ? \"selezionato\" : \"selezionati\"}`,\n clear: \"Annulla selezione\",\n cleared: \"Selezione annullata\",\n },\n swipeableRow: {\n actions: \"Azioni della riga\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale (\"3,4 MB\").\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"Caricamento file\",\n browse: \"Sfoglia\",\n empty: \"Trascini qui un file\",\n emptyMultiple: \"Trascini qui i file\",\n hint: (accept) => (accept ? `Accettati: ${accept}` : \"Qualsiasi tipo di file\"),\n busy: \"Caricamento…\",\n rejectedPick: (count) =>\n count === 1 ? \"Il file non è stato aggiunto\" : `Nessuno dei ${count} file è stato aggiunto`,\n // \"file\" is invariable in Italian (\"1 file\", \"3 file\"); only the verb agrees.\n rejectedType: (name) => `Il tipo di file di «${name}» non è supportato`,\n rejectedTypeOnly: (accept) => `Solo file ${accept}`,\n rejectedSize: (name, maxSize) => `«${name}» supera ${maxSize}`,\n rejectedCount: (name, maxFiles) =>\n `«${name}» non è stato aggiunto: al massimo ${n(maxFiles)} file`,\n rejectedInvalid: (name) => `«${name}» non può essere usato qui`,\n rejectedMany: (count) =>\n count === 1 ? \"1 file non è stato aggiunto\" : `${n(count)} file non sono stati aggiunti`,\n selected: (count, firstName) =>\n count === 1 ? `«${firstName}» selezionato` : `${n(count)} file selezionati`,\n remove: (name) => `Rimuovi «${name}»`,\n clearAll: \"Rimuovi tutti i file\",\n removed: (name) => `«${name}» rimosso`,\n cleared: \"Tutti i file rimossi\",\n },\n wizard: {\n done: \"Fine\",\n cancel: \"Annulla\",\n back: \"Indietro\",\n next: \"Avanti\",\n skip: \"Salta\",\n finish: \"Fine\",\n submitting: \"Creazione in corso…\",\n steps: \"Passaggi\",\n step: (current, total) => `Passaggio ${n(current)} di ${n(total)}`,\n cancelTitle: \"Scartare questo modulo?\",\n confirmCancel: \"I dati inseriti andranno persi.\",\n cancelConfirmLabel: \"Scarta\",\n cancelDismissLabel: \"Continua a modificare\",\n reviewTitle: \"Riepilogo\",\n edit: \"Modifica\",\n missingRequired: \"Compili tutti i campi obbligatori.\",\n genericError: \"Si è verificato un errore\",\n },\n tour: {\n next: \"Avanti\",\n back: \"Indietro\",\n skip: \"Salta\",\n done: \"Fine\",\n awaitClickHint: \"Faccia clic sull’elemento evidenziato per continuare\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"Cancella ricerca\",\n submit: \"Cerca\",\n close: \"Chiudi\",\n placeholder: \"Cerca…\",\n empty: \"Nessun risultato\",\n loading: \"Ricerca in corso…\",\n dialog: \"Ricerca\",\n error: \"Ricerca non riuscita. Riprovi.\",\n },\n globalSearch: {\n trigger: \"Cerca\",\n placeholder: \"Cerca o vai a…\",\n shortcut: (keys) => `Cerca (${keys})`,\n suggestions: \"Provi\",\n results: \"Risultati\",\n },\n sparkline: {\n rising: (first, last) => `In aumento da ${first} a ${last}`,\n falling: (first, last) => `In calo da ${first} a ${last}`,\n flat: (value) => `Stabile a ${value}`,\n single: (value) => `Un solo valore: ${value}`,\n noData: \"Nessun dato\",\n named: (name, summary) => `${name}: ${summary}`,\n },\n statTile: {\n increase: (amount) => `In aumento di ${amount}`,\n decrease: (amount) => `In calo di ${amount}`,\n unchanged: \"Nessuna variazione\",\n better: (change) => `${change} (favorevole)`,\n worse: (change) => `${change} (sfavorevole)`,\n noValue: \"Nessun dato\",\n loading: \"Caricamento…\",\n },\n signaturePad: {\n label: \"Firma\",\n instructions: \"Firmi nel riquadro con il mouse, il dito o una penna.\",\n typedFallbackHint: \"Se non può disegnare, scriva invece il Suo nome.\",\n empty: \"Ancora nessun tratto\",\n signed: \"Firma tracciata\",\n undo: \"Annulla l’ultimo tratto\",\n clear: \"Cancella\",\n save: \"Salva firma\",\n useTyped: \"Scrivi il nome\",\n useDrawn: \"Disegna la firma\",\n typedName: \"Nome e cognome\",\n cleared: \"Firma cancellata\",\n undone: \"Ultimo tratto rimosso\",\n viewEmpty: \"Non firmato\",\n viewDrawn: \"Firma autografa\",\n viewTyped: (name) => `Firmato con il nome digitato ${name}`,\n },\n passwordStrength: {\n // Agrees with \"password\" (feminine in Italian).\n tooShort: \"Troppo corta\",\n weak: \"Debole\",\n fair: \"Discreta\",\n good: \"Buona\",\n strong: \"Forte\",\n announcement: (level) => `Sicurezza della password: ${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) =>\n `Almeno ${minLength} ${plural(minLength, \"carattere\", \"caratteri\")}`,\n ruleCase: \"Maiuscole e minuscole\",\n ruleDigit: \"Un numero\",\n ruleSymbol: \"Un simbolo\",\n optional: (rule) => `${rule} (facoltativo)`,\n met: \"Soddisfatto:\",\n notMet: \"Non soddisfatto:\",\n tooLong: (maxBytes) =>\n `Al massimo ${maxBytes} ${plural(maxBytes, \"carattere\", \"caratteri\")} (le lettere accentate e le emoji contano più di uno).`,\n },\n seriesChart: {\n resetZoom: \"Reimposta zoom\",\n zoomHint:\n \"Trascini per ingrandire: una selezione più o meno quadrata ingrandisce entrambi gli assi, una lunga e sottile solo il proprio. Faccia doppio clic per ripristinare.\",\n empty: \"Nessun dato\",\n legend: \"Serie\",\n points: \"Valori del grafico\",\n },\n pieChart: {\n slices: \"Settori del grafico\",\n slice: (label, value, percent) => `${label}: ${value} (${percent})`,\n total: \"Totale\",\n empty: \"Nessun dato\",\n legend: \"Categorie\",\n },\n confirmDialog: {\n confirm: \"Conferma\",\n cancel: \"Annulla\",\n typed: (text) => `Digiti «${text}» per confermare`,\n },\n floatingPanel: {\n close: \"Chiudi\",\n badge: (count) => `${n(count)} ${plural(count, \"nuovo\", \"nuovi\")}`,\n },\n copyButton: {\n copy: \"Copia\",\n copied: \"Copiato\",\n failed: \"Copia non riuscita\",\n copiedAnnouncement: \"Copiato negli appunti\",\n failedAnnouncement: \"Impossibile copiare negli appunti\",\n },\n list: {\n unread: \"Non letto\",\n opensInNewTab: \"si apre in una nuova scheda\",\n },\n breadcrumbs: {\n label: \"Percorso di navigazione\",\n showAll: \"Mostra percorso completo\",\n },\n toast: {\n close: \"Chiudi notifica\",\n notifications: \"Notifiche\",\n undo: \"Annulla\",\n redo: \"Ripeti\",\n },\n form: {\n save: \"Salva\",\n cancel: \"Annulla\",\n submitShortcut: (apple) => (apple ? \"⌘ Invio\" : \"Ctrl+Invio\"),\n },\n descriptionList: {\n empty: \"—\",\n },\n lineItems: {\n add: \"Aggiungi riga\",\n remove: (row) => `Rimuovi riga ${row}`,\n confirmRemove: (row) => `Rimuovere la riga ${row}? Prema di nuovo per confermare`,\n row: (row) => `Riga ${row}`,\n cell: (column, row) => `${column}, riga ${row}`,\n totals: \"Totale\",\n },\n progressBar: {\n unlimited: \"Illimitato\",\n overLimit: (amount) => `${amount} oltre il limite`,\n },\n signedAmount: {\n positive: (amount) => `più ${amount}`,\n negative: (amount) => `meno ${amount}`,\n },\n errorBoundary: {\n title: \"Si è verificato un errore\",\n message: \"Impossibile mostrare questa parte della pagina. Riprovi o ricarichi la pagina.\",\n retry: \"Riprova\",\n details: \"Dettagli dell’errore\",\n reload: \"Ricarica\",\n updateTitle: \"È disponibile una nuova versione\",\n updateMessage: \"Una parte dell’app è cambiata da quando questa pagina è stata caricata. Ricarichi per ottenere la nuova versione.\",\n offlineTitle: \"Nessuna connessione\",\n offlineMessage: \"Impossibile caricare questa pagina senza connessione. Si riconnetta, poi ricarichi la pagina.\",\n copyReport: \"Copia il rapporto di errore\",\n reported: \"L’errore è stato segnalato automaticamente.\",\n reportedAs: (reference) => `Segnalato con riferimento ${reference}`,\n },\n authedImage: {\n loading: \"Caricamento immagine…\",\n loadError: \"Impossibile caricare l’immagine\",\n failedImage: (alt) => `${alt}: impossibile caricare l’immagine`,\n },\n imageGrid: {\n list: \"Immagini\",\n item: (index, count) => `Immagine ${n(index)} di ${n(count)}`,\n actions: (name) => `Azioni per ${name}`,\n },\n lightbox: {\n dialog: \"Visualizzatore immagini\",\n close: \"Chiudi\",\n previous: \"Immagine precedente\",\n next: \"Immagine successiva\",\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `Immagine ${n(index)} di ${n(count)}`,\n download: \"Scarica\",\n zoom: \"Ingrandisci\",\n noPreview: \"Nessuna anteprima disponibile per questo file\",\n openInNewTab: \"Apri in una nuova scheda\",\n },\n writeLock: {\n reason: \"Può visualizzarlo, ma non modificarlo.\",\n },\n accountState: {\n // Agreeing with \"account\" (masculine): the chip is the state of an account.\n active: \"Attivo\",\n inactive: \"Non attivo\",\n invited: \"Invitato\",\n registered: \"Registrato\",\n unverified: \"Non verificato\",\n passwordChange: \"Deve cambiare la password\",\n },\n shareCard: {\n dialogTitle: \"Condividi\",\n close: \"Chiudi\",\n email: \"Indirizzo email\",\n emailOptional: \"Indirizzo email (facoltativo)\",\n // example.com is reserved for examples (RFC 2606); a localised domain is real.\n emailPlaceholder: \"nome@example.com\",\n invalidEmail: \"Inserisca un indirizzo email completo.\",\n role: \"Ruolo\",\n roleOf: (name) => `Ruolo di ${name}`,\n add: \"Condividi\",\n whoHasAccess: \"Chi ha accesso\",\n nobodyYet: \"Nessun altro ha ancora accesso.\",\n pending: \"In attesa\",\n openInvite: \"Link di invito aperto\",\n copyLink: \"Copia link\",\n team: \"Team\",\n teamHint: (name) => `Tutti i membri di ${name} avranno accesso.`,\n remove: \"Rimuovi accesso\",\n removeConfirm: (name) => `Rimuovere l’accesso di ${name}?`,\n revokePending: \"Ritira invito\",\n revokePendingConfirm: (name) => `Ritirare l’invito per ${name}?`,\n failed: \"Non ha funzionato. Riprovi.\",\n loading: \"Caricamento…\",\n },\n reauthDialog: {\n title: \"Confermi la Sua identità\",\n description: \"Inserisca la password attuale per continuare.\",\n password: \"Password attuale\",\n submit: \"Continua\",\n cancel: \"Annulla\",\n },\n serverWake: {\n slow: \"Caricamento in corso: ci vuole più del solito.\",\n waking: (appName) =>\n `Il server va in sospensione quando nessuno usa ${appName ?? \"l’app\"}, quindi la prima richiesta dopo una pausa deve riavviarlo. Può volerci un momento: non si perde nulla, la pagina si completa da sola.`,\n },\n legal: {\n navLabel: \"Note legali\",\n },\n characterCount: {\n count: (used, max) => `${n(used)} di ${n(max)} ${plural(max, \"carattere\", \"caratteri\")}`,\n remaining: (left) =>\n left === 1 ? \"Resta 1 carattere\" : `Restano ${n(left)} caratteri`,\n limitReached: \"Limite di caratteri raggiunto\",\n },\n countrySelect: {\n country: \"Paese\",\n search: \"Cerca paese\",\n others: \"Altri paesi\",\n },\n inlineEdit: {\n edit: (label) => `Modifica ${label}`,\n failed: \"Non è stato possibile salvare la modifica.\",\n empty: \"Vuoto\",\n },\n ibanInput: {\n format: \"Un IBAN inizia con un codice paese di due lettere e due cifre di controllo.\",\n country: (code) => `«${code}» non è il codice paese di un IBAN.`,\n length: (actual, expected) =>\n `Un IBAN di questo paese ha ${n(expected)} caratteri, questo ne ha ${n(actual)}.`,\n checksum: \"Le cifre di controllo non corrispondono: probabilmente un carattere è stato digitato male.\",\n qrRequired: \"Questo è un IBAN normale. Una QR-fattura richiede il QR-IBAN del conto.\",\n qrNotAllowed:\n \"Questo è un QR-IBAN, che riceve solo pagamenti con QR-fattura. Inserisca l’IBAN normale del conto.\",\n },\n phoneInput: {\n countryCode: \"Prefisso internazionale\",\n other: \"Altro\",\n },\n signChip: {\n outflow: \"Uscita\",\n inflow: \"Entrata\",\n // \"premere per…\": an instruction without a tu imperative, as the kit's Italian is formal.\n direction: (current, next) => `Direzione: ${current} – premere per passare a ${next}`,\n },\n columnMapper: {\n paste: \"Incolla una tabella\",\n pasteHint:\n \"Copi le righe da un foglio di calcolo e le incolli qui, oppure trascini un file CSV o di testo.\",\n chooseFile: \"Scegli un file\",\n readError: (name) => `Impossibile leggere «${name}»`,\n headerRow: \"La prima riga contiene i nomi delle colonne\",\n summary: (columns, rows) =>\n `${n(columns)} ${plural(columns, \"colonna\", \"colonne\")}, ${n(rows)} ${plural(rows, \"riga\", \"righe\")}`,\n // Fragments of the summary line. \"Separato da…\" would have to agree with a noun the\n // line does not name, so the separator is stated as a value.\n separatorSemicolon: \"separatore: punto e virgola\",\n separatorComma: \"separatore: virgola\",\n separatorTab: \"separatore: tabulazione\",\n separatorSpace: \"separatore: spazio\",\n // The examples stay as written: they show the convention, not the reader's locale.\n decimalComma: \"virgola decimale (1,5)\",\n decimalPoint: \"punto decimale (1.5)\",\n unreadCount: (count) =>\n count === 1 ? \"Impossibile leggere 1 riga\" : `Impossibile leggere ${n(count)} righe`,\n unreadLine: (line) => `Impossibile leggere la riga ${line}`,\n unreadMore: (count) => (count === 1 ? \"…e un’altra\" : `…e altre ${n(count)}`),\n noRows: \"Nessuna riga di questo testo si può leggere come riga della tabella.\",\n table: \"Colonne e relativi ruoli\",\n columnN: (column) => `Colonna ${column}`,\n roleOf: (column) => `Che cosa contiene la colonna «${column}»?`,\n ignore: \"Ignora\",\n requiredRole: (role) => `${role} (obbligatorio)`,\n requiredRoleShort: (role) => `${role} *`,\n previewOf: (shown, total) =>\n shown === 1\n ? `La prima di ${n(total)} righe`\n : `Le prime ${n(shown)} di ${n(total)} righe`,\n // `roles` arrives joined with \"o\" (\"Dare o Avere\").\n oneOf: (roles) => `${roles} (a scelta)`,\n // A participle phrase: no verb to agree with however many roles follow.\n missing: (roles) => `Ancora da assegnare: ${roles}.`,\n },\n translationReview: {\n statusMissing: \"Mancante\",\n statusUnreviewed: \"Non rivisto\",\n statusChanged: \"Modificato dopo la revisione\",\n statusNeedsChange: \"Da modificare\",\n statusApproved: \"Approvato\",\n statusFilter: \"Stato\",\n all: \"Tutti\",\n filterCount: (label, count) => `${label} · ${n(count)}`,\n source: \"Testi\",\n allSources: \"Tutti i testi\",\n namespace: \"Area\",\n allNamespaces: \"Tutte le aree\",\n search: \"Cerca nelle chiavi e nei testi\",\n placeholdersOnly: (count) => `Solo problemi di segnaposto (${n(count)})`,\n placeholderChip: \"Segnaposto\",\n key: \"Chiave\",\n statusColumn: \"Stato\",\n empty: \"Nessun testo corrisponde a questi filtri.\",\n missingText: \"Mancante in questa lingua\",\n progress: (approved, total) => `${n(approved)} di ${n(total)} ${plural(approved, \"approvato\", \"approvati\")}`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n locales: \"Lingue\",\n approve: \"Approva\",\n flag: \"Da modificare\",\n suggest: \"Proponi una traduzione\",\n reset: \"Segna come non rivisto\",\n cancel: \"Annulla\",\n approveSelected: \"Approva i selezionati\",\n resetSelected: \"Segna i selezionati come non rivisti\",\n selectShown: \"Seleziona tutti quelli mostrati\",\n changedSince: \"Questo testo è stato modificato dopo la revisione. Lo rilegga, per favore.\",\n reviewedWording: \"Formulazione al momento della revisione\",\n reviewedReference: \"Riferimento al momento della revisione\",\n placeholderMismatch: (reference, text) =>\n `I segnaposto differiscono dal riferimento — riferimento: ${reference}; questo testo: ${text}. L’app vi inserisce dei valori, quindi devono restare esattamente come sono.`,\n lastApproved: (name, date) => `Approvato da ${name} il ${date}`,\n lastFlagged: (name, date) => `Segnato da modificare da ${name} il ${date}`,\n erasedReviewer: \"un account eliminato\",\n suggestion: \"Formulazione migliore\",\n translation: \"Traduzione\",\n note: \"Nota (facoltativa)\",\n notePlaceholder: \"Cosa non va, o di cosa tenere conto\",\n readOnly: \"Può leggere questa lingua, ma non rivederla.\",\n scope: (areas) => `La Sua revisione è limitata a: ${areas}.`,\n exportCorrections: (count) => `Esporta le correzioni (${n(count)})`,\n failed: \"Non ha funzionato. Riprovi.\",\n approvedToast: (count) => (count === 1 ? \"Testo approvato\" : `${n(count)} testi approvati`),\n clearedToast: (count) => (count === 1 ? \"Testo segnato come non rivisto\" : `${n(count)} testi segnati come non rivisti`),\n groupCount: (unreviewed, total) =>\n `${n(unreviewed)} ${plural(unreviewed, \"non rivisto\", \"non rivisti\")} / ${n(total)}`,\n approveGroup: (count) => `Approva i non rivisti (${n(count)})`,\n confirmGroup: (count, group) =>\n count === 1\n ? `Approvare il testo non rivisto in «${group}»?`\n : `Approvare tutti i ${n(count)} testi non rivisti in «${group}», compresi quelli non visibili sullo schermo?`,\n },\n };\n}\n\nexport const UI_KIT_LABELS_IT: UiKitLabels = uiKitLabelsIt();\n"],"mappings":"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","names":[]}
|
package/dist/i18n/locales/zh.js
CHANGED
|
@@ -731,6 +731,7 @@ function uiKitLabelsZh(numberLocale = "zh-CN") {
|
|
|
731
731
|
exportCorrections: (count) => `\u5BFC\u51FA\u66F4\u6B63\uFF08${n(count)}\uFF09`,
|
|
732
732
|
failed: "\u64CD\u4F5C\u672A\u6210\u529F\uFF0C\u8BF7\u91CD\u8BD5\u3002",
|
|
733
733
|
approvedToast: (count) => count === 1 ? "\u6587\u672C\u5DF2\u901A\u8FC7" : `\u5DF2\u901A\u8FC7 ${n(count)} \u6761\u6587\u672C`,
|
|
734
|
+
clearedToast: (count) => count === 1 ? "\u6587\u672C\u5DF2\u6807\u8BB0\u4E3A\u672A\u5BA1\u6821" : `\u5DF2\u5C06 ${n(count)} \u6761\u6587\u672C\u6807\u8BB0\u4E3A\u672A\u5BA1\u6821`,
|
|
734
735
|
groupCount: (unreviewed, total) => `\u672A\u5BA1\u6821 ${n(unreviewed)} / ${n(total)}`,
|
|
735
736
|
approveGroup: (count) => `\u901A\u8FC7\u672A\u5BA1\u6821\u9879\uFF08${n(count)}\uFF09`,
|
|
736
737
|
confirmGroup: (count, group) => count === 1 ? `\u901A\u8FC7\u201C${group}\u201D\u4E2D\u7684\u672A\u5BA1\u6821\u6587\u672C\uFF1F` : `\u901A\u8FC7\u201C${group}\u201D\u4E2D\u5168\u90E8 ${n(count)} \u6761\u672A\u5BA1\u6821\u6587\u672C\uFF08\u5305\u62EC\u672A\u663E\u793A\u5728\u5C4F\u5E55\u4E0A\u7684\uFF09\uFF1F`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/i18n/locales/zh.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Chinese (Simplified): every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_ZH}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `zh-CN` digits; {@link uiKitLabelsZh} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsZh(numberLocale = \"zh-CN\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"附加图片\",\n attachmentCapture: \"截取屏幕\",\n attachmentPaste: \"……或从剪贴板粘贴截图。\",\n attachmentRemove: \"移除附件\",\n attachmentList: \"附件\",\n attachmentScreenshot: \"截图\",\n attachmentRemoveFile: (name) => `移除 ${name}`,\n attachmentLimit: (max) => `最多 ${n(max)} 个附件,请先移除一个再添加。`,\n attachmentUploading: \"正在上传…\",\n attachmentUploadFailed: (name) => `无法上传“${name}”`,\n },\n feedbackDialog: {\n title: \"发送反馈\",\n category: \"类别\",\n subject: \"主题\",\n body: \"发生了什么?\",\n bodyOptional: \"发生了什么?(可选)\",\n attachment: \"截图\",\n submitHint: \"Ctrl/⌘ + Enter 发送\",\n cancel: \"取消\",\n save: \"发送\",\n },\n feedbackThread: {\n thread: \"评论\",\n empty: \"暂无评论\",\n loading: \"正在加载评论…\",\n you: \"我\",\n staff: \"工作人员\",\n attachments: \"附件\",\n },\n feedbackComposer: {\n field: \"撰写评论\",\n placeholder: \"撰写评论…\",\n send: \"发送\",\n sendHint: (modifier) => `${modifier} + Enter 发送`,\n sendHintEnter: \"Enter 发送,Shift + Enter 换行\",\n },\n accountSettings: {\n profile: {\n title: \"个人资料\",\n email: \"电子邮箱\",\n role: \"角色\",\n memberSince: \"注册时间\",\n displayName: \"显示名称\",\n save: \"保存\",\n },\n password: {\n title: \"修改密码\",\n current: \"当前密码\",\n next: \"新密码\",\n confirm: \"确认新密码\",\n submit: \"修改密码\",\n tooShort: \"新密码太短。\",\n mismatch: \"两次输入的密码不一致。\",\n },\n twoFactor: {\n status: \"双重验证\",\n enabledText: \"已开启\",\n disabledText: \"未开启\",\n enable: \"设置双重验证\",\n scanHint: \"请用身份验证器应用扫描此二维码,然后输入应用显示的验证码。\",\n codeLabel: \"验证码\",\n verify: \"验证并开启\",\n disableSection: \"关闭双重验证\",\n password: \"当前密码\",\n disable: \"关闭\",\n qrAlt: \"身份验证器应用的二维码\",\n secretHint: \"无法扫描?请改为在应用中输入此密钥:\",\n copySecret: \"复制密钥\",\n },\n passkeys: {\n title: \"通行密钥\",\n description: \"使用指纹、面容或设备 PIN 登录,无需密码。\",\n descriptionAlongside: \"使用指纹、面容或设备 PIN 登录,密码仍可照常使用。\",\n empty: \"暂无通行密钥\",\n loading: \"正在加载通行密钥…\",\n list: \"已注册的通行密钥\",\n nameLabel: \"名称(可选)\",\n namePlaceholder: \"例如:笔记本电脑、手机\",\n add: \"添加通行密钥\",\n adding: \"正在等待设备…\",\n rename: \"重命名\",\n renameItem: (name) => `重命名 ${name}`,\n renameField: (name) => `${name} 的新名称`,\n save: \"保存\",\n cancel: \"取消\",\n delete: \"删除\",\n deleteItem: (name) => `删除 ${name}`,\n deleteConfirm: (name) => `删除“${name}”?删除后将无法再用它登录。`,\n confirmDelete: \"删除通行密钥\",\n created: (date) => `添加于 ${date}`,\n lastUsed: (date) => `上次使用:${date}`,\n neverUsed: \"从未使用\",\n },\n },\n measuredGrid: {\n view: \"表格视图\",\n cellsView: \"单元格\",\n textView: \"文本\",\n addRow: \"添加行\",\n removeRow: (row) => `删除第 ${row} 行`,\n clear: \"清空表格\",\n pasteHint: \"可将电子表格中的一块数据粘贴到任意单元格\",\n cell: (column, row) => `${column},第 ${row} 行`,\n rowNumber: \"行\",\n rowActions: \"行操作\",\n keyboardHint:\n \"方向键在单元格之间移动。直接输入替换单元格内容,F2 编辑,Esc 撤销编辑。回车向下移动,并在末尾添加一行。\",\n lineError: (line) => `无法读取第 ${line} 行`,\n points: (count) => `${count} 个点`,\n problems: (count) => `${count} 个单元格不是数字`,\n },\n pageContents: { title: \"本页目录\" },\n common: {\n dismiss: \"关闭\",\n close: \"关闭\",\n clear: \"清除\",\n search: \"搜索\",\n done: \"完成\",\n cancel: \"取消\",\n save: \"保存\",\n back: \"上一步\",\n next: \"下一步\",\n remove: \"移除\",\n loading: \"加载中…\",\n noResults: \"无结果\",\n // Full-width colon, no space after it.\n fieldValue: (field, value) => `${field}:${value}`,\n opensInNewTab: \"在新标签页中打开\",\n },\n dataTable: {\n columns: \"列\",\n selectAllRows: \"全选所有行\",\n sortHint: \"点击排序 · 按住 Shift 点击可添加排序\",\n filter: \"筛选\",\n close: \"关闭\",\n selectRow: \"选择行\",\n autoSize: \"自动调整列宽\",\n loading: \"加载中…\",\n filters: \"筛选条件\",\n clearAll: \"全部清除\",\n done: \"完成\",\n pageSize: \"每页行数\",\n pageSizeAll: \"全部\",\n prevPage: \"上一页\",\n nextPage: \"下一页\",\n clearFilter: \"清除筛选\",\n filterPlaceholder: \"筛选…\",\n selectFilter: \"选择\",\n selectAll: \"全部\",\n selectNone: \"无\",\n dateFrom: \"从\",\n dateTo: \"至\",\n numberMin: \"最小值\",\n numberMax: \"最大值\",\n numberAbs: \"绝对值\",\n presets: {\n today: \"今天\",\n yesterday: \"昨天\",\n this_week: \"本周\",\n last_week: \"上周\",\n last_7_days: \"最近 7 天\",\n last_30_days: \"最近 30 天\",\n this_month: \"本月\",\n last_month: \"上月\",\n last_3_months: \"最近 3 个月\",\n ytd: \"今年至今\",\n last_year: \"去年\",\n },\n table: \"数据表格\",\n filterResults: (shown, total) => `显示 ${n(shown)} 行,共 ${n(total)} 行`,\n sortedAscending: (column) => `已按“${column}”升序排序`,\n sortedDescending: (column) => `已按“${column}”降序排序`,\n sortCleared: (column) => `已取消“${column}”的排序`,\n pageChanged: (page, totalPages) => `第 ${n(page)} 页,共 ${n(totalPages)} 页`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `列(${n(visible)}/${n(total)})`,\n empty: \"暂无条目\",\n actions: \"操作\",\n edit: \"编辑\",\n delete: \"删除\",\n booleanTrue: \"是\",\n booleanFalse: \"否\",\n booleanUnset: \"未设置\",\n sortBy: \"排序依据\",\n sortDefault: \"默认顺序\",\n sortAscending: \"升序\",\n sortDescending: \"降序\",\n },\n miniCalendar: {\n previousMonth: \"上个月\",\n nextMonth: \"下个月\",\n // Already formatted in the provider's locale (\"2026年9月14日星期一\").\n day: (date) => date,\n chooseStart: \"请选择开始日期\",\n chooseEnd: \"请选择结束日期\",\n startSelected: (date) => `已选择 ${date} 为开始日期。请选择结束日期。`,\n rangeSelected: (from, to) => `已选择 ${from} 至 ${to}。如需重新选择,请先选择开始日期。`,\n },\n monthPicker: {\n previousYear: \"上一年\",\n nextYear: \"下一年\",\n panel: \"选择月份\",\n month: (monthYear) => monthYear,\n previousMonth: \"上个月\",\n nextMonth: \"下个月\",\n today: \"今天\",\n yearPanel: \"选择年份\",\n earlierYears: \"更早的年份\",\n laterYears: \"更晚的年份\",\n thisYear: \"今年\",\n },\n calendarHeatmap: {\n grid: \"每日数值\",\n day: (date, value) => `${date}:${value}`,\n less: \"较少\",\n more: \"较多\",\n truncated: (count) =>\n `仅显示最近的日期;另有 ${n(count)} 天未显示。`,\n },\n datePicker: {\n apply: \"应用\",\n cancel: \"取消\",\n presets: \"快捷范围\",\n panel: \"选择日期\",\n rangePanel: \"选择日期范围\",\n clear: \"清除\",\n previousDay: \"前一天\",\n nextDay: \"后一天\",\n today: \"今天\",\n },\n popover: {\n panel: \"弹出框\",\n },\n combobox: {\n search: \"搜索\",\n noResults: \"无结果\",\n clear: \"清除\",\n loading: \"加载中…\",\n create: (query) => `创建“${query}”`,\n selectedCount: (count) => `已选 ${n(count)} 项`,\n loadError: \"无法加载结果\",\n resultCount: (count) => `${n(count)} 个结果`,\n minChars: (count) => `请至少输入 ${n(count)} 个字符`,\n },\n multiSelect: {\n search: \"搜索\",\n selectAll: \"全选\",\n clear: \"清除\",\n all: \"全部\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"打开计算器\",\n panel: \"计算器\",\n calculation: \"算式\",\n backspace: \"退格\",\n clear: \"清除\",\n equals: \"等于\",\n done: \"完成\",\n plus: \"加\",\n minus: \"减\",\n times: \"乘\",\n divide: \"除以\",\n decimal: \"小数点\",\n },\n currency: {\n currency: \"货币\",\n search: \"搜索货币\",\n },\n chipInput: {\n added: (value) => `已添加“${value}”`,\n removed: (value) => `已移除“${value}”`,\n remove: \"移除\",\n atLimit: (max) => `已达上限(${n(max)} 项)`,\n duplicate: (value) => `“${value}”已在列表中`,\n },\n swatchPicker: {\n none: \"无颜色\",\n mixed: \"混合:所选项目的颜色各不相同\",\n },\n iconPicker: {\n none: \"无图标\",\n mixed: \"混合:所选项目的图标各不相同\",\n search: \"搜索图标\",\n noResults: \"没有匹配的图标\",\n resultCount: (count) => `${n(count)} 个图标`,\n },\n fieldSync: {\n synced: \"已保存\",\n edited: \"有未保存的更改\",\n pending: \"正在保存…\",\n error: \"保存失败\",\n retry: \"重试\",\n },\n passwordReveal: {\n show: \"显示密码\",\n hide: \"隐藏密码\",\n },\n dangerConfirm: {\n arm: \"删除…\",\n confirm: \"删除\",\n cancel: \"取消\",\n prompt: \"此操作无法撤销。\",\n password: \"密码\",\n phrase: (phrase) => `输入“${phrase}”以确认`,\n acknowledge: \"我已了解此操作的作用,并希望继续。\",\n needsPhrase: (phrase) => `输入“${phrase}”以确认`,\n needsAcknowledge: \"勾选复选框以确认\",\n needsPassword: \"输入密码以确认\",\n },\n tabs: {\n add: \"添加标签页\",\n // Quoted, so the spacing rule holds whether the tab's name is Han or Latin.\n remove: (tab) => `移除“${tab}”`,\n },\n appShell: {\n collapse: \"收起侧边栏\",\n expand: \"展开侧边栏\",\n toggleGroup: (groupLabel) => `${groupLabel}:页面`,\n },\n topBar: {\n theme: \"切换主题\",\n palette: \"外观预设\",\n language: \"语言\",\n switchRole: \"切换角色\",\n role: (value) => `角色:${value}`,\n },\n pickerSheet: {\n close: \"关闭\",\n },\n dialogFrame: {\n close: \"关闭\",\n },\n bulkActionBar: {\n selected: (count) => `已选择 ${n(count)} 项`,\n clear: \"清除选择\",\n cleared: \"已清除选择\",\n },\n swipeableRow: {\n actions: \"行操作\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale.\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"文件上传\",\n browse: \"浏览\",\n empty: \"将文件拖放到此处\",\n emptyMultiple: \"将文件拖放到此处\",\n hint: (accept) => (accept ? `支持:${accept}` : \"任意文件类型\"),\n busy: \"正在上传…\",\n rejectedPick: (count) => (count === 1 ? \"未添加该文件\" : `${count} 个文件均未添加`),\n rejectedType: (name) => `“${name}”的文件类型不受支持`,\n rejectedTypeOnly: (accept) => `仅限 ${accept} 文件`,\n rejectedSize: (name, maxSize) => `“${name}”超过 ${maxSize}`,\n rejectedCount: (name, maxFiles) => `未添加“${name}”:最多 ${n(maxFiles)} 个文件`,\n rejectedInvalid: (name) => `“${name}”无法在此使用`,\n rejectedMany: (count) => `${n(count)} 个文件未添加`,\n selected: (count, firstName) =>\n count === 1 ? `已选择“${firstName}”` : `已选择 ${n(count)} 个文件`,\n remove: (name) => `移除“${name}”`,\n clearAll: \"移除所有文件\",\n removed: (name) => `已移除“${name}”`,\n cleared: \"已移除所有文件\",\n },\n wizard: {\n done: \"完成\",\n cancel: \"取消\",\n back: \"上一步\",\n next: \"下一步\",\n skip: \"跳过\",\n finish: \"完成\",\n submitting: \"正在创建…\",\n steps: \"步骤\",\n step: (current, total) => `第 ${n(current)} 步,共 ${n(total)} 步`,\n cancelTitle: \"放弃此表单?\",\n confirmCancel: \"已填写的内容将会丢失。\",\n cancelConfirmLabel: \"放弃\",\n cancelDismissLabel: \"继续编辑\",\n reviewTitle: \"确认信息\",\n edit: \"编辑\",\n missingRequired: \"请填写所有必填字段。\",\n genericError: \"发生错误\",\n },\n tour: {\n next: \"下一步\",\n back: \"上一步\",\n skip: \"跳过\",\n done: \"完成\",\n awaitClickHint: \"点击高亮的元素以继续\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"清除搜索\",\n submit: \"搜索\",\n close: \"关闭\",\n placeholder: \"搜索…\",\n empty: \"无结果\",\n loading: \"搜索中…\",\n dialog: \"搜索\",\n error: \"搜索失败,请重试。\",\n },\n globalSearch: {\n trigger: \"搜索\",\n placeholder: \"搜索或跳转到…\",\n shortcut: (keys) => `搜索(${keys})`,\n suggestions: \"试试\",\n results: \"结果\",\n },\n sparkline: {\n rising: (first, last) => `从 ${first} 上升到 ${last}`,\n falling: (first, last) => `从 ${first} 下降到 ${last}`,\n flat: (value) => `保持在 ${value} 不变`,\n single: (value) => `仅一个值:${value}`,\n noData: \"无数据\",\n named: (name, summary) => `${name}:${summary}`,\n },\n statTile: {\n increase: (amount) => `上升 ${amount}`,\n decrease: (amount) => `下降 ${amount}`,\n unchanged: \"无变化\",\n better: (change) => `${change}(向好)`,\n worse: (change) => `${change}(变差)`,\n noValue: \"无数据\",\n loading: \"加载中…\",\n },\n signaturePad: {\n label: \"签名\",\n instructions: \"请使用鼠标、手指或触控笔在框内签名。\",\n typedFallbackHint: \"如果无法手写,可以改为输入姓名。\",\n empty: \"尚未签名\",\n signed: \"已签名\",\n undo: \"撤销上一笔\",\n clear: \"清除\",\n save: \"保存签名\",\n useTyped: \"改为输入姓名\",\n useDrawn: \"改为手写\",\n typedName: \"姓名\",\n cleared: \"签名已清除\",\n undone: \"已撤销上一笔\",\n viewEmpty: \"未签名\",\n viewDrawn: \"手写签名\",\n // Quoted, so the spacing rule holds whether the name is Han or Latin.\n viewTyped: (name) => `以输入的姓名“${name}”签名`,\n },\n passwordStrength: {\n tooShort: \"太短\",\n weak: \"弱\",\n fair: \"一般\",\n good: \"良好\",\n strong: \"强\",\n announcement: (level) => `密码强度:${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) => `至少 ${minLength} 个字符`,\n ruleCase: \"包含大写和小写字母\",\n ruleDigit: \"包含数字\",\n ruleSymbol: \"包含符号\",\n optional: (rule) => `${rule}(可选)`,\n met: \"已满足:\",\n notMet: \"未满足:\",\n tooLong: (maxBytes) => `最多 ${maxBytes} 个字符(带重音的字母和表情符号按多个字符计算)。`,\n },\n seriesChart: {\n resetZoom: \"重置缩放\",\n zoomHint:\n \"拖动以缩放:近似正方形的选区同时缩放两条坐标轴,细长的选区只缩放其所沿的那条轴。双击可重置。\",\n empty: \"无数据\",\n legend: \"数据系列\",\n points: \"图表数值\",\n },\n pieChart: {\n slices: \"图表扇区\",\n slice: (label, value, percent) => `${label}:${value}(${percent})`,\n total: \"合计\",\n empty: \"无数据\",\n legend: \"类别\",\n },\n confirmDialog: {\n confirm: \"确认\",\n cancel: \"取消\",\n typed: (text) => `输入“${text}”以确认`,\n },\n floatingPanel: {\n close: \"关闭\",\n badge: (count) => `${n(count)} 条新内容`,\n },\n copyButton: {\n copy: \"复制\",\n copied: \"已复制\",\n failed: \"复制失败\",\n copiedAnnouncement: \"已复制到剪贴板\",\n failedAnnouncement: \"无法复制到剪贴板\",\n },\n list: {\n unread: \"未读\",\n opensInNewTab: \"在新标签页中打开\",\n },\n breadcrumbs: {\n label: \"面包屑导航\",\n showAll: \"显示完整路径\",\n },\n toast: {\n close: \"关闭通知\",\n notifications: \"通知\",\n undo: \"撤销\",\n redo: \"重做\",\n },\n form: {\n save: \"保存\",\n cancel: \"取消\",\n submitShortcut: (apple) => (apple ? \"⌘ Enter\" : \"Ctrl+Enter\"),\n },\n descriptionList: {\n empty: \"—\",\n },\n lineItems: {\n add: \"添加行\",\n remove: (row) => `删除第 ${row} 行`,\n confirmRemove: (row) => `删除第 ${row} 行?再次按下以确认`,\n row: (row) => `第 ${row} 行`,\n cell: (column, row) => `${column},第 ${row} 行`,\n totals: \"合计\",\n },\n progressBar: {\n unlimited: \"无限制\",\n overLimit: (amount) => `超出限额 ${amount}`,\n },\n signedAmount: {\n positive: (amount) => `正 ${amount}`,\n negative: (amount) => `负 ${amount}`,\n },\n errorBoundary: {\n title: \"出错了\",\n message: \"无法显示页面的这一部分。请重试或重新加载页面。\",\n retry: \"重试\",\n details: \"错误详情\",\n reload: \"重新加载\",\n updateTitle: \"有新版本可用\",\n updateMessage: \"自此页面加载以来,应用的部分内容已更新。请重新加载以获取新版本。\",\n offlineTitle: \"当前处于离线状态\",\n offlineMessage: \"没有网络连接,无法加载此页面。请恢复连接后重新加载页面。\",\n copyReport: \"复制错误报告\",\n reported: \"此错误已自动报告。\",\n reportedAs: (reference) => `报告编号:${reference}`,\n },\n authedImage: {\n loading: \"正在加载图片…\",\n loadError: \"无法加载图片\",\n failedImage: (alt) => `${alt}:无法加载图片`,\n },\n imageGrid: {\n list: \"图片\",\n item: (index, count) => `第 ${n(index)} 张,共 ${n(count)} 张`,\n actions: (name) => `${name}的操作`,\n },\n lightbox: {\n dialog: \"图片查看器\",\n close: \"关闭\",\n previous: \"上一张\",\n next: \"下一张\",\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `第 ${n(index)} 张,共 ${n(count)} 张`,\n download: \"下载\",\n zoom: \"缩放\",\n noPreview: \"此文件无法预览\",\n openInNewTab: \"在新标签页中打开\",\n },\n writeLock: {\n reason: \"仅可查看,无法修改。\",\n },\n accountState: {\n active: \"已启用\",\n inactive: \"已停用\",\n invited: \"已邀请\",\n registered: \"已注册\",\n unverified: \"未验证\",\n passwordChange: \"需修改密码\",\n },\n shareCard: {\n dialogTitle: \"共享\",\n close: \"关闭\",\n email: \"电子邮箱地址\",\n emailOptional: \"电子邮箱地址(可选)\",\n emailPlaceholder: \"name@example.com\",\n invalidEmail: \"请输入完整的电子邮箱地址。\",\n role: \"角色\",\n roleOf: (name) => `${name} 的角色`,\n add: \"共享\",\n whoHasAccess: \"有权访问的人\",\n nobodyYet: \"目前还没有其他人有权访问。\",\n pending: \"待接受\",\n openInvite: \"公开邀请链接\",\n copyLink: \"复制链接\",\n team: \"团队\",\n teamHint: (name) => `${name} 的所有成员都将获得访问权限。`,\n remove: \"移除访问权限\",\n removeConfirm: (name) => `移除 ${name} 的访问权限?`,\n revokePending: \"撤回邀请\",\n revokePendingConfirm: (name) => `撤回对 ${name} 的邀请?`,\n failed: \"操作未成功,请重试。\",\n loading: \"加载中…\",\n },\n reauthDialog: {\n title: \"验证身份\",\n description: \"请输入当前密码以继续。\",\n password: \"当前密码\",\n submit: \"继续\",\n cancel: \"取消\",\n },\n serverWake: {\n slow: \"仍在加载,比平时耗时更长。\",\n // A Latin product name gets a space either side, as everywhere in this catalogue.\n waking: (appName) =>\n `无人使用${appName ? ` ${appName} ` : \"本应用\"}时,服务器会进入休眠,因此暂停后的第一个请求需要重新启动它。这可能需要一点时间——不会丢失任何内容,页面会自动加载完成。`,\n },\n legal: {\n navLabel: \"法律信息\",\n },\n characterCount: {\n count: (used, max) => `已输入 ${n(used)}/${n(max)} 个字符`,\n remaining: (left) => `还可输入 ${n(left)} 个字符`,\n limitReached: \"已达到字符数上限\",\n },\n countrySelect: {\n country: \"国家/地区\",\n search: \"搜索国家/地区\",\n others: \"其他国家/地区\",\n },\n inlineEdit: {\n edit: (label) => `编辑“${label}”`,\n failed: \"无法保存更改。\",\n empty: \"空\",\n },\n ibanInput: {\n format: \"IBAN 以两个字母的国家代码和两位校验码开头。\",\n country: (code) => `“${code}”不是 IBAN 的国家代码。`,\n length: (actual, expected) =>\n `该国家的 IBAN 应为 ${n(expected)} 个字符,当前为 ${n(actual)} 个。`,\n checksum: \"校验码不匹配,可能有字符输入错误。\",\n qrRequired: \"这是普通 IBAN。QR 账单需要该账户的 QR-IBAN。\",\n qrNotAllowed: \"这是 QR-IBAN,只能接收 QR 账单付款。请输入该账户的普通 IBAN。\",\n },\n phoneInput: {\n countryCode: \"国家/地区代码\",\n other: \"其他\",\n },\n signChip: {\n outflow: \"支出\",\n inflow: \"收入\",\n direction: (current, next) => `方向:${current},切换为${next}`,\n },\n columnMapper: {\n paste: \"粘贴表格\",\n pasteHint: \"从电子表格中复制行并粘贴到此处,或拖放 CSV 或文本文件。\",\n chooseFile: \"选择文件\",\n readError: (name) => `无法读取“${name}”`,\n headerRow: \"第一行为列名\",\n summary: (columns, rows) => `${n(columns)} 列,${n(rows)} 行`,\n separatorSemicolon: \"以分号分隔\",\n separatorComma: \"以逗号分隔\",\n separatorTab: \"以制表符分隔\",\n separatorSpace: \"以空格分隔\",\n // The examples stay as written: they show the convention, not the reader's locale.\n decimalComma: \"小数点为逗号(1,5)\",\n decimalPoint: \"小数点为句点(1.5)\",\n unreadCount: (count) => `${n(count)} 行无法读取`,\n unreadLine: (line) => `无法读取第 ${line} 行`,\n unreadMore: (count) => `……另有 ${n(count)} 行`,\n noRows: \"此文本中没有任何一行能读作表格的一行。\",\n table: \"列及其用途\",\n columnN: (column) => `第 ${column} 列`,\n roleOf: (column) => `“${column}”列的内容是什么?`,\n ignore: \"忽略\",\n requiredRole: (role) => `${role}(必填)`,\n requiredRoleShort: (role) => `${role} *`,\n previewOf: (shown, total) => `显示前 ${n(shown)} 行,共 ${n(total)} 行`,\n // `roles` arrives joined with \"或\" (\"借方或贷方\").\n oneOf: (roles) => `${roles}(任选其一)`,\n missing: (roles) => `仍需指定:${roles}。`,\n },\n translationReview: {\n statusMissing: \"缺失\",\n statusUnreviewed: \"未审校\",\n statusChanged: \"审校后已更改\",\n statusNeedsChange: \"需要修改\",\n statusApproved: \"已通过\",\n statusFilter: \"状态\",\n all: \"全部\",\n filterCount: (label, count) => `${label} · ${n(count)}`,\n source: \"文本\",\n allSources: \"全部文本\",\n namespace: \"区域\",\n allNamespaces: \"全部区域\",\n search: \"搜索键名和文本\",\n placeholdersOnly: (count) => `仅显示占位符问题(${n(count)})`,\n placeholderChip: \"占位符\",\n key: \"键名\",\n statusColumn: \"状态\",\n empty: \"没有符合这些筛选条件的文本。\",\n missingText: \"此语言中缺失\",\n progress: (approved, total) => `已通过 ${n(approved)} / ${n(total)}`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n locales: \"语言\",\n approve: \"通过\",\n flag: \"需要修改\",\n suggest: \"建议译文\",\n reset: \"标记为未审校\",\n cancel: \"取消\",\n approveSelected: \"通过所选项\",\n resetSelected: \"将所选项标记为未审校\",\n selectShown: \"选择所有显示项\",\n changedSince: \"此文本在审校后已更改,请重新阅读。\",\n reviewedWording: \"审校时的措辞\",\n reviewedReference: \"审校时的参考文本\",\n placeholderMismatch: (reference, text) =>\n `占位符与参考文本不一致——参考文本:${reference};此文本:${text}。应用会在这些位置填入内容,因此必须保持原样。`,\n // A Latin name gets a space either side, as everywhere in this catalogue.\n lastApproved: (name, date) => `${name} 于 ${date} 通过`,\n lastFlagged: (name, date) => `${name} 于 ${date} 标记为需要修改`,\n erasedReviewer: \"已删除的账户\",\n suggestion: \"更好的措辞\",\n translation: \"译文\",\n note: \"备注(可选)\",\n notePlaceholder: \"哪里有问题,或需要注意什么\",\n readOnly: \"此语言仅可查看,无法审校。\",\n scope: (areas) => `审校范围仅限于:${areas}。`,\n exportCorrections: (count) => `导出更正(${n(count)})`,\n failed: \"操作未成功,请重试。\",\n approvedToast: (count) => (count === 1 ? \"文本已通过\" : `已通过 ${n(count)} 条文本`),\n groupCount: (unreviewed, total) => `未审校 ${n(unreviewed)} / ${n(total)}`,\n approveGroup: (count) => `通过未审校项(${n(count)})`,\n confirmGroup: (count, group) =>\n count === 1\n ? `通过“${group}”中的未审校文本?`\n : `通过“${group}”中全部 ${n(count)} 条未审校文本(包括未显示在屏幕上的)?`,\n },\n };\n}\n\nexport const UI_KIT_LABELS_ZH: UiKitLabels = uiKitLabelsZh();\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/i18n/locales/zh.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Chinese (Simplified): every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_ZH}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `zh-CN` digits; {@link uiKitLabelsZh} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsZh(numberLocale = \"zh-CN\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"附加图片\",\n attachmentCapture: \"截取屏幕\",\n attachmentPaste: \"……或从剪贴板粘贴截图。\",\n attachmentRemove: \"移除附件\",\n attachmentList: \"附件\",\n attachmentScreenshot: \"截图\",\n attachmentRemoveFile: (name) => `移除 ${name}`,\n attachmentLimit: (max) => `最多 ${n(max)} 个附件,请先移除一个再添加。`,\n attachmentUploading: \"正在上传…\",\n attachmentUploadFailed: (name) => `无法上传“${name}”`,\n },\n feedbackDialog: {\n title: \"发送反馈\",\n category: \"类别\",\n subject: \"主题\",\n body: \"发生了什么?\",\n bodyOptional: \"发生了什么?(可选)\",\n attachment: \"截图\",\n submitHint: \"Ctrl/⌘ + Enter 发送\",\n cancel: \"取消\",\n save: \"发送\",\n },\n feedbackThread: {\n thread: \"评论\",\n empty: \"暂无评论\",\n loading: \"正在加载评论…\",\n you: \"我\",\n staff: \"工作人员\",\n attachments: \"附件\",\n },\n feedbackComposer: {\n field: \"撰写评论\",\n placeholder: \"撰写评论…\",\n send: \"发送\",\n sendHint: (modifier) => `${modifier} + Enter 发送`,\n sendHintEnter: \"Enter 发送,Shift + Enter 换行\",\n },\n accountSettings: {\n profile: {\n title: \"个人资料\",\n email: \"电子邮箱\",\n role: \"角色\",\n memberSince: \"注册时间\",\n displayName: \"显示名称\",\n save: \"保存\",\n },\n password: {\n title: \"修改密码\",\n current: \"当前密码\",\n next: \"新密码\",\n confirm: \"确认新密码\",\n submit: \"修改密码\",\n tooShort: \"新密码太短。\",\n mismatch: \"两次输入的密码不一致。\",\n },\n twoFactor: {\n status: \"双重验证\",\n enabledText: \"已开启\",\n disabledText: \"未开启\",\n enable: \"设置双重验证\",\n scanHint: \"请用身份验证器应用扫描此二维码,然后输入应用显示的验证码。\",\n codeLabel: \"验证码\",\n verify: \"验证并开启\",\n disableSection: \"关闭双重验证\",\n password: \"当前密码\",\n disable: \"关闭\",\n qrAlt: \"身份验证器应用的二维码\",\n secretHint: \"无法扫描?请改为在应用中输入此密钥:\",\n copySecret: \"复制密钥\",\n },\n passkeys: {\n title: \"通行密钥\",\n description: \"使用指纹、面容或设备 PIN 登录,无需密码。\",\n descriptionAlongside: \"使用指纹、面容或设备 PIN 登录,密码仍可照常使用。\",\n empty: \"暂无通行密钥\",\n loading: \"正在加载通行密钥…\",\n list: \"已注册的通行密钥\",\n nameLabel: \"名称(可选)\",\n namePlaceholder: \"例如:笔记本电脑、手机\",\n add: \"添加通行密钥\",\n adding: \"正在等待设备…\",\n rename: \"重命名\",\n renameItem: (name) => `重命名 ${name}`,\n renameField: (name) => `${name} 的新名称`,\n save: \"保存\",\n cancel: \"取消\",\n delete: \"删除\",\n deleteItem: (name) => `删除 ${name}`,\n deleteConfirm: (name) => `删除“${name}”?删除后将无法再用它登录。`,\n confirmDelete: \"删除通行密钥\",\n created: (date) => `添加于 ${date}`,\n lastUsed: (date) => `上次使用:${date}`,\n neverUsed: \"从未使用\",\n },\n },\n measuredGrid: {\n view: \"表格视图\",\n cellsView: \"单元格\",\n textView: \"文本\",\n addRow: \"添加行\",\n removeRow: (row) => `删除第 ${row} 行`,\n clear: \"清空表格\",\n pasteHint: \"可将电子表格中的一块数据粘贴到任意单元格\",\n cell: (column, row) => `${column},第 ${row} 行`,\n rowNumber: \"行\",\n rowActions: \"行操作\",\n keyboardHint:\n \"方向键在单元格之间移动。直接输入替换单元格内容,F2 编辑,Esc 撤销编辑。回车向下移动,并在末尾添加一行。\",\n lineError: (line) => `无法读取第 ${line} 行`,\n points: (count) => `${count} 个点`,\n problems: (count) => `${count} 个单元格不是数字`,\n },\n pageContents: { title: \"本页目录\" },\n common: {\n dismiss: \"关闭\",\n close: \"关闭\",\n clear: \"清除\",\n search: \"搜索\",\n done: \"完成\",\n cancel: \"取消\",\n save: \"保存\",\n back: \"上一步\",\n next: \"下一步\",\n remove: \"移除\",\n loading: \"加载中…\",\n noResults: \"无结果\",\n // Full-width colon, no space after it.\n fieldValue: (field, value) => `${field}:${value}`,\n opensInNewTab: \"在新标签页中打开\",\n },\n dataTable: {\n columns: \"列\",\n selectAllRows: \"全选所有行\",\n sortHint: \"点击排序 · 按住 Shift 点击可添加排序\",\n filter: \"筛选\",\n close: \"关闭\",\n selectRow: \"选择行\",\n autoSize: \"自动调整列宽\",\n loading: \"加载中…\",\n filters: \"筛选条件\",\n clearAll: \"全部清除\",\n done: \"完成\",\n pageSize: \"每页行数\",\n pageSizeAll: \"全部\",\n prevPage: \"上一页\",\n nextPage: \"下一页\",\n clearFilter: \"清除筛选\",\n filterPlaceholder: \"筛选…\",\n selectFilter: \"选择\",\n selectAll: \"全部\",\n selectNone: \"无\",\n dateFrom: \"从\",\n dateTo: \"至\",\n numberMin: \"最小值\",\n numberMax: \"最大值\",\n numberAbs: \"绝对值\",\n presets: {\n today: \"今天\",\n yesterday: \"昨天\",\n this_week: \"本周\",\n last_week: \"上周\",\n last_7_days: \"最近 7 天\",\n last_30_days: \"最近 30 天\",\n this_month: \"本月\",\n last_month: \"上月\",\n last_3_months: \"最近 3 个月\",\n ytd: \"今年至今\",\n last_year: \"去年\",\n },\n table: \"数据表格\",\n filterResults: (shown, total) => `显示 ${n(shown)} 行,共 ${n(total)} 行`,\n sortedAscending: (column) => `已按“${column}”升序排序`,\n sortedDescending: (column) => `已按“${column}”降序排序`,\n sortCleared: (column) => `已取消“${column}”的排序`,\n pageChanged: (page, totalPages) => `第 ${n(page)} 页,共 ${n(totalPages)} 页`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `列(${n(visible)}/${n(total)})`,\n empty: \"暂无条目\",\n actions: \"操作\",\n edit: \"编辑\",\n delete: \"删除\",\n booleanTrue: \"是\",\n booleanFalse: \"否\",\n booleanUnset: \"未设置\",\n sortBy: \"排序依据\",\n sortDefault: \"默认顺序\",\n sortAscending: \"升序\",\n sortDescending: \"降序\",\n },\n miniCalendar: {\n previousMonth: \"上个月\",\n nextMonth: \"下个月\",\n // Already formatted in the provider's locale (\"2026年9月14日星期一\").\n day: (date) => date,\n chooseStart: \"请选择开始日期\",\n chooseEnd: \"请选择结束日期\",\n startSelected: (date) => `已选择 ${date} 为开始日期。请选择结束日期。`,\n rangeSelected: (from, to) => `已选择 ${from} 至 ${to}。如需重新选择,请先选择开始日期。`,\n },\n monthPicker: {\n previousYear: \"上一年\",\n nextYear: \"下一年\",\n panel: \"选择月份\",\n month: (monthYear) => monthYear,\n previousMonth: \"上个月\",\n nextMonth: \"下个月\",\n today: \"今天\",\n yearPanel: \"选择年份\",\n earlierYears: \"更早的年份\",\n laterYears: \"更晚的年份\",\n thisYear: \"今年\",\n },\n calendarHeatmap: {\n grid: \"每日数值\",\n day: (date, value) => `${date}:${value}`,\n less: \"较少\",\n more: \"较多\",\n truncated: (count) =>\n `仅显示最近的日期;另有 ${n(count)} 天未显示。`,\n },\n datePicker: {\n apply: \"应用\",\n cancel: \"取消\",\n presets: \"快捷范围\",\n panel: \"选择日期\",\n rangePanel: \"选择日期范围\",\n clear: \"清除\",\n previousDay: \"前一天\",\n nextDay: \"后一天\",\n today: \"今天\",\n },\n popover: {\n panel: \"弹出框\",\n },\n combobox: {\n search: \"搜索\",\n noResults: \"无结果\",\n clear: \"清除\",\n loading: \"加载中…\",\n create: (query) => `创建“${query}”`,\n selectedCount: (count) => `已选 ${n(count)} 项`,\n loadError: \"无法加载结果\",\n resultCount: (count) => `${n(count)} 个结果`,\n minChars: (count) => `请至少输入 ${n(count)} 个字符`,\n },\n multiSelect: {\n search: \"搜索\",\n selectAll: \"全选\",\n clear: \"清除\",\n all: \"全部\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"打开计算器\",\n panel: \"计算器\",\n calculation: \"算式\",\n backspace: \"退格\",\n clear: \"清除\",\n equals: \"等于\",\n done: \"完成\",\n plus: \"加\",\n minus: \"减\",\n times: \"乘\",\n divide: \"除以\",\n decimal: \"小数点\",\n },\n currency: {\n currency: \"货币\",\n search: \"搜索货币\",\n },\n chipInput: {\n added: (value) => `已添加“${value}”`,\n removed: (value) => `已移除“${value}”`,\n remove: \"移除\",\n atLimit: (max) => `已达上限(${n(max)} 项)`,\n duplicate: (value) => `“${value}”已在列表中`,\n },\n swatchPicker: {\n none: \"无颜色\",\n mixed: \"混合:所选项目的颜色各不相同\",\n },\n iconPicker: {\n none: \"无图标\",\n mixed: \"混合:所选项目的图标各不相同\",\n search: \"搜索图标\",\n noResults: \"没有匹配的图标\",\n resultCount: (count) => `${n(count)} 个图标`,\n },\n fieldSync: {\n synced: \"已保存\",\n edited: \"有未保存的更改\",\n pending: \"正在保存…\",\n error: \"保存失败\",\n retry: \"重试\",\n },\n passwordReveal: {\n show: \"显示密码\",\n hide: \"隐藏密码\",\n },\n dangerConfirm: {\n arm: \"删除…\",\n confirm: \"删除\",\n cancel: \"取消\",\n prompt: \"此操作无法撤销。\",\n password: \"密码\",\n phrase: (phrase) => `输入“${phrase}”以确认`,\n acknowledge: \"我已了解此操作的作用,并希望继续。\",\n needsPhrase: (phrase) => `输入“${phrase}”以确认`,\n needsAcknowledge: \"勾选复选框以确认\",\n needsPassword: \"输入密码以确认\",\n },\n tabs: {\n add: \"添加标签页\",\n // Quoted, so the spacing rule holds whether the tab's name is Han or Latin.\n remove: (tab) => `移除“${tab}”`,\n },\n appShell: {\n collapse: \"收起侧边栏\",\n expand: \"展开侧边栏\",\n toggleGroup: (groupLabel) => `${groupLabel}:页面`,\n },\n topBar: {\n theme: \"切换主题\",\n palette: \"外观预设\",\n language: \"语言\",\n switchRole: \"切换角色\",\n role: (value) => `角色:${value}`,\n },\n pickerSheet: {\n close: \"关闭\",\n },\n dialogFrame: {\n close: \"关闭\",\n },\n bulkActionBar: {\n selected: (count) => `已选择 ${n(count)} 项`,\n clear: \"清除选择\",\n cleared: \"已清除选择\",\n },\n swipeableRow: {\n actions: \"行操作\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale.\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"文件上传\",\n browse: \"浏览\",\n empty: \"将文件拖放到此处\",\n emptyMultiple: \"将文件拖放到此处\",\n hint: (accept) => (accept ? `支持:${accept}` : \"任意文件类型\"),\n busy: \"正在上传…\",\n rejectedPick: (count) => (count === 1 ? \"未添加该文件\" : `${count} 个文件均未添加`),\n rejectedType: (name) => `“${name}”的文件类型不受支持`,\n rejectedTypeOnly: (accept) => `仅限 ${accept} 文件`,\n rejectedSize: (name, maxSize) => `“${name}”超过 ${maxSize}`,\n rejectedCount: (name, maxFiles) => `未添加“${name}”:最多 ${n(maxFiles)} 个文件`,\n rejectedInvalid: (name) => `“${name}”无法在此使用`,\n rejectedMany: (count) => `${n(count)} 个文件未添加`,\n selected: (count, firstName) =>\n count === 1 ? `已选择“${firstName}”` : `已选择 ${n(count)} 个文件`,\n remove: (name) => `移除“${name}”`,\n clearAll: \"移除所有文件\",\n removed: (name) => `已移除“${name}”`,\n cleared: \"已移除所有文件\",\n },\n wizard: {\n done: \"完成\",\n cancel: \"取消\",\n back: \"上一步\",\n next: \"下一步\",\n skip: \"跳过\",\n finish: \"完成\",\n submitting: \"正在创建…\",\n steps: \"步骤\",\n step: (current, total) => `第 ${n(current)} 步,共 ${n(total)} 步`,\n cancelTitle: \"放弃此表单?\",\n confirmCancel: \"已填写的内容将会丢失。\",\n cancelConfirmLabel: \"放弃\",\n cancelDismissLabel: \"继续编辑\",\n reviewTitle: \"确认信息\",\n edit: \"编辑\",\n missingRequired: \"请填写所有必填字段。\",\n genericError: \"发生错误\",\n },\n tour: {\n next: \"下一步\",\n back: \"上一步\",\n skip: \"跳过\",\n done: \"完成\",\n awaitClickHint: \"点击高亮的元素以继续\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"清除搜索\",\n submit: \"搜索\",\n close: \"关闭\",\n placeholder: \"搜索…\",\n empty: \"无结果\",\n loading: \"搜索中…\",\n dialog: \"搜索\",\n error: \"搜索失败,请重试。\",\n },\n globalSearch: {\n trigger: \"搜索\",\n placeholder: \"搜索或跳转到…\",\n shortcut: (keys) => `搜索(${keys})`,\n suggestions: \"试试\",\n results: \"结果\",\n },\n sparkline: {\n rising: (first, last) => `从 ${first} 上升到 ${last}`,\n falling: (first, last) => `从 ${first} 下降到 ${last}`,\n flat: (value) => `保持在 ${value} 不变`,\n single: (value) => `仅一个值:${value}`,\n noData: \"无数据\",\n named: (name, summary) => `${name}:${summary}`,\n },\n statTile: {\n increase: (amount) => `上升 ${amount}`,\n decrease: (amount) => `下降 ${amount}`,\n unchanged: \"无变化\",\n better: (change) => `${change}(向好)`,\n worse: (change) => `${change}(变差)`,\n noValue: \"无数据\",\n loading: \"加载中…\",\n },\n signaturePad: {\n label: \"签名\",\n instructions: \"请使用鼠标、手指或触控笔在框内签名。\",\n typedFallbackHint: \"如果无法手写,可以改为输入姓名。\",\n empty: \"尚未签名\",\n signed: \"已签名\",\n undo: \"撤销上一笔\",\n clear: \"清除\",\n save: \"保存签名\",\n useTyped: \"改为输入姓名\",\n useDrawn: \"改为手写\",\n typedName: \"姓名\",\n cleared: \"签名已清除\",\n undone: \"已撤销上一笔\",\n viewEmpty: \"未签名\",\n viewDrawn: \"手写签名\",\n // Quoted, so the spacing rule holds whether the name is Han or Latin.\n viewTyped: (name) => `以输入的姓名“${name}”签名`,\n },\n passwordStrength: {\n tooShort: \"太短\",\n weak: \"弱\",\n fair: \"一般\",\n good: \"良好\",\n strong: \"强\",\n announcement: (level) => `密码强度:${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) => `至少 ${minLength} 个字符`,\n ruleCase: \"包含大写和小写字母\",\n ruleDigit: \"包含数字\",\n ruleSymbol: \"包含符号\",\n optional: (rule) => `${rule}(可选)`,\n met: \"已满足:\",\n notMet: \"未满足:\",\n tooLong: (maxBytes) => `最多 ${maxBytes} 个字符(带重音的字母和表情符号按多个字符计算)。`,\n },\n seriesChart: {\n resetZoom: \"重置缩放\",\n zoomHint:\n \"拖动以缩放:近似正方形的选区同时缩放两条坐标轴,细长的选区只缩放其所沿的那条轴。双击可重置。\",\n empty: \"无数据\",\n legend: \"数据系列\",\n points: \"图表数值\",\n },\n pieChart: {\n slices: \"图表扇区\",\n slice: (label, value, percent) => `${label}:${value}(${percent})`,\n total: \"合计\",\n empty: \"无数据\",\n legend: \"类别\",\n },\n confirmDialog: {\n confirm: \"确认\",\n cancel: \"取消\",\n typed: (text) => `输入“${text}”以确认`,\n },\n floatingPanel: {\n close: \"关闭\",\n badge: (count) => `${n(count)} 条新内容`,\n },\n copyButton: {\n copy: \"复制\",\n copied: \"已复制\",\n failed: \"复制失败\",\n copiedAnnouncement: \"已复制到剪贴板\",\n failedAnnouncement: \"无法复制到剪贴板\",\n },\n list: {\n unread: \"未读\",\n opensInNewTab: \"在新标签页中打开\",\n },\n breadcrumbs: {\n label: \"面包屑导航\",\n showAll: \"显示完整路径\",\n },\n toast: {\n close: \"关闭通知\",\n notifications: \"通知\",\n undo: \"撤销\",\n redo: \"重做\",\n },\n form: {\n save: \"保存\",\n cancel: \"取消\",\n submitShortcut: (apple) => (apple ? \"⌘ Enter\" : \"Ctrl+Enter\"),\n },\n descriptionList: {\n empty: \"—\",\n },\n lineItems: {\n add: \"添加行\",\n remove: (row) => `删除第 ${row} 行`,\n confirmRemove: (row) => `删除第 ${row} 行?再次按下以确认`,\n row: (row) => `第 ${row} 行`,\n cell: (column, row) => `${column},第 ${row} 行`,\n totals: \"合计\",\n },\n progressBar: {\n unlimited: \"无限制\",\n overLimit: (amount) => `超出限额 ${amount}`,\n },\n signedAmount: {\n positive: (amount) => `正 ${amount}`,\n negative: (amount) => `负 ${amount}`,\n },\n errorBoundary: {\n title: \"出错了\",\n message: \"无法显示页面的这一部分。请重试或重新加载页面。\",\n retry: \"重试\",\n details: \"错误详情\",\n reload: \"重新加载\",\n updateTitle: \"有新版本可用\",\n updateMessage: \"自此页面加载以来,应用的部分内容已更新。请重新加载以获取新版本。\",\n offlineTitle: \"当前处于离线状态\",\n offlineMessage: \"没有网络连接,无法加载此页面。请恢复连接后重新加载页面。\",\n copyReport: \"复制错误报告\",\n reported: \"此错误已自动报告。\",\n reportedAs: (reference) => `报告编号:${reference}`,\n },\n authedImage: {\n loading: \"正在加载图片…\",\n loadError: \"无法加载图片\",\n failedImage: (alt) => `${alt}:无法加载图片`,\n },\n imageGrid: {\n list: \"图片\",\n item: (index, count) => `第 ${n(index)} 张,共 ${n(count)} 张`,\n actions: (name) => `${name}的操作`,\n },\n lightbox: {\n dialog: \"图片查看器\",\n close: \"关闭\",\n previous: \"上一张\",\n next: \"下一张\",\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `第 ${n(index)} 张,共 ${n(count)} 张`,\n download: \"下载\",\n zoom: \"缩放\",\n noPreview: \"此文件无法预览\",\n openInNewTab: \"在新标签页中打开\",\n },\n writeLock: {\n reason: \"仅可查看,无法修改。\",\n },\n accountState: {\n active: \"已启用\",\n inactive: \"已停用\",\n invited: \"已邀请\",\n registered: \"已注册\",\n unverified: \"未验证\",\n passwordChange: \"需修改密码\",\n },\n shareCard: {\n dialogTitle: \"共享\",\n close: \"关闭\",\n email: \"电子邮箱地址\",\n emailOptional: \"电子邮箱地址(可选)\",\n emailPlaceholder: \"name@example.com\",\n invalidEmail: \"请输入完整的电子邮箱地址。\",\n role: \"角色\",\n roleOf: (name) => `${name} 的角色`,\n add: \"共享\",\n whoHasAccess: \"有权访问的人\",\n nobodyYet: \"目前还没有其他人有权访问。\",\n pending: \"待接受\",\n openInvite: \"公开邀请链接\",\n copyLink: \"复制链接\",\n team: \"团队\",\n teamHint: (name) => `${name} 的所有成员都将获得访问权限。`,\n remove: \"移除访问权限\",\n removeConfirm: (name) => `移除 ${name} 的访问权限?`,\n revokePending: \"撤回邀请\",\n revokePendingConfirm: (name) => `撤回对 ${name} 的邀请?`,\n failed: \"操作未成功,请重试。\",\n loading: \"加载中…\",\n },\n reauthDialog: {\n title: \"验证身份\",\n description: \"请输入当前密码以继续。\",\n password: \"当前密码\",\n submit: \"继续\",\n cancel: \"取消\",\n },\n serverWake: {\n slow: \"仍在加载,比平时耗时更长。\",\n // A Latin product name gets a space either side, as everywhere in this catalogue.\n waking: (appName) =>\n `无人使用${appName ? ` ${appName} ` : \"本应用\"}时,服务器会进入休眠,因此暂停后的第一个请求需要重新启动它。这可能需要一点时间——不会丢失任何内容,页面会自动加载完成。`,\n },\n legal: {\n navLabel: \"法律信息\",\n },\n characterCount: {\n count: (used, max) => `已输入 ${n(used)}/${n(max)} 个字符`,\n remaining: (left) => `还可输入 ${n(left)} 个字符`,\n limitReached: \"已达到字符数上限\",\n },\n countrySelect: {\n country: \"国家/地区\",\n search: \"搜索国家/地区\",\n others: \"其他国家/地区\",\n },\n inlineEdit: {\n edit: (label) => `编辑“${label}”`,\n failed: \"无法保存更改。\",\n empty: \"空\",\n },\n ibanInput: {\n format: \"IBAN 以两个字母的国家代码和两位校验码开头。\",\n country: (code) => `“${code}”不是 IBAN 的国家代码。`,\n length: (actual, expected) =>\n `该国家的 IBAN 应为 ${n(expected)} 个字符,当前为 ${n(actual)} 个。`,\n checksum: \"校验码不匹配,可能有字符输入错误。\",\n qrRequired: \"这是普通 IBAN。QR 账单需要该账户的 QR-IBAN。\",\n qrNotAllowed: \"这是 QR-IBAN,只能接收 QR 账单付款。请输入该账户的普通 IBAN。\",\n },\n phoneInput: {\n countryCode: \"国家/地区代码\",\n other: \"其他\",\n },\n signChip: {\n outflow: \"支出\",\n inflow: \"收入\",\n direction: (current, next) => `方向:${current},切换为${next}`,\n },\n columnMapper: {\n paste: \"粘贴表格\",\n pasteHint: \"从电子表格中复制行并粘贴到此处,或拖放 CSV 或文本文件。\",\n chooseFile: \"选择文件\",\n readError: (name) => `无法读取“${name}”`,\n headerRow: \"第一行为列名\",\n summary: (columns, rows) => `${n(columns)} 列,${n(rows)} 行`,\n separatorSemicolon: \"以分号分隔\",\n separatorComma: \"以逗号分隔\",\n separatorTab: \"以制表符分隔\",\n separatorSpace: \"以空格分隔\",\n // The examples stay as written: they show the convention, not the reader's locale.\n decimalComma: \"小数点为逗号(1,5)\",\n decimalPoint: \"小数点为句点(1.5)\",\n unreadCount: (count) => `${n(count)} 行无法读取`,\n unreadLine: (line) => `无法读取第 ${line} 行`,\n unreadMore: (count) => `……另有 ${n(count)} 行`,\n noRows: \"此文本中没有任何一行能读作表格的一行。\",\n table: \"列及其用途\",\n columnN: (column) => `第 ${column} 列`,\n roleOf: (column) => `“${column}”列的内容是什么?`,\n ignore: \"忽略\",\n requiredRole: (role) => `${role}(必填)`,\n requiredRoleShort: (role) => `${role} *`,\n previewOf: (shown, total) => `显示前 ${n(shown)} 行,共 ${n(total)} 行`,\n // `roles` arrives joined with \"或\" (\"借方或贷方\").\n oneOf: (roles) => `${roles}(任选其一)`,\n missing: (roles) => `仍需指定:${roles}。`,\n },\n translationReview: {\n statusMissing: \"缺失\",\n statusUnreviewed: \"未审校\",\n statusChanged: \"审校后已更改\",\n statusNeedsChange: \"需要修改\",\n statusApproved: \"已通过\",\n statusFilter: \"状态\",\n all: \"全部\",\n filterCount: (label, count) => `${label} · ${n(count)}`,\n source: \"文本\",\n allSources: \"全部文本\",\n namespace: \"区域\",\n allNamespaces: \"全部区域\",\n search: \"搜索键名和文本\",\n placeholdersOnly: (count) => `仅显示占位符问题(${n(count)})`,\n placeholderChip: \"占位符\",\n key: \"键名\",\n statusColumn: \"状态\",\n empty: \"没有符合这些筛选条件的文本。\",\n missingText: \"此语言中缺失\",\n progress: (approved, total) => `已通过 ${n(approved)} / ${n(total)}`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n locales: \"语言\",\n approve: \"通过\",\n flag: \"需要修改\",\n suggest: \"建议译文\",\n reset: \"标记为未审校\",\n cancel: \"取消\",\n approveSelected: \"通过所选项\",\n resetSelected: \"将所选项标记为未审校\",\n selectShown: \"选择所有显示项\",\n changedSince: \"此文本在审校后已更改,请重新阅读。\",\n reviewedWording: \"审校时的措辞\",\n reviewedReference: \"审校时的参考文本\",\n placeholderMismatch: (reference, text) =>\n `占位符与参考文本不一致——参考文本:${reference};此文本:${text}。应用会在这些位置填入内容,因此必须保持原样。`,\n // A Latin name gets a space either side, as everywhere in this catalogue.\n lastApproved: (name, date) => `${name} 于 ${date} 通过`,\n lastFlagged: (name, date) => `${name} 于 ${date} 标记为需要修改`,\n erasedReviewer: \"已删除的账户\",\n suggestion: \"更好的措辞\",\n translation: \"译文\",\n note: \"备注(可选)\",\n notePlaceholder: \"哪里有问题,或需要注意什么\",\n readOnly: \"此语言仅可查看,无法审校。\",\n scope: (areas) => `审校范围仅限于:${areas}。`,\n exportCorrections: (count) => `导出更正(${n(count)})`,\n failed: \"操作未成功,请重试。\",\n approvedToast: (count) => (count === 1 ? \"文本已通过\" : `已通过 ${n(count)} 条文本`),\n clearedToast: (count) => (count === 1 ? \"文本已标记为未审校\" : `已将 ${n(count)} 条文本标记为未审校`),\n groupCount: (unreviewed, total) => `未审校 ${n(unreviewed)} / ${n(total)}`,\n approveGroup: (count) => `通过未审校项(${n(count)})`,\n confirmGroup: (count, group) =>\n count === 1\n ? `通过“${group}”中的未审校文本?`\n : `通过“${group}”中全部 ${n(count)} 条未审校文本(包括未显示在屏幕上的)?`,\n },\n };\n}\n\nexport const UI_KIT_LABELS_ZH: UiKitLabels = uiKitLabelsZh();\n"],"mappings":"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","names":[]}
|
package/dist/i18n/review.js
CHANGED
|
@@ -154,6 +154,7 @@ const KIT_LABEL_SAMPLES = {
|
|
|
154
154
|
"translationReview.scope": [["{{areas}}"]],
|
|
155
155
|
"translationReview.exportCorrections": [[0], [1], [3]],
|
|
156
156
|
"translationReview.approvedToast": one,
|
|
157
|
+
"translationReview.clearedToast": one,
|
|
157
158
|
"translationReview.groupCount": [
|
|
158
159
|
[1, 12],
|
|
159
160
|
[3, 12]
|
package/dist/i18n/review.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/i18n/review.ts"],"sourcesContent":["import type { UiKitLabels } from \"./kit-labels\";\n\n/**\n * The kit's words as a flat `key → text` list, for an app's translation review.\n *\n * keksdose reviews its own locale bundles on its /translations page — one verdict per\n * locale and key, stored with the text the reviewer saw, so a later change re-opens it.\n * The kit's words appear on the same screens but live in TypeScript, not in the app's\n * bundles, and 94 of them are functions (`(count) => \"3 results\"`), which a bundle\n * flattener skips. This turns a label tree into rows that page can join on.\n *\n * - A string label is one row under its dot path: `common.close`. An array of words\n * (weekday names) is one row per entry: `miniCalendar.weekdays.0`.\n * - A function label is called with fixed samples. Text arguments are i18next-style\n * placeholders (`{{name}}`), so a translation that drops one is caught by the same\n * placeholder check the app runs on its own strings. Counts are real numbers, twice\n * where the wording may depend on them — 1 and 3 — so a reviewer sees singular and\n * plural. The key names the sample: `combobox.resultCount(1)`,\n * `shareCard.removeConfirm(name)`, `serverWake.waking()`.\n *\n * Keys depend only on the samples, never on the locale, so the rows of `de-CH` and of the\n * English reference line up key by key. Pass exactly the tree the app hands\n * `UiKitProvider` — its overrides included — and review what users see:\n *\n * kitLabelStrings(UI_KIT_LABELS_DE_CH) // the rows for de-CH\n * kitLabelStrings(DEFAULT_UI_KIT_LABELS) // the English reference\n *\n * A label that throws on its sample becomes a row starting with \"⚠\", so one broken\n * override shows up on the page instead of taking the page down.\n */\nexport function kitLabelStrings(labels: UiKitLabels): Record<string, string> {\n const out: Record<string, string> = {};\n const walk = (node: unknown, path: string) => {\n if (typeof node === \"string\") {\n out[path] = node;\n } else if (typeof node === \"function\") {\n for (const args of KIT_LABEL_SAMPLES[path] ?? [[]]) {\n out[`${path}(${args.map(sampleName).filter((a) => a !== \"\").join(\", \")})`] = render(\n node as (...args: unknown[]) => unknown,\n args,\n );\n }\n } else if (node !== null && typeof node === \"object\") {\n for (const [key, value] of Object.entries(node)) walk(value, path ? `${path}.${key}` : key);\n }\n };\n walk(labels, \"\");\n return out;\n}\n\nfunction render(label: (...args: unknown[]) => unknown, args: readonly unknown[]): string {\n try {\n return String(label(...args));\n } catch (error) {\n return `⚠ ${error instanceof Error ? error.message : String(error)}`;\n }\n}\n\n/** How a sample argument is written in the key: a placeholder by its name, a number as\n * itself, an empty string as `\"\"`, a missing optional argument not at all. */\nfunction sampleName(arg: unknown): string {\n if (arg === undefined) return \"\";\n if (typeof arg === \"string\") return /^\\{\\{(\\w+)\\}\\}$/.exec(arg)?.[1] ?? JSON.stringify(arg);\n return String(arg);\n}\n\nconst one = [[1], [3]] as const;\n\n/**\n * The sample arguments of every function label in {@link UiKitLabels}, by dot path.\n * `src/i18n/__tests__/review.test.ts` fails when a function label has no entry here, so\n * a new one cannot ship un-reviewable.\n */\nexport const KIT_LABEL_SAMPLES: Readonly<Record<string, readonly (readonly unknown[])[]>> = {\n \"common.fieldValue\": [[\"{{field}}\", \"{{value}}\"]],\n \"dataTable.filterResults\": [\n [1, 1],\n [3, 12],\n ],\n \"dataTable.sortedAscending\": [[\"{{column}}\"]],\n \"dataTable.sortedDescending\": [[\"{{column}}\"]],\n \"dataTable.sortCleared\": [[\"{{column}}\"]],\n \"dataTable.pageChanged\": [[2, 5]],\n \"dataTable.pageRange\": [[1, 25, 1240]],\n \"dataTable.rowCount\": [[1], [1240]],\n \"dataTable.columnsCount\": [[3, 8]],\n \"miniCalendar.day\": [[\"{{date}}\"]],\n \"miniCalendar.startSelected\": [[\"{{date}}\"]],\n \"miniCalendar.rangeSelected\": [[\"{{from}}\", \"{{to}}\"]],\n \"calendarHeatmap.day\": [[\"{{date}}\", \"{{value}}\"]],\n \"calendarHeatmap.truncated\": one,\n \"monthPicker.month\": [[\"{{monthYear}}\"]],\n \"combobox.create\": [[\"{{query}}\"]],\n \"combobox.selectedCount\": one,\n \"combobox.resultCount\": one,\n \"combobox.minChars\": one,\n \"multiSelect.selectedCount\": one,\n \"chipInput.added\": [[\"{{value}}\"]],\n \"chipInput.removed\": [[\"{{value}}\"]],\n \"chipInput.atLimit\": one,\n \"chipInput.duplicate\": [[\"{{value}}\"]],\n \"tabs.remove\": [[\"{{tab}}\"]],\n \"appShell.toggleGroup\": [[\"{{group}}\"]],\n \"topBar.role\": [[\"{{role}}\"]],\n \"file.size\": [[2_500_000]],\n \"wizard.step\": [[2, 4]],\n \"tour.step\": [[2, 4]],\n \"globalSearch.shortcut\": [[\"{{keys}}\"]],\n \"pieChart.slice\": [[\"{{label}}\", \"{{value}}\", \"{{percent}}\"]],\n \"sparkline.rising\": [[\"{{first}}\", \"{{last}}\"]],\n \"sparkline.falling\": [[\"{{first}}\", \"{{last}}\"]],\n \"sparkline.flat\": [[\"{{value}}\"]],\n \"sparkline.single\": [[\"{{value}}\"]],\n \"sparkline.named\": [[\"{{name}}\", \"{{summary}}\"]],\n \"statTile.increase\": [[\"{{amount}}\"]],\n \"statTile.decrease\": [[\"{{amount}}\"]],\n \"statTile.better\": [[\"{{change}}\"]],\n \"statTile.worse\": [[\"{{change}}\"]],\n \"signaturePad.viewTyped\": [[\"{{name}}\"]],\n \"passwordStrength.announcement\": [[\"{{level}}\"]],\n \"passwordStrength.ruleLength\": [[12]],\n \"passwordStrength.optional\": [[\"{{rule}}\"]],\n \"passwordStrength.tooLong\": [[72]],\n \"dangerConfirm.phrase\": [[\"{{phrase}}\"]],\n \"dangerConfirm.needsPhrase\": [[\"{{phrase}}\"]],\n \"iconPicker.resultCount\": one,\n \"filePicker.rejectedType\": [[\"{{name}}\"]],\n \"filePicker.rejectedTypeOnly\": [[\"{{accept}}\", \"{{name}}\"]],\n \"filePicker.rejectedSize\": [[\"{{name}}\", \"{{maxSize}}\"]],\n \"filePicker.rejectedCount\": [\n [\"{{name}}\", 1],\n [\"{{name}}\", 3],\n ],\n \"filePicker.rejectedInvalid\": [[\"{{name}}\"]],\n \"filePicker.rejectedMany\": one,\n \"filePicker.rejectedPick\": one,\n \"filePicker.selected\": [\n [1, \"{{firstName}}\"],\n [3, \"{{firstName}}\"],\n ],\n \"filePicker.remove\": [[\"{{name}}\"]],\n \"filePicker.removed\": [[\"{{name}}\"]],\n \"filePicker.hint\": [[\"{{accept}}\"], [\"\"]],\n \"measuredGrid.removeRow\": [[3]],\n \"measuredGrid.cell\": [[\"{{column}}\", 3]],\n \"measuredGrid.lineError\": [[3]],\n \"measuredGrid.points\": one,\n \"measuredGrid.problems\": one,\n \"feedbackAttachment.attachmentRemoveFile\": [[\"{{name}}\"]],\n \"feedbackAttachment.attachmentLimit\": one,\n \"feedbackAttachment.attachmentUploadFailed\": [[\"{{name}}\"]],\n \"feedbackComposer.sendHint\": [[\"{{modifier}}\"]],\n \"accountSettings.passkeys.renameItem\": [[\"{{name}}\"]],\n \"accountSettings.passkeys.renameField\": [[\"{{name}}\"]],\n \"accountSettings.passkeys.deleteItem\": [[\"{{name}}\"]],\n \"accountSettings.passkeys.deleteConfirm\": [[\"{{name}}\"]],\n \"accountSettings.passkeys.created\": [[\"{{date}}\"]],\n \"accountSettings.passkeys.lastUsed\": [[\"{{date}}\"]],\n \"confirmDialog.typed\": [[\"{{text}}\"]],\n \"floatingPanel.badge\": one,\n \"bulkActionBar.selected\": one,\n \"form.submitShortcut\": [[true], [false]],\n \"lineItems.remove\": [[3]],\n \"lineItems.confirmRemove\": [[3]],\n \"lineItems.row\": [[3]],\n \"lineItems.cell\": [[\"{{column}}\", 3]],\n \"progressBar.overLimit\": [[\"{{amount}}\"]],\n \"signedAmount.positive\": [[\"{{amount}}\"]],\n \"signedAmount.negative\": [[\"{{amount}}\"]],\n \"errorBoundary.reportedAs\": [[\"{{reference}}\"]],\n \"authedImage.failedImage\": [[\"{{alt}}\"]],\n \"imageGrid.item\": [[2, 5]],\n \"imageGrid.actions\": [[\"{{name}}\"]],\n \"lightbox.counter\": [[2, 5]],\n \"lightbox.position\": [[2, 5]],\n \"shareCard.roleOf\": [[\"{{name}}\"]],\n \"shareCard.teamHint\": [[\"{{name}}\"]],\n \"shareCard.removeConfirm\": [[\"{{name}}\"]],\n \"shareCard.revokePendingConfirm\": [[\"{{name}}\"]],\n \"serverWake.waking\": [[\"{{appName}}\"], [undefined]],\n \"translationReview.filterCount\": [\n [\"{{status}}\", 1],\n [\"{{status}}\", 3],\n ],\n \"translationReview.placeholdersOnly\": one,\n \"translationReview.progress\": [\n [1, 1],\n [3, 12],\n ],\n \"translationReview.localeProgress\": [[3, 12]],\n \"translationReview.placeholderMismatch\": [[\"{{reference}}\", \"{{text}}\"]],\n \"translationReview.lastApproved\": [[\"{{name}}\", \"{{date}}\"]],\n \"translationReview.lastFlagged\": [[\"{{name}}\", \"{{date}}\"]],\n \"translationReview.scope\": [[\"{{areas}}\"]],\n \"translationReview.exportCorrections\": [[0], [1], [3]],\n \"translationReview.approvedToast\": one,\n \"translationReview.groupCount\": [\n [1, 12],\n [3, 12],\n ],\n \"translationReview.approveGroup\": one,\n \"translationReview.confirmGroup\": [\n [1, \"{{group}}\"],\n [3, \"{{group}}\"],\n ],\n \"characterCount.count\": [[12, 80]],\n \"characterCount.remaining\": one,\n \"inlineEdit.edit\": [[\"{{label}}\"]],\n \"ibanInput.country\": [[\"{{code}}\"]],\n \"ibanInput.length\": [[20, 21]],\n \"signChip.direction\": [[\"{{current}}\", \"{{next}}\"]],\n \"columnMapper.readError\": [[\"{{name}}\"]],\n \"columnMapper.summary\": [\n [1, 1],\n [3, 12],\n ],\n \"columnMapper.unreadCount\": one,\n \"columnMapper.unreadLine\": [[3]],\n \"columnMapper.unreadMore\": one,\n \"columnMapper.columnN\": [[3]],\n \"columnMapper.roleOf\": [[\"{{column}}\"]],\n \"columnMapper.requiredRole\": [[\"{{role}}\"]],\n \"columnMapper.requiredRoleShort\": [[\"{{role}}\"]],\n \"columnMapper.previewOf\": [\n [1, 12],\n [10, 250],\n ],\n \"columnMapper.oneOf\": [[\"{{roles}}\"]],\n \"columnMapper.missing\": [[\"{{roles}}\"]],\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/i18n/review.ts"],"sourcesContent":["import type { UiKitLabels } from \"./kit-labels\";\n\n/**\n * The kit's words as a flat `key → text` list, for an app's translation review.\n *\n * keksdose reviews its own locale bundles on its /translations page — one verdict per\n * locale and key, stored with the text the reviewer saw, so a later change re-opens it.\n * The kit's words appear on the same screens but live in TypeScript, not in the app's\n * bundles, and 94 of them are functions (`(count) => \"3 results\"`), which a bundle\n * flattener skips. This turns a label tree into rows that page can join on.\n *\n * - A string label is one row under its dot path: `common.close`. An array of words\n * (weekday names) is one row per entry: `miniCalendar.weekdays.0`.\n * - A function label is called with fixed samples. Text arguments are i18next-style\n * placeholders (`{{name}}`), so a translation that drops one is caught by the same\n * placeholder check the app runs on its own strings. Counts are real numbers, twice\n * where the wording may depend on them — 1 and 3 — so a reviewer sees singular and\n * plural. The key names the sample: `combobox.resultCount(1)`,\n * `shareCard.removeConfirm(name)`, `serverWake.waking()`.\n *\n * Keys depend only on the samples, never on the locale, so the rows of `de-CH` and of the\n * English reference line up key by key. Pass exactly the tree the app hands\n * `UiKitProvider` — its overrides included — and review what users see:\n *\n * kitLabelStrings(UI_KIT_LABELS_DE_CH) // the rows for de-CH\n * kitLabelStrings(DEFAULT_UI_KIT_LABELS) // the English reference\n *\n * A label that throws on its sample becomes a row starting with \"⚠\", so one broken\n * override shows up on the page instead of taking the page down.\n */\nexport function kitLabelStrings(labels: UiKitLabels): Record<string, string> {\n const out: Record<string, string> = {};\n const walk = (node: unknown, path: string) => {\n if (typeof node === \"string\") {\n out[path] = node;\n } else if (typeof node === \"function\") {\n for (const args of KIT_LABEL_SAMPLES[path] ?? [[]]) {\n out[`${path}(${args.map(sampleName).filter((a) => a !== \"\").join(\", \")})`] = render(\n node as (...args: unknown[]) => unknown,\n args,\n );\n }\n } else if (node !== null && typeof node === \"object\") {\n for (const [key, value] of Object.entries(node)) walk(value, path ? `${path}.${key}` : key);\n }\n };\n walk(labels, \"\");\n return out;\n}\n\nfunction render(label: (...args: unknown[]) => unknown, args: readonly unknown[]): string {\n try {\n return String(label(...args));\n } catch (error) {\n return `⚠ ${error instanceof Error ? error.message : String(error)}`;\n }\n}\n\n/** How a sample argument is written in the key: a placeholder by its name, a number as\n * itself, an empty string as `\"\"`, a missing optional argument not at all. */\nfunction sampleName(arg: unknown): string {\n if (arg === undefined) return \"\";\n if (typeof arg === \"string\") return /^\\{\\{(\\w+)\\}\\}$/.exec(arg)?.[1] ?? JSON.stringify(arg);\n return String(arg);\n}\n\nconst one = [[1], [3]] as const;\n\n/**\n * The sample arguments of every function label in {@link UiKitLabels}, by dot path.\n * `src/i18n/__tests__/review.test.ts` fails when a function label has no entry here, so\n * a new one cannot ship un-reviewable.\n */\nexport const KIT_LABEL_SAMPLES: Readonly<Record<string, readonly (readonly unknown[])[]>> = {\n \"common.fieldValue\": [[\"{{field}}\", \"{{value}}\"]],\n \"dataTable.filterResults\": [\n [1, 1],\n [3, 12],\n ],\n \"dataTable.sortedAscending\": [[\"{{column}}\"]],\n \"dataTable.sortedDescending\": [[\"{{column}}\"]],\n \"dataTable.sortCleared\": [[\"{{column}}\"]],\n \"dataTable.pageChanged\": [[2, 5]],\n \"dataTable.pageRange\": [[1, 25, 1240]],\n \"dataTable.rowCount\": [[1], [1240]],\n \"dataTable.columnsCount\": [[3, 8]],\n \"miniCalendar.day\": [[\"{{date}}\"]],\n \"miniCalendar.startSelected\": [[\"{{date}}\"]],\n \"miniCalendar.rangeSelected\": [[\"{{from}}\", \"{{to}}\"]],\n \"calendarHeatmap.day\": [[\"{{date}}\", \"{{value}}\"]],\n \"calendarHeatmap.truncated\": one,\n \"monthPicker.month\": [[\"{{monthYear}}\"]],\n \"combobox.create\": [[\"{{query}}\"]],\n \"combobox.selectedCount\": one,\n \"combobox.resultCount\": one,\n \"combobox.minChars\": one,\n \"multiSelect.selectedCount\": one,\n \"chipInput.added\": [[\"{{value}}\"]],\n \"chipInput.removed\": [[\"{{value}}\"]],\n \"chipInput.atLimit\": one,\n \"chipInput.duplicate\": [[\"{{value}}\"]],\n \"tabs.remove\": [[\"{{tab}}\"]],\n \"appShell.toggleGroup\": [[\"{{group}}\"]],\n \"topBar.role\": [[\"{{role}}\"]],\n \"file.size\": [[2_500_000]],\n \"wizard.step\": [[2, 4]],\n \"tour.step\": [[2, 4]],\n \"globalSearch.shortcut\": [[\"{{keys}}\"]],\n \"pieChart.slice\": [[\"{{label}}\", \"{{value}}\", \"{{percent}}\"]],\n \"sparkline.rising\": [[\"{{first}}\", \"{{last}}\"]],\n \"sparkline.falling\": [[\"{{first}}\", \"{{last}}\"]],\n \"sparkline.flat\": [[\"{{value}}\"]],\n \"sparkline.single\": [[\"{{value}}\"]],\n \"sparkline.named\": [[\"{{name}}\", \"{{summary}}\"]],\n \"statTile.increase\": [[\"{{amount}}\"]],\n \"statTile.decrease\": [[\"{{amount}}\"]],\n \"statTile.better\": [[\"{{change}}\"]],\n \"statTile.worse\": [[\"{{change}}\"]],\n \"signaturePad.viewTyped\": [[\"{{name}}\"]],\n \"passwordStrength.announcement\": [[\"{{level}}\"]],\n \"passwordStrength.ruleLength\": [[12]],\n \"passwordStrength.optional\": [[\"{{rule}}\"]],\n \"passwordStrength.tooLong\": [[72]],\n \"dangerConfirm.phrase\": [[\"{{phrase}}\"]],\n \"dangerConfirm.needsPhrase\": [[\"{{phrase}}\"]],\n \"iconPicker.resultCount\": one,\n \"filePicker.rejectedType\": [[\"{{name}}\"]],\n \"filePicker.rejectedTypeOnly\": [[\"{{accept}}\", \"{{name}}\"]],\n \"filePicker.rejectedSize\": [[\"{{name}}\", \"{{maxSize}}\"]],\n \"filePicker.rejectedCount\": [\n [\"{{name}}\", 1],\n [\"{{name}}\", 3],\n ],\n \"filePicker.rejectedInvalid\": [[\"{{name}}\"]],\n \"filePicker.rejectedMany\": one,\n \"filePicker.rejectedPick\": one,\n \"filePicker.selected\": [\n [1, \"{{firstName}}\"],\n [3, \"{{firstName}}\"],\n ],\n \"filePicker.remove\": [[\"{{name}}\"]],\n \"filePicker.removed\": [[\"{{name}}\"]],\n \"filePicker.hint\": [[\"{{accept}}\"], [\"\"]],\n \"measuredGrid.removeRow\": [[3]],\n \"measuredGrid.cell\": [[\"{{column}}\", 3]],\n \"measuredGrid.lineError\": [[3]],\n \"measuredGrid.points\": one,\n \"measuredGrid.problems\": one,\n \"feedbackAttachment.attachmentRemoveFile\": [[\"{{name}}\"]],\n \"feedbackAttachment.attachmentLimit\": one,\n \"feedbackAttachment.attachmentUploadFailed\": [[\"{{name}}\"]],\n \"feedbackComposer.sendHint\": [[\"{{modifier}}\"]],\n \"accountSettings.passkeys.renameItem\": [[\"{{name}}\"]],\n \"accountSettings.passkeys.renameField\": [[\"{{name}}\"]],\n \"accountSettings.passkeys.deleteItem\": [[\"{{name}}\"]],\n \"accountSettings.passkeys.deleteConfirm\": [[\"{{name}}\"]],\n \"accountSettings.passkeys.created\": [[\"{{date}}\"]],\n \"accountSettings.passkeys.lastUsed\": [[\"{{date}}\"]],\n \"confirmDialog.typed\": [[\"{{text}}\"]],\n \"floatingPanel.badge\": one,\n \"bulkActionBar.selected\": one,\n \"form.submitShortcut\": [[true], [false]],\n \"lineItems.remove\": [[3]],\n \"lineItems.confirmRemove\": [[3]],\n \"lineItems.row\": [[3]],\n \"lineItems.cell\": [[\"{{column}}\", 3]],\n \"progressBar.overLimit\": [[\"{{amount}}\"]],\n \"signedAmount.positive\": [[\"{{amount}}\"]],\n \"signedAmount.negative\": [[\"{{amount}}\"]],\n \"errorBoundary.reportedAs\": [[\"{{reference}}\"]],\n \"authedImage.failedImage\": [[\"{{alt}}\"]],\n \"imageGrid.item\": [[2, 5]],\n \"imageGrid.actions\": [[\"{{name}}\"]],\n \"lightbox.counter\": [[2, 5]],\n \"lightbox.position\": [[2, 5]],\n \"shareCard.roleOf\": [[\"{{name}}\"]],\n \"shareCard.teamHint\": [[\"{{name}}\"]],\n \"shareCard.removeConfirm\": [[\"{{name}}\"]],\n \"shareCard.revokePendingConfirm\": [[\"{{name}}\"]],\n \"serverWake.waking\": [[\"{{appName}}\"], [undefined]],\n \"translationReview.filterCount\": [\n [\"{{status}}\", 1],\n [\"{{status}}\", 3],\n ],\n \"translationReview.placeholdersOnly\": one,\n \"translationReview.progress\": [\n [1, 1],\n [3, 12],\n ],\n \"translationReview.localeProgress\": [[3, 12]],\n \"translationReview.placeholderMismatch\": [[\"{{reference}}\", \"{{text}}\"]],\n \"translationReview.lastApproved\": [[\"{{name}}\", \"{{date}}\"]],\n \"translationReview.lastFlagged\": [[\"{{name}}\", \"{{date}}\"]],\n \"translationReview.scope\": [[\"{{areas}}\"]],\n \"translationReview.exportCorrections\": [[0], [1], [3]],\n \"translationReview.approvedToast\": one,\n \"translationReview.clearedToast\": one,\n \"translationReview.groupCount\": [\n [1, 12],\n [3, 12],\n ],\n \"translationReview.approveGroup\": one,\n \"translationReview.confirmGroup\": [\n [1, \"{{group}}\"],\n [3, \"{{group}}\"],\n ],\n \"characterCount.count\": [[12, 80]],\n \"characterCount.remaining\": one,\n \"inlineEdit.edit\": [[\"{{label}}\"]],\n \"ibanInput.country\": [[\"{{code}}\"]],\n \"ibanInput.length\": [[20, 21]],\n \"signChip.direction\": [[\"{{current}}\", \"{{next}}\"]],\n \"columnMapper.readError\": [[\"{{name}}\"]],\n \"columnMapper.summary\": [\n [1, 1],\n [3, 12],\n ],\n \"columnMapper.unreadCount\": one,\n \"columnMapper.unreadLine\": [[3]],\n \"columnMapper.unreadMore\": one,\n \"columnMapper.columnN\": [[3]],\n \"columnMapper.roleOf\": [[\"{{column}}\"]],\n \"columnMapper.requiredRole\": [[\"{{role}}\"]],\n \"columnMapper.requiredRoleShort\": [[\"{{role}}\"]],\n \"columnMapper.previewOf\": [\n [1, 12],\n [10, 250],\n ],\n \"columnMapper.oneOf\": [[\"{{roles}}\"]],\n \"columnMapper.missing\": [[\"{{roles}}\"]],\n};\n"],"mappings":"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","names":[]}
|