lingo.dev 0.77.7 → 0.78.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/build/cli.cjs +84 -54
- package/build/cli.cjs.map +1 -1
- package/build/cli.mjs +61 -31
- package/build/cli.mjs.map +1 -1
- package/package.json +1 -1
package/build/cli.mjs
CHANGED
|
@@ -1665,12 +1665,16 @@ function createXcodeStringsdictLoader() {
|
|
|
1665
1665
|
|
|
1666
1666
|
// src/cli/loaders/xcode-xcstrings.ts
|
|
1667
1667
|
import _9 from "lodash";
|
|
1668
|
-
function createXcodeXcstringsLoader() {
|
|
1668
|
+
function createXcodeXcstringsLoader(defaultLocale) {
|
|
1669
1669
|
return createLoader({
|
|
1670
|
-
async pull(locale, input2) {
|
|
1670
|
+
async pull(locale, input2, initCtx) {
|
|
1671
1671
|
const resultData = {};
|
|
1672
|
+
const isSourceLanguage = locale === defaultLocale;
|
|
1672
1673
|
for (const [translationKey, _translationEntity] of Object.entries(input2.strings)) {
|
|
1673
1674
|
const rootTranslationEntity = _translationEntity;
|
|
1675
|
+
if (rootTranslationEntity.shouldTranslate === false) {
|
|
1676
|
+
continue;
|
|
1677
|
+
}
|
|
1674
1678
|
const langTranslationEntity = rootTranslationEntity?.localizations?.[locale];
|
|
1675
1679
|
if (langTranslationEntity) {
|
|
1676
1680
|
if ("stringUnit" in langTranslationEntity) {
|
|
@@ -1686,17 +1690,25 @@ function createXcodeXcstringsLoader() {
|
|
|
1686
1690
|
}
|
|
1687
1691
|
}
|
|
1688
1692
|
}
|
|
1693
|
+
} else if (isSourceLanguage) {
|
|
1694
|
+
resultData[translationKey] = translationKey;
|
|
1689
1695
|
}
|
|
1690
1696
|
}
|
|
1697
|
+
console.log(resultData);
|
|
1691
1698
|
return resultData;
|
|
1692
1699
|
},
|
|
1693
1700
|
async push(locale, payload, originalInput) {
|
|
1694
1701
|
const langDataToMerge = {};
|
|
1695
1702
|
langDataToMerge.strings = {};
|
|
1703
|
+
const input2 = _9.cloneDeep(originalInput) || { sourceLanguage: locale, strings: {} };
|
|
1696
1704
|
for (const [key, value] of Object.entries(payload)) {
|
|
1705
|
+
if (value === null || value === void 0) {
|
|
1706
|
+
continue;
|
|
1707
|
+
}
|
|
1708
|
+
const hasDoNotTranslateFlag = originalInput && originalInput.strings && originalInput.strings[key] && originalInput.strings[key].shouldTranslate === false;
|
|
1697
1709
|
if (typeof value === "string") {
|
|
1698
1710
|
langDataToMerge.strings[key] = {
|
|
1699
|
-
extractionState:
|
|
1711
|
+
extractionState: originalInput?.strings?.[key]?.extractionState,
|
|
1700
1712
|
localizations: {
|
|
1701
1713
|
[locale]: {
|
|
1702
1714
|
stringUnit: {
|
|
@@ -1706,6 +1718,9 @@ function createXcodeXcstringsLoader() {
|
|
|
1706
1718
|
}
|
|
1707
1719
|
}
|
|
1708
1720
|
};
|
|
1721
|
+
if (hasDoNotTranslateFlag) {
|
|
1722
|
+
langDataToMerge.strings[key].shouldTranslate = false;
|
|
1723
|
+
}
|
|
1709
1724
|
} else {
|
|
1710
1725
|
const updatedVariations = {};
|
|
1711
1726
|
for (const form in value) {
|
|
@@ -1726,6 +1741,9 @@ function createXcodeXcstringsLoader() {
|
|
|
1726
1741
|
}
|
|
1727
1742
|
}
|
|
1728
1743
|
};
|
|
1744
|
+
if (hasDoNotTranslateFlag) {
|
|
1745
|
+
langDataToMerge.strings[key].shouldTranslate = false;
|
|
1746
|
+
}
|
|
1729
1747
|
}
|
|
1730
1748
|
}
|
|
1731
1749
|
const result = _9.merge({}, originalInput, langDataToMerge);
|
|
@@ -2840,7 +2858,7 @@ function escapePhpString(str) {
|
|
|
2840
2858
|
}
|
|
2841
2859
|
|
|
2842
2860
|
// src/cli/loaders/index.ts
|
|
2843
|
-
function createBucketLoader(bucketType, bucketPathPattern,
|
|
2861
|
+
function createBucketLoader(bucketType, bucketPathPattern, options) {
|
|
2844
2862
|
switch (bucketType) {
|
|
2845
2863
|
default:
|
|
2846
2864
|
throw new Error(`Unsupported bucket type: ${bucketType}`);
|
|
@@ -2850,7 +2868,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2850
2868
|
createAndroidLoader(),
|
|
2851
2869
|
createFlatLoader(),
|
|
2852
2870
|
createSyncLoader(),
|
|
2853
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2871
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2854
2872
|
);
|
|
2855
2873
|
case "csv":
|
|
2856
2874
|
return composeLoaders(
|
|
@@ -2858,7 +2876,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2858
2876
|
createCsvLoader(),
|
|
2859
2877
|
createFlatLoader(),
|
|
2860
2878
|
createSyncLoader(),
|
|
2861
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2879
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2862
2880
|
);
|
|
2863
2881
|
case "html":
|
|
2864
2882
|
return composeLoaders(
|
|
@@ -2866,7 +2884,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2866
2884
|
createPrettierLoader({ parser: "html", alwaysFormat: true }),
|
|
2867
2885
|
createHtmlLoader(),
|
|
2868
2886
|
createSyncLoader(),
|
|
2869
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2887
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2870
2888
|
);
|
|
2871
2889
|
case "json":
|
|
2872
2890
|
return composeLoaders(
|
|
@@ -2875,7 +2893,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2875
2893
|
createJsonLoader(),
|
|
2876
2894
|
createFlatLoader(),
|
|
2877
2895
|
createSyncLoader(),
|
|
2878
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2896
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2879
2897
|
);
|
|
2880
2898
|
case "markdown":
|
|
2881
2899
|
return composeLoaders(
|
|
@@ -2883,7 +2901,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2883
2901
|
createPrettierLoader({ parser: "markdown" }),
|
|
2884
2902
|
createMarkdownLoader(),
|
|
2885
2903
|
createSyncLoader(),
|
|
2886
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2904
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2887
2905
|
);
|
|
2888
2906
|
case "po":
|
|
2889
2907
|
return composeLoaders(
|
|
@@ -2891,7 +2909,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2891
2909
|
createPoLoader(),
|
|
2892
2910
|
createFlatLoader(),
|
|
2893
2911
|
createSyncLoader(),
|
|
2894
|
-
createUnlocalizableLoader(isCacheRestore),
|
|
2912
|
+
createUnlocalizableLoader(options.isCacheRestore),
|
|
2895
2913
|
createVariableLoader({ type: "python" })
|
|
2896
2914
|
);
|
|
2897
2915
|
case "properties":
|
|
@@ -2899,14 +2917,14 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2899
2917
|
createTextFileLoader(bucketPathPattern),
|
|
2900
2918
|
createPropertiesLoader(),
|
|
2901
2919
|
createSyncLoader(),
|
|
2902
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2920
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2903
2921
|
);
|
|
2904
2922
|
case "xcode-strings":
|
|
2905
2923
|
return composeLoaders(
|
|
2906
2924
|
createTextFileLoader(bucketPathPattern),
|
|
2907
2925
|
createXcodeStringsLoader(),
|
|
2908
2926
|
createSyncLoader(),
|
|
2909
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2927
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2910
2928
|
);
|
|
2911
2929
|
case "xcode-stringsdict":
|
|
2912
2930
|
return composeLoaders(
|
|
@@ -2914,17 +2932,17 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2914
2932
|
createXcodeStringsdictLoader(),
|
|
2915
2933
|
createFlatLoader(),
|
|
2916
2934
|
createSyncLoader(),
|
|
2917
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2935
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2918
2936
|
);
|
|
2919
2937
|
case "xcode-xcstrings":
|
|
2920
2938
|
return composeLoaders(
|
|
2921
2939
|
createTextFileLoader(bucketPathPattern),
|
|
2922
2940
|
createPlutilJsonTextLoader(),
|
|
2923
2941
|
createJsonLoader(),
|
|
2924
|
-
createXcodeXcstringsLoader(),
|
|
2942
|
+
createXcodeXcstringsLoader(options.defaultLocale),
|
|
2925
2943
|
createFlatLoader(),
|
|
2926
2944
|
createSyncLoader(),
|
|
2927
|
-
createUnlocalizableLoader(isCacheRestore),
|
|
2945
|
+
createUnlocalizableLoader(options.isCacheRestore),
|
|
2928
2946
|
createVariableLoader({ type: "ieee" })
|
|
2929
2947
|
);
|
|
2930
2948
|
case "yaml":
|
|
@@ -2934,7 +2952,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2934
2952
|
createYamlLoader(),
|
|
2935
2953
|
createFlatLoader(),
|
|
2936
2954
|
createSyncLoader(),
|
|
2937
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2955
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2938
2956
|
);
|
|
2939
2957
|
case "yaml-root-key":
|
|
2940
2958
|
return composeLoaders(
|
|
@@ -2944,7 +2962,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2944
2962
|
createRootKeyLoader(true),
|
|
2945
2963
|
createFlatLoader(),
|
|
2946
2964
|
createSyncLoader(),
|
|
2947
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2965
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2948
2966
|
);
|
|
2949
2967
|
case "flutter":
|
|
2950
2968
|
return composeLoaders(
|
|
@@ -2954,7 +2972,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2954
2972
|
createFlutterLoader(),
|
|
2955
2973
|
createFlatLoader(),
|
|
2956
2974
|
createSyncLoader(),
|
|
2957
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2975
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2958
2976
|
);
|
|
2959
2977
|
case "xliff":
|
|
2960
2978
|
return composeLoaders(
|
|
@@ -2962,7 +2980,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2962
2980
|
createXliffLoader(),
|
|
2963
2981
|
createFlatLoader(),
|
|
2964
2982
|
createSyncLoader(),
|
|
2965
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2983
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2966
2984
|
);
|
|
2967
2985
|
case "xml":
|
|
2968
2986
|
return composeLoaders(
|
|
@@ -2970,28 +2988,28 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2970
2988
|
createXmlLoader(),
|
|
2971
2989
|
createFlatLoader(),
|
|
2972
2990
|
createSyncLoader(),
|
|
2973
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2991
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2974
2992
|
);
|
|
2975
2993
|
case "srt":
|
|
2976
2994
|
return composeLoaders(
|
|
2977
2995
|
createTextFileLoader(bucketPathPattern),
|
|
2978
2996
|
createSrtLoader(),
|
|
2979
2997
|
createSyncLoader(),
|
|
2980
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
2998
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2981
2999
|
);
|
|
2982
3000
|
case "dato":
|
|
2983
3001
|
return composeLoaders(
|
|
2984
3002
|
createDatoLoader(bucketPathPattern),
|
|
2985
3003
|
createSyncLoader(),
|
|
2986
3004
|
createFlatLoader(),
|
|
2987
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
3005
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2988
3006
|
);
|
|
2989
3007
|
case "vtt":
|
|
2990
3008
|
return composeLoaders(
|
|
2991
3009
|
createTextFileLoader(bucketPathPattern),
|
|
2992
3010
|
createVttLoader(),
|
|
2993
3011
|
createSyncLoader(),
|
|
2994
|
-
createUnlocalizableLoader(isCacheRestore)
|
|
3012
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
2995
3013
|
);
|
|
2996
3014
|
case "php":
|
|
2997
3015
|
return composeLoaders(
|
|
@@ -2999,7 +3017,7 @@ function createBucketLoader(bucketType, bucketPathPattern, { isCacheRestore = fa
|
|
|
2999
3017
|
createPhpLoader(),
|
|
3000
3018
|
createSyncLoader(),
|
|
3001
3019
|
createFlatLoader(),
|
|
3002
|
-
createUnlocalizableLoader()
|
|
3020
|
+
createUnlocalizableLoader(options.isCacheRestore)
|
|
3003
3021
|
);
|
|
3004
3022
|
}
|
|
3005
3023
|
}
|
|
@@ -3185,7 +3203,10 @@ var i18n_default = new Command6().command("i18n").description("Run Localization
|
|
|
3185
3203
|
for (const bucket of buckets) {
|
|
3186
3204
|
for (const bucketConfig of bucket.config) {
|
|
3187
3205
|
const sourceLocale = resolveOverridenLocale3(i18nConfig.locale.source, bucketConfig.delimiter);
|
|
3188
|
-
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern
|
|
3206
|
+
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern, {
|
|
3207
|
+
isCacheRestore: false,
|
|
3208
|
+
defaultLocale: sourceLocale
|
|
3209
|
+
});
|
|
3189
3210
|
bucketLoader.setDefaultLocale(sourceLocale);
|
|
3190
3211
|
await bucketLoader.init();
|
|
3191
3212
|
const sourceData = await bucketLoader.pull(i18nConfig.locale.source);
|
|
@@ -3207,7 +3228,10 @@ var i18n_default = new Command6().command("i18n").description("Run Localization
|
|
|
3207
3228
|
const bucketOra = Ora5({ indent: 4 });
|
|
3208
3229
|
bucketOra.info(`Processing path: ${bucketConfig.pathPattern}`);
|
|
3209
3230
|
const sourceLocale = resolveOverridenLocale3(i18nConfig.locale.source, bucketConfig.delimiter);
|
|
3210
|
-
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern, {
|
|
3231
|
+
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern, {
|
|
3232
|
+
isCacheRestore: true,
|
|
3233
|
+
defaultLocale: sourceLocale
|
|
3234
|
+
});
|
|
3211
3235
|
bucketLoader.setDefaultLocale(sourceLocale);
|
|
3212
3236
|
await bucketLoader.init();
|
|
3213
3237
|
const sourceData = await bucketLoader.pull(sourceLocale);
|
|
@@ -3242,7 +3266,10 @@ var i18n_default = new Command6().command("i18n").description("Run Localization
|
|
|
3242
3266
|
for (const bucket of buckets) {
|
|
3243
3267
|
for (const bucketConfig of bucket.config) {
|
|
3244
3268
|
const sourceLocale = resolveOverridenLocale3(i18nConfig.locale.source, bucketConfig.delimiter);
|
|
3245
|
-
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern
|
|
3269
|
+
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern, {
|
|
3270
|
+
isCacheRestore: false,
|
|
3271
|
+
defaultLocale: sourceLocale
|
|
3272
|
+
});
|
|
3246
3273
|
bucketLoader.setDefaultLocale(sourceLocale);
|
|
3247
3274
|
await bucketLoader.init();
|
|
3248
3275
|
const sourceData = await bucketLoader.pull(i18nConfig.locale.source);
|
|
@@ -3268,7 +3295,10 @@ var i18n_default = new Command6().command("i18n").description("Run Localization
|
|
|
3268
3295
|
for (const bucketConfig of bucket.config) {
|
|
3269
3296
|
const bucketOra = Ora5({ indent: 2 }).info(`Processing path: ${bucketConfig.pathPattern}`);
|
|
3270
3297
|
const sourceLocale = resolveOverridenLocale3(i18nConfig.locale.source, bucketConfig.delimiter);
|
|
3271
|
-
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern
|
|
3298
|
+
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern, {
|
|
3299
|
+
isCacheRestore: false,
|
|
3300
|
+
defaultLocale: sourceLocale
|
|
3301
|
+
});
|
|
3272
3302
|
bucketLoader.setDefaultLocale(sourceLocale);
|
|
3273
3303
|
await bucketLoader.init();
|
|
3274
3304
|
let sourceData = await bucketLoader.pull(sourceLocale);
|
|
@@ -3592,7 +3622,7 @@ var lockfile_default = new Command7().command("lockfile").description("Create a
|
|
|
3592
3622
|
for (const bucket of buckets) {
|
|
3593
3623
|
for (const bucketConfig of bucket.config) {
|
|
3594
3624
|
const sourceLocale = resolveOverridenLocale4(i18nConfig.locale.source, bucketConfig.delimiter);
|
|
3595
|
-
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern);
|
|
3625
|
+
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern, { isCacheRestore: false, defaultLocale: sourceLocale });
|
|
3596
3626
|
bucketLoader.setDefaultLocale(sourceLocale);
|
|
3597
3627
|
const sourceData = await bucketLoader.pull(sourceLocale);
|
|
3598
3628
|
lockfileHelper.registerSourceData(bucketConfig.pathPattern, sourceData);
|
|
@@ -3629,7 +3659,7 @@ var cleanup_default = new Command8().command("cleanup").description("Remove keys
|
|
|
3629
3659
|
for (const bucketConfig of bucket.config) {
|
|
3630
3660
|
const sourceLocale = resolveOverridenLocale5(i18nConfig.locale.source, bucketConfig.delimiter);
|
|
3631
3661
|
const bucketOra = Ora7({ indent: 2 }).info(`Processing path: ${bucketConfig.pathPattern}`);
|
|
3632
|
-
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern);
|
|
3662
|
+
const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern, { isCacheRestore: false, defaultLocale: sourceLocale });
|
|
3633
3663
|
bucketLoader.setDefaultLocale(sourceLocale);
|
|
3634
3664
|
const sourceData = await bucketLoader.pull(sourceLocale);
|
|
3635
3665
|
const sourceKeys = Object.keys(sourceData);
|
|
@@ -3752,7 +3782,7 @@ var mcp_default = new Command9().command("mcp").description("Use Lingo.dev model
|
|
|
3752
3782
|
// package.json
|
|
3753
3783
|
var package_default = {
|
|
3754
3784
|
name: "lingo.dev",
|
|
3755
|
-
version: "0.
|
|
3785
|
+
version: "0.78.1",
|
|
3756
3786
|
description: "Lingo.dev CLI",
|
|
3757
3787
|
private: false,
|
|
3758
3788
|
publishConfig: {
|