poly-lexis 0.2.2 → 0.3.1
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/cli/translations.js +101 -66
- package/dist/cli/translations.js.map +1 -1
- package/dist/index.d.ts +59 -8
- package/dist/index.js +159 -70
- package/dist/index.js.map +1 -1
- package/dist/scripts/generate-schema.js +379 -0
- package/dist/scripts/generate-schema.js.map +1 -0
- package/dist/scripts/verify-translations.js +99 -64
- package/dist/scripts/verify-translations.js.map +1 -1
- package/dist/translations/core/translations-config.schema.json +132 -142
- package/package.json +5 -3
package/dist/index.d.ts
CHANGED
|
@@ -135,46 +135,74 @@ declare function getMissingForLanguage(projectRoot: string, language: string): A
|
|
|
135
135
|
}>;
|
|
136
136
|
|
|
137
137
|
/**
|
|
138
|
-
*
|
|
139
|
-
* Based on Google Translate API supported languages (ISO 639-1 and regional variants)
|
|
140
|
-
* Complete list of all languages supported by Google Cloud Translation API
|
|
138
|
+
* Translation provider types
|
|
141
139
|
*/
|
|
142
|
-
declare const
|
|
140
|
+
declare const TRANSLATION_PROVIDERS: readonly ["deepl", "google"];
|
|
141
|
+
type TranslationProviderType = (typeof TRANSLATION_PROVIDERS)[number];
|
|
142
|
+
/**
|
|
143
|
+
* DeepL supported target languages
|
|
144
|
+
* Based on DeepL API v2 documentation
|
|
145
|
+
*/
|
|
146
|
+
declare const DEEPL_LANGUAGES: readonly ["ar", "bg", "cs", "da", "de", "el", "en", "en_gb", "en_us", "es", "es_419", "et", "fi", "fr", "he", "hu", "id", "it", "ja", "ko", "lt", "lv", "nb", "nl", "pl", "pt", "pt_br", "pt_pt", "ro", "ru", "sk", "sl", "sv", "th", "tr", "uk", "vi", "zh", "zh_hans", "zh_hant"];
|
|
147
|
+
/**
|
|
148
|
+
* Google Translate supported languages
|
|
149
|
+
* Based on Google Cloud Translation API v2
|
|
150
|
+
* Reference: https://docs.cloud.google.com/translate/docs/languages
|
|
151
|
+
*/
|
|
152
|
+
declare const GOOGLE_LANGUAGES: readonly ["af", "sq", "am", "ar", "hy", "az", "eu", "be", "bn", "bs", "bg", "ca", "ceb", "zh", "zh_cn", "zh_tw", "co", "hr", "cs", "da", "nl", "en", "eo", "et", "fi", "fr", "fy", "gl", "ka", "de", "el", "gu", "ht", "ha", "haw", "he", "hi", "hmn", "hu", "is", "ig", "id", "ga", "it", "ja", "jv", "kn", "kk", "km", "rw", "ko", "ku", "ky", "lo", "la", "lv", "lt", "lb", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mn", "my", "ne", "no", "ny", "or", "ps", "fa", "pl", "pt", "pt_br", "pa", "ro", "ru", "sm", "gd", "sr", "st", "sn", "sd", "si", "sk", "sl", "so", "es", "su", "sw", "sv", "tl", "tg", "ta", "tt", "te", "th", "tr", "tk", "uk", "ur", "ug", "uz", "vi", "cy", "xh", "yi", "yo", "zu"];
|
|
153
|
+
/**
|
|
154
|
+
* All supported language codes (union of DeepL and Google Translate)
|
|
155
|
+
*/
|
|
156
|
+
declare const SUPPORTED_LANGUAGES: readonly string[];
|
|
157
|
+
type DeepLLanguage = (typeof DEEPL_LANGUAGES)[number];
|
|
158
|
+
type GoogleLanguage = (typeof GOOGLE_LANGUAGES)[number];
|
|
143
159
|
type SupportedLanguage = (typeof SUPPORTED_LANGUAGES)[number];
|
|
144
160
|
/**
|
|
145
161
|
* JSON Schema for .translationsrc.json
|
|
146
162
|
*/
|
|
147
163
|
declare const TRANSLATION_CONFIG_SCHEMA: {
|
|
148
|
-
$schema: string;
|
|
149
164
|
title: string;
|
|
150
165
|
description: string;
|
|
151
166
|
type: string;
|
|
152
167
|
properties: {
|
|
168
|
+
$schema: {
|
|
169
|
+
type: string;
|
|
170
|
+
description: string;
|
|
171
|
+
};
|
|
153
172
|
translationsPath: {
|
|
154
173
|
type: string;
|
|
155
174
|
description: string;
|
|
156
175
|
default: string;
|
|
176
|
+
examples: string[];
|
|
157
177
|
};
|
|
158
178
|
languages: {
|
|
159
179
|
type: string;
|
|
160
180
|
description: string;
|
|
161
181
|
items: {
|
|
162
182
|
type: string;
|
|
163
|
-
enum: readonly [
|
|
183
|
+
enum: readonly string[];
|
|
164
184
|
};
|
|
165
185
|
minItems: number;
|
|
166
186
|
uniqueItems: boolean;
|
|
187
|
+
default: string[];
|
|
167
188
|
};
|
|
168
189
|
sourceLanguage: {
|
|
169
190
|
type: string;
|
|
170
191
|
description: string;
|
|
171
|
-
enum: readonly [
|
|
192
|
+
enum: readonly string[];
|
|
172
193
|
default: string;
|
|
173
194
|
};
|
|
174
195
|
typesOutputPath: {
|
|
175
196
|
type: string;
|
|
176
197
|
description: string;
|
|
177
198
|
default: string;
|
|
199
|
+
examples: string[];
|
|
200
|
+
};
|
|
201
|
+
provider: {
|
|
202
|
+
type: string;
|
|
203
|
+
description: string;
|
|
204
|
+
enum: readonly ["deepl", "google"];
|
|
205
|
+
default: string;
|
|
178
206
|
};
|
|
179
207
|
};
|
|
180
208
|
required: string[];
|
|
@@ -184,6 +212,18 @@ declare const TRANSLATION_CONFIG_SCHEMA: {
|
|
|
184
212
|
* Validate if a language code is supported
|
|
185
213
|
*/
|
|
186
214
|
declare function isValidLanguage(lang: string): lang is SupportedLanguage;
|
|
215
|
+
/**
|
|
216
|
+
* Validate if a language is supported by DeepL
|
|
217
|
+
*/
|
|
218
|
+
declare function isValidDeepLLanguage(lang: string): lang is DeepLLanguage;
|
|
219
|
+
/**
|
|
220
|
+
* Validate if a language is supported by Google Translate
|
|
221
|
+
*/
|
|
222
|
+
declare function isValidGoogleLanguage(lang: string): lang is GoogleLanguage;
|
|
223
|
+
/**
|
|
224
|
+
* Validate if a language is supported by a specific provider
|
|
225
|
+
*/
|
|
226
|
+
declare function isValidLanguageForProvider(lang: string, provider: TranslationProviderType): boolean;
|
|
187
227
|
/**
|
|
188
228
|
* Validate languages array
|
|
189
229
|
*/
|
|
@@ -191,6 +231,17 @@ declare function validateLanguages(languages: string[]): {
|
|
|
191
231
|
valid: boolean;
|
|
192
232
|
invalid: string[];
|
|
193
233
|
};
|
|
234
|
+
/**
|
|
235
|
+
* Validate languages array for a specific provider
|
|
236
|
+
*/
|
|
237
|
+
declare function validateLanguagesForProvider(languages: string[], provider: TranslationProviderType): {
|
|
238
|
+
valid: boolean;
|
|
239
|
+
invalid: string[];
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* Get supported languages for a specific provider
|
|
243
|
+
*/
|
|
244
|
+
declare function getSupportedLanguages(provider: TranslationProviderType): readonly string[];
|
|
194
245
|
|
|
195
246
|
/**
|
|
196
247
|
* Translation provider interface
|
|
@@ -345,4 +396,4 @@ declare function sortKeys<T extends Record<string, unknown>>(obj: T): T;
|
|
|
345
396
|
*/
|
|
346
397
|
declare function ensureTranslationsStructure(translationsPath: string, languages: string[]): void;
|
|
347
398
|
|
|
348
|
-
export { DEFAULT_CONFIG, DEFAULT_LANGUAGES, GoogleTranslateProvider, type ManageTranslationsOptions, type MissingTranslation, SUPPORTED_LANGUAGES, type SupportedLanguage, TRANSLATION_CONFIG_SCHEMA, type TranslateOptions, type TranslationConfig, type TranslationEntry, type TranslationFile, type TranslationFiles, type TranslationProvider, type TranslationProviderFactory, type TranslationResult, type ValidationResult, addTranslationKey, addTranslationKeys, autoFillTranslations, detectExistingTranslations, ensureTranslationsStructure, extractVariables, fillNamespace, generateTranslationTypes, getAvailableLanguages, getMissingForLanguage, getNamespaces, getTranslationProvider, hasInterpolation, initTranslations, initTranslationsInteractive, isValidLanguage, loadConfig, manageTranslations, readTranslations, resetTranslationProvider, setTranslationProvider, sortKeys, translateBatch, translateText, validateLanguages, validateTranslations, validateVariables, writeTranslation };
|
|
399
|
+
export { DEEPL_LANGUAGES, DEFAULT_CONFIG, DEFAULT_LANGUAGES, type DeepLLanguage, GOOGLE_LANGUAGES, type GoogleLanguage, GoogleTranslateProvider, type ManageTranslationsOptions, type MissingTranslation, SUPPORTED_LANGUAGES, type SupportedLanguage, TRANSLATION_CONFIG_SCHEMA, TRANSLATION_PROVIDERS, type TranslateOptions, type TranslationConfig, type TranslationEntry, type TranslationFile, type TranslationFiles, type TranslationProvider, type TranslationProviderFactory, type TranslationProviderType, type TranslationResult, type ValidationResult, addTranslationKey, addTranslationKeys, autoFillTranslations, detectExistingTranslations, ensureTranslationsStructure, extractVariables, fillNamespace, generateTranslationTypes, getAvailableLanguages, getMissingForLanguage, getNamespaces, getSupportedLanguages, getTranslationProvider, hasInterpolation, initTranslations, initTranslationsInteractive, isValidDeepLLanguage, isValidGoogleLanguage, isValidLanguage, isValidLanguageForProvider, loadConfig, manageTranslations, readTranslations, resetTranslationProvider, setTranslationProvider, sortKeys, translateBatch, translateText, validateLanguages, validateLanguagesForProvider, validateTranslations, validateVariables, writeTranslation };
|
package/dist/index.js
CHANGED
|
@@ -93,6 +93,22 @@ var init_utils = __esm({
|
|
|
93
93
|
function isValidLanguage(lang) {
|
|
94
94
|
return SUPPORTED_LANGUAGES.includes(lang);
|
|
95
95
|
}
|
|
96
|
+
function isValidDeepLLanguage(lang) {
|
|
97
|
+
return DEEPL_LANGUAGES.includes(lang);
|
|
98
|
+
}
|
|
99
|
+
function isValidGoogleLanguage(lang) {
|
|
100
|
+
return GOOGLE_LANGUAGES.includes(lang);
|
|
101
|
+
}
|
|
102
|
+
function isValidLanguageForProvider(lang, provider) {
|
|
103
|
+
switch (provider) {
|
|
104
|
+
case "deepl":
|
|
105
|
+
return isValidDeepLLanguage(lang);
|
|
106
|
+
case "google":
|
|
107
|
+
return isValidGoogleLanguage(lang);
|
|
108
|
+
default:
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
96
112
|
function validateLanguages(languages) {
|
|
97
113
|
const invalid = languages.filter((lang) => !isValidLanguage(lang));
|
|
98
114
|
return {
|
|
@@ -100,11 +116,111 @@ function validateLanguages(languages) {
|
|
|
100
116
|
invalid
|
|
101
117
|
};
|
|
102
118
|
}
|
|
103
|
-
|
|
119
|
+
function validateLanguagesForProvider(languages, provider) {
|
|
120
|
+
const invalid = languages.filter((lang) => !isValidLanguageForProvider(lang, provider));
|
|
121
|
+
return {
|
|
122
|
+
valid: invalid.length === 0,
|
|
123
|
+
invalid
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function getSupportedLanguages(provider) {
|
|
127
|
+
switch (provider) {
|
|
128
|
+
case "deepl":
|
|
129
|
+
return DEEPL_LANGUAGES;
|
|
130
|
+
case "google":
|
|
131
|
+
return GOOGLE_LANGUAGES;
|
|
132
|
+
default:
|
|
133
|
+
return [];
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
var TRANSLATION_PROVIDERS, DEEPL_LANGUAGES, GOOGLE_LANGUAGES, SUPPORTED_LANGUAGES, TRANSLATION_CONFIG_SCHEMA;
|
|
104
137
|
var init_schema = __esm({
|
|
105
138
|
"src/translations/core/schema.ts"() {
|
|
106
139
|
"use strict";
|
|
107
|
-
|
|
140
|
+
TRANSLATION_PROVIDERS = ["deepl", "google"];
|
|
141
|
+
DEEPL_LANGUAGES = [
|
|
142
|
+
"ar",
|
|
143
|
+
// Arabic
|
|
144
|
+
"bg",
|
|
145
|
+
// Bulgarian
|
|
146
|
+
"cs",
|
|
147
|
+
// Czech
|
|
148
|
+
"da",
|
|
149
|
+
// Danish
|
|
150
|
+
"de",
|
|
151
|
+
// German
|
|
152
|
+
"el",
|
|
153
|
+
// Greek
|
|
154
|
+
"en",
|
|
155
|
+
// English (unspecified)
|
|
156
|
+
"en_gb",
|
|
157
|
+
// English (British)
|
|
158
|
+
"en_us",
|
|
159
|
+
// English (American)
|
|
160
|
+
"es",
|
|
161
|
+
// Spanish
|
|
162
|
+
"es_419",
|
|
163
|
+
// Spanish (Latin American)
|
|
164
|
+
"et",
|
|
165
|
+
// Estonian
|
|
166
|
+
"fi",
|
|
167
|
+
// Finnish
|
|
168
|
+
"fr",
|
|
169
|
+
// French
|
|
170
|
+
"he",
|
|
171
|
+
// Hebrew (next-gen models only)
|
|
172
|
+
"hu",
|
|
173
|
+
// Hungarian
|
|
174
|
+
"id",
|
|
175
|
+
// Indonesian
|
|
176
|
+
"it",
|
|
177
|
+
// Italian
|
|
178
|
+
"ja",
|
|
179
|
+
// Japanese
|
|
180
|
+
"ko",
|
|
181
|
+
// Korean
|
|
182
|
+
"lt",
|
|
183
|
+
// Lithuanian
|
|
184
|
+
"lv",
|
|
185
|
+
// Latvian
|
|
186
|
+
"nb",
|
|
187
|
+
// Norwegian Bokmål
|
|
188
|
+
"nl",
|
|
189
|
+
// Dutch
|
|
190
|
+
"pl",
|
|
191
|
+
// Polish
|
|
192
|
+
"pt",
|
|
193
|
+
// Portuguese (unspecified)
|
|
194
|
+
"pt_br",
|
|
195
|
+
// Portuguese (Brazilian)
|
|
196
|
+
"pt_pt",
|
|
197
|
+
// Portuguese (excluding Brazilian)
|
|
198
|
+
"ro",
|
|
199
|
+
// Romanian
|
|
200
|
+
"ru",
|
|
201
|
+
// Russian
|
|
202
|
+
"sk",
|
|
203
|
+
// Slovak
|
|
204
|
+
"sl",
|
|
205
|
+
// Slovenian
|
|
206
|
+
"sv",
|
|
207
|
+
// Swedish
|
|
208
|
+
"th",
|
|
209
|
+
// Thai (next-gen models only)
|
|
210
|
+
"tr",
|
|
211
|
+
// Turkish
|
|
212
|
+
"uk",
|
|
213
|
+
// Ukrainian
|
|
214
|
+
"vi",
|
|
215
|
+
// Vietnamese (next-gen models only)
|
|
216
|
+
"zh",
|
|
217
|
+
// Chinese (unspecified)
|
|
218
|
+
"zh_hans",
|
|
219
|
+
// Chinese (simplified)
|
|
220
|
+
"zh_hant"
|
|
221
|
+
// Chinese (traditional)
|
|
222
|
+
];
|
|
223
|
+
GOOGLE_LANGUAGES = [
|
|
108
224
|
"af",
|
|
109
225
|
// Afrikaans
|
|
110
226
|
"sq",
|
|
@@ -115,22 +231,14 @@ var init_schema = __esm({
|
|
|
115
231
|
// Arabic
|
|
116
232
|
"hy",
|
|
117
233
|
// Armenian
|
|
118
|
-
"as",
|
|
119
|
-
// Assamese
|
|
120
|
-
"ay",
|
|
121
|
-
// Aymara
|
|
122
234
|
"az",
|
|
123
235
|
// Azerbaijani
|
|
124
|
-
"bm",
|
|
125
|
-
// Bambara
|
|
126
236
|
"eu",
|
|
127
237
|
// Basque
|
|
128
238
|
"be",
|
|
129
239
|
// Belarusian
|
|
130
240
|
"bn",
|
|
131
241
|
// Bengali
|
|
132
|
-
"bho",
|
|
133
|
-
// Bhojpuri
|
|
134
242
|
"bs",
|
|
135
243
|
// Bosnian
|
|
136
244
|
"bg",
|
|
@@ -139,16 +247,12 @@ var init_schema = __esm({
|
|
|
139
247
|
// Catalan
|
|
140
248
|
"ceb",
|
|
141
249
|
// Cebuano
|
|
142
|
-
"ny",
|
|
143
|
-
// Chichewa
|
|
144
250
|
"zh",
|
|
145
|
-
// Chinese (Simplified)
|
|
251
|
+
// Chinese (Simplified)
|
|
146
252
|
"zh_cn",
|
|
147
|
-
// Chinese (Simplified)
|
|
253
|
+
// Chinese (Simplified)
|
|
148
254
|
"zh_tw",
|
|
149
255
|
// Chinese (Traditional)
|
|
150
|
-
"zh_hk",
|
|
151
|
-
// Chinese (Hong Kong)
|
|
152
256
|
"co",
|
|
153
257
|
// Corsican
|
|
154
258
|
"hr",
|
|
@@ -157,10 +261,6 @@ var init_schema = __esm({
|
|
|
157
261
|
// Czech
|
|
158
262
|
"da",
|
|
159
263
|
// Danish
|
|
160
|
-
"dv",
|
|
161
|
-
// Dhivehi
|
|
162
|
-
"doi",
|
|
163
|
-
// Dogri
|
|
164
264
|
"nl",
|
|
165
265
|
// Dutch
|
|
166
266
|
"en",
|
|
@@ -169,26 +269,20 @@ var init_schema = __esm({
|
|
|
169
269
|
// Esperanto
|
|
170
270
|
"et",
|
|
171
271
|
// Estonian
|
|
172
|
-
"ee",
|
|
173
|
-
// Ewe
|
|
174
|
-
"tl",
|
|
175
|
-
// Filipino (Tagalog)
|
|
176
272
|
"fi",
|
|
177
273
|
// Finnish
|
|
178
274
|
"fr",
|
|
179
275
|
// French
|
|
276
|
+
"fy",
|
|
277
|
+
// Frisian
|
|
180
278
|
"gl",
|
|
181
279
|
// Galician
|
|
182
280
|
"ka",
|
|
183
281
|
// Georgian
|
|
184
282
|
"de",
|
|
185
283
|
// German
|
|
186
|
-
"de_at",
|
|
187
|
-
// German (Austria)
|
|
188
284
|
"el",
|
|
189
285
|
// Greek
|
|
190
|
-
"gn",
|
|
191
|
-
// Guarani
|
|
192
286
|
"gu",
|
|
193
287
|
// Gujarati
|
|
194
288
|
"ht",
|
|
@@ -197,8 +291,6 @@ var init_schema = __esm({
|
|
|
197
291
|
// Hausa
|
|
198
292
|
"haw",
|
|
199
293
|
// Hawaiian
|
|
200
|
-
"iw",
|
|
201
|
-
// Hebrew (legacy code, 'he' is preferred)
|
|
202
294
|
"he",
|
|
203
295
|
// Hebrew
|
|
204
296
|
"hi",
|
|
@@ -211,8 +303,6 @@ var init_schema = __esm({
|
|
|
211
303
|
// Icelandic
|
|
212
304
|
"ig",
|
|
213
305
|
// Igbo
|
|
214
|
-
"ilo",
|
|
215
|
-
// Ilocano
|
|
216
306
|
"id",
|
|
217
307
|
// Indonesian
|
|
218
308
|
"ga",
|
|
@@ -221,7 +311,7 @@ var init_schema = __esm({
|
|
|
221
311
|
// Italian
|
|
222
312
|
"ja",
|
|
223
313
|
// Japanese
|
|
224
|
-
"
|
|
314
|
+
"jv",
|
|
225
315
|
// Javanese
|
|
226
316
|
"kn",
|
|
227
317
|
// Kannada
|
|
@@ -231,16 +321,10 @@ var init_schema = __esm({
|
|
|
231
321
|
// Khmer
|
|
232
322
|
"rw",
|
|
233
323
|
// Kinyarwanda
|
|
234
|
-
"gom",
|
|
235
|
-
// Konkani
|
|
236
324
|
"ko",
|
|
237
325
|
// Korean
|
|
238
|
-
"kri",
|
|
239
|
-
// Krio
|
|
240
326
|
"ku",
|
|
241
|
-
// Kurdish
|
|
242
|
-
"ckb",
|
|
243
|
-
// Kurdish (Sorani)
|
|
327
|
+
// Kurdish
|
|
244
328
|
"ky",
|
|
245
329
|
// Kyrgyz
|
|
246
330
|
"lo",
|
|
@@ -249,18 +333,12 @@ var init_schema = __esm({
|
|
|
249
333
|
// Latin
|
|
250
334
|
"lv",
|
|
251
335
|
// Latvian
|
|
252
|
-
"ln",
|
|
253
|
-
// Lingala
|
|
254
336
|
"lt",
|
|
255
337
|
// Lithuanian
|
|
256
|
-
"lg",
|
|
257
|
-
// Luganda
|
|
258
338
|
"lb",
|
|
259
339
|
// Luxembourgish
|
|
260
340
|
"mk",
|
|
261
341
|
// Macedonian
|
|
262
|
-
"mai",
|
|
263
|
-
// Maithili
|
|
264
342
|
"mg",
|
|
265
343
|
// Malagasy
|
|
266
344
|
"ms",
|
|
@@ -273,10 +351,6 @@ var init_schema = __esm({
|
|
|
273
351
|
// Maori
|
|
274
352
|
"mr",
|
|
275
353
|
// Marathi
|
|
276
|
-
"mni",
|
|
277
|
-
// Meiteilon (Manipuri)
|
|
278
|
-
"lus",
|
|
279
|
-
// Mizo
|
|
280
354
|
"mn",
|
|
281
355
|
// Mongolian
|
|
282
356
|
"my",
|
|
@@ -285,10 +359,10 @@ var init_schema = __esm({
|
|
|
285
359
|
// Nepali
|
|
286
360
|
"no",
|
|
287
361
|
// Norwegian
|
|
362
|
+
"ny",
|
|
363
|
+
// Nyanja (Chichewa)
|
|
288
364
|
"or",
|
|
289
|
-
// Odia
|
|
290
|
-
"om",
|
|
291
|
-
// Oromo
|
|
365
|
+
// Odia (Oriya)
|
|
292
366
|
"ps",
|
|
293
367
|
// Pashto
|
|
294
368
|
"fa",
|
|
@@ -301,18 +375,14 @@ var init_schema = __esm({
|
|
|
301
375
|
// Portuguese (Brazil)
|
|
302
376
|
"pa",
|
|
303
377
|
// Punjabi
|
|
304
|
-
"qu",
|
|
305
|
-
// Quechua
|
|
306
378
|
"ro",
|
|
307
379
|
// Romanian
|
|
308
380
|
"ru",
|
|
309
381
|
// Russian
|
|
310
382
|
"sm",
|
|
311
383
|
// Samoan
|
|
312
|
-
"sa",
|
|
313
|
-
// Sanskrit
|
|
314
384
|
"gd",
|
|
315
|
-
//
|
|
385
|
+
// Scots Gaelic
|
|
316
386
|
"sr",
|
|
317
387
|
// Serbian
|
|
318
388
|
"st",
|
|
@@ -322,7 +392,7 @@ var init_schema = __esm({
|
|
|
322
392
|
"sd",
|
|
323
393
|
// Sindhi
|
|
324
394
|
"si",
|
|
325
|
-
// Sinhala
|
|
395
|
+
// Sinhala (Sinhalese)
|
|
326
396
|
"sk",
|
|
327
397
|
// Slovak
|
|
328
398
|
"sl",
|
|
@@ -337,6 +407,8 @@ var init_schema = __esm({
|
|
|
337
407
|
// Swahili
|
|
338
408
|
"sv",
|
|
339
409
|
// Swedish
|
|
410
|
+
"tl",
|
|
411
|
+
// Tagalog (Filipino)
|
|
340
412
|
"tg",
|
|
341
413
|
// Tajik
|
|
342
414
|
"ta",
|
|
@@ -347,16 +419,10 @@ var init_schema = __esm({
|
|
|
347
419
|
// Telugu
|
|
348
420
|
"th",
|
|
349
421
|
// Thai
|
|
350
|
-
"ti",
|
|
351
|
-
// Tigrinya
|
|
352
|
-
"ts",
|
|
353
|
-
// Tsonga
|
|
354
422
|
"tr",
|
|
355
423
|
// Turkish
|
|
356
424
|
"tk",
|
|
357
425
|
// Turkmen
|
|
358
|
-
"ak",
|
|
359
|
-
// Twi
|
|
360
426
|
"uk",
|
|
361
427
|
// Ukrainian
|
|
362
428
|
"ur",
|
|
@@ -378,16 +444,23 @@ var init_schema = __esm({
|
|
|
378
444
|
"zu"
|
|
379
445
|
// Zulu
|
|
380
446
|
];
|
|
447
|
+
SUPPORTED_LANGUAGES = Array.from(
|
|
448
|
+
/* @__PURE__ */ new Set([...DEEPL_LANGUAGES, ...GOOGLE_LANGUAGES])
|
|
449
|
+
).sort();
|
|
381
450
|
TRANSLATION_CONFIG_SCHEMA = {
|
|
382
|
-
$schema: "http://json-schema.org/draft-07/schema#",
|
|
383
451
|
title: "Translation Configuration",
|
|
384
452
|
description: "Configuration for the translation management system",
|
|
385
453
|
type: "object",
|
|
386
454
|
properties: {
|
|
455
|
+
$schema: {
|
|
456
|
+
type: "string",
|
|
457
|
+
description: "JSON Schema reference"
|
|
458
|
+
},
|
|
387
459
|
translationsPath: {
|
|
388
460
|
type: "string",
|
|
389
461
|
description: "Path to the translations directory relative to project root",
|
|
390
|
-
default: "public/static/locales"
|
|
462
|
+
default: "public/static/locales",
|
|
463
|
+
examples: ["public/static/locales", "src/locales", "locales"]
|
|
391
464
|
},
|
|
392
465
|
languages: {
|
|
393
466
|
type: "array",
|
|
@@ -397,7 +470,8 @@ var init_schema = __esm({
|
|
|
397
470
|
enum: SUPPORTED_LANGUAGES
|
|
398
471
|
},
|
|
399
472
|
minItems: 1,
|
|
400
|
-
uniqueItems: true
|
|
473
|
+
uniqueItems: true,
|
|
474
|
+
default: ["en"]
|
|
401
475
|
},
|
|
402
476
|
sourceLanguage: {
|
|
403
477
|
type: "string",
|
|
@@ -408,7 +482,14 @@ var init_schema = __esm({
|
|
|
408
482
|
typesOutputPath: {
|
|
409
483
|
type: "string",
|
|
410
484
|
description: "Path to output TypeScript types file",
|
|
411
|
-
default: "src/types/i18nTypes.ts"
|
|
485
|
+
default: "src/types/i18nTypes.ts",
|
|
486
|
+
examples: ["src/types/i18nTypes.ts", "src/types/translations.ts"]
|
|
487
|
+
},
|
|
488
|
+
provider: {
|
|
489
|
+
type: "string",
|
|
490
|
+
description: "Translation provider to use (deepl or google)",
|
|
491
|
+
enum: TRANSLATION_PROVIDERS,
|
|
492
|
+
default: "deepl"
|
|
412
493
|
}
|
|
413
494
|
},
|
|
414
495
|
required: ["translationsPath", "languages", "sourceLanguage"],
|
|
@@ -584,7 +665,7 @@ function preserveVariables(text) {
|
|
|
584
665
|
const variableMap = /* @__PURE__ */ new Map();
|
|
585
666
|
let placeholderIndex = 0;
|
|
586
667
|
const textWithPlaceholders = text.replace(/\{\{([^}]+)\}\}/g, (match) => {
|
|
587
|
-
const placeholder = `
|
|
668
|
+
const placeholder = `XXX_${placeholderIndex}_XXX`;
|
|
588
669
|
variableMap.set(placeholder, match);
|
|
589
670
|
placeholderIndex++;
|
|
590
671
|
return placeholder;
|
|
@@ -1265,11 +1346,14 @@ init_schema();
|
|
|
1265
1346
|
init_types();
|
|
1266
1347
|
init_utils();
|
|
1267
1348
|
export {
|
|
1349
|
+
DEEPL_LANGUAGES,
|
|
1268
1350
|
DEFAULT_CONFIG,
|
|
1269
1351
|
DEFAULT_LANGUAGES,
|
|
1352
|
+
GOOGLE_LANGUAGES,
|
|
1270
1353
|
GoogleTranslateProvider,
|
|
1271
1354
|
SUPPORTED_LANGUAGES,
|
|
1272
1355
|
TRANSLATION_CONFIG_SCHEMA,
|
|
1356
|
+
TRANSLATION_PROVIDERS,
|
|
1273
1357
|
addTranslationKey,
|
|
1274
1358
|
addTranslationKeys,
|
|
1275
1359
|
autoFillTranslations,
|
|
@@ -1281,11 +1365,15 @@ export {
|
|
|
1281
1365
|
getAvailableLanguages,
|
|
1282
1366
|
getMissingForLanguage,
|
|
1283
1367
|
getNamespaces,
|
|
1368
|
+
getSupportedLanguages,
|
|
1284
1369
|
getTranslationProvider,
|
|
1285
1370
|
hasInterpolation,
|
|
1286
1371
|
initTranslations,
|
|
1287
1372
|
initTranslationsInteractive,
|
|
1373
|
+
isValidDeepLLanguage,
|
|
1374
|
+
isValidGoogleLanguage,
|
|
1288
1375
|
isValidLanguage,
|
|
1376
|
+
isValidLanguageForProvider,
|
|
1289
1377
|
loadConfig,
|
|
1290
1378
|
manageTranslations,
|
|
1291
1379
|
readTranslations,
|
|
@@ -1295,6 +1383,7 @@ export {
|
|
|
1295
1383
|
translateBatch,
|
|
1296
1384
|
translateText,
|
|
1297
1385
|
validateLanguages,
|
|
1386
|
+
validateLanguagesForProvider,
|
|
1298
1387
|
validateTranslations,
|
|
1299
1388
|
validateVariables,
|
|
1300
1389
|
writeTranslation
|