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/index.d.ts CHANGED
@@ -135,46 +135,74 @@ declare function getMissingForLanguage(projectRoot: string, language: string): A
135
135
  }>;
136
136
 
137
137
  /**
138
- * Supported language codes for translations
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 SUPPORTED_LANGUAGES: readonly ["af", "sq", "am", "ar", "hy", "as", "ay", "az", "bm", "eu", "be", "bn", "bho", "bs", "bg", "ca", "ceb", "ny", "zh", "zh_cn", "zh_tw", "zh_hk", "co", "hr", "cs", "da", "dv", "doi", "nl", "en", "eo", "et", "ee", "tl", "fi", "fr", "gl", "ka", "de", "de_at", "el", "gn", "gu", "ht", "ha", "haw", "iw", "he", "hi", "hmn", "hu", "is", "ig", "ilo", "id", "ga", "it", "ja", "jw", "kn", "kk", "km", "rw", "gom", "ko", "kri", "ku", "ckb", "ky", "lo", "la", "lv", "ln", "lt", "lg", "lb", "mk", "mai", "mg", "ms", "ml", "mt", "mi", "mr", "mni", "lus", "mn", "my", "ne", "no", "or", "om", "ps", "fa", "pl", "pt", "pt_br", "pa", "qu", "ro", "ru", "sm", "sa", "gd", "sr", "st", "sn", "sd", "si", "sk", "sl", "so", "es", "su", "sw", "sv", "tg", "ta", "tt", "te", "th", "ti", "ts", "tr", "tk", "ak", "uk", "ur", "ug", "uz", "vi", "cy", "xh", "yi", "yo", "zu"];
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 ["af", "sq", "am", "ar", "hy", "as", "ay", "az", "bm", "eu", "be", "bn", "bho", "bs", "bg", "ca", "ceb", "ny", "zh", "zh_cn", "zh_tw", "zh_hk", "co", "hr", "cs", "da", "dv", "doi", "nl", "en", "eo", "et", "ee", "tl", "fi", "fr", "gl", "ka", "de", "de_at", "el", "gn", "gu", "ht", "ha", "haw", "iw", "he", "hi", "hmn", "hu", "is", "ig", "ilo", "id", "ga", "it", "ja", "jw", "kn", "kk", "km", "rw", "gom", "ko", "kri", "ku", "ckb", "ky", "lo", "la", "lv", "ln", "lt", "lg", "lb", "mk", "mai", "mg", "ms", "ml", "mt", "mi", "mr", "mni", "lus", "mn", "my", "ne", "no", "or", "om", "ps", "fa", "pl", "pt", "pt_br", "pa", "qu", "ro", "ru", "sm", "sa", "gd", "sr", "st", "sn", "sd", "si", "sk", "sl", "so", "es", "su", "sw", "sv", "tg", "ta", "tt", "te", "th", "ti", "ts", "tr", "tk", "ak", "uk", "ur", "ug", "uz", "vi", "cy", "xh", "yi", "yo", "zu"];
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 ["af", "sq", "am", "ar", "hy", "as", "ay", "az", "bm", "eu", "be", "bn", "bho", "bs", "bg", "ca", "ceb", "ny", "zh", "zh_cn", "zh_tw", "zh_hk", "co", "hr", "cs", "da", "dv", "doi", "nl", "en", "eo", "et", "ee", "tl", "fi", "fr", "gl", "ka", "de", "de_at", "el", "gn", "gu", "ht", "ha", "haw", "iw", "he", "hi", "hmn", "hu", "is", "ig", "ilo", "id", "ga", "it", "ja", "jw", "kn", "kk", "km", "rw", "gom", "ko", "kri", "ku", "ckb", "ky", "lo", "la", "lv", "ln", "lt", "lg", "lb", "mk", "mai", "mg", "ms", "ml", "mt", "mi", "mr", "mni", "lus", "mn", "my", "ne", "no", "or", "om", "ps", "fa", "pl", "pt", "pt_br", "pa", "qu", "ro", "ru", "sm", "sa", "gd", "sr", "st", "sn", "sd", "si", "sk", "sl", "so", "es", "su", "sw", "sv", "tg", "ta", "tt", "te", "th", "ti", "ts", "tr", "tk", "ak", "uk", "ur", "ug", "uz", "vi", "cy", "xh", "yi", "yo", "zu"];
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
- var SUPPORTED_LANGUAGES, TRANSLATION_CONFIG_SCHEMA;
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
- SUPPORTED_LANGUAGES = [
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) - Google uses 'zh' or 'zh-CN'
251
+ // Chinese (Simplified)
146
252
  "zh_cn",
147
- // Chinese (Simplified) - alternative format
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
- "jw",
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 (Kurmanji)
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
- // Scottish Gaelic
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 = `__PLACEHOLDER_${placeholderIndex}__`;
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