Skip to content

Commit a048465

Browse files
committed
Refactor the configurations settings section into a standalone component and implement internationalization for its related handlers and UI elements
- 'configurations' section deserves a file in `apps/editor/src/views/settings/frontend/Home/sections` - 'unset default' should be on the same line as title - simplify 'select default configuration' -> 'select', 'unset default' -> 'unset', fix other translations as well - `apps/editor/src/views/settings/backend/message-handlers` misses some translations. could be necessary to add new folder `apps/editor/src/i18n/translations/handlers/settings`
1 parent 1781b93 commit a048465

12 files changed

Lines changed: 398 additions & 231 deletions

File tree

‎apps/editor/src/i18n/index.ts‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import * as vscode from 'vscode'
22
import { commands } from './translations/commands'
33
import { common } from './translations/common'
4+
import { settings_handlers } from './translations/handlers/settings'
45

56
export type TranslationKey = keyof typeof translations
67

78
const translations = {
89
...commands,
9-
...common
10+
...common,
11+
...settings_handlers
1012
}
1113

1214
export const t = (
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
export const settings_handlers = {
2+
'handlers.settings.allow-patterns.title': {
3+
en: 'Workspaces',
4+
pl: 'Obszary robocze',
5+
'zh-cn': '工作区',
6+
ja: 'ワークスペース',
7+
'zh-tw': '工作區',
8+
de: 'Arbeitsbereiche',
9+
es: 'Espacios de trabajo',
10+
fr: 'Espaces de travail',
11+
'pt-br': 'Espaços de trabalho',
12+
ru: 'Рабочие области',
13+
ko: '작업 영역',
14+
it: 'Aree di lavoro',
15+
tr: 'Çalışma Alanları',
16+
cs: 'Pracovní prostory',
17+
hu: 'Munkaterületek',
18+
bg: 'Работни пространства'
19+
},
20+
'handlers.settings.allow-patterns.placeholder': {
21+
en: 'Select workspace folder to configure allow patterns',
22+
pl: 'Wybierz folder obszaru roboczego, aby skonfigurować dozwolone wzorce',
23+
'zh-cn': '选择工作区文件夹以配置允许模式',
24+
ja: '許可パターンを設定するワークスペースフォルダを選択',
25+
'zh-tw': '選擇工作區資料夾以配置允許模式',
26+
de: 'Wählen Sie einen Arbeitsbereich-Ordner zum Konfigurieren von Zulassungsmustern',
27+
es: 'Seleccione una carpeta del espacio de trabajo para configurar patrones permitidos',
28+
fr: 'Sélectionnez un dossier de l’espace de travail pour configurer les modèles autorisés',
29+
'pt-br': 'Selecione a pasta da área de trabalho para configurar padrões permitidos',
30+
ru: 'Выберите папку рабочей области для настройки разрешенных шаблонов',
31+
ko: '허용 패턴을 구성할 작업 영역 폴더 선택',
32+
it: 'Seleziona una cartella dell’area di lavoro per configurare i pattern consentiti',
33+
tr: 'İzin verilen desenleri yapılandırmak için çalışma alanı klasörü seçin',
34+
cs: 'Vyberte složku pracovního prostoru pro konfiguraci povolených vzorů',
35+
hu: 'Válasszon munkaterület mappát az engedélyezési minták konfigurálásához',
36+
bg: 'Изберете папка на работното пространство за конфигуриране на разрешени шаблони'
37+
},
38+
'handlers.settings.error.could-not-open-settings': {
39+
en: 'Could not open settings file at {path}',
40+
pl: 'Nie udało się otworzyć pliku ustawień w {path}',
41+
'zh-cn': '无法打开设置文件:{path}',
42+
ja: '{path} にある設定ファイルを開けませんでした',
43+
'zh-tw': '無法開啟設定檔案:{path}',
44+
de: 'Einstellungsdatei unter {path} konnte nicht geöffnet werden',
45+
es: 'No se pudo abrir el archivo de configuración en {path}',
46+
fr: "Impossible d'ouvrir le fichier de paramètres à {path}",
47+
'pt-br': 'Não foi possível abrir o arquivo de configurações em {path}',
48+
ru: 'Не удалось открыть файл настроек в {path}',
49+
ko: '{path}의 설정 파일을 열 수 없습니다',
50+
it: 'Impossibile aprire il file delle impostazioni in {path}',
51+
tr: '{path} konumundaki ayarlar dosyası açılamadı',
52+
cs: 'Nelze otevřít soubor nastavení v {path}',
53+
hu: 'Nem sikerült megnyitni a beállítások fájlt a(z) {path} útvonalon',
54+
bg: 'Не може да се отвори файлът с настройки на {path}'
55+
},
56+
'handlers.settings.ignore-patterns.placeholder': {
57+
en: 'Select workspace folder to configure ignore patterns',
58+
pl: 'Wybierz folder obszaru roboczego, aby skonfigurować ignorowane wzorce',
59+
'zh-cn': '选择工作区文件夹以配置忽略模式',
60+
ja: '無視パターンを設定するワークスペースフォルダを選択',
61+
'zh-tw': '選擇工作區資料夾以配置忽略模式',
62+
de: 'Wählen Sie einen Arbeitsbereich-Ordner zum Konfigurieren von Ignoriermustern',
63+
es: 'Seleccione una carpeta del espacio de trabajo para configurar patrones ignorados',
64+
fr: 'Sélectionnez un dossier de l’espace de travail pour configurer les modèles à ignorer',
65+
'pt-br': 'Selecione a pasta da área de trabalho para configurar padrões ignorados',
66+
ru: 'Выберите папку рабочей области для настройки игнорируемых шаблонов',
67+
ko: '무시 패턴을 구성할 작업 영역 폴더 선택',
68+
it: 'Seleziona una cartella dell’area di lavoro per configurare i pattern da ignorare',
69+
tr: 'Yoksayılan desenleri yapılandırmak için çalışma alanı klasörü seçin',
70+
cs: 'Vyberte složku pracovního prostoru pro konfiguraci ignorovaných vzorů',
71+
hu: 'Válasszon munkaterület mappát a mellőzési minták konfigurálásához',
72+
bg: 'Изберете папка на работното пространство за конфигуриране на игнорирани шаблони'
73+
},
74+
'handlers.settings.api-config.no-configs': {
75+
en: 'No API configurations available. Please create one first.',
76+
pl: 'Brak dostępnych konfiguracji API. Najpierw utwórz jedną.',
77+
'zh-cn': '没有可用的 API 配置。请先创建一个。',
78+
ja: '利用可能な API 設定がありません。先に作成してください。',
79+
'zh-tw': '沒有可用的 API 配置。請先建立一個。',
80+
de: 'Keine API-Konfigurationen verfügbar. Bitte erstellen Sie zuerst eine.',
81+
es: 'No hay configuraciones de API disponibles. Por favor, cree una primero.',
82+
fr: "Aucune configuration d'API disponible. Veuillez d'abord en créer une.",
83+
'pt-br': 'Nenhuma configuração de API disponível. Crie uma primeiro.',
84+
ru: 'Нет доступных конфигураций API. Пожалуйста, сначала создайте одну.',
85+
ko: '사용 가능한 API 구성이 없습니다. 먼저 하나를 만드세요.',
86+
it: 'Nessuna configurazione API disponibile. Creane prima una.',
87+
tr: 'Kullanılabilir API yapılandırması yok. Lütfen önce bir tane oluşturun.',
88+
cs: 'Nejsou k dispozici žádné konfigurace API. Nejprve prosím jednu vytvořte.',
89+
hu: 'Nincsenek elérhető API konfigurációk. Kérjük, először hozzon létre egyet.',
90+
bg: 'Няма налични API конфигурации. Моля, първо създайте една.'
91+
},
92+
'handlers.settings.api-config.placeholder': {
93+
en: 'Select default configuration',
94+
pl: 'Wybierz domyślną konfigurację',
95+
'zh-cn': '选择默认配置',
96+
ja: 'デフォルト設定を選択',
97+
'zh-tw': '選擇預設配置',
98+
de: 'Standardkonfiguration auswählen',
99+
es: 'Seleccionar configuración predeterminada',
100+
fr: 'Sélectionner la configuration par défaut',
101+
'pt-br': 'Selecionar configuração padrão',
102+
ru: 'Выберите конфигурацию по умолчанию',
103+
ko: '기본 구성 선택',
104+
it: 'Seleziona configurazione predefinita',
105+
tr: 'Varsayılan yapılandırmayı seçin',
106+
cs: 'Vyberte výchozí konfiguraci',
107+
hu: 'Válassza ki az alapértelmezett konfigurációt',
108+
bg: 'Изберете конфигурация по подразбиране'
109+
}
110+
} as const

‎apps/editor/src/views/settings/backend/message-handlers/handle-delete-model-provider.ts‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { SettingsProvider } from '@/views/settings/backend/settings-provider'
33
import { ModelProvidersManager } from '@/services/model-providers-manager'
44
import { DeleteModelProviderMessage } from '@/views/settings/types/messages'
55
import { dictionary } from '@shared/constants/dictionary'
6+
import { t } from '@/i18n'
67

78
export const handle_delete_model_provider = async (
89
provider: SettingsProvider,
@@ -19,10 +20,10 @@ export const handle_delete_model_provider = async (
1920
model_provider_name_to_delete
2021
)
2122
},
22-
'Delete'
23+
t('common.delete')
2324
)
2425

