@langapi/mcp-server 1.0.7 → 1.1.0

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.
Files changed (56) hide show
  1. package/dist/handlers/index.d.ts +7 -0
  2. package/dist/handlers/index.d.ts.map +1 -0
  3. package/dist/handlers/index.js +7 -0
  4. package/dist/handlers/index.js.map +1 -0
  5. package/dist/handlers/xcstrings-sync-handler.d.ts +72 -0
  6. package/dist/handlers/xcstrings-sync-handler.d.ts.map +1 -0
  7. package/dist/handlers/xcstrings-sync-handler.js +126 -0
  8. package/dist/handlers/xcstrings-sync-handler.js.map +1 -0
  9. package/dist/locale-detection/index.d.ts.map +1 -1
  10. package/dist/locale-detection/index.js +68 -4
  11. package/dist/locale-detection/index.js.map +1 -1
  12. package/dist/locale-detection/patterns.d.ts.map +1 -1
  13. package/dist/locale-detection/patterns.js +30 -0
  14. package/dist/locale-detection/patterns.js.map +1 -1
  15. package/dist/tools/get-translation-status.d.ts.map +1 -1
  16. package/dist/tools/get-translation-status.js +34 -6
  17. package/dist/tools/get-translation-status.js.map +1 -1
  18. package/dist/tools/list-local-locales.d.ts +1 -1
  19. package/dist/tools/list-local-locales.js +2 -2
  20. package/dist/tools/list-local-locales.js.map +1 -1
  21. package/dist/tools/sync-translations.d.ts.map +1 -1
  22. package/dist/tools/sync-translations.js +199 -40
  23. package/dist/tools/sync-translations.js.map +1 -1
  24. package/dist/utils/apple-common.d.ts +63 -0
  25. package/dist/utils/apple-common.d.ts.map +1 -0
  26. package/dist/utils/apple-common.js +118 -0
  27. package/dist/utils/apple-common.js.map +1 -0
  28. package/dist/utils/apple-common.test.d.ts +2 -0
  29. package/dist/utils/apple-common.test.d.ts.map +1 -0
  30. package/dist/utils/apple-common.test.js +108 -0
  31. package/dist/utils/apple-common.test.js.map +1 -0
  32. package/dist/utils/strings-parser.d.ts +62 -0
  33. package/dist/utils/strings-parser.d.ts.map +1 -0
  34. package/dist/utils/strings-parser.js +276 -0
  35. package/dist/utils/strings-parser.js.map +1 -0
  36. package/dist/utils/strings-parser.test.d.ts +2 -0
  37. package/dist/utils/strings-parser.test.d.ts.map +1 -0
  38. package/dist/utils/strings-parser.test.js +143 -0
  39. package/dist/utils/strings-parser.test.js.map +1 -0
  40. package/dist/utils/stringsdict-parser.d.ts +106 -0
  41. package/dist/utils/stringsdict-parser.d.ts.map +1 -0
  42. package/dist/utils/stringsdict-parser.js +473 -0
  43. package/dist/utils/stringsdict-parser.js.map +1 -0
  44. package/dist/utils/stringsdict-parser.test.d.ts +2 -0
  45. package/dist/utils/stringsdict-parser.test.d.ts.map +1 -0
  46. package/dist/utils/stringsdict-parser.test.js +244 -0
  47. package/dist/utils/stringsdict-parser.test.js.map +1 -0
  48. package/dist/utils/xcstrings-parser.d.ts +128 -0
  49. package/dist/utils/xcstrings-parser.d.ts.map +1 -0
  50. package/dist/utils/xcstrings-parser.js +216 -0
  51. package/dist/utils/xcstrings-parser.js.map +1 -0
  52. package/dist/utils/xcstrings-parser.test.d.ts +2 -0
  53. package/dist/utils/xcstrings-parser.test.d.ts.map +1 -0
  54. package/dist/utils/xcstrings-parser.test.js +157 -0
  55. package/dist/utils/xcstrings-parser.test.js.map +1 -0
  56. package/package.json +1 -1
@@ -13,6 +13,10 @@ import { LangAPIClient } from "../api/client.js";
13
13
  import { isApiKeyConfigured } from "../config/env.js";
14
14
  import { languageCodeSchema, languageCodesArraySchema, isPathWithinProject, } from "../utils/validation.js";
15
15
  import { readSyncCache, writeSyncCache, detectLocalDelta, } from "../utils/sync-cache.js";
16
+ import { detectAppleFileType, isXCStringsFile, computeAppleLprojTargetPath, } from "../utils/apple-common.js";
17
+ import { parseStringsContent, mergeStringsContent, } from "../utils/strings-parser.js";
18
+ import { parseXCStringsSource, xcstringsHasMissingKeys, getXCStringsContentToSync, writeXCStringsTranslations, } from "../handlers/xcstrings-sync-handler.js";
19
+ import { parseStringsDictContent, flattenStringsDictForApi, mergeStringsDictContent, } from "../utils/stringsdict-parser.js";
16
20
  // Input schema
