@eifi1/ui-kit 0.21.0 → 0.22.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/dist/chart.d.ts +10 -8
- package/dist/components/account-chips.d.ts +10 -3
- package/dist/components/account-chips.js +5 -2
- package/dist/components/account-chips.js.map +1 -1
- package/dist/components/account-settings.d.ts +33 -2
- package/dist/components/account-settings.js +43 -21
- package/dist/components/account-settings.js.map +1 -1
- package/dist/components/amount-input.d.ts +27 -8
- package/dist/components/amount-input.js +15 -28
- package/dist/components/amount-input.js.map +1 -1
- package/dist/components/autocomplete.d.ts +8 -0
- package/dist/components/autocomplete.js +9 -4
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/button-group.d.ts +10 -8
- package/dist/components/calculator.d.ts +10 -8
- package/dist/components/checkbox-group.d.ts +104 -0
- package/dist/components/checkbox-group.js +111 -0
- package/dist/components/checkbox-group.js.map +1 -0
- package/dist/components/checkbox.d.ts +19 -0
- package/dist/components/checkbox.js +30 -7
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/chip.d.ts +18 -0
- package/dist/components/chip.js +47 -10
- package/dist/components/chip.js.map +1 -1
- package/dist/components/combobox.d.ts +13 -2
- package/dist/components/combobox.js +17 -8
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/confirm-dialog.d.ts +66 -161
- package/dist/components/copy-button.d.ts +10 -8
- package/dist/components/country-select.d.ts +124 -0
- package/dist/components/country-select.js +237 -0
- package/dist/components/country-select.js.map +1 -0
- package/dist/components/currency-select.d.ts +17 -1
- package/dist/components/currency-select.js +56 -23
- package/dist/components/currency-select.js.map +1 -1
- package/dist/components/danger-confirm.d.ts +66 -166
- package/dist/components/danger-confirm.js +133 -49
- package/dist/components/danger-confirm.js.map +1 -1
- package/dist/components/data-table-cells.d.ts +1 -2
- package/dist/components/data-table-filter-popover.d.ts +1 -2
- package/dist/components/data-table-filters.d.ts +1 -2
- package/dist/components/data-table-labels.d.ts +4 -97
- package/dist/components/data-table-labels.js +9 -1
- package/dist/components/data-table-labels.js.map +1 -1
- package/dist/components/data-table-pagination.d.ts +3 -1
- package/dist/components/data-table.d.ts +1 -2
- package/dist/components/data-table.js +98 -3
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.d.ts +25 -5
- package/dist/components/date-picker.js +110 -59
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/entity-combobox.d.ts +8 -1
- package/dist/components/entity-combobox.js +9 -4
- package/dist/components/entity-combobox.js.map +1 -1
- package/dist/components/facing-pair.d.ts +10 -8
- package/dist/components/field-anatomy.d.ts +95 -0
- package/dist/components/field-anatomy.js +84 -0
- package/dist/components/field-anatomy.js.map +1 -0
- package/dist/components/field-parts.d.ts +114 -0
- package/dist/components/field-parts.js +72 -0
- package/dist/components/field-parts.js.map +1 -0
- package/dist/components/file-button.d.ts +10 -8
- package/dist/components/file-button.js +13 -3
- package/dist/components/file-button.js.map +1 -1
- package/dist/components/file-dropzone.d.ts +32 -9
- package/dist/components/file-dropzone.js +57 -34
- package/dist/components/file-dropzone.js.map +1 -1
- package/dist/components/form-actions.d.ts +10 -8
- package/dist/components/form-actions.js +61 -3
- package/dist/components/form-actions.js.map +1 -1
- package/dist/components/iban-input.d.ts +66 -0
- package/dist/components/iban-input.js +125 -0
- package/dist/components/iban-input.js.map +1 -0
- package/dist/components/icon-picker.d.ts +12 -2
- package/dist/components/icon-picker.js +9 -2
- package/dist/components/icon-picker.js.map +1 -1
- package/dist/components/inline-edit-field.d.ts +167 -0
- package/dist/components/inline-edit-field.js +293 -0
- package/dist/components/inline-edit-field.js.map +1 -0
- package/dist/components/language-select.d.ts +127 -0
- package/dist/components/language-select.js +18 -0
- package/dist/components/language-select.js.map +1 -0
- package/dist/components/line-items.d.ts +25 -3
- package/dist/components/line-items.js +55 -46
- package/dist/components/line-items.js.map +1 -1
- package/dist/components/list.d.ts +25 -0
- package/dist/components/list.js +16 -5
- package/dist/components/list.js.map +1 -1
- package/dist/components/money-field.d.ts +20 -8
- package/dist/components/money-field.js.map +1 -1
- package/dist/components/month-picker.d.ts +52 -4
- package/dist/components/month-picker.js +290 -86
- package/dist/components/month-picker.js.map +1 -1
- package/dist/components/multi-select.d.ts +8 -1
- package/dist/components/multi-select.js +9 -4
- package/dist/components/multi-select.js.map +1 -1
- package/dist/components/number-field.d.ts +25 -13
- package/dist/components/number-field.js +6 -20
- package/dist/components/number-field.js.map +1 -1
- package/dist/components/number-input.d.ts +70 -13
- package/dist/components/number-input.js +90 -38
- package/dist/components/number-input.js.map +1 -1
- package/dist/components/numpad-sheet.d.ts +10 -8
- package/dist/components/one-time-code-input.d.ts +100 -0
- package/dist/components/one-time-code-input.js +137 -0
- package/dist/components/one-time-code-input.js.map +1 -0
- package/dist/components/phone-input.d.ts +66 -0
- package/dist/components/phone-input.js +171 -0
- package/dist/components/phone-input.js.map +1 -0
- package/dist/components/series-chart.d.ts +10 -8
- package/dist/components/settings-fields.d.ts +10 -8
- package/dist/components/share-card.d.ts +8 -6
- package/dist/components/sign-chip.d.ts +66 -0
- package/dist/components/sign-chip.js +39 -0
- package/dist/components/sign-chip.js.map +1 -0
- package/dist/components/swatch-picker.d.ts +27 -2
- package/dist/components/swatch-picker.js +73 -31
- package/dist/components/swatch-picker.js.map +1 -1
- package/dist/components/switch.d.ts +19 -0
- package/dist/components/switch.js +24 -6
- package/dist/components/switch.js.map +1 -1
- package/dist/components/text-link.d.ts +10 -8
- package/dist/components/tile-radio.d.ts +68 -13
- package/dist/components/tile-radio.js +3 -3
- package/dist/components/tile-radio.js.map +1 -1
- package/dist/components/time-input.d.ts +15 -9
- package/dist/components/time-input.js.map +1 -1
- package/dist/components/toggle-group.d.ts +47 -1
- package/dist/components/toggle-group.js +110 -69
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/ui.d.ts +10 -8
- package/dist/components/ui.js +280 -78
- package/dist/components/ui.js.map +1 -1
- package/dist/components/use-table-state.d.ts +1 -2
- package/dist/{data-table-3mi2R3so.d.ts → data-table-labels-B7OdnM0S.d.ts} +140 -3
- package/dist/data-table.d.ts +1 -2
- package/dist/data-table.js +2 -1
- package/dist/data-table.js.map +1 -1
- package/dist/feedback/feedback-attachment.d.ts +1 -1
- package/dist/feedback/feedback-attachment.js +210 -3
- package/dist/feedback/feedback-attachment.js.map +1 -1
- package/dist/feedback/feedback-dialog.d.ts +1 -1
- package/dist/feedback/feedback-dialog.js.map +1 -1
- package/dist/feedback/feedback-inbox.d.ts +1 -1
- package/dist/feedback/feedback-thread.d.ts +37 -3
- package/dist/feedback/feedback-thread.js +38 -9
- package/dist/feedback/feedback-thread.js.map +1 -1
- package/dist/{feedback-attachment-WFiXJ8We.d.ts → feedback-attachment-NhUm7Zga.d.ts} +70 -5
- package/dist/feedback.d.ts +2 -2
- package/dist/hooks/use-file-drop.d.ts +10 -8
- package/dist/i18n/defaults.d.ts +10 -8
- package/dist/i18n/defaults.js +17 -2
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/german.d.ts +10 -8
- package/dist/i18n/german.js +50 -5
- package/dist/i18n/german.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +10 -8
- package/dist/i18n/kit-labels.js +8 -2
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/languages.d.ts +10 -8
- package/dist/i18n/locales/de-CH.d.ts +10 -8
- package/dist/i18n/locales/en.d.ts +10 -8
- package/dist/i18n/locales/en.js +9 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +10 -8
- package/dist/i18n/locales/es.js +48 -5
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +10 -8
- package/dist/i18n/locales/fr.js +48 -5
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +10 -8
- package/dist/i18n/locales/hu.js +49 -5
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +10 -8
- package/dist/i18n/locales/it.js +49 -5
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +10 -8
- package/dist/i18n/locales/zh.js +48 -5
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/i18n/review.d.ts +10 -8
- package/dist/i18n/review.js +8 -1
- package/dist/i18n/review.js.map +1 -1
- package/dist/index.d.ts +17 -10
- package/dist/index.js +57 -2
- package/dist/index.js.map +1 -1
- package/dist/{kit-labels-D1J2_jyD.d.ts → kit-labels-R8mIAc9N.d.ts} +811 -8
- package/dist/lib/countries.d.ts +43 -0
- package/dist/lib/countries.js +39 -0
- package/dist/lib/countries.js.map +1 -0
- package/dist/lib/decimal-marks.d.ts +46 -0
- package/dist/lib/decimal-marks.js +40 -0
- package/dist/lib/decimal-marks.js.map +1 -0
- package/dist/lib/iban.d.ts +98 -0
- package/dist/lib/iban.js +154 -0
- package/dist/lib/iban.js.map +1 -0
- package/dist/lib/isin.d.ts +30 -0
- package/dist/lib/isin.js +36 -0
- package/dist/lib/isin.js.map +1 -0
- package/dist/lib/phone.d.ts +69 -0
- package/dist/lib/phone.js +121 -0
- package/dist/lib/phone.js.map +1 -0
- package/dist/rhf/fields.d.ts +148 -11
- package/dist/rhf/fields.js +332 -3
- package/dist/rhf/fields.js.map +1 -1
- package/dist/rhf/form.d.ts +10 -8
- package/dist/rhf.d.ts +13 -9
- package/dist/rhf.js.map +1 -1
- package/dist/shell/app-shell.d.ts +10 -8
- package/dist/shell/top-bar-brand.d.ts +10 -8
- package/dist/shell.d.ts +10 -8
- package/dist/tour/tour.js +20 -24
- package/dist/tour/tour.js.map +1 -1
- package/dist/wizard/stepper-nav.d.ts +10 -8
- package/dist/wizard.d.ts +10 -8
- package/package.json +1 -1
- package/src/components/account-chips.tsx +17 -3
- package/src/components/account-settings.tsx +92 -26
- package/src/components/amount-input.tsx +49 -56
- package/src/components/autocomplete.tsx +133 -110
- package/src/components/checkbox-group.tsx +229 -0
- package/src/components/checkbox.tsx +72 -8
- package/src/components/chip.tsx +80 -10
- package/src/components/combobox.tsx +292 -253
- package/src/components/country-select.tsx +443 -0
- package/src/components/currency-select.tsx +109 -33
- package/src/components/danger-confirm.tsx +345 -77
- package/src/components/data-table-labels.ts +16 -1
- package/src/components/data-table.tsx +175 -6
- package/src/components/date-picker.tsx +173 -62
- package/src/components/entity-combobox.tsx +107 -87
- package/src/components/field-anatomy.tsx +190 -0
- package/src/components/field-parts.tsx +184 -0
- package/src/components/file-button.tsx +36 -3
- package/src/components/file-dropzone.tsx +106 -38
- package/src/components/form-actions.tsx +115 -2
- package/src/components/iban-input.tsx +231 -0
- package/src/components/icon-picker.tsx +26 -4
- package/src/components/inline-edit-field.tsx +533 -0
- package/src/components/language-select.tsx +78 -0
- package/src/components/line-items.tsx +35 -2
- package/src/components/list.tsx +55 -6
- package/src/components/money-field.tsx +10 -0
- package/src/components/month-picker.tsx +399 -63
- package/src/components/multi-select.tsx +80 -58
- package/src/components/number-field.tsx +28 -46
- package/src/components/number-input.tsx +210 -43
- package/src/components/one-time-code-input.tsx +288 -0
- package/src/components/phone-input.tsx +299 -0
- package/src/components/sign-chip.tsx +103 -0
- package/src/components/swatch-picker.tsx +118 -30
- package/src/components/switch.tsx +58 -7
- package/src/components/tile-radio.tsx +71 -16
- package/src/components/time-input.tsx +8 -1
- package/src/components/toggle-group.tsx +206 -73
- package/src/components/ui.tsx +472 -105
- package/src/data-table.ts +2 -1
- package/src/feedback/feedback-attachment.tsx +313 -9
- package/src/feedback/feedback-dialog.tsx +2 -0
- package/src/feedback/feedback-thread.tsx +66 -5
- package/src/i18n/defaults.ts +16 -1
- package/src/i18n/german.ts +47 -0
- package/src/i18n/kit-labels.tsx +78 -2
- package/src/i18n/locales/en.ts +10 -0
- package/src/i18n/locales/es.ts +46 -0
- package/src/i18n/locales/fr.ts +45 -0
- package/src/i18n/locales/hu.ts +46 -0
- package/src/i18n/locales/it.ts +47 -0
- package/src/i18n/locales/zh.ts +44 -0
- package/src/i18n/review.ts +7 -0
- package/src/index.ts +53 -3
- package/src/lib/countries.ts +91 -0
- package/src/lib/decimal-marks.ts +99 -0
- package/src/lib/iban.ts +171 -0
- package/src/lib/isin.ts +62 -0
- package/src/lib/phone.ts +211 -0
- package/src/rhf/fields.tsx +606 -9
- package/src/rhf.ts +2 -1
- package/src/tour/tour.tsx +66 -28
package/src/i18n/kit-labels.tsx
CHANGED
|
@@ -7,7 +7,7 @@ import type { CalendarHeatmapLabels } from "../components/calendar-heatmap";
|
|
|
7
7
|
import type { PopoverLabels } from "../components/popover";
|
|
8
8
|
import type { ChipInputLabels } from "../components/chip";
|
|
9
9
|
import type { FieldSyncLabels } from "../components/field-sync";
|
|
10
|
-
import type { PasswordRevealLabels, TabsLabels } from "../components/ui";
|
|
10
|
+
import type { CharacterCountLabels, PasswordRevealLabels, TabsLabels } from "../components/ui";
|
|
11
11
|
import type { WizardLabels } from "../wizard/types";
|
|
12
12
|
import type { TourLabels } from "../tour/tour";
|
|
13
13
|
import type { CommandPaletteLabels } from "../search/command-palette";
|
|
@@ -53,6 +53,11 @@ import type { ShareCardLabels } from "../components/share-card";
|
|
|
53
53
|
import type { ReauthDialogLabels } from "../components/reauth-dialog";
|
|
54
54
|
import type { ServerWakeLabels } from "../components/server-wake";
|
|
55
55
|
import type { TranslationReviewLabels } from "../components/translation-review-labels";
|
|
56
|
+
import type { CountrySelectLabels } from "../components/country-select";
|
|
57
|
+
import type { InlineEditLabels } from "../components/inline-edit-field";
|
|
58
|
+
import type { IbanInputLabels } from "../components/iban-input";
|
|
59
|
+
import type { PhoneInputLabels } from "../components/phone-input";
|
|
60
|
+
import type { SignChipLabels } from "../components/sign-chip";
|
|
56
61
|
|
|
57
62
|
/**
|
|
58
63
|
* EVERY string the kit renders, as one typed tree — and an optional provider that
|
|
@@ -294,6 +299,18 @@ export interface UiKitLabels {
|
|
|
294
299
|
translationReview: TranslationReviewLabels;
|
|
295
300
|
/** 0.19.0: `LegalLinks`' navigation name — the legal pages' shell, for every app. */
|
|
296
301
|
legal: LegalLabels;
|
|
302
|
+
/** 0.22.0: the screen-reader words of `Input` / `Textarea`'s `showCount` counter. */
|
|
303
|
+
characterCount: CharacterCountLabels;
|
|
304
|
+
/** 0.22.0: `CountrySelect`. Its list's "no results" and counts are `combobox`'s. */
|
|
305
|
+
countrySelect: CountrySelectLabels;
|
|
306
|
+
/** 0.22.0: `InlineEditField` — keksdose K9. */
|
|
307
|
+
inlineEdit: InlineEditLabels;
|
|
308
|
+
/** 0.22.0: `IbanInput`'s messages, one per problem. */
|
|
309
|
+
ibanInput: IbanInputLabels;
|
|
310
|
+
/** 0.22.0: `PhoneInput`'s country-code select. */
|
|
311
|
+
phoneInput: PhoneInputLabels;
|
|
312
|
+
/** 0.22.0: `SignChip` — the outflow / inflow toggle beside an amount. */
|
|
313
|
+
signChip: SignChipLabels;
|
|
297
314
|
}
|
|
298
315
|
|
|
299
316
|
/**
|
|
@@ -438,8 +455,40 @@ interface KitI18n {
|
|
|
438
455
|
weekStartsOn?: WeekDay;
|
|
439
456
|
linkComponent?: KitLinkComponent;
|
|
440
457
|
chartTooltipPlacement?: ChartTooltipPlacement;
|
|
458
|
+
formatDate?: KitDateFormatter;
|
|
441
459
|
}
|
|
442
460
|
|
|
461
|
+
/** What a {@link KitDateFormatter} is told about the date it is formatting. */
|
|
462
|
+
export interface KitDateFormatContext {
|
|
463
|
+
/**
|
|
464
|
+
* How much of a date the string is: `"day"` — the `iso` is `"YYYY-MM-DD"`; `"month"` —
|
|
465
|
+
* `"YYYY-MM"` (a `MonthPicker`); `"year"` — `"YYYY"` (`MonthPicker mode="year"`).
|
|
466
|
+
*/
|
|
467
|
+
unit: "day" | "month" | "year";
|
|
468
|
+
/** Which kit surface asks: the trigger of a `DatePicker`, of a `DateRangePicker`
|
|
469
|
+
* (called once per end), of a `MonthPicker`, or a `DateMark`. */
|
|
470
|
+
source: "datePicker" | "dateRangePicker" | "monthPicker" | "dateMark";
|
|
471
|
+
/** The locale the kit would have formatted in — the component's `locale` prop, else
|
|
472
|
+
* the provider's — or `undefined` for the runtime's. */
|
|
473
|
+
locale: string | undefined;
|
|
474
|
+
/**
|
|
475
|
+
* The kit's suggestion: whether this date stands alone where the day of the week
|
|
476
|
+
* helps — `true` for a `DatePicker`'s trigger and a `DateMark`, `false` for the two
|
|
477
|
+
* ends of a range (twice the width, in a sentence-like "from – to") and for a month
|
|
478
|
+
* or a year. keksdose's rule, which this follows: *"A date in a COLUMN carries the
|
|
479
|
+
* weekday. A date in a SENTENCE does not."* (date-cell.tsx, dev#546). A formatter
|
|
480
|
+
* is free to ignore it.
|
|
481
|
+
*/
|
|
482
|
+
weekday: boolean;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* The app's ONE answer to "what does a date look like here" — keksdose K12. Returns the
|
|
487
|
+
* text for an ISO date (see {@link KitDateFormatContext.unit} for the three shapes).
|
|
488
|
+
* Return `""` to fall back to the kit's own formatting for that date.
|
|
489
|
+
*/
|
|
490
|
+
export type KitDateFormatter = (iso: string, context: KitDateFormatContext) => string;
|
|
491
|
+
|
|
443
492
|
/** Where a chart shows the values under the pointer — see `SeriesChartTooltip.placement`. */
|
|
444
493
|
export type ChartTooltipPlacement = "cursor" | "above" | "below" | "auto";
|
|
445
494
|
|
|
@@ -506,6 +555,25 @@ export interface UiKitProviderProps {
|
|
|
506
555
|
* pointer, as before.
|
|
507
556
|
*/
|
|
508
557
|
chartTooltipPlacement?: ChartTooltipPlacement;
|
|
558
|
+
/**
|
|
559
|
+
* How every kit date below is written, when the component is not told otherwise —
|
|
560
|
+
* keksdose K12. keksdose has a date-format preference (Settings ▸ date format, feedback
|
|
561
|
+
* #180) that is not the UI language, and a weekday in the UI language beside digits
|
|
562
|
+
* in the preference's order (live #246, dev#546): two locales in one string, which
|
|
563
|
+
* no `locale` + `Intl` options can say. Its `DateField` wraps every `DatePicker` to
|
|
564
|
+
* pass `formatValue`, and its report range field formats both ends by hand; with this
|
|
565
|
+
* set once on the provider, those wrappers thin to nothing.
|
|
566
|
+
*
|
|
567
|
+
* Used for the trigger text of `DatePicker`, `DateRangePicker` and `MonthPicker`
|
|
568
|
+
* (month and year mode), and for `DateMark display="date"`. A component's own
|
|
569
|
+
* `formatValue` or `formatOptions` (`dateStyle` on a DateMark) wins: prop >
|
|
570
|
+
* provider > the kit's `Intl` default, the order every kit setting resolves in. Left
|
|
571
|
+
* out (or returning `""`), everything formats exactly as before.
|
|
572
|
+
*
|
|
573
|
+
* Keep it stable (`useCallback`, or a module function): it is in the provider's
|
|
574
|
+
* context value, so a new function every render re-renders every consumer.
|
|
575
|
+
*/
|
|
576
|
+
formatDate?: KitDateFormatter;
|
|
509
577
|
children: ReactNode;
|
|
510
578
|
}
|
|
511
579
|
|
|
@@ -523,6 +591,7 @@ export function UiKitProvider({
|
|
|
523
591
|
weekStartsOn,
|
|
524
592
|
linkComponent,
|
|
525
593
|
chartTooltipPlacement,
|
|
594
|
+
formatDate,
|
|
526
595
|
children,
|
|
527
596
|
}: UiKitProviderProps) {
|
|
528
597
|
const outer = useContext(KitI18nContext);
|
|
@@ -533,8 +602,9 @@ export function UiKitProvider({
|
|
|
533
602
|
labels: mergeOverrides(outer.labels, labels),
|
|
534
603
|
linkComponent: linkComponent ?? outer.linkComponent,
|
|
535
604
|
chartTooltipPlacement: chartTooltipPlacement ?? outer.chartTooltipPlacement,
|
|
605
|
+
formatDate: formatDate ?? outer.formatDate,
|
|
536
606
|
}),
|
|
537
|
-
[outer, labels, locale, weekStartsOn, linkComponent, chartTooltipPlacement],
|
|
607
|
+
[outer, labels, locale, weekStartsOn, linkComponent, chartTooltipPlacement, formatDate],
|
|
538
608
|
);
|
|
539
609
|
return <KitI18nContext.Provider value={value}>{children}</KitI18nContext.Provider>;
|
|
540
610
|
}
|
|
@@ -627,6 +697,12 @@ export function useKitChartTooltipPlacement(): ChartTooltipPlacement | undefined
|
|
|
627
697
|
return useContext(KitI18nContext).chartTooltipPlacement;
|
|
628
698
|
}
|
|
629
699
|
|
|
700
|
+
/** The nearest provider's `formatDate`, or `undefined` — a component's own
|
|
701
|
+
* `formatValue` / `formatOptions` wins over it. See {@link KitDateFormatter}. */
|
|
702
|
+
export function useKitDateFormatter(): KitDateFormatter | undefined {
|
|
703
|
+
return useContext(KitI18nContext).formatDate;
|
|
704
|
+
}
|
|
705
|
+
|
|
630
706
|
/** {@link DEFAULT_FILE_LABELS}, but formatting in the provider's locale. */
|
|
631
707
|
export function useKitFileLabels(prop?: Partial<FileLabels>): FileLabels {
|
|
632
708
|
const locale = useKitLocale();
|
package/src/i18n/locales/en.ts
CHANGED
|
@@ -120,5 +120,15 @@ export function uiKitLabelsEn(numberLocale = "en-US"): UiKitLabels {
|
|
|
120
120
|
localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,
|
|
121
121
|
exportCorrections: (count) => `Export corrections (${n(count)})`,
|
|
122
122
|
},
|
|
123
|
+
characterCount: {
|
|
124
|
+
...d.characterCount,
|
|
125
|
+
count: (used, max) => `${n(used)} of ${n(max)} characters`,
|
|
126
|
+
remaining: (left) => (left === 1 ? "1 character left" : `${n(left)} characters left`),
|
|
127
|
+
},
|
|
128
|
+
ibanInput: {
|
|
129
|
+
...d.ibanInput,
|
|
130
|
+
length: (actual, expected) =>
|
|
131
|
+
`An IBAN from this country has ${n(expected)} characters — this one has ${n(actual)}.`,
|
|
132
|
+
},
|
|
123
133
|
};
|
|
124
134
|
}
|
package/src/i18n/locales/es.ts
CHANGED
|
@@ -25,6 +25,7 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
25
25
|
attachmentScreenshot: "Captura de pantalla",
|
|
26
26
|
attachmentRemoveFile: (name) => `Quitar ${name}`,
|
|
27
27
|
attachmentLimit: (max) => `Máximo ${n(max)} ${max === 1 ? "adjunto" : "adjuntos"}: quite uno para añadir otro.`,
|
|
28
|
+
attachmentUploading: "Subiendo…",
|
|
28
29
|
},
|
|
29
30
|
feedbackDialog: {
|
|
30
31
|
title: "Enviar comentarios",
|
|
@@ -201,6 +202,10 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
201
202
|
booleanTrue: "Sí",
|
|
202
203
|
booleanFalse: "No",
|
|
203
204
|
booleanUnset: "Sin definir",
|
|
205
|
+
sortBy: "Ordenar por",
|
|
206
|
+
sortDefault: "Orden predeterminado",
|
|
207
|
+
sortAscending: "Ascendente",
|
|
208
|
+
sortDescending: "Descendente",
|
|
204
209
|
},
|
|
205
210
|
miniCalendar: {
|
|
206
211
|
previousMonth: "Mes anterior",
|
|
@@ -223,6 +228,10 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
223
228
|
previousMonth: "Mes anterior",
|
|
224
229
|
nextMonth: "Mes siguiente",
|
|
225
230
|
today: "Hoy",
|
|
231
|
+
yearPanel: "Elegir un año",
|
|
232
|
+
earlierYears: "Años anteriores",
|
|
233
|
+
laterYears: "Años posteriores",
|
|
234
|
+
thisYear: "Este año",
|
|
226
235
|
},
|
|
227
236
|
calendarHeatmap: {
|
|
228
237
|
grid: "Valores diarios",
|
|
@@ -320,6 +329,7 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
320
329
|
prompt: "Esta acción no se puede deshacer.",
|
|
321
330
|
password: "Contraseña",
|
|
322
331
|
phrase: (phrase) => `Escriba «${phrase}» para confirmar`,
|
|
332
|
+
acknowledge: "He leído lo que hace esta acción y deseo continuar.",
|
|
323
333
|
},
|
|
324
334
|
tabs: {
|
|
325
335
|
add: "Añadir pestaña",
|
|
@@ -526,6 +536,7 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
526
536
|
form: {
|
|
527
537
|
save: "Guardar",
|
|
528
538
|
cancel: "Cancelar",
|
|
539
|
+
submitShortcut: (apple) => (apple ? "⌘ Intro" : "Ctrl+Intro"),
|
|
529
540
|
},
|
|
530
541
|
descriptionList: {
|
|
531
542
|
empty: "—",
|
|
@@ -634,6 +645,41 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
|
|
|
634
645
|
legal: {
|
|
635
646
|
navLabel: "Información legal",
|
|
636
647
|
},
|
|
648
|
+
characterCount: {
|
|
649
|
+
count: (used, max) => `${n(used)} de ${n(max)} ${plural(max, "carácter", "caracteres")}`,
|
|
650
|
+
remaining: (left) =>
|
|
651
|
+
left === 1 ? "Queda 1 carácter" : `Quedan ${n(left)} caracteres`,
|
|
652
|
+
limitReached: "Límite de caracteres alcanzado",
|
|
653
|
+
},
|
|
654
|
+
countrySelect: {
|
|
655
|
+
country: "País",
|
|
656
|
+
search: "Buscar país",
|
|
657
|
+
others: "Otros países",
|
|
658
|
+
},
|
|
659
|
+
inlineEdit: {
|
|
660
|
+
edit: (label) => `Editar ${label}`,
|
|
661
|
+
failed: "No se ha podido guardar el cambio.",
|
|
662
|
+
empty: "Vacío",
|
|
663
|
+
},
|
|
664
|
+
ibanInput: {
|
|
665
|
+
format: "Un IBAN empieza por un código de país de dos letras y dos dígitos de control.",
|
|
666
|
+
country: (code) => `«${code}» no es el código de país de un IBAN.`,
|
|
667
|
+
length: (actual, expected) =>
|
|
668
|
+
`Un IBAN de este país tiene ${n(expected)} caracteres; este tiene ${n(actual)}.`,
|
|
669
|
+
checksum: "Los dígitos de control no coinciden: probablemente hay un carácter mal escrito.",
|
|
670
|
+
qrRequired: "Este es un IBAN normal. Una factura QR requiere el QR-IBAN de la cuenta.",
|
|
671
|
+
qrNotAllowed:
|
|
672
|
+
"Este es un QR-IBAN, que solo recibe pagos de facturas QR. Introduzca el IBAN normal de la cuenta.",
|
|
673
|
+
},
|
|
674
|
+
phoneInput: {
|
|
675
|
+
countryCode: "Prefijo del país",
|
|
676
|
+
other: "Otro",
|
|
677
|
+
},
|
|
678
|
+
signChip: {
|
|
679
|
+
outflow: "Salida",
|
|
680
|
+
inflow: "Entrada",
|
|
681
|
+
direction: (current, next) => `Dirección: ${current} — cambiar a ${next}`,
|
|
682
|
+
},
|
|
637
683
|
translationReview: {
|
|
638
684
|
statusMissing: "Falta",
|
|
639
685
|
statusUnreviewed: "Sin revisar",
|
package/src/i18n/locales/fr.ts
CHANGED
|
@@ -25,6 +25,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
25
25
|
attachmentScreenshot: "Capture d’écran",
|
|
26
26
|
attachmentRemoveFile: (name) => `Retirer ${name}`,
|
|
27
27
|
attachmentLimit: (max) => `${n(max)} ${max === 1 ? "pièce jointe" : "pièces jointes"} au maximum — retirez-en une pour en ajouter une autre.`,
|
|
28
|
+
attachmentUploading: "Envoi en cours…",
|
|
28
29
|
},
|
|
29
30
|
feedbackDialog: {
|
|
30
31
|
title: "Envoyer un retour",
|
|
@@ -208,6 +209,10 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
208
209
|
booleanTrue: "Oui",
|
|
209
210
|
booleanFalse: "Non",
|
|
210
211
|
booleanUnset: "Non défini",
|
|
212
|
+
sortBy: "Trier par",
|
|
213
|
+
sortDefault: "Ordre par défaut",
|
|
214
|
+
sortAscending: "Croissant",
|
|
215
|
+
sortDescending: "Décroissant",
|
|
211
216
|
},
|
|
212
217
|
miniCalendar: {
|
|
213
218
|
previousMonth: "Mois précédent",
|
|
@@ -249,6 +254,10 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
249
254
|
previousMonth: "Mois précédent",
|
|
250
255
|
nextMonth: "Mois suivant",
|
|
251
256
|
today: "Aujourd’hui",
|
|
257
|
+
yearPanel: "Choisir une année",
|
|
258
|
+
earlierYears: "Années précédentes",
|
|
259
|
+
laterYears: "Années suivantes",
|
|
260
|
+
thisYear: "Cette année",
|
|
252
261
|
},
|
|
253
262
|
popover: {
|
|
254
263
|
panel: "Fenêtre contextuelle",
|
|
@@ -329,6 +338,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
329
338
|
prompt: "Cette action est irréversible.",
|
|
330
339
|
password: "Mot de passe",
|
|
331
340
|
phrase: (phrase) => `Saisissez «\u202f${phrase}\u202f» pour confirmer`,
|
|
341
|
+
acknowledge: "J’ai lu ce que fait cette action et je souhaite continuer.",
|
|
332
342
|
},
|
|
333
343
|
tabs: {
|
|
334
344
|
add: "Ajouter un onglet",
|
|
@@ -543,6 +553,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
543
553
|
form: {
|
|
544
554
|
save: "Enregistrer",
|
|
545
555
|
cancel: "Annuler",
|
|
556
|
+
submitShortcut: (apple) => (apple ? "⌘ Entrée" : "Ctrl+Entrée"),
|
|
546
557
|
},
|
|
547
558
|
descriptionList: {
|
|
548
559
|
empty: "—",
|
|
@@ -651,6 +662,40 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
|
|
|
651
662
|
legal: {
|
|
652
663
|
navLabel: "Informations légales",
|
|
653
664
|
},
|
|
665
|
+
characterCount: {
|
|
666
|
+
count: (used, max) => `${n(used)} sur ${n(max)} ${plural(max, "caractère", "caractères")}`,
|
|
667
|
+
remaining: (left) => `${n(left)} ${plural(left, "caractère restant", "caractères restants")}`,
|
|
668
|
+
limitReached: "Limite de caractères atteinte",
|
|
669
|
+
},
|
|
670
|
+
countrySelect: {
|
|
671
|
+
country: "Pays",
|
|
672
|
+
search: "Rechercher un pays",
|
|
673
|
+
others: "Autres pays",
|
|
674
|
+
},
|
|
675
|
+
inlineEdit: {
|
|
676
|
+
edit: (label) => `Modifier ${label}`,
|
|
677
|
+
failed: "La modification n’a pas pu être enregistrée.",
|
|
678
|
+
empty: "Vide",
|
|
679
|
+
},
|
|
680
|
+
ibanInput: {
|
|
681
|
+
format: "Un IBAN commence par un code pays de deux lettres et deux chiffres de contrôle.",
|
|
682
|
+
country: (code) => `«\u202f${code}\u202f» n’est pas le code pays d’un IBAN.`,
|
|
683
|
+
length: (actual, expected) =>
|
|
684
|
+
`Un IBAN de ce pays compte ${n(expected)} caractères — celui-ci en compte ${n(actual)}.`,
|
|
685
|
+
checksum: "Les chiffres de contrôle ne correspondent pas — un caractère est sans doute mal saisi.",
|
|
686
|
+
qrRequired: "Ceci est un IBAN ordinaire. Une QR-facture exige le QR-IBAN du compte.",
|
|
687
|
+
qrNotAllowed:
|
|
688
|
+
"Ceci est un QR-IBAN, qui ne reçoit que des paiements par QR-facture. Saisissez l’IBAN ordinaire du compte.",
|
|
689
|
+
},
|
|
690
|
+
phoneInput: {
|
|
691
|
+
countryCode: "Indicatif du pays",
|
|
692
|
+
other: "Autre",
|
|
693
|
+
},
|
|
694
|
+
signChip: {
|
|
695
|
+
outflow: "Sortie",
|
|
696
|
+
inflow: "Entrée",
|
|
697
|
+
direction: (current, next) => `Sens\u00a0: ${current} — passer à ${next}`,
|
|
698
|
+
},
|
|
654
699
|
translationReview: {
|
|
655
700
|
statusMissing: "Manquant",
|
|
656
701
|
statusUnreviewed: "Non relu",
|
package/src/i18n/locales/hu.ts
CHANGED
|
@@ -24,6 +24,7 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
24
24
|
attachmentScreenshot: "Képernyőkép",
|
|
25
25
|
attachmentRemoveFile: (name) => `${name} eltávolítása`,
|
|
26
26
|
attachmentLimit: (max) => `Legfeljebb ${n(max)} melléklet – egy újabbhoz távolítson el egyet.`,
|
|
27
|
+
attachmentUploading: "Feltöltés…",
|
|
27
28
|
},
|
|
28
29
|
feedbackDialog: {
|
|
29
30
|
title: "Visszajelzés küldése",
|
|
@@ -201,6 +202,10 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
201
202
|
booleanTrue: "Igen",
|
|
202
203
|
booleanFalse: "Nem",
|
|
203
204
|
booleanUnset: "Nincs megadva",
|
|
205
|
+
sortBy: "Rendezés alapja",
|
|
206
|
+
sortDefault: "Alapértelmezett sorrend",
|
|
207
|
+
sortAscending: "Növekvő",
|
|
208
|
+
sortDescending: "Csökkenő",
|
|
204
209
|
},
|
|
205
210
|
miniCalendar: {
|
|
206
211
|
previousMonth: "Előző hónap",
|
|
@@ -221,6 +226,10 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
221
226
|
previousMonth: "Előző hónap",
|
|
222
227
|
nextMonth: "Következő hónap",
|
|
223
228
|
today: "Ma",
|
|
229
|
+
yearPanel: "Év kiválasztása",
|
|
230
|
+
earlierYears: "Korábbi évek",
|
|
231
|
+
laterYears: "Későbbi évek",
|
|
232
|
+
thisYear: "Ez az év",
|
|
224
233
|
},
|
|
225
234
|
calendarHeatmap: {
|
|
226
235
|
grid: "Napi értékek",
|
|
@@ -320,6 +329,7 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
320
329
|
password: "Jelszó",
|
|
321
330
|
// Phrase after a colon, so no article has to agree with it.
|
|
322
331
|
phrase: (phrase) => `A megerősítéshez írja be: „${phrase}”`,
|
|
332
|
+
acknowledge: "Elolvastam, mit eredményez ez a művelet, és folytatni szeretném.",
|
|
323
333
|
},
|
|
324
334
|
tabs: {
|
|
325
335
|
add: "Lap hozzáadása",
|
|
@@ -529,6 +539,7 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
529
539
|
form: {
|
|
530
540
|
save: "Mentés",
|
|
531
541
|
cancel: "Mégse",
|
|
542
|
+
submitShortcut: (apple) => (apple ? "⌘ Enter" : "Ctrl+Enter"),
|
|
532
543
|
},
|
|
533
544
|
descriptionList: {
|
|
534
545
|
empty: "—",
|
|
@@ -640,6 +651,41 @@ export function uiKitLabelsHu(numberLocale = "hu-HU"): UiKitLabels {
|
|
|
640
651
|
legal: {
|
|
641
652
|
navLabel: "Jogi információk",
|
|
642
653
|
},
|
|
654
|
+
characterCount: {
|
|
655
|
+
// A noun after a numeral stays singular: "80 karakter".
|
|
656
|
+
count: (used, max) => `${n(used)} / ${n(max)} karakter`,
|
|
657
|
+
remaining: (left) => `Még ${n(left)} karakter írható`,
|
|
658
|
+
limitReached: "Elérte a karakterkorlátot",
|
|
659
|
+
},
|
|
660
|
+
countrySelect: {
|
|
661
|
+
country: "Ország",
|
|
662
|
+
search: "Ország keresése",
|
|
663
|
+
others: "További országok",
|
|
664
|
+
},
|
|
665
|
+
inlineEdit: {
|
|
666
|
+
edit: (label) => `${label} szerkesztése`,
|
|
667
|
+
failed: "A módosítást nem sikerült menteni.",
|
|
668
|
+
empty: "Üres",
|
|
669
|
+
},
|
|
670
|
+
ibanInput: {
|
|
671
|
+
format: "Az IBAN kétbetűs országkóddal és két ellenőrző számjeggyel kezdődik.",
|
|
672
|
+
country: (code) => `„${code}” nem IBAN-országkód.`,
|
|
673
|
+
length: (actual, expected) =>
|
|
674
|
+
`Ebben az országban az IBAN ${n(expected)} karakterből áll, ez ${n(actual)} karakterből.`,
|
|
675
|
+
checksum: "Az ellenőrző számjegyek nem egyeznek – valószínűleg elgépelt egy karaktert.",
|
|
676
|
+
qrRequired: "Ez egy normál IBAN. QR-számlához a bankszámla QR-IBAN-ja kell.",
|
|
677
|
+
qrNotAllowed:
|
|
678
|
+
"Ez egy QR-IBAN, amelyre csak QR-számlás befizetés érkezhet. Adja meg a bankszámla normál IBAN-ját.",
|
|
679
|
+
},
|
|
680
|
+
phoneInput: {
|
|
681
|
+
countryCode: "Országhívó szám",
|
|
682
|
+
other: "Egyéb",
|
|
683
|
+
},
|
|
684
|
+
signChip: {
|
|
685
|
+
outflow: "Kiadás",
|
|
686
|
+
inflow: "Bevétel",
|
|
687
|
+
direction: (current, next) => `Irány: ${current} – váltás erre: ${next}`,
|
|
688
|
+
},
|
|
643
689
|
translationReview: {
|
|
644
690
|
statusMissing: "Hiányzik",
|
|
645
691
|
statusUnreviewed: "Nincs ellenőrizve",
|
package/src/i18n/locales/it.ts
CHANGED
|
@@ -25,6 +25,7 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
25
25
|
attachmentScreenshot: "Screenshot",
|
|
26
26
|
attachmentRemoveFile: (name) => `Rimuovi ${name}`,
|
|
27
27
|
attachmentLimit: (max) => `Massimo ${n(max)} ${max === 1 ? "allegato" : "allegati"}: ne rimuova uno per aggiungerne un altro.`,
|
|
28
|
+
attachmentUploading: "Caricamento…",
|
|
28
29
|
},
|
|
29
30
|
feedbackDialog: {
|
|
30
31
|
title: "Invia feedback",
|
|
@@ -202,6 +203,10 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
202
203
|
booleanTrue: "Sì",
|
|
203
204
|
booleanFalse: "No",
|
|
204
205
|
booleanUnset: "Non impostato",
|
|
206
|
+
sortBy: "Ordina per",
|
|
207
|
+
sortDefault: "Ordine predefinito",
|
|
208
|
+
sortAscending: "Crescente",
|
|
209
|
+
sortDescending: "Decrescente",
|
|
205
210
|
},
|
|
206
211
|
miniCalendar: {
|
|
207
212
|
previousMonth: "Mese precedente",
|
|
@@ -224,6 +229,10 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
224
229
|
previousMonth: "Mese precedente",
|
|
225
230
|
nextMonth: "Mese successivo",
|
|
226
231
|
today: "Oggi",
|
|
232
|
+
yearPanel: "Scegli un anno",
|
|
233
|
+
earlierYears: "Anni precedenti",
|
|
234
|
+
laterYears: "Anni successivi",
|
|
235
|
+
thisYear: "Quest’anno",
|
|
227
236
|
},
|
|
228
237
|
calendarHeatmap: {
|
|
229
238
|
grid: "Valori giornalieri",
|
|
@@ -322,6 +331,7 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
322
331
|
prompt: "Questa operazione non può essere annullata.",
|
|
323
332
|
password: "Password",
|
|
324
333
|
phrase: (phrase) => `Digiti «${phrase}» per confermare`,
|
|
334
|
+
acknowledge: "Ho letto cosa comporta questa operazione e desidero continuare.",
|
|
325
335
|
},
|
|
326
336
|
tabs: {
|
|
327
337
|
add: "Aggiungi scheda",
|
|
@@ -529,6 +539,7 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
529
539
|
form: {
|
|
530
540
|
save: "Salva",
|
|
531
541
|
cancel: "Annulla",
|
|
542
|
+
submitShortcut: (apple) => (apple ? "⌘ Invio" : "Ctrl+Invio"),
|
|
532
543
|
},
|
|
533
544
|
descriptionList: {
|
|
534
545
|
empty: "—",
|
|
@@ -637,6 +648,42 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
|
|
|
637
648
|
legal: {
|
|
638
649
|
navLabel: "Note legali",
|
|
639
650
|
},
|
|
651
|
+
characterCount: {
|
|
652
|
+
count: (used, max) => `${n(used)} di ${n(max)} ${plural(max, "carattere", "caratteri")}`,
|
|
653
|
+
remaining: (left) =>
|
|
654
|
+
left === 1 ? "Resta 1 carattere" : `Restano ${n(left)} caratteri`,
|
|
655
|
+
limitReached: "Limite di caratteri raggiunto",
|
|
656
|
+
},
|
|
657
|
+
countrySelect: {
|
|
658
|
+
country: "Paese",
|
|
659
|
+
search: "Cerca paese",
|
|
660
|
+
others: "Altri paesi",
|
|
661
|
+
},
|
|
662
|
+
inlineEdit: {
|
|
663
|
+
edit: (label) => `Modifica ${label}`,
|
|
664
|
+
failed: "Non è stato possibile salvare la modifica.",
|
|
665
|
+
empty: "Vuoto",
|
|
666
|
+
},
|
|
667
|
+
ibanInput: {
|
|
668
|
+
format: "Un IBAN inizia con un codice paese di due lettere e due cifre di controllo.",
|
|
669
|
+
country: (code) => `«${code}» non è il codice paese di un IBAN.`,
|
|
670
|
+
length: (actual, expected) =>
|
|
671
|
+
`Un IBAN di questo paese ha ${n(expected)} caratteri, questo ne ha ${n(actual)}.`,
|
|
672
|
+
checksum: "Le cifre di controllo non corrispondono: probabilmente un carattere è stato digitato male.",
|
|
673
|
+
qrRequired: "Questo è un IBAN normale. Una QR-fattura richiede il QR-IBAN del conto.",
|
|
674
|
+
qrNotAllowed:
|
|
675
|
+
"Questo è un QR-IBAN, che riceve solo pagamenti con QR-fattura. Inserisca l’IBAN normale del conto.",
|
|
676
|
+
},
|
|
677
|
+
phoneInput: {
|
|
678
|
+
countryCode: "Prefisso internazionale",
|
|
679
|
+
other: "Altro",
|
|
680
|
+
},
|
|
681
|
+
signChip: {
|
|
682
|
+
outflow: "Uscita",
|
|
683
|
+
inflow: "Entrata",
|
|
684
|
+
// "premere per…": an instruction without a tu imperative, as the kit's Italian is formal.
|
|
685
|
+
direction: (current, next) => `Direzione: ${current} – premere per passare a ${next}`,
|
|
686
|
+
},
|
|
640
687
|
translationReview: {
|
|
641
688
|
statusMissing: "Mancante",
|
|
642
689
|
statusUnreviewed: "Non rivisto",
|
package/src/i18n/locales/zh.ts
CHANGED
|
@@ -24,6 +24,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
24
24
|
attachmentScreenshot: "截图",
|
|
25
25
|
attachmentRemoveFile: (name) => `移除 ${name}`,
|
|
26
26
|
attachmentLimit: (max) => `最多 ${n(max)} 个附件,请先移除一个再添加。`,
|
|
27
|
+
attachmentUploading: "正在上传…",
|
|
27
28
|
},
|
|
28
29
|
feedbackDialog: {
|
|
29
30
|
title: "发送反馈",
|
|
@@ -199,6 +200,10 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
199
200
|
booleanTrue: "是",
|
|
200
201
|
booleanFalse: "否",
|
|
201
202
|
booleanUnset: "未设置",
|
|
203
|
+
sortBy: "排序依据",
|
|
204
|
+
sortDefault: "默认顺序",
|
|
205
|
+
sortAscending: "升序",
|
|
206
|
+
sortDescending: "降序",
|
|
202
207
|
},
|
|
203
208
|
miniCalendar: {
|
|
204
209
|
previousMonth: "上个月",
|
|
@@ -218,6 +223,10 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
218
223
|
previousMonth: "上个月",
|
|
219
224
|
nextMonth: "下个月",
|
|
220
225
|
today: "今天",
|
|
226
|
+
yearPanel: "选择年份",
|
|
227
|
+
earlierYears: "更早的年份",
|
|
228
|
+
laterYears: "更晚的年份",
|
|
229
|
+
thisYear: "今年",
|
|
221
230
|
},
|
|
222
231
|
calendarHeatmap: {
|
|
223
232
|
grid: "每日数值",
|
|
@@ -314,6 +323,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
314
323
|
prompt: "此操作无法撤销。",
|
|
315
324
|
password: "密码",
|
|
316
325
|
phrase: (phrase) => `输入“${phrase}”以确认`,
|
|
326
|
+
acknowledge: "我已了解此操作的作用,并希望继续。",
|
|
317
327
|
},
|
|
318
328
|
tabs: {
|
|
319
329
|
add: "添加标签页",
|
|
@@ -516,6 +526,7 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
516
526
|
form: {
|
|
517
527
|
save: "保存",
|
|
518
528
|
cancel: "取消",
|
|
529
|
+
submitShortcut: (apple) => (apple ? "⌘ Enter" : "Ctrl+Enter"),
|
|
519
530
|
},
|
|
520
531
|
descriptionList: {
|
|
521
532
|
empty: "—",
|
|
@@ -623,6 +634,39 @@ export function uiKitLabelsZh(numberLocale = "zh-CN"): UiKitLabels {
|
|
|
623
634
|
legal: {
|
|
624
635
|
navLabel: "法律信息",
|
|
625
636
|
},
|
|
637
|
+
characterCount: {
|
|
638
|
+
count: (used, max) => `已输入 ${n(used)}/${n(max)} 个字符`,
|
|
639
|
+
remaining: (left) => `还可输入 ${n(left)} 个字符`,
|
|
640
|
+
limitReached: "已达到字符数上限",
|
|
641
|
+
},
|
|
642
|
+
countrySelect: {
|
|
643
|
+
country: "国家/地区",
|
|
644
|
+
search: "搜索国家/地区",
|
|
645
|
+
others: "其他国家/地区",
|
|
646
|
+
},
|
|
647
|
+
inlineEdit: {
|
|
648
|
+
edit: (label) => `编辑“${label}”`,
|
|
649
|
+
failed: "无法保存更改。",
|
|
650
|
+
empty: "空",
|
|
651
|
+
},
|
|
652
|
+
ibanInput: {
|
|
653
|
+
format: "IBAN 以两个字母的国家代码和两位校验码开头。",
|
|
654
|
+
country: (code) => `“${code}”不是 IBAN 的国家代码。`,
|
|
655
|
+
length: (actual, expected) =>
|
|
656
|
+
`该国家的 IBAN 应为 ${n(expected)} 个字符,当前为 ${n(actual)} 个。`,
|
|
657
|
+
checksum: "校验码不匹配,可能有字符输入错误。",
|
|
658
|
+
qrRequired: "这是普通 IBAN。QR 账单需要该账户的 QR-IBAN。",
|
|
659
|
+
qrNotAllowed: "这是 QR-IBAN,只能接收 QR 账单付款。请输入该账户的普通 IBAN。",
|
|
660
|
+
},
|
|
661
|
+
phoneInput: {
|
|
662
|
+
countryCode: "国家/地区代码",
|
|
663
|
+
other: "其他",
|
|
664
|
+
},
|
|
665
|
+
signChip: {
|
|
666
|
+
outflow: "支出",
|
|
667
|
+
inflow: "收入",
|
|
668
|
+
direction: (current, next) => `方向:${current},切换为${next}`,
|
|
669
|
+
},
|
|
626
670
|
translationReview: {
|
|
627
671
|
statusMissing: "缺失",
|
|
628
672
|
statusUnreviewed: "未审校",
|
package/src/i18n/review.ts
CHANGED
|
@@ -157,6 +157,7 @@ export const KIT_LABEL_SAMPLES: Readonly<Record<string, readonly (readonly unkno
|
|
|
157
157
|
"confirmDialog.typed": [["{{text}}"]],
|
|
158
158
|
"floatingPanel.badge": one,
|
|
159
159
|
"bulkActionBar.selected": one,
|
|
160
|
+
"form.submitShortcut": [[true], [false]],
|
|
160
161
|
"lineItems.remove": [[3]],
|
|
161
162
|
"lineItems.confirmRemove": [[3]],
|
|
162
163
|
"lineItems.row": [[3]],
|
|
@@ -190,4 +191,10 @@ export const KIT_LABEL_SAMPLES: Readonly<Record<string, readonly (readonly unkno
|
|
|
190
191
|
"translationReview.lastFlagged": [["{{name}}", "{{date}}"]],
|
|
191
192
|
"translationReview.scope": [["{{areas}}"]],
|
|
192
193
|
"translationReview.exportCorrections": [[0], [1], [3]],
|
|
194
|
+
"characterCount.count": [[12, 80]],
|
|
195
|
+
"characterCount.remaining": one,
|
|
196
|
+
"inlineEdit.edit": [["{{label}}"]],
|
|
197
|
+
"ibanInput.country": [["{{code}}"]],
|
|
198
|
+
"ibanInput.length": [[20, 21]],
|
|
199
|
+
"signChip.direction": [["{{current}}", "{{next}}"]],
|
|
193
200
|
};
|