diff --git a/apps/desktop/src/components/grid/DataGrid.vue b/apps/desktop/src/components/grid/DataGrid.vue index c3a12a4263..8bac5ef1ad 100644 --- a/apps/desktop/src/components/grid/DataGrid.vue +++ b/apps/desktop/src/components/grid/DataGrid.vue @@ -7877,6 +7877,9 @@ function saveExtractorConfiguration(value: { preference: DataGridCopyPreference; dataGridCopyExtractor: value.preference, dataGridExtractorOptions: value.options, }); + // The dialog closes on save; without this the write is invisible and users + // report the save button as doing nothing (#9872). + toast(t("grid.copyExtractorSaved")); } const pageSizeMenuItems = computed(() => diff --git a/apps/desktop/src/i18n/__tests__/gridCopyExtractorSavedParity.spec.ts b/apps/desktop/src/i18n/__tests__/gridCopyExtractorSavedParity.spec.ts new file mode 100644 index 0000000000..aa67592afa --- /dev/null +++ b/apps/desktop/src/i18n/__tests__/gridCopyExtractorSavedParity.spec.ts @@ -0,0 +1,37 @@ +import { describe, expect, it } from "vitest"; +import az from "../locales/az"; +import en from "../locales/en"; +import es from "../locales/es"; +import it_ from "../locales/it"; +import ja from "../locales/ja"; +import ko from "../locales/ko"; +import ptBR from "../locales/pt-BR"; +import ru from "../locales/ru"; +import tr from "../locales/tr"; +import zhCN from "../locales/zh-CN"; +import zhTW from "../locales/zh-TW"; + +const locales: Array<[string, Record]> = [ + ["az", az], + ["en", en], + ["es", es], + ["it", it_], + ["ja", ja], + ["ko", ko], + ["pt-BR", ptBR], + ["ru", ru], + ["tr", tr], + ["zh-CN", zhCN], + ["zh-TW", zhTW], +]; + +// Saving an extractor configuration closes the dialog and toasts a confirmation, +// so every locale that ships the extractor dialog needs this key or the toast +// would render a raw key. +describe("grid copy extractor saved locale parity", () => { + it.each(locales)("%s exposes the extractor-saved copy", (_name, locale) => { + const grid = (locale as { grid: Record }).grid; + expect(grid.copyExtractorSaved, `${_name}: grid.copyExtractorSaved`).toBeTypeOf("string"); + expect(grid.copyExtractorSaved as string, `${_name}: grid.copyExtractorSaved`).not.toHaveLength(0); + }); +}); diff --git a/apps/desktop/src/i18n/locales/az.ts b/apps/desktop/src/i18n/locales/az.ts index 718cbeb389..7a2aba916b 100644 --- a/apps/desktop/src/i18n/locales/az.ts +++ b/apps/desktop/src/i18n/locales/az.ts @@ -1840,6 +1840,7 @@ export default withEnglishFallback({ copyExtractorPipeSeparated: "Şaquli xətlə ayrılmış", copyExtractorPretty: "Formatlanmış cədvəl", copyExtractorConfigure: "Verilənləri çıxarma vasitələrini tənzimlə…", + copyExtractorSaved: "Veri çıxarıcı parametrləri yadda saxlanıldı", copyExtractorDefaultFormat: "Standart kopyalama davranışı", copyExtractorFormat: "Çıxarma vasitəsi", copyExtractorColumnSeparator: "Sütun ayırıcısı", diff --git a/apps/desktop/src/i18n/locales/en.ts b/apps/desktop/src/i18n/locales/en.ts index 69c6d0323b..e0cede8976 100644 --- a/apps/desktop/src/i18n/locales/en.ts +++ b/apps/desktop/src/i18n/locales/en.ts @@ -2175,6 +2175,7 @@ export default { copyExtractorPipeSeparated: "Pipe-separated", copyExtractorPretty: "Pretty Table", copyExtractorConfigure: "Configure Data Extractors…", + copyExtractorSaved: "Data extractor settings saved", copyExtractorDefaultFormat: "Default copy behavior", copyExtractorFormat: "Extractor", copyExtractorColumnSeparator: "Column separator", diff --git a/apps/desktop/src/i18n/locales/es.ts b/apps/desktop/src/i18n/locales/es.ts index 617feef4ce..cba2ed20c8 100644 --- a/apps/desktop/src/i18n/locales/es.ts +++ b/apps/desktop/src/i18n/locales/es.ts @@ -2670,6 +2670,7 @@ export default withEnglishFallback({ copyExtractorPipeSeparated: "Separado por barra vertical", copyExtractorPretty: "Tabla formateada", copyExtractorConfigure: "Configurar extractor de datos…", + copyExtractorSaved: "Ajustes del extractor de datos guardados", copyExtractorDefaultFormat: "Comportamiento de copia predeterminado", copyExtractorFormat: "Extractor", copyExtractorColumnSeparator: "Separador de columnas", diff --git a/apps/desktop/src/i18n/locales/it.ts b/apps/desktop/src/i18n/locales/it.ts index 4007cdd355..bf697a81e6 100644 --- a/apps/desktop/src/i18n/locales/it.ts +++ b/apps/desktop/src/i18n/locales/it.ts @@ -2593,6 +2593,7 @@ export default withEnglishFallback({ copyExtractorPipeSeparated: "Separato da pipe", copyExtractorPretty: "Testo tabellare", copyExtractorConfigure: "Configura estrattore dati…", + copyExtractorSaved: "Impostazioni dell'estrattore di dati salvate", copyExtractorDefaultFormat: "Comportamento di copia predefinito", copyExtractorFormat: "Estrattore", copyExtractorColumnSeparator: "Separatore di colonna", diff --git a/apps/desktop/src/i18n/locales/ja.ts b/apps/desktop/src/i18n/locales/ja.ts index ae32661d97..9f99415539 100644 --- a/apps/desktop/src/i18n/locales/ja.ts +++ b/apps/desktop/src/i18n/locales/ja.ts @@ -2613,6 +2613,7 @@ export default withEnglishFallback({ copyExtractorPipeSeparated: "パイプ区切り", copyExtractorPretty: "テーブルテキスト", copyExtractorConfigure: "データ抽出の設定…", + copyExtractorSaved: "データ抽出設定を保存しました", copyExtractorDefaultFormat: "デフォルトのコピー動作", copyExtractorFormat: "抽出器", copyExtractorColumnSeparator: "列区切り文字", diff --git a/apps/desktop/src/i18n/locales/ko.ts b/apps/desktop/src/i18n/locales/ko.ts index 6af6ac802c..e895963931 100644 --- a/apps/desktop/src/i18n/locales/ko.ts +++ b/apps/desktop/src/i18n/locales/ko.ts @@ -1982,6 +1982,7 @@ export default withEnglishFallback({ copyExtractorPipeSeparated: "파이프(|) 구분", copyExtractorPretty: "보기 좋은 표", copyExtractorConfigure: "데이터 추출기 설정…", + copyExtractorSaved: "데이터 추출기 설정이 저장되었습니다", copyExtractorDefaultFormat: "기본 복사 동작", copyExtractorFormat: "추출기", copyExtractorColumnSeparator: "열 구분자", diff --git a/apps/desktop/src/i18n/locales/pt-BR.ts b/apps/desktop/src/i18n/locales/pt-BR.ts index f115babad0..f3ce1d9a1f 100644 --- a/apps/desktop/src/i18n/locales/pt-BR.ts +++ b/apps/desktop/src/i18n/locales/pt-BR.ts @@ -2594,6 +2594,7 @@ export default withEnglishFallback({ copyExtractorPipeSeparated: "Separado por pipe", copyExtractorPretty: "Tabela formatada", copyExtractorConfigure: "Configurar extrator de dados…", + copyExtractorSaved: "Configurações do extrator de dados salvas", copyExtractorDefaultFormat: "Comportamento de cópia padrão", copyExtractorFormat: "Extrator", copyExtractorColumnSeparator: "Separador de coluna", diff --git a/apps/desktop/src/i18n/locales/ru.ts b/apps/desktop/src/i18n/locales/ru.ts index 54440fdd13..3abf75619a 100644 --- a/apps/desktop/src/i18n/locales/ru.ts +++ b/apps/desktop/src/i18n/locales/ru.ts @@ -2057,6 +2057,7 @@ export default withEnglishFallback({ copyExtractorPipeSeparated: "С разделителем-вертикальной чертой", copyExtractorPretty: "Удобная таблица", copyExtractorConfigure: "Настроить извлечение данных…", + copyExtractorSaved: "Настройки извлечения данных сохранены", copyExtractorDefaultFormat: "Поведение копирования по умолчанию", copyExtractorFormat: "Извлечение", copyExtractorColumnSeparator: "Разделитель столбцов", diff --git a/apps/desktop/src/i18n/locales/tr.ts b/apps/desktop/src/i18n/locales/tr.ts index a86db17b4a..a388d70878 100644 --- a/apps/desktop/src/i18n/locales/tr.ts +++ b/apps/desktop/src/i18n/locales/tr.ts @@ -1841,6 +1841,7 @@ export default withEnglishFallback({ copyExtractorPipeSeparated: "Dikey çizgiyle ayrılmış", copyExtractorPretty: "Düzenli Tablo", copyExtractorConfigure: "Veri Çıkarıcılarını Yapılandır…", + copyExtractorSaved: "Veri çıkarıcı ayarları kaydedildi", copyExtractorDefaultFormat: "Varsayılan kopyalama davranışı", copyExtractorFormat: "Çıkarıcı", copyExtractorColumnSeparator: "Sütun ayırıcısı", diff --git a/apps/desktop/src/i18n/locales/zh-CN.ts b/apps/desktop/src/i18n/locales/zh-CN.ts index a1024603e9..049810a514 100644 --- a/apps/desktop/src/i18n/locales/zh-CN.ts +++ b/apps/desktop/src/i18n/locales/zh-CN.ts @@ -2087,6 +2087,7 @@ export default withEnglishFallback({ copyExtractorPipeSeparated: "竖线分隔", copyExtractorPretty: "表格文本", copyExtractorConfigure: "配置数据提取器…", + copyExtractorSaved: "数据提取器配置已保存", copyExtractorDefaultFormat: "默认复制方式", copyExtractorFormat: "提取器", copyExtractorColumnSeparator: "列分隔符", diff --git a/apps/desktop/src/i18n/locales/zh-TW.ts b/apps/desktop/src/i18n/locales/zh-TW.ts index e2c53e877f..3a017a4589 100644 --- a/apps/desktop/src/i18n/locales/zh-TW.ts +++ b/apps/desktop/src/i18n/locales/zh-TW.ts @@ -2597,6 +2597,7 @@ export default withEnglishFallback({ copyExtractorPipeSeparated: "豎線分隔", copyExtractorPretty: "表格文本", copyExtractorConfigure: "配置資料提取器…", + copyExtractorSaved: "資料提取器設定已儲存", copyExtractorDefaultFormat: "預設複製方式", copyExtractorFormat: "提取器", copyExtractorColumnSeparator: "列分隔符",