17
21
  const SyncTranslationsSchema = z.object({
18
22
  source_lang: languageCodeSchema.describe("Source language code (e.g., 'en', 'pt-BR')"),
@@ -112,9 +116,20 @@ function removeExtraKeys(targetObj, sourceKeys) {
112
116
  * Compute target file path by replacing source language with target language.
113
117
  * Handles both directory-based (locales/en/file.json) and flat (locales/en.json) structures.
114
118
  * Also supports Flutter ARB files with underscore naming (app_en.arb → app_ko.arb).
119
+ * Also supports iOS/macOS .lproj directories (en.lproj/Localizable.strings → de.lproj/Localizable.strings).
115
120
  */
116
121
  function computeTargetFilePath(sourcePath, sourceLang, targetLang) {
117
122
  const ext = getLocaleFileExtension(sourcePath);
123
+ // Try iOS/macOS .lproj directory pattern first
124
+ const lprojPath = computeAppleLprojTargetPath(sourcePath, sourceLang, targetLang);
125
+ if (lprojPath) {
126
+ return lprojPath;
127
+ }
128
+ // xcstrings files contain all languages in one file - return same path
129
+ // (will be handled specially in the write logic)
130
+ if (isXCStringsFile(sourcePath)) {
131
+ return sourcePath;
132
+ }
118
133
  // Try directory-based replacement first: /en/ → /ko/
119
134
  const dirPattern = `/${sourceLang}/`;
120
135
  if (sourcePath.includes(dirPattern)) {
@@ -177,6 +192,50 @@ export function registerSyncTranslations(server) {
177
192
  const sourceFilesData = [];
178
193
  for (const file of sourceLocale.files) {
179
194
  const content = await readFile(file.path, "utf-8");
195
+ const appleType = detectAppleFileType(file.path);
196
+ // Handle Apple file formats
197
+ if (appleType === "strings") {
198
+ const stringsContent = parseStringsContent(content);
199
+ sourceFilesData.push({
200
+ file,
201
+ content: {},
202
+ flatContent: stringsContent.entries,
203
+ format: { indent: " ", trailingNewline: true },
204
+ appleType: "strings",
205
+ stringsContent,
206
+ });
207
+ continue;
208
+ }
209
+ if (appleType === "xcstrings") {
210
+ const parsed = parseXCStringsSource(file, content);
211
+ if (parsed) {
212
+ sourceFilesData.push({
213
+ file: parsed.file,
214
+ content: {},
215
+ flatContent: parsed.flatContent,
216
+ format: { indent: " ", trailingNewline: true },
217
+ appleType: "xcstrings",
218
+ xcstringsData: parsed.xcstringsData,
219
+ });
220
+ }
221
+ continue;
222
+ }
223
+ if (appleType === "stringsdict") {
224
+ const stringsDictContent = parseStringsDictContent(content);
225
+ if (stringsDictContent) {
226
+ const flatContent = flattenStringsDictForApi(stringsDictContent.entries);
227
+ sourceFilesData.push({
228
+ file,
229
+ content: {},
230
+ flatContent,
231
+ format: { indent: " ", trailingNewline: true },
232
+ appleType: "stringsdict",
233
+ stringsDictEntries: stringsDictContent.entries,
234
+ });
235
+ }
236
+ continue;
237
+ }
238
+ // Handle JSON/ARB files
180
239
  const parsed = parseJsonWithFormat(content);
181
240
  if (parsed) {
182
241
  let flatContent;
@@ -200,15 +259,15 @@ export function registerSyncTranslations(server) {
200
259
  });
201
260
  }
202
261
  }
203
- // Also create merged versions for backward compatibility with cache/delta logic
204
- const sourceContent = {};
262
+ // Build merged flatContent from each file's flatContent (not from content objects)
263
+ // This is needed because Apple formats (.strings, .xcstrings, .stringsdict)
264
+ // store keys in flatContent, not in the content object
265
+ let flatContent = [];
205
266
  let sourceFormat = { indent: " ", trailingNewline: true };
206
267
  for (const fileData of sourceFilesData) {
207
- Object.assign(sourceContent, fileData.content);
268
+ flatContent = flatContent.concat(fileData.flatContent);
208
269
  sourceFormat = fileData.format;
209
270
  }
210
- // Flatten source content for API
211
- const flatContent = flattenJson(sourceContent);
212
271
  const sourceKeys = new Set(flatContent.map((item) => item.key));
213
272
  // Read cache and detect local delta
214
273
  const cachedContent = await readSyncCache(projectPath, input.source_lang);
@@ -232,7 +291,15 @@ export function registerSyncTranslations(server) {
232
291
  for (const sourceFileData of sourceFilesData) {
233
292
  // Compute expected target file path
234
293
  const targetFilePath = computeTargetFilePath(sourceFileData.file.path, input.source_lang, targetLang);
235
- // Skip if path computation failed or would overwrite source
294
+ // Handle xcstrings files: check for missing translations within the file
295
+ if (sourceFileData.appleType === "xcstrings" && sourceFileData.xcstringsData) {
296
+ const hasMissingKeys = xcstringsHasMissingKeys(sourceFileData.xcstringsData, targetLang, sourceFileData.flatContent);
297
+ if (hasMissingKeys && !languagesWithMissingFiles.includes(targetLang)) {
298
+ languagesWithMissingFiles.push(targetLang);
299
+ }
300
+ continue;
301
+ }
302
+ // Skip if path computation failed or would overwrite source (non-xcstrings)
236
303
  if (!targetFilePath || targetFilePath === sourceFileData.file.path) {
237
304
  continue;
238
305
  }
@@ -415,6 +482,23 @@ export function registerSyncTranslations(server) {
415
482
  for (const targetLang of input.target_langs) {
416
483
  // Compute target file path
417
484
  const targetFilePath = computeTargetFilePath(sourceFileData.file.path, input.source_lang, targetLang);
485
+ // Handle xcstrings files specially (same file for all languages)
486
+ if (sourceFileData.appleType === "xcstrings" && sourceFileData.xcstringsData) {
487
+ const isMissingLang = missingLanguages.includes(targetLang);
488
+ const targetHasMissingKeys = languagesWithMissingFiles.includes(targetLang);
489
+ const skipSet = getSkipKeysForLang(input.skip_keys, targetLang);
490
+ const { contentToSync, skippedKeys } = getXCStringsContentToSync({ file: sourceFileData.file, flatContent: sourceFileData.flatContent, xcstringsData: sourceFileData.xcstringsData }, targetLang, cachedContent, fileKeysInDelta, isMissingLang, targetHasMissingKeys, skipSet);
491
+ // Track skipped keys
492
+ if (skippedKeys.length > 0) {
493
+ const existing = skippedKeysReport[targetLang] || [];
494
+ skippedKeysReport[targetLang] = [...new Set([...existing, ...skippedKeys])];
495
+ }
496
+ if (contentToSync.length > 0) {
497
+ langContentMap.set(targetLang, contentToSync);
498
+ }
499
+ continue;
500
+ }
501
+ // Non-xcstrings files: skip if target path equals source path
418
502
  if (!targetFilePath || targetFilePath === sourceFileData.file.path) {
419
503
  continue;
420
504
  }
@@ -430,12 +514,32 @@ export function registerSyncTranslations(server) {
430
514
  try {
431
515
  const targetContent = await readFile(resolvedPath, "utf-8");
432
516
  targetFileExists = true;
433
- const parsed = parseJsonWithFormat(targetContent);
434
- if (parsed) {
435
- const flatTarget = flattenJson(parsed.data);
436
- for (const item of flatTarget) {
437
- if (item.value && item.value.trim() !== "") {
438
- existingTargetKeys.add(item.key);
517
+ // Use appropriate parser based on source file type
518
+ if (sourceFileData.appleType === "strings") {
519
+ const parsed = parseStringsContent(targetContent);
520
+ for (const entry of parsed.entries) {
521
+ if (entry.value && entry.value.trim() !== "") {
522
+ existingTargetKeys.add(entry.key);
523
+ }
524
+ }
525
+ }
526
+ else if (sourceFileData.appleType === "stringsdict") {
527
+ const parsed = parseStringsDictContent(targetContent);
528
+ if (parsed) {
529
+ for (const entry of parsed.entries) {
530
+ existingTargetKeys.add(entry.key);
531
+ }
532
+ }
533
+ }
534
+ else {
535
+ // JSON or ARB files
536
+ const parsed = parseJsonWithFormat(targetContent);
537
+ if (parsed) {
538
+ const flatTarget = flattenJson(parsed.data);
539
+ for (const item of flatTarget) {
540
+ if (item.value && item.value.trim() !== "") {
541
+ existingTargetKeys.add(item.key);
542
+ }
439
543
  }
440
544
  }
441
545
  }
@@ -559,46 +663,101 @@ export function registerSyncTranslations(server) {
559
663
  const targetLang = result.language;
560
664
  // Always compute target path from source (no namespace matching!)
561
665
  const targetFilePath = computeTargetFilePath(sourceFileData.file.path, input.source_lang, targetLang);
562
- if (!targetFilePath || targetFilePath === sourceFileData.file.path) {
666
+ // For xcstrings, targetFilePath equals sourceFilePath - that's OK, handle below
667
+ if (!targetFilePath) {
668
+ continue;
669
+ }
670
+ // Skip non-xcstrings files where target equals source
671
+ if (targetFilePath === sourceFileData.file.path && sourceFileData.appleType !== "xcstrings") {
563
672
  continue;
564
673
  }
565
674
  const resolvedPath = resolve(targetFilePath);
566
- if (!isPathWithinProject(resolvedPath, projectPath)) {
675
+ if (!isPathWithinProject(resolvedPath, projectPath) && sourceFileData.appleType !== "xcstrings") {
567
676
  continue;
568
677
  }
569
678
  if (input.write_to_files) {
570
- let mergedContent;
571
- // Read existing target file content (if exists)
572
- let existingContent = {};
573
- try {
574
- const existingFileContent = await readFile(resolvedPath, "utf-8");
575
- const parsed = parseJsonSafe(existingFileContent);
576
- if (parsed) {
577
- existingContent = parsed;
679
+ // Handle Apple file formats specially
680
+ if (sourceFileData.appleType === "strings") {
681
+ // .strings file: merge and write
682
+ let existingContent = "";
683
+ try {
684
+ existingContent = await readFile(resolvedPath, "utf-8");
685
+ }
686
+ catch {
687
+ // File doesn't exist yet
578
688
  }
689
+ const fileContent = mergeStringsContent(existingContent, result.translations, sourceFileData.stringsContent?.comments || new Map(), sourceFileKeys);
690
+ await mkdir(dirname(resolvedPath), { recursive: true });
691
+ await writeFile(resolvedPath, fileContent, "utf-8");
692
+ allFilesWritten.push(resolvedPath);
693
+ const langResult = langResults.get(targetLang);
694
+ langResult.translated_count += result.translatedCount;
695
+ langResult.files_written.push(resolvedPath);
579
696
  }
580
- catch {
581
- // File doesn't exist yet, start with empty object
697
+ else if (sourceFileData.appleType === "xcstrings" && sourceFileData.xcstringsData) {
698
+ // .xcstrings file: update in-place (single file with all languages)
699
+ sourceFileData.xcstringsData = await writeXCStringsTranslations(sourceFileData.file.path, sourceFileData.xcstringsData, targetLang, result.translations);
700
+ if (!allFilesWritten.includes(sourceFileData.file.path)) {
701
+ allFilesWritten.push(sourceFileData.file.path);
702
+ }
703
+ const langResult = langResults.get(targetLang);
704
+ langResult.translated_count += result.translatedCount;
705
+ if (!langResult.files_written.includes(sourceFileData.file.path)) {
706
+ langResult.files_written.push(sourceFileData.file.path);
707
+ }
582
708
  }
583
- if (isArbFile(resolvedPath) && sourceFileData.arbMetadata) {
584
- // ARB file: merge with existing, preserve metadata, update locale
585
- mergedContent = mergeArbContent(existingContent, result.translations, sourceFileData.arbMetadata, sourceFileKeys, targetLang);
709
+ else if (sourceFileData.appleType === "stringsdict" && sourceFileData.stringsDictEntries) {
710
+ // .stringsdict file: merge and write
711
+ let existingContent = "";
712
+ try {
713
+ existingContent = await readFile(resolvedPath, "utf-8");
714
+ }
715
+ catch {
716
+ // File doesn't exist yet
717
+ }
718
+ const fileContent = mergeStringsDictContent(existingContent, result.translations, sourceFileData.stringsDictEntries, sourceFileKeys);
719
+ await mkdir(dirname(resolvedPath), { recursive: true });
720
+ await writeFile(resolvedPath, fileContent, "utf-8");
721
+ allFilesWritten.push(resolvedPath);
722
+ const langResult = langResults.get(targetLang);
723
+ langResult.translated_count += result.translatedCount;
724
+ langResult.files_written.push(resolvedPath);
586
725
  }
587
726
  else {
588
- // Regular JSON: merge and remove extra keys
589
- const newTranslations = unflattenJson(result.translations);
590
- mergedContent = deepMerge(existingContent, newTranslations);
591
- mergedContent = removeExtraKeys(mergedContent, sourceFileKeys);
727
+ // JSON or ARB files
728
+ let mergedContent;
729
+ // Read existing target file content (if exists)
730
+ let existingContent = {};
731
+ try {
732
+ const existingFileContent = await readFile(resolvedPath, "utf-8");
733
+ const parsed = parseJsonSafe(existingFileContent);
734
+ if (parsed) {
735
+ existingContent = parsed;
736
+ }
737
+ }
738
+ catch {
739
+ // File doesn't exist yet, start with empty object
740
+ }
741
+ if (isArbFile(resolvedPath) && sourceFileData.arbMetadata) {
742
+ // ARB file: merge with existing, preserve metadata, update locale
743
+ mergedContent = mergeArbContent(existingContent, result.translations, sourceFileData.arbMetadata, sourceFileKeys, targetLang);
744
+ }
745
+ else {
746
+ // Regular JSON: merge and remove extra keys
747
+ const newTranslations = unflattenJson(result.translations);
748
+ mergedContent = deepMerge(existingContent, newTranslations);
749
+ mergedContent = removeExtraKeys(mergedContent, sourceFileKeys);
750
+ }
751
+ // Write file
752
+ await mkdir(dirname(resolvedPath), { recursive: true });
753
+ const fileContent = stringifyWithFormat(mergedContent, sourceFileData.format);
754
+ await writeFile(resolvedPath, fileContent, "utf-8");
755
+ allFilesWritten.push(resolvedPath);
756
+ // Update per-language results
757
+ const langResult = langResults.get(targetLang);
758
+ langResult.translated_count += result.translatedCount;
759
+ langResult.files_written.push(resolvedPath);
592
760
  }
593
- // Write file
594
- await mkdir(dirname(resolvedPath), { recursive: true });
595
- const fileContent = stringifyWithFormat(mergedContent, sourceFileData.format);
596
- await writeFile(resolvedPath, fileContent, "utf-8");
597
- allFilesWritten.push(resolvedPath);
598
- // Update per-language results
599
- const langResult = langResults.get(targetLang);
600
- langResult.translated_count += result.translatedCount;
601
- langResult.files_written.push(resolvedPath);
602
761
  }
603
762
  else {
604
763
  // Just track count without writing
@@ -1 +1 @@
1
- {"version":3,"file":"sync-translations.js","sourceRoot":"","sources":["../../src/tools/sync-translations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAQ,OAAO,EAAE,MAAM,MAAM,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAmB,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,SAAS,EACT,eAAe,EACf,eAAe,EACf,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,eAAe;AACf,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,kBAAkB,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACtF,YAAY,EAAE,wBAAwB,CAAC,QAAQ,CAAC,sIAAsI,CAAC;IACvL,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,0EAA0E,CAC3E;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,uDAAuD,CAAC;IACpE,SAAS,EAAE,CAAC;SACT,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACvC,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;CAChF,CAAC,CAAC;AAqEH;;GAEG;AACH,SAAS,kBAAkB,CACzB,QAA8C,EAC9C,IAAY;IAEZ,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAClC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAChB,MAA+B,EAC/B,MAA+B;IAE/B,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhC,IACE,WAAW,KAAK,IAAI;YACpB,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC3B,WAAW,KAAK,IAAI;YACpB,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAC3B,CAAC;YACD,sCAAsC;YACtC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CACrB,WAAsC,EACtC,WAAsC,CACvC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,GAA4B,EAC5B,YAAsB;IAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa;IAE7D,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,GAA4B,MAAM,CAAC;QAE9C,8CAA8C;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAA4B,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,MAAM;YACR,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,SAAkC,EAClC,UAAuB;IAEvB,yCAAyC;IACzC,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAE1C,iDAAiD;IACjD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC5B,UAAkB,EAClB,UAAkB,EAClB,UAAkB;IAElB,MAAM,GAAG,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAE/C,qDAAqD;IACrD,MAAM,UAAU,GAAG,IAAI,UAAU,GAAG,CAAC;IACrC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,UAAU,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,sEAAsE;IACtE,MAAM,WAAW,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;IAC3E,CAAC;IAED,gEAAgE;IAChE,MAAM,aAAa,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;IAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;IAC7E,CAAC;IAED,gEAAgE;IAChE,MAAM,iBAAiB,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;IACjD,IAAI,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC3C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;IACjF,CAAC;IAED,+BAA+B;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,wWAAwW,EACxW,sBAAsB,CAAC,KAAK,EAC5B,KAAK,EAAE,IAAI,EAA+D,EAAE;QAC1E,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAExD,iCAAiC;QACjC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAoB;gBAC9B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,YAAY;oBAClB,OAAO,EACL,sEAAsE;iBACzE;aACF,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAE1D,qBAAqB;QACrB,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CACpC,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,MAAM,GAAoB;gBAC9B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,oBAAoB,KAAK,CAAC,WAAW,wBAAwB;iBACvE;aACF,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAYD,MAAM,eAAe,GAAqB,EAAE,CAAC;QAE7C,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,WAAkD,CAAC;gBACvD,IAAI,WAAgD,CAAC;gBAErD,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,8DAA8D;oBAC9D,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,IAA+B,CAAC,CAAC;oBAC3E,WAAW,GAAG,UAAU,CAAC,gBAAgB,CAAC;oBAC1C,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,iCAAiC;oBACjC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,IAA+B,CAAC,CAAC;gBACpE,CAAC;gBAED,eAAe,CAAC,IAAI,CAAC;oBACnB,IAAI;oBACJ,OAAO,EAAE,MAAM,CAAC,IAA+B;oBAC/C,WAAW;oBACX,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,gFAAgF;QAChF,MAAM,aAAa,GAA4B,EAAE,CAAC;QAClD,IAAI,YAAY,GAAe,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACvE,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/C,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;QACjC,CAAC;QAED,iCAAiC;QACjC,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhE,oCAAoC;QACpC,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAEhE,+DAA+D;QAC/D,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,2DAA2D;QAC3D,MAAM,yBAAyB,GAAa,EAAE,CAAC;QAE/C,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;YAC3C,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC7C,oCAAoC;gBACpC,MAAM,cAAc,GAAG,qBAAqB,CAC1C,cAAc,CAAC,IAAI,CAAC,IAAI,EACxB,KAAK,CAAC,WAAW,EACjB,UAAU,CACX,CAAC;gBAEF,4DAA4D;gBAC5D,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnE,SAAS;gBACX,CAAC;gBAED,uBAAuB;gBACvB,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC1C,CAAC;gBAAC,MAAM,CAAC;oBACP,uDAAuD;oBACvD,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpD,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,oFAAoF;QACpF,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,yBAAyB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrH,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,4DAA4D;gBAC5D,IAAI,cAAc,GAAG,CAAC,CAAC;gBACvB,MAAM,eAAe,GAA6B,EAAE,CAAC;gBAErD,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC5C,MAAM,aAAa,GAAa,EAAE,CAAC;oBAEnC,qDAAqD;oBACrD,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;wBAC7C,MAAM,cAAc,GAAG,qBAAqB,CAC1C,cAAc,CAAC,IAAI,CAAC,IAAI,EACxB,KAAK,CAAC,WAAW,EACjB,UAAU,CACX,CAAC;wBAEF,4DAA4D;wBAC5D,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4BACnE,SAAS;wBACX,CAAC;wBAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;wBAEnF,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;4BACxD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;4BACtC,IAAI,MAAM,EAAE,CAAC;gCACX,MAAM,UAAU,GAAG,WAAW,CAAC,MAAiC,CAAC,CAAC;gCAClE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gCACzF,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;4BACnC,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,sCAAsC;wBACxC,CAAC;oBACH,CAAC;oBAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,eAAe,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;wBAC5C,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GAAsB;oBAChC,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE;wBACL,QAAQ,EAAE,EAAE;wBACZ,YAAY,EAAE,EAAE;wBAChB,kBAAkB,EAAE,CAAC;qBACtB;oBACD,IAAI,EAAE;wBACJ,kBAAkB,EAAE,CAAC;wBACrB,gBAAgB,EAAE,CAAC;wBACnB,eAAe,EAAE,CAAC;wBAClB,kBAAkB,EAAE,CAAC;qBACtB;oBACD,OAAO,EAAE,cAAc,GAAG,CAAC;wBACzB,CAAC,CAAC,+BAA+B,cAAc,sGAAsG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE;wBACtL,CAAC,CAAC,mDAAmD;iBACxD,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YACD,qFAAqF;YACrF,MAAM,OAAO,GAKR,EAAE,CAAC;YAER,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC5C,MAAM,YAAY,GAAa,EAAE,CAAC;oBAClC,IAAI,uBAAuB,GAAG,CAAC,CAAC;oBAEhC,uDAAuD;oBACvD,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;wBAC7C,2BAA2B;wBAC3B,MAAM,cAAc,GAAG,qBAAqB,CAC1C,cAAc,CAAC,IAAI,CAAC,IAAI,EACxB,KAAK,CAAC,WAAW,EACjB,UAAU,CACX,CAAC;wBAEF,4DAA4D;wBAC5D,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4BACnE,SAAS;wBACX,CAAC;wBAED,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;wBAC7C,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;4BACpD,SAAS;wBACX,CAAC;wBAED,+CAA+C;wBAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;wBAEnF,IAAI,CAAC;4BACH,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;4BAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;4BAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;gCACZ,SAAS;4BACX,CAAC;4BAED,kCAAkC;4BAClC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAiC,EAAE,cAAc,CAAC,CAAC;4BACnF,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;4BACvE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAiC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;4BAElG,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gCAC/B,kDAAkD;gCAClD,MAAM,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gCACnD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAiC,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gCACxG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCAChC,uBAAuB,IAAI,WAAW,CAAC;4BACzC,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,sCAAsC;wBACxC,CAAC;oBACH,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,QAAQ,EAAE,UAAU;wBACpB,gBAAgB,EAAE,CAAC;wBACnB,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;wBACtE,YAAY,EAAE,uBAAuB,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;qBAChF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YAED,MAAM,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAElE,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7F,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpF,MAAM,MAAM,GAAsB;gBAChC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;oBACtE,QAAQ;oBACR,gBAAgB;oBAChB,YAAY;iBACb,CAAC,CAAC;gBACH,IAAI,EAAE;oBACJ,YAAY,EAAE,CAAC;oBACf,kBAAkB,EAAE,CAAC;iBACtB;gBACD,OAAO,EAAE,iBAAiB,GAAG,CAAC;oBAC5B,CAAC,CAAC,mCAAmC,gBAAgB,oBAAoB,iBAAiB,WAAW;oBACrG,CAAC,CAAC,mDAAmD;aACxD,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;QAEtC,gDAAgD;QAChD,MAAM,iBAAiB,GAA6B,EAAE,CAAC;QAEvD,qDAAqD;QACrD,uCAAuC;QACvC,6DAA6D;QAC7D,uDAAuD;QACvD,yCAAyC;QACzC,oEAAoE;QAEpE,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,uDAAuD;QACvD,MAAM,WAAW,GAIZ,IAAI,GAAG,EAAE,CAAC;QAEf,8CAA8C;QAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACtC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,oDAAoD;QACpD,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,2BAA2B;QAC3B,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAEnF,wDAAwD;YACxD,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CACrD,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CACvC,CAAC;YAEF,0DAA0D;YAC1D,wCAAwC;YACxC,MAAM,cAAc,GAAuD,IAAI,GAAG,EAAE,CAAC;YAErF,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC5C,2BAA2B;gBAC3B,MAAM,cAAc,GAAG,qBAAqB,CAC1C,cAAc,CAAC,IAAI,CAAC,IAAI,EACxB,KAAK,CAAC,WAAW,EACjB,UAAU,CACX,CAAC;gBAEF,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnE,SAAS;gBACX,CAAC;gBAED,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC7C,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;oBACpD,SAAS;gBACX,CAAC;gBAED,4DAA4D;gBAC5D,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAE5D,4CAA4C;gBAC5C,IAAI,gBAAgB,GAAG,KAAK,CAAC;gBAC7B,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBAC5D,gBAAgB,GAAG,IAAI,CAAC;oBACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;oBAClD,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,IAA+B,CAAC,CAAC;wBACvE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;4BAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gCAC3C,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACnC,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,qBAAqB;gBACvB,CAAC;gBAED,iCAAiC;gBACjC,IAAI,aAAoD,CAAC;gBAEzD,IAAI,aAAa,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACvC,oEAAoE;oBACpE,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC;gBAC7C,CAAC;qBAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC1B,+CAA+C;oBAC/C,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAC5C,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,qDAAqD;oBACrD,aAAa,GAAG,eAAe,CAAC;gBAClC,CAAC;gBAED,yBAAyB;gBACzB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAChE,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAC1C,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CACjC,CAAC;gBAEF,qBAAqB;gBACrB,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,gBAAgB,GAAG,aAAa;yBACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3B,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;wBACrD,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBACnF,CAAC;gBACH,CAAC;gBAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,+CAA+C;YAC/C,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC9B,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,6EAA6E;YAC7E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;oBAC3B,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CACrD,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CACtC,CAAC;YAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,2DAA2D;YAC3D,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YAE3D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBACjC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,YAAY,EAAE,gBAAgB;gBAC9B,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;YAEH,mBAAmB;YACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,uDAAuD;gBACvD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;yBACrD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;yBACxE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;oBAEzB,MAAM,MAAM,GAA2B;wBACrC,OAAO,EAAE,KAAK;wBACd,eAAe,EAAE;4BACf,mBAAmB,EAAE,cAAc;4BACnC,aAAa,EAAE,eAAe;4BAC9B,YAAY,EAAE,gBAAgB;yBAC/B;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;4BACzB,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO;4BAC/B,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;4BACpC,mBAAmB,EAAE,gBAAgB;4BACrC,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc;4BAC9C,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,eAAe;4BAChD,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;yBACpC;qBACF,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;qBACnE,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAoB;oBAC9B,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;wBACzB,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO;wBAC/B,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc;wBAC9C,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,eAAe;wBAChD,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;qBACpC;iBACF,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YAED,6CAA6C;YAC7C,IAAI,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzC,qBAAqB,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;gBAC7D,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;gBACvD,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;gBACnD,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,wCAAwC;YACxC,IAAI,SAAS,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3C,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;gBACnD,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;gBAErD,uCAAuC;gBACvC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAEnC,kEAAkE;oBAClE,MAAM,cAAc,GAAG,qBAAqB,CAC1C,cAAc,CAAC,IAAI,CAAC,IAAI,EACxB,KAAK,CAAC,WAAW,EACjB,UAAU,CACX,CAAC;oBAEF,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACnE,SAAS;oBACX,CAAC;oBAED,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;oBAC7C,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;wBACpD,SAAS;oBACX,CAAC;oBAED,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;wBACzB,IAAI,aAAsC,CAAC;wBAE3C,gDAAgD;wBAChD,IAAI,eAAe,GAA4B,EAAE,CAAC;wBAClD,IAAI,CAAC;4BACH,MAAM,mBAAmB,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;4BAClE,MAAM,MAAM,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;4BAClD,IAAI,MAAM,EAAE,CAAC;gCACX,eAAe,GAAG,MAAiC,CAAC;4BACtD,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,kDAAkD;wBACpD,CAAC;wBAED,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;4BAC1D,kEAAkE;4BAClE,aAAa,GAAG,eAAe,CAC7B,eAAe,EACf,MAAM,CAAC,YAAY,EACnB,cAAc,CAAC,WAAW,EAC1B,cAAc,EACd,UAAU,CACX,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,4CAA4C;4BAC5C,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;4BAC3D,aAAa,GAAG,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;4BAC5D,aAAa,GAAG,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;wBACjE,CAAC;wBAED,aAAa;wBACb,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBACxD,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;wBAC9E,MAAM,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;wBAEpD,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAEnC,8BAA8B;wBAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;wBAChD,UAAU,CAAC,gBAAgB,IAAI,MAAM,CAAC,eAAe,CAAC;wBACtD,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACN,mCAAmC;wBACnC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;wBAChD,UAAU,CAAC,gBAAgB,IAAI,MAAM,CAAC,eAAe,CAAC;oBACxD,CAAC;gBACH,CAAC;gBAED,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpE,CAAC;QAED,uBAAuB;QACvB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,MAAM,GAAsB;gBAChC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU,CAAC,OAAO;oBAC5B,YAAY,EAAE,UAAU,CAAC,WAAW;oBACpC,kBAAkB,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM;iBACpD;gBACD,IAAI,EAAE;oBACJ,kBAAkB,EAAE,qBAAqB;oBACzC,gBAAgB,EAAE,gBAAgB;oBAClC,eAAe,EAAE,cAAc;oBAC/B,kBAAkB,EAAE,cAAc,GAAG,gBAAgB;iBACtD;gBACD,OAAO,EAAE,YAAY,UAAU,CAAC,aAAa,CAAC,MAAM,wBAAwB,eAAe,CAAC,MAAM,aAAa,gBAAgB,uDAAuD;aACvL,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,MAAM,OAAO,GAKR,EAAE,CAAC;QAER,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,IAAI;gBACd,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC;gBACrC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;aACnF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC;YAC1D,CAAC,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;YAClD,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,MAAM,GAAsB;YAChC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,OAAO;YACP,IAAI,EAAE;gBACJ,YAAY,EAAE,gBAAgB;gBAC9B,kBAAkB,EAAE,cAAc;aACnC;YACD,OAAO,EAAE,kBAAkB,eAAe,2BAA2B,KAAK,CAAC,YAAY,CAAC,MAAM,cAAc,UAAU,EAAE;SACzH,CAAC;QACF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sync-translations.js","sourceRoot":"","sources":["../../src/tools/sync-translations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Common utilities for iOS/macOS localization file handling
3
+ *
4
+ * Apple localization uses several file formats:
5
+ * - Localizable.strings: Traditional key-value format ("key" = "value";)
6
+ * - String Catalogs (.xcstrings): Modern JSON-based format (Xcode 15+)
7
+ * - Localizable.stringsdict: XML plist for plurals/gender
8
+ *
9
+ * Files are typically organized in .lproj directories:
10
+ * - en.lproj/Localizable.strings
11
+ * - de.lproj/Localizable.strings
12
+ */
13
+ export type AppleFileType = "strings" | "xcstrings" | "stringsdict";
14
+ /**
15
+ * Check if a file is an Apple .strings file
16
+ */
17
+ export declare function isStringsFile(filePath: string): boolean;
18
+ /**
19
+ * Check if a file is an Apple String Catalog (.xcstrings)
20
+ */
21
+ export declare function isXCStringsFile(filePath: string): boolean;
22
+ /**
23
+ * Check if a file is an Apple stringsdict file
24
+ */
25
+ export declare function isStringsDictFile(filePath: string): boolean;
26
+ /**
27
+ * Detect Apple file type from file path
28
+ * @returns The file type or null if not an Apple localization file
29
+ */
30
+ export declare function detectAppleFileType(filePath: string): AppleFileType | null;
31
+ /**
32
+ * Check if a file path is any Apple localization file type
33
+ */
34
+ export declare function isAppleLocalizationFile(filePath: string): boolean;
35
+ /**
36
+ * Extract language code from .lproj directory path
37
+ *
38
+ * Apple organizes locale files in language-specific directories:
39
+ * - en.lproj/Localizable.strings -> "en"
40
+ * - pt-BR.lproj/Main.strings -> "pt-BR"
41
+ * - Base.lproj/Main.strings -> null (Base is special, not a language)
42
+ *
43
+ * @param filePath Path containing .lproj directory
44
+ * @returns Language code or null if not found or is Base.lproj
45
+ */
46
+ export declare function extractLanguageFromLproj(filePath: string): string | null;
47
+ /**
48
+ * Compute target file path for .lproj directory structure
49
+ *
50
+ * Replaces the source language directory with the target language:
51
+ * - /Project/en.lproj/Localizable.strings -> /Project/de.lproj/Localizable.strings
52
+ *
53
+ * @param sourcePath Original file path with source language .lproj
54
+ * @param sourceLang Source language code
55
+ * @param targetLang Target language code
56
+ * @returns Target file path or null if no .lproj pattern found
57
+ */
58
+ export declare function computeAppleLprojTargetPath(sourcePath: string, sourceLang: string, targetLang: string): string | null;
59
+ /**
60
+ * Get the file extension for Apple localization files
61
+ */
62
+ export declare function getAppleFileExtension(filePath: string): string;
63
+ //# sourceMappingURL=apple-common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apple-common.d.ts","sourceRoot":"","sources":["../../src/utils/apple-common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;AAEpE;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAK1E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAcf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY9D"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Common utilities for iOS/macOS localization file handling
3
+ *
4
+ * Apple localization uses several file formats:
5
+ * - Localizable.strings: Traditional key-value format ("key" = "value";)
6
+ * - String Catalogs (.xcstrings): Modern JSON-based format (Xcode 15+)
7
+ * - Localizable.stringsdict: XML plist for plurals/gender
8
+ *
9
+ * Files are typically organized in .lproj directories:
10
+ * - en.lproj/Localizable.strings
11
+ * - de.lproj/Localizable.strings
12
+ */
13
+ /**
14
+ * Check if a file is an Apple .strings file
15
+ */
16
+ export function isStringsFile(filePath) {
17
+ return filePath.toLowerCase().endsWith(".strings");
18
+ }
19
+ /**
20
+ * Check if a file is an Apple String Catalog (.xcstrings)
21
+ */
22
+ export function isXCStringsFile(filePath) {
23
+ return filePath.toLowerCase().endsWith(".xcstrings");
24
+ }
25
+ /**
26
+ * Check if a file is an Apple stringsdict file
27
+ */
28
+ export function isStringsDictFile(filePath) {
29
+ return filePath.toLowerCase().endsWith(".stringsdict");
30
+ }
31
+ /**
32
+ * Detect Apple file type from file path
33
+ * @returns The file type or null if not an Apple localization file
34
+ */
35
+ export function detectAppleFileType(filePath) {
36
+ if (isStringsFile(filePath))
37
+ return "strings";
38
+ if (isXCStringsFile(filePath))
39
+ return "xcstrings";
40
+ if (isStringsDictFile(filePath))
41
+ return "stringsdict";
42
+ return null;
43
+ }
44
+ /**
45
+ * Check if a file path is any Apple localization file type
46
+ */
47
+ export function isAppleLocalizationFile(filePath) {
48
+ return detectAppleFileType(filePath) !== null;
49
+ }
50
+ /**
51
+ * Extract language code from .lproj directory path
52
+ *
53
+ * Apple organizes locale files in language-specific directories:
54
+ * - en.lproj/Localizable.strings -> "en"
55
+ * - pt-BR.lproj/Main.strings -> "pt-BR"
56
+ * - Base.lproj/Main.strings -> null (Base is special, not a language)
57
+ *
58
+ * @param filePath Path containing .lproj directory
59
+ * @returns Language code or null if not found or is Base.lproj
60
+ */
61
+ export function extractLanguageFromLproj(filePath) {
62
+ // Match language code before .lproj
63
+ // Supports: en.lproj, de.lproj, pt-BR.lproj, zh-Hans.lproj
64
+ const match = filePath.match(/\/([a-zA-Z]{2,3}(?:-[a-zA-Z]{2,4})?)\.lproj\//i);
65
+ if (!match) {
66
+ return null;
67
+ }
68
+ const lang = match[1];
69
+ // Skip Base.lproj - it's a special case for base internationalization
70
+ if (lang.toLowerCase() === "base") {
71
+ return null;
72
+ }
73
+ return lang;
74
+ }
75
+ /**
76
+ * Compute target file path for .lproj directory structure
77
+ *
78
+ * Replaces the source language directory with the target language:
79
+ * - /Project/en.lproj/Localizable.strings -> /Project/de.lproj/Localizable.strings
80
+ *
81
+ * @param sourcePath Original file path with source language .lproj
82
+ * @param sourceLang Source language code
83
+ * @param targetLang Target language code
84
+ * @returns Target file path or null if no .lproj pattern found
85
+ */
86
+ export function computeAppleLprojTargetPath(sourcePath, sourceLang, targetLang) {
87
+ // Create regex that matches the source language .lproj directory
88
+ // Use case-insensitive matching for the language code
89
+ const lprojPattern = new RegExp(`(/)${escapeRegExp(sourceLang)}\\.lproj(/)`, "i");
90
+ if (!lprojPattern.test(sourcePath)) {
91
+ return null;
92
+ }
93
+ // Replace source language with target language in the .lproj directory name
94
+ return sourcePath.replace(lprojPattern, `$1${targetLang}.lproj$2`);
95
+ }
96
+ /**
97
+ * Get the file extension for Apple localization files
98
+ */
99
+ export function getAppleFileExtension(filePath) {
100
+ const fileType = detectAppleFileType(filePath);
101
+ switch (fileType) {
102
+ case "strings":
103
+ return ".strings";
104
+ case "xcstrings":
105
+ return ".xcstrings";
106
+ case "stringsdict":
107
+ return ".stringsdict";
108
+ default:
109
+ return "";
110
+ }
111
+ }
112
+ /**
113
+ * Escape special regex characters in a string
114
+ */
115
+ function escapeRegExp(str) {
116
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
117
+ }
118
+ //# sourceMappingURL=apple-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apple-common.js","sourceRoot":"","sources":["../../src/utils/apple-common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,IAAI,aAAa,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,eAAe,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC;IAClD,IAAI,iBAAiB,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,oCAAoC;IACpC,2DAA2D;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAE/E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtB,sEAAsE;IACtE,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAkB,EAClB,UAAkB,EAClB,UAAkB;IAElB,iEAAiE;IACjE,sDAAsD;IACtD,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,MAAM,YAAY,CAAC,UAAU,CAAC,aAAa,EAC3C,GAAG,CACJ,CAAC;IAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,OAAO,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,UAAU,UAAU,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC;QACpB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC;QACtB,KAAK,aAAa;YAChB,OAAO,cAAc,CAAC;QACxB;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=apple-common.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apple-common.test.d.ts","sourceRoot":"","sources":["../../src/utils/apple-common.test.ts"],"names":[],"mappings":""}