From 847c7133cc6dccf309edb3e0817649441b71998a Mon Sep 17 00:00:00 2001 From: Harsh Date: Mon, 1 Dec 2025 16:38:36 +0100 Subject: [PATCH 1/2] feat: add internationalization support for openCalendarAriaLabel accessibility text --- .../__snapshots__/documenter.test.ts.snap | 22 ++++++- .../__tests__/date-picker.test.tsx | 66 +++++++++++++++++++ src/date-picker/index.tsx | 20 ++++-- src/date-picker/interfaces.ts | 10 ++- src/i18n/messages-types.ts | 11 ++++ src/i18n/messages/all.ar.json | 9 +++ src/i18n/messages/all.de.json | 9 +++ src/i18n/messages/all.en-GB.json | 9 +++ src/i18n/messages/all.en.json | 9 +++ src/i18n/messages/all.es.json | 9 +++ src/i18n/messages/all.fr.json | 9 +++ src/i18n/messages/all.id.json | 9 +++ src/i18n/messages/all.it.json | 9 +++ src/i18n/messages/all.ja.json | 9 +++ src/i18n/messages/all.ko.json | 9 +++ src/i18n/messages/all.pt-BR.json | 9 +++ src/i18n/messages/all.tr.json | 9 +++ src/i18n/messages/all.zh-CN.json | 9 +++ src/i18n/messages/all.zh-TW.json | 9 +++ 19 files changed, 245 insertions(+), 10 deletions(-) diff --git a/src/__tests__/snapshot-tests/__snapshots__/documenter.test.ts.snap b/src/__tests__/snapshot-tests/__snapshots__/documenter.test.ts.snap index fb727ee7a2..a460656d2d 100644 --- a/src/__tests__/snapshot-tests/__snapshots__/documenter.test.ts.snap +++ b/src/__tests__/snapshot-tests/__snapshots__/documenter.test.ts.snap @@ -10320,7 +10320,7 @@ Defaults to \`day\`.", the component.", "i18nTag": true, "inlineType": { - "name": "CalendarProps.I18nStrings", + "name": "DatePickerProps.I18nStrings", "properties": [ { "name": "currentMonthAriaLabel", @@ -10337,6 +10337,22 @@ the component.", "optional": true, "type": "string", }, + { + "inlineType": { + "name": "DatePickerProps.OpenCalendarAriaLabel", + "parameters": [ + { + "name": "selectedDate", + "type": "string | null", + }, + ], + "returnType": "string", + "type": "function", + }, + "name": "openCalendarAriaLabel", + "optional": true, + "type": "DatePickerProps.OpenCalendarAriaLabel", + }, { "name": "previousMonthAriaLabel", "optional": true, @@ -10357,7 +10373,7 @@ the component.", }, "name": "i18nStrings", "optional": true, - "type": "CalendarProps.I18nStrings", + "type": "DatePickerProps.I18nStrings", }, { "deprecatedTag": "The usage of the \`id\` attribute is reserved for internal use cases. For testing and other use cases, @@ -10440,9 +10456,11 @@ Supported values and formats are listed in the "type": "string", }, { + "deprecatedTag": "Use \`i18nStrings.openCalendarAriaLabel\` instead.", "description": "Specifies a function that generates the \`aria-label\` for the 'open calendar' button. The \`selectedDate\` parameter is a human-readable localised string representing the current value of the input. (for example, \`\`selectedDate => 'Choose Date' + (selectedDate ? \`, selected date is \${selectedDate}\` : '')\`\`)", + "i18nTag": true, "inlineType": { "name": "DatePickerProps.OpenCalendarAriaLabel", "parameters": [ diff --git a/src/date-picker/__tests__/date-picker.test.tsx b/src/date-picker/__tests__/date-picker.test.tsx index 49d48266bd..8af0b715ae 100644 --- a/src/date-picker/__tests__/date-picker.test.tsx +++ b/src/date-picker/__tests__/date-picker.test.tsx @@ -6,6 +6,7 @@ import { render } from '@testing-library/react'; import DatePicker, { DatePickerProps } from '../../../lib/components/date-picker'; import FormField from '../../../lib/components/form-field'; +import TestI18nProvider from '../../../lib/components/i18n/testing'; import { NonCancelableEventHandler } from '../../../lib/components/internal/events'; import createWrapper from '../../../lib/components/test-utils/dom'; import DatePickerWrapper from '../../../lib/components/test-utils/dom/date-picker'; @@ -422,3 +423,68 @@ describe('generates aria-label for the "Open calendar" button', () => { expect(button).toHaveAttribute('aria-label', 'Choose Date'); }); }); + +describe('i18n', () => { + test('uses openCalendarAriaLabel from i18n provider when no date is selected', () => { + const { container } = render( + + + + ); + const wrapper = createWrapper(container).findDatePicker()!; + expect(wrapper.findOpenCalendarButton().getElement()).toHaveAttribute('aria-label', 'Choose calendar date'); + }); + + test('uses openCalendarAriaLabel from i18n provider when date is selected', () => { + const { container } = render( + + + + ); + const wrapper = createWrapper(container).findDatePicker()!; + expect(wrapper.findOpenCalendarButton().getElement()).toHaveAttribute( + 'aria-label', + 'Choose calendar date, selected Friday, April 11, 2003' + ); + }); + + test('uses openCalendarAriaLabel prop over i18n provider', () => { + const { container } = render( + + + selectedDate ? `Custom label, selected ${selectedDate}` : 'Custom label' + } + /> + + ); + const wrapper = createWrapper(container).findDatePicker()!; + expect(wrapper.findOpenCalendarButton().getElement()).toHaveAttribute( + 'aria-label', + 'Custom label, selected Friday, April 11, 2003' + ); + }); +}); diff --git a/src/date-picker/index.tsx b/src/date-picker/index.tsx index b2b27991a2..8fba24692e 100644 --- a/src/date-picker/index.tsx +++ b/src/date-picker/index.tsx @@ -11,6 +11,7 @@ import { InternalButton } from '../button/internal'; import InternalCalendar from '../calendar/internal'; import { useFormFieldContext } from '../contexts/form-field.js'; import InternalDateInput from '../date-input/internal'; +import { useInternalI18n } from '../i18n/context.js'; import { useLocale } from '../i18n/context.js'; import { InputProps } from '../input/interfaces'; import { getBaseProps } from '../internal/base-component'; @@ -73,6 +74,7 @@ const DatePicker = React.forwardRef( }); checkControlled('DatePicker', 'value', value, 'onChange', onChange); + const i18n = useInternalI18n('date-picker'); const contextLocale = useLocale(); const normalizedLocale = normalizeLocale('DatePicker', locale || contextLocale); @@ -123,13 +125,17 @@ const DatePicker = React.forwardRef( const hasFullValue = isValidFullDate({ date: value, granularity }); - const buttonAriaLabel = - openCalendarAriaLabel && - openCalendarAriaLabel( - hasFullValue && parsedValue - ? getSelectedDateLabel({ date: parsedValue, granularity, locale: normalizedLocale }) - : null - ); + const defaultOpenCalendarAriaLabel = i18n( + 'i18nStrings.openCalendarAriaLabel', + i18nStrings?.openCalendarAriaLabel ?? openCalendarAriaLabel, + format => (selectedDate: string | null) => format({ selectedDate: selectedDate ?? 'none' }) + ); + + const buttonAriaLabel = defaultOpenCalendarAriaLabel?.( + hasFullValue && parsedValue + ? getSelectedDateLabel({ date: parsedValue, granularity, locale: normalizedLocale }) + : null + ); const trigger = (
diff --git a/src/date-picker/interfaces.ts b/src/date-picker/interfaces.ts index 73b1fd1417..fbd0ba0759 100644 --- a/src/date-picker/interfaces.ts +++ b/src/date-picker/interfaces.ts @@ -22,6 +22,7 @@ export interface DatePickerProps * Specifies a function that generates the `aria-label` for the 'open calendar' button. The `selectedDate` parameter is * a human-readable localised string representing the current value of the input. * (for example, ``selectedDate => 'Choose Date' + (selectedDate ? `, selected date is ${selectedDate}` : '')``) + * @deprecated Use `i18nStrings.openCalendarAriaLabel` instead. */ openCalendarAriaLabel?: DatePickerProps.OpenCalendarAriaLabel; @@ -130,7 +131,14 @@ export namespace DatePickerProps { focus(): void; } - export type I18nStrings = CalendarProps.I18nStrings; + export interface I18nStrings extends CalendarProps.I18nStrings { + /** + * Specifies a function that generates the `aria-label` for the 'open calendar' button. The `selectedDate` parameter is + * a human-readable localised string representing the current value of the input, or `null` when no date is selected. + * @i18n + */ + openCalendarAriaLabel?: OpenCalendarAriaLabel; + } export type Granularity = DateGranularity; diff --git a/src/i18n/messages-types.ts b/src/i18n/messages-types.ts index 4855d00d5c..392b12df2d 100644 --- a/src/i18n/messages-types.ts +++ b/src/i18n/messages-types.ts @@ -166,6 +166,11 @@ export interface I18nFormatArgTypes { "copy-to-clipboard": { "i18nStrings.copyButtonText": never; } + "date-picker": { + "i18nStrings.openCalendarAriaLabel": { + "selectedDate": string; + } + } "date-range-picker": { "i18nStrings.relativeModeTitle": never; "i18nStrings.absoluteModeTitle": never; @@ -217,6 +222,12 @@ export interface I18nFormatArgTypes { "drawer": { "i18nStrings.loadingText": never; } + "error-boundary": { + "i18nStrings.headerText": never; + "i18nStrings.descriptionText": never; + "i18nStrings.descriptionWithFeedbackText": never; + "i18nStrings.refreshActionText": never; + } "file-token-group": { "i18nStrings.limitShowFewer": never; "i18nStrings.limitShowMore": never; diff --git a/src/i18n/messages/all.ar.json b/src/i18n/messages/all.ar.json index 25bc8709ea..b0dcc25242 100644 --- a/src/i18n/messages/all.ar.json +++ b/src/i18n/messages/all.ar.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "نسخ" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {اختر التاريخ} other {اختر التاريخ، التاريخ المحدد هو {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "الوضع النسبي", "i18nStrings.absoluteModeTitle": "الوضع المُطلق", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "جار تحميل المحتوى" }, + "error-boundary": { + "i18nStrings.headerText": "خطأ غير متوقع، فشل عرض المحتوى", + "i18nStrings.descriptionText": "حدِّث الصفحة للمحاولة مرة أخرى.", + "i18nStrings.descriptionWithFeedbackText": "حدِّث الصفحة للمحاولة مرة أخرى. نحن نتتبع هذه المشكلة، ولكن يمكنك مشاركة المزيد من المعلومات هنا.", + "i18nStrings.refreshActionText": "تحديث الصفحة" + }, "file-token-group": { "i18nStrings.limitShowFewer": "إظهار عدد أقل من عوامل التصفية", "i18nStrings.limitShowMore": "عرض المزيد من عوامل التصفية", diff --git a/src/i18n/messages/all.de.json b/src/i18n/messages/all.de.json index 7e1322395d..680627a796 100644 --- a/src/i18n/messages/all.de.json +++ b/src/i18n/messages/all.de.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "Kopieren" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {Datum wählen} other {Datum wählen, ausgewähltes Datum ist {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "Relativer Modus", "i18nStrings.absoluteModeTitle": "Absoluter Modus", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "Inhalte werden geladen" }, + "error-boundary": { + "i18nStrings.headerText": "Unerwarteter Fehler, Inhalt konnte nicht angezeigt werden", + "i18nStrings.descriptionText": "Aktualisieren Sie die Seite, um es erneut zu versuchen.", + "i18nStrings.descriptionWithFeedbackText": "Aktualisieren Sie die Seite, um es erneut zu versuchen. Wir verfolgen dieses Problem nach, Sie können aber hier zusätzliche Informationen mitteilen.", + "i18nStrings.refreshActionText": "Seite aktualisieren" + }, "file-token-group": { "i18nStrings.limitShowFewer": "Weniger anzeigen", "i18nStrings.limitShowMore": "Mehr anzeigen", diff --git a/src/i18n/messages/all.en-GB.json b/src/i18n/messages/all.en-GB.json index 30dac7a51f..a42ee79b88 100644 --- a/src/i18n/messages/all.en-GB.json +++ b/src/i18n/messages/all.en-GB.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "Copy" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {Choose a date} other {Choose a date, the selected date is {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "Relative mode", "i18nStrings.absoluteModeTitle": "Absolute mode", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "Loading content" }, + "error-boundary": { + "i18nStrings.headerText": "Unexpected error, content failed to show", + "i18nStrings.descriptionText": "Refresh to try again.", + "i18nStrings.descriptionWithFeedbackText": "Refresh to try again. We are tracking this issue, but you can share more information here.", + "i18nStrings.refreshActionText": "Refresh page" + }, "file-token-group": { "i18nStrings.limitShowFewer": "Show fewer", "i18nStrings.limitShowMore": "Show more", diff --git a/src/i18n/messages/all.en.json b/src/i18n/messages/all.en.json index bb0659f6c3..7a494eb7b8 100644 --- a/src/i18n/messages/all.en.json +++ b/src/i18n/messages/all.en.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "Copy" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {Choose date} other {Choose date, selected date is {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "Relative mode", "i18nStrings.absoluteModeTitle": "Absolute mode", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "Loading content" }, + "error-boundary": { + "i18nStrings.headerText": "Unexpected error, content failed to show", + "i18nStrings.descriptionText": "Refresh to try again.", + "i18nStrings.descriptionWithFeedbackText": "Refresh to try again. We are tracking this issue, but you can share more information here.", + "i18nStrings.refreshActionText": "Refresh page" + }, "file-token-group": { "i18nStrings.limitShowFewer": "Show fewer", "i18nStrings.limitShowMore": "Show more", diff --git a/src/i18n/messages/all.es.json b/src/i18n/messages/all.es.json index c18d261a8a..b86383ed0a 100644 --- a/src/i18n/messages/all.es.json +++ b/src/i18n/messages/all.es.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "Copiar" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {Elegir fecha} other {Elegir fecha; la fecha seleccionada es {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "Modo relativo", "i18nStrings.absoluteModeTitle": "Modo absoluto", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "Cargando contenido" }, + "error-boundary": { + "i18nStrings.headerText": "Error inesperado. No se pudo mostrar el contenido", + "i18nStrings.descriptionText": "Actualice para intentarlo de nuevo.", + "i18nStrings.descriptionWithFeedbackText": "Actualice para intentarlo de nuevo. Estamos siguiendo este problema, pero puede compartir más información aquí.", + "i18nStrings.refreshActionText": "Actualizar página" + }, "file-token-group": { "i18nStrings.limitShowFewer": "Mostrar menos", "i18nStrings.limitShowMore": "Mostrar más", diff --git a/src/i18n/messages/all.fr.json b/src/i18n/messages/all.fr.json index 2b1365965a..c7cf383241 100644 --- a/src/i18n/messages/all.fr.json +++ b/src/i18n/messages/all.fr.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "Copier" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {Sélectionner la date} other {Sélectionnez la date, la date sélectionnée est le {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "Mode relatif", "i18nStrings.absoluteModeTitle": "Mode absolu", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "Chargement du contenu en cours" }, + "error-boundary": { + "i18nStrings.headerText": "Erreur inattendue, le contenu n'a pas pu s'afficher", + "i18nStrings.descriptionText": "Actualisez pour réessayer.", + "i18nStrings.descriptionWithFeedbackText": "Actualisez pour réessayer. Nous suivons ce problème mais vous pouvez fournir plus d'informations ici.", + "i18nStrings.refreshActionText": "Actualiser la page" + }, "file-token-group": { "i18nStrings.limitShowFewer": "Afficher moins", "i18nStrings.limitShowMore": "Afficher plus", diff --git a/src/i18n/messages/all.id.json b/src/i18n/messages/all.id.json index e2c113b636..1d76e0a615 100644 --- a/src/i18n/messages/all.id.json +++ b/src/i18n/messages/all.id.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "Salin" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {Pilih tanggal} other {Pilih tanggal, tanggal yang dipilih adalah {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "Mode relatif", "i18nStrings.absoluteModeTitle": "Mode absolut", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "Memuat konten" }, + "error-boundary": { + "i18nStrings.headerText": "Kesalahan tak terduga, konten gagal ditampilkan", + "i18nStrings.descriptionText": "Refresh untuk mencoba lagi.", + "i18nStrings.descriptionWithFeedbackText": "Refresh untuk mencoba lagi. Kami sedang melacak masalah ini, tetapi Anda dapat membagikan informasi selengkapnya di sini.", + "i18nStrings.refreshActionText": "Segarkan halaman" + }, "file-token-group": { "i18nStrings.limitShowFewer": "Tampilkan lebih sedikit", "i18nStrings.limitShowMore": "Tampilkan selengkapnya", diff --git a/src/i18n/messages/all.it.json b/src/i18n/messages/all.it.json index 20ac2e93c0..9cdbe758fe 100644 --- a/src/i18n/messages/all.it.json +++ b/src/i18n/messages/all.it.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "Copia" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {Scegli data} other {Scegli data, la data selezionata è {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "Modalità relativa", "i18nStrings.absoluteModeTitle": "Modalità assoluta", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "Caricamento dei contenuti" }, + "error-boundary": { + "i18nStrings.headerText": "Errore imprevisto, impossibile visualizzare il contenuto", + "i18nStrings.descriptionText": "Aggiorna la pagina per riprovare.", + "i18nStrings.descriptionWithFeedbackText": "Aggiorna la pagina per riprovare. Stiamo monitorando il problema, ma puoi condividere maggiori informazioni qui.", + "i18nStrings.refreshActionText": "Aggiorna pagina" + }, "file-token-group": { "i18nStrings.limitShowFewer": "Mostra meno", "i18nStrings.limitShowMore": "Mostra altro", diff --git a/src/i18n/messages/all.ja.json b/src/i18n/messages/all.ja.json index 3e669604b0..5d60ce55fa 100644 --- a/src/i18n/messages/all.ja.json +++ b/src/i18n/messages/all.ja.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "コピー" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {日付を選択} other {日付を選択してください。選択された日付は {selectedDate} です}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "相対モード", "i18nStrings.absoluteModeTitle": "絶対モード", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "コンテンツのロード中" }, + "error-boundary": { + "i18nStrings.headerText": "予期しないエラー、コンテンツを表示できませんでした", + "i18nStrings.descriptionText": "更新してもう一度お試しください。", + "i18nStrings.descriptionWithFeedbackText": "更新してもう一度お試しください。この問題は現在追跡中ですが、詳しい情報はこちらで共有できます。", + "i18nStrings.refreshActionText": "ページを更新" + }, "file-token-group": { "i18nStrings.limitShowFewer": "少なく表示", "i18nStrings.limitShowMore": "さらに表示", diff --git a/src/i18n/messages/all.ko.json b/src/i18n/messages/all.ko.json index 2e6597a78f..093ed36bf0 100644 --- a/src/i18n/messages/all.ko.json +++ b/src/i18n/messages/all.ko.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "복사" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {날짜 선택} other {날짜 선택, 선택된 날짜는 {selectedDate}입니다.}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "상대 모드", "i18nStrings.absoluteModeTitle": "절대 모드", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "콘텐츠 로드 중" }, + "error-boundary": { + "i18nStrings.headerText": "예상치 못한 오류 발생, 콘텐츠 표시 실패", + "i18nStrings.descriptionText": "새로 고침하여 다시 시도하세요.", + "i18nStrings.descriptionWithFeedbackText": "새로 고침하여 다시 시도하세요. 현재 이 문제를 추적하고 있지만 여기에서 더 자세한 정보를 공유할 수 있습니다.", + "i18nStrings.refreshActionText": "페이지 새로고침" + }, "file-token-group": { "i18nStrings.limitShowFewer": "간단히 표시", "i18nStrings.limitShowMore": "자세히 표시", diff --git a/src/i18n/messages/all.pt-BR.json b/src/i18n/messages/all.pt-BR.json index 48b0c5c73f..a12cf0e3c2 100644 --- a/src/i18n/messages/all.pt-BR.json +++ b/src/i18n/messages/all.pt-BR.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "Copiar" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {Escolher data} other {Escolher data. A data selecionada é {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "Modo relativo", "i18nStrings.absoluteModeTitle": "Modo absoluto", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "Carregando conteúdo" }, + "error-boundary": { + "i18nStrings.headerText": "Erro inesperado, falha na exibição do conteúdo", + "i18nStrings.descriptionText": "Atualize para tentar novamente.", + "i18nStrings.descriptionWithFeedbackText": "Atualize para tentar novamente. Estamos rastreando esse problema, mas você pode compartilhar mais informações aqui.", + "i18nStrings.refreshActionText": "Atualizar página" + }, "file-token-group": { "i18nStrings.limitShowFewer": "Mostrar menos", "i18nStrings.limitShowMore": "Mostrar mais", diff --git a/src/i18n/messages/all.tr.json b/src/i18n/messages/all.tr.json index ccec17465d..77ed6c1aed 100644 --- a/src/i18n/messages/all.tr.json +++ b/src/i18n/messages/all.tr.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "Kopyala" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {Tarih seç} other {Tarih seç, seçilen tarih {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "Göreceli mod", "i18nStrings.absoluteModeTitle": "Mutlak mod", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "İçerik yükleniyor" }, + "error-boundary": { + "i18nStrings.headerText": "Beklenmeyen hata, içerik gösterilemedi", + "i18nStrings.descriptionText": "Yeniden denemek için yenileyin.", + "i18nStrings.descriptionWithFeedbackText": "Yeniden denemek için yenileyin. Bu sorunu takip ediyoruz ancak buradan daha fazla bilgi paylaşabilirsiniz.", + "i18nStrings.refreshActionText": "Sayfayı yenile" + }, "file-token-group": { "i18nStrings.limitShowFewer": "Daha az göster", "i18nStrings.limitShowMore": "Daha fazla göster", diff --git a/src/i18n/messages/all.zh-CN.json b/src/i18n/messages/all.zh-CN.json index 5d232ce316..375651a17d 100644 --- a/src/i18n/messages/all.zh-CN.json +++ b/src/i18n/messages/all.zh-CN.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "复制" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {选择日期} other {选择日期,所选日期为 {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "相对模式", "i18nStrings.absoluteModeTitle": "绝对模式", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "正在加载内容" }, + "error-boundary": { + "i18nStrings.headerText": "意外错误,内容无法显示", + "i18nStrings.descriptionText": "刷新再试一次。", + "i18nStrings.descriptionWithFeedbackText": "刷新再试一次。我们正在跟踪此问题,但您可以在此处共享更多信息。", + "i18nStrings.refreshActionText": "刷新页面" + }, "file-token-group": { "i18nStrings.limitShowFewer": "显示更少", "i18nStrings.limitShowMore": "显示更多", diff --git a/src/i18n/messages/all.zh-TW.json b/src/i18n/messages/all.zh-TW.json index 51dab235d2..3a7f7891ca 100644 --- a/src/i18n/messages/all.zh-TW.json +++ b/src/i18n/messages/all.zh-TW.json @@ -130,6 +130,9 @@ "copy-to-clipboard": { "i18nStrings.copyButtonText": "複製" }, + "date-picker": { + "i18nStrings.openCalendarAriaLabel": "{selectedDate, select, none {選擇日期} other {選擇日期,所選日期為 {selectedDate}}}" + }, "date-range-picker": { "i18nStrings.relativeModeTitle": "相對模式", "i18nStrings.absoluteModeTitle": "絕對模式", @@ -172,6 +175,12 @@ "drawer": { "i18nStrings.loadingText": "載入內容" }, + "error-boundary": { + "i18nStrings.headerText": "意外錯誤,內容無法顯示", + "i18nStrings.descriptionText": "重新整理以再試一次。", + "i18nStrings.descriptionWithFeedbackText": "重新整理以再試一次。我們正在追蹤此問題,但您可以在此處分享更多資訊。", + "i18nStrings.refreshActionText": "重新整理頁面" + }, "file-token-group": { "i18nStrings.limitShowFewer": "顯示較少", "i18nStrings.limitShowMore": "顯示更多", From 44b0751d3b7678d54f02180fc4ac8b2586227353 Mon Sep 17 00:00:00 2001 From: Harsh Date: Wed, 3 Dec 2025 12:43:17 +0100 Subject: [PATCH 2/2] update snapshot --- .../snapshot-tests/__snapshots__/documenter.test.ts.snap | 1 - 1 file changed, 1 deletion(-) diff --git a/src/__tests__/snapshot-tests/__snapshots__/documenter.test.ts.snap b/src/__tests__/snapshot-tests/__snapshots__/documenter.test.ts.snap index a460656d2d..f51f9bdadd 100644 --- a/src/__tests__/snapshot-tests/__snapshots__/documenter.test.ts.snap +++ b/src/__tests__/snapshot-tests/__snapshots__/documenter.test.ts.snap @@ -10460,7 +10460,6 @@ Supported values and formats are listed in the "description": "Specifies a function that generates the \`aria-label\` for the 'open calendar' button. The \`selectedDate\` parameter is a human-readable localised string representing the current value of the input. (for example, \`\`selectedDate => 'Choose Date' + (selectedDate ? \`, selected date is \${selectedDate}\` : '')\`\`)", - "i18nTag": true, "inlineType": { "name": "DatePickerProps.OpenCalendarAriaLabel", "parameters": [