25-
if (confirmation != 'Delete') {
26+
if (confirmation != t('common.delete')) {
2627
return
2728
}
2829

‎apps/editor/src/views/settings/backend/message-handlers/handle-open-allow-patterns-settings.ts‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as vscode from 'vscode'
22
import * as path from 'path'
3+
import { t } from '@/i18n'
34

45
export const handle_open_allow_patterns_settings = async (): Promise<void> => {
56
const workspaceFolders = vscode.workspace.workspaceFolders
@@ -15,12 +16,11 @@ export const handle_open_allow_patterns_settings = async (): Promise<void> => {
1516
(resolve) => {
1617
const quick_pick = vscode.window.createQuickPick<(typeof items)[0]>()
1718
quick_pick.items = items
18-
quick_pick.title = 'Workspaces'
19-
quick_pick.placeholder =
20-
'Select workspace folder to configure allow patterns'
19+
quick_pick.title = t('handlers.settings.allow-patterns.title')
20+
quick_pick.placeholder = t('handlers.settings.allow-patterns.placeholder')
2121
const close_button: vscode.QuickInputButton = {
2222
iconPath: new vscode.ThemeIcon('close'),
23-
tooltip: 'Close'
23+
tooltip: t('common.close')
2424
}
2525
quick_pick.buttons = [close_button]
2626
let is_accepted = false
@@ -85,7 +85,7 @@ export const handle_open_allow_patterns_settings = async (): Promise<void> => {
8585
await vscode.window.showTextDocument(doc)
8686
} catch (e) {
8787
vscode.window.showErrorMessage(
88-
`Could not open settings file at ${settingsPath}`
88+
t('handlers.settings.error.could-not-open-settings', { path: settingsPath })
8989
)
9090
}
9191
}

‎apps/editor/src/views/settings/backend/message-handlers/handle-open-ignore-patterns-settings.ts‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as vscode from 'vscode'
22
import * as path from 'path'
3+
import { t } from '@/i18n'
34

45
export const handle_open_ignore_patterns_settings = async (): Promise<void> => {
56
const workspaceFolders = vscode.workspace.workspaceFolders
@@ -15,12 +16,11 @@ export const handle_open_ignore_patterns_settings = async (): Promise<void> => {
1516
(resolve) => {
1617
const quick_pick = vscode.window.createQuickPick<(typeof items)[0]>()
1718
quick_pick.items = items
18-
quick_pick.title = 'Workspaces'
19-
quick_pick.placeholder =
20-
'Select workspace folder to configure ignore patterns'
19+
quick_pick.title = t('handlers.settings.allow-patterns.title')
20+
quick_pick.placeholder = t('handlers.settings.ignore-patterns.placeholder')
2121
const close_button: vscode.QuickInputButton = {
2222
iconPath: new vscode.ThemeIcon('close'),
23-
tooltip: 'Close'
23+
tooltip: t('common.close')
2424
}
2525
quick_pick.buttons = [close_button]
2626
let is_accepted = false
@@ -85,7 +85,7 @@ export const handle_open_ignore_patterns_settings = async (): Promise<void> => {
8585
await vscode.window.showTextDocument(doc)
8686
} catch (e) {
8787
vscode.window.showErrorMessage(
88-
`Could not open settings file at ${settingsPath}`
88+
t('handlers.settings.error.could-not-open-settings', { path: settingsPath })
8989
)
9090
}
9191
}

‎apps/editor/src/views/settings/backend/message-handlers/handle-select-default-api-configuration.ts‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
} from '@/services/model-providers-manager'
77
import { SelectDefaultApiConfigurationMessage } from '@/views/settings/types/messages'
88
import { handle_set_default_api_configuration } from './handle-set-default-api-configuration'
9+
import { t } from '@/i18n'
910

1011
export const handle_select_default_api_configuration = async (
1112
provider: SettingsProvider,
@@ -16,7 +17,7 @@ export const handle_select_default_api_configuration = async (
1617

1718
if (api_configurations.length == 0) {
1819
vscode.window.showInformationMessage(
19-
'No API configurations available. Please create one first.'
20+
t('handlers.settings.api-config.no-configs')
2021
)
2122
return
2223
}
@@ -42,13 +43,13 @@ export const handle_select_default_api_configuration = async (
4243
>()
4344

4445
quick_pick.items = items
45-
quick_pick.title = 'Configurations'
46-
quick_pick.placeholder = 'Select default configuration'
46+
quick_pick.title = t('common.config.title')
47+
quick_pick.placeholder = t('handlers.settings.api-config.placeholder')
4748
quick_pick.matchOnDescription = true
4849

4950
const close_button: vscode.QuickInputButton = {
5051
iconPath: new vscode.ThemeIcon('close'),
51-
tooltip: 'Close'
52+
tooltip: t('common.close')
5253
}
5354
quick_pick.buttons = [close_button]
5455

0 commit comments

Comments
 (0)