@el-j/google-sheet-translations 1.3.1 → 1.3.3

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.
@@ -1,6 +1,14 @@
1
1
  import type { TranslationData } from "../../types";
2
2
  /**
3
- * Compares local languageData.json with spreadsheet data to find new keys
3
+ * Compares local languageData.json with spreadsheet data to find new keys.
4
+ *
5
+ * A key is considered "new" when:
6
+ * - No matching locale exists in `spreadsheetData` for that locale, OR
7
+ * - The sheet or key is absent for the resolved locale.
8
+ *
9
+ * Locale matching is fuzzy: `'en'` and `'en-GB'` will both match against
10
+ * an `'en-us'` entry in `spreadsheetData` (language-family resolution).
11
+ *
4
12
  * @param localData - Data from local languageData.json file
5
13
  * @param spreadsheetData - Data fetched from the spreadsheet
6
14
  * @returns Object with new keys that are in localData but not in spreadsheetData
@@ -1 +1 @@
1
- {"version":3,"file":"findLocalChanges.d.ts","sourceRoot":"","sources":["../../../src/utils/dataConverter/findLocalChanges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;GAKG;AAEH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,eAAe,GAC9B,eAAe,CA6BjB"}
1
+ {"version":3,"file":"findLocalChanges.d.ts","sourceRoot":"","sources":["../../../src/utils/dataConverter/findLocalChanges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA2BnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,eAAe,GAC9B,eAAe,CAgCjB"}
@@ -1,8 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findLocalChanges = findLocalChanges;
4
+ const localeNormalizer_1 = require("../localeNormalizer");
4
5
  /**
5
- * Compares local languageData.json with spreadsheet data to find new keys
6
+ * Resolves a locale key from `localData` to the corresponding key actually
7
+ * present in `spreadsheetData`, using a three-step strategy:
8
+ *
9
+ * 1. Exact match – `'en-us'` → `'en-us'`
10
+ * 2. Lowercase match – `'en-US'` → `'en-us'`
11
+ * 3. Language-family prefix – `'en'` or `'en-GB'` → `'en-us'`
12
+ * (when `'en-us'` is the only English variant in the spreadsheet data)
13
+ *
14
+ * Returns `undefined` when no matching locale exists in `spreadsheetData`.
15
+ */
16
+ function resolveLocaleAlias(locale, spreadsheetData) {
17
+ if (spreadsheetData[locale])
18
+ return locale;
19
+ const lower = locale.toLowerCase();
20
+ if (spreadsheetData[lower])
21
+ return lower;
22
+ const langCode = (0, localeNormalizer_1.getLanguagePrefix)(lower);
23
+ return Object.keys(spreadsheetData).find((k) => (0, localeNormalizer_1.getLanguagePrefix)(k) === langCode);
24
+ }
25
+ /**
26
+ * Compares local languageData.json with spreadsheet data to find new keys.
27
+ *
28
+ * A key is considered "new" when:
29
+ * - No matching locale exists in `spreadsheetData` for that locale, OR
30
+ * - The sheet or key is absent for the resolved locale.
31
+ *
32
+ * Locale matching is fuzzy: `'en'` and `'en-GB'` will both match against
33
+ * an `'en-us'` entry in `spreadsheetData` (language-family resolution).
34
+ *
6
35
  * @param localData - Data from local languageData.json file
7
36
  * @param spreadsheetData - Data fetched from the spreadsheet
8
37
  * @returns Object with new keys that are in localData but not in spreadsheetData
@@ -13,6 +42,8 @@ function findLocalChanges(localData, spreadsheetData) {
13
42
  for (const locale of Object.keys(localData)) {
14
43
  if (!localData[locale])
15
44
  continue;
45
+ // Resolve the locale to the matching key in spreadsheetData (fuzzy match)
46
+ const resolvedLocale = resolveLocaleAlias(locale, spreadsheetData);
16
47
  // Check each sheet in local data
17
48
  for (const sheet of Object.keys(localData[locale])) {
18
49
  if (!localData[locale][sheet])
@@ -20,9 +51,9 @@ function findLocalChanges(localData, spreadsheetData) {
20
51
  // Check each key in local data
21
52
  for (const key of Object.keys(localData[locale][sheet])) {
22
53
  // If the spreadsheet doesn't have this locale, sheet, or key, it's a new key
23
- const isNewKey = !spreadsheetData[locale] ||
24
- !spreadsheetData[locale][sheet] ||
25
- !spreadsheetData[locale][sheet][key];
54
+ const isNewKey = !resolvedLocale ||
55
+ !spreadsheetData[resolvedLocale]?.[sheet] ||
56
+ !spreadsheetData[resolvedLocale][sheet][key];
26
57
  // If it's a new key, add it to changes
27
58
  if (isNewKey) {
28
59
  if (!changes[locale])
@@ -1 +1 @@
1
- {"version":3,"file":"findLocalChanges.js","sourceRoot":"","sources":["../../../src/utils/dataConverter/findLocalChanges.ts"],"names":[],"mappings":";;AASA,4CAgCC;AAvCD;;;;;GAKG;AAEH,SAAgB,gBAAgB,CAC/B,SAA0B,EAC1B,eAAgC;IAEhC,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,kCAAkC;IAClC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,SAAS;QAEjC,iCAAiC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;gBAAE,SAAS;YAExC,+BAA+B;YAC/B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzD,6EAA6E;gBAC7E,MAAM,QAAQ,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC;oBACxC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;oBAC/B,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBAEtC,uCAAuC;gBACvC,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;wBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;wBAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACzD,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC7D,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"findLocalChanges.js","sourceRoot":"","sources":["../../../src/utils/dataConverter/findLocalChanges.ts"],"names":[],"mappings":";;AAyCA,4CAmCC;AA3ED,0DAAwD;AAExD;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAC1B,MAAc,EACd,eAAgC;IAEhC,IAAI,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,oCAAiB,EAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oCAAiB,EAAC,CAAC,CAAC,KAAK,QAAQ,CACxC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,gBAAgB,CAC/B,SAA0B,EAC1B,eAAgC;IAEhC,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,kCAAkC;IAClC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,SAAS;QAEjC,0EAA0E;QAC1E,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAEnE,iCAAiC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;gBAAE,SAAS;YAExC,+BAA+B;YAC/B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzD,6EAA6E;gBAC7E,MAAM,QAAQ,GAAG,CAAC,cAAc;oBAC/B,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC;oBACzC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBAE9C,uCAAuC;gBACvC,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;wBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;wBAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACzD,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC7D,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -2,6 +2,18 @@
2
2
  * Locale normalization utilities for converting simple language codes to full locale codes
3
3
  * and maintaining mappings between normalized codes and original spreadsheet headers
4
4
  */
5
+ /**
6
+ * Returns the language prefix of a locale code (the part before the first
7
+ * `-` or `_` separator), lowercased.
8
+ *
9
+ * Examples:
10
+ * - `'en-US'` → `'en'`
11
+ * - `'zh_CN'` → `'zh'`
12
+ * - `'de'` → `'de'`
13
+ *
14
+ * Used for language-family matching when an exact locale code is not found.
15
+ */
16
+ export declare function getLanguagePrefix(locale: string): string;
5
17
  /**
6
18
  * Normalizes a language code to include country code if missing
7
19
  * @param locale The original locale code from spreadsheet header
@@ -20,8 +32,16 @@ export declare function createLocaleMapping(originalHeaders: string[], keyColumn
20
32
  originalMapping: Record<string, string>;
21
33
  };
22
34
  /**
23
- * Finds the original header name for a given normalized locale
24
- * @param normalizedLocale The normalized locale code (e.g., 'pl-PL')
35
+ * Finds the original header name for a given normalized locale.
36
+ *
37
+ * Lookup order (most-specific → most-lenient):
38
+ * 1. Direct key match (`'en-us'` → `'en-US'`)
39
+ * 2. Lowercase key match (`'EN-US'` → key `'en-us'`)
40
+ * 3. Case-insensitive key comparison
41
+ * 4. Language-family prefix match – e.g. `'en'` or `'en-GB'` finds `'en-US'`
42
+ * when `'en-US'` is the only English variant present in the mapping.
43
+ *
44
+ * @param normalizedLocale The normalized locale code (e.g., `'en-GB'`, `'en'`)
25
45
  * @param localeMapping Mapping from normalized locales to original headers
26
46
  * @returns Original header name or undefined if not found
27
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"localeNormalizer.d.ts","sourceRoot":"","sources":["../../src/utils/localeNormalizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4CH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA0B1D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAClC,eAAe,EAAE,MAAM,EAAE,EACzB,SAAS,EAAE,MAAM,GACf;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CA+BA;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACzC,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,GAAG,SAAS,CAkBpB;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC3C,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,GAAG,SAAS,CAEpB"}
1
+ {"version":3,"file":"localeNormalizer.d.ts","sourceRoot":"","sources":["../../src/utils/localeNormalizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AA4CD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA0B1D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAClC,eAAe,EAAE,MAAM,EAAE,EACzB,SAAS,EAAE,MAAM,GACf;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CA+BA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACzC,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,GAAG,SAAS,CA2BpB;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC3C,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,GAAG,SAAS,CAEpB"}
@@ -4,10 +4,25 @@
4
4
  * and maintaining mappings between normalized codes and original spreadsheet headers
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getLanguagePrefix = getLanguagePrefix;
7
8
  exports.normalizeLocaleCode = normalizeLocaleCode;
8
9
  exports.createLocaleMapping = createLocaleMapping;
9
10
  exports.getOriginalHeaderForLocale = getOriginalHeaderForLocale;
10
11
  exports.getNormalizedLocaleForHeader = getNormalizedLocaleForHeader;
12
+ /**
13
+ * Returns the language prefix of a locale code (the part before the first
14
+ * `-` or `_` separator), lowercased.
15
+ *
16
+ * Examples:
17
+ * - `'en-US'` → `'en'`
18
+ * - `'zh_CN'` → `'zh'`
19
+ * - `'de'` → `'de'`
20
+ *
21
+ * Used for language-family matching when an exact locale code is not found.
22
+ */
23
+ function getLanguagePrefix(locale) {
24
+ return locale.toLowerCase().split(/[-_]/)[0];
25
+ }
11
26
  /**
12
27
  * Common language to country mappings for normalization
13
28
  * Maps language codes to their most common country variants
@@ -109,8 +124,16 @@ function createLocaleMapping(originalHeaders, keyColumn) {
109
124
  };
110
125
  }
111
126
  /**
112
- * Finds the original header name for a given normalized locale
113
- * @param normalizedLocale The normalized locale code (e.g., 'pl-PL')
127
+ * Finds the original header name for a given normalized locale.
128
+ *
129
+ * Lookup order (most-specific → most-lenient):
130
+ * 1. Direct key match (`'en-us'` → `'en-US'`)
131
+ * 2. Lowercase key match (`'EN-US'` → key `'en-us'`)
132
+ * 3. Case-insensitive key comparison
133
+ * 4. Language-family prefix match – e.g. `'en'` or `'en-GB'` finds `'en-US'`
134
+ * when `'en-US'` is the only English variant present in the mapping.
135
+ *
136
+ * @param normalizedLocale The normalized locale code (e.g., `'en-GB'`, `'en'`)
114
137
  * @param localeMapping Mapping from normalized locales to original headers
115
138
  * @returns Original header name or undefined if not found
116
139
  */
@@ -130,6 +153,14 @@ function getOriginalHeaderForLocale(normalizedLocale, localeMapping) {
130
153
  return value;
131
154
  }
132
155
  }
156
+ // Language-family fallback: 'en' or 'en-GB' should find 'en-US' when that
157
+ // is the only English variant present in the localeMapping.
158
+ const inputLangCode = getLanguagePrefix(normalizedLocale);
159
+ for (const [key, value] of Object.entries(localeMapping)) {
160
+ if (getLanguagePrefix(key) === inputLangCode) {
161
+ return value;
162
+ }
163
+ }
133
164
  return undefined;
134
165
  }
135
166
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"localeNormalizer.js","sourceRoot":"","sources":["../../src/utils/localeNormalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localeNormalizer.js","sourceRoot":"","sources":["../../src/utils/localeNormalizer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { GoogleSpreadsheet } from "google-spreadsheet";
2
2
  import type { TranslationData } from "../types";
3
3
  /**
4
- * Updates the Google Spreadsheet with new keys from local data
4
+ * Updates the Google Spreadsheet with new keys from local data.
5
5
  *
6
6
  * When autoTranslate is enabled:
7
7
  * - For each new key added to the spreadsheet, the system checks which languages have translations
@@ -9,6 +9,11 @@ import type { TranslationData } from "../types";
9
9
  * - The formula format is: =GOOGLETRANSLATE(INDIRECT(sourceColumn&ROW());$sourceColumn$1;targetColumn$1)
10
10
  * - This dynamic formula uses cell references for language codes and automatically adapts to the correct row
11
11
  *
12
+ * If a sheet named `sheetTitle` does not yet exist in the document and `localeMapping` is
13
+ * non-empty, the sheet is **created automatically** with "key" as the first column followed by
14
+ * the original locale-header names from `localeMapping`. This ensures that new feature sheets
15
+ * (e.g. "ui") are bootstrapped on the first sync without requiring manual spreadsheet setup.
16
+ *
12
17
  * Example:
13
18
  * If a new key "welcome" has an English translation in column B but no German translation in column C,
14
19
  * and autoTranslate is enabled, the system will add:
@@ -1 +1 @@
1
- {"version":3,"file":"spreadsheetUpdater.d.ts","sourceRoot":"","sources":["../../src/utils/spreadsheetUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAehD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,iCAAiC,CACnD,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,EACnB,aAAa,UAAQ,EACrB,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC3C,OAAO,CAAC,IAAI,CAAC,CAkNf"}
1
+ {"version":3,"file":"spreadsheetUpdater.d.ts","sourceRoot":"","sources":["../../src/utils/spreadsheetUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAA8B,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAehD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,iCAAiC,CACnD,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,EACnB,aAAa,UAAQ,EACrB,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC3C,OAAO,CAAC,IAAI,CAAC,CAqPf"}
@@ -14,7 +14,7 @@ function columnIndexToLetter(index) {
14
14
  return result;
15
15
  }
16
16
  /**
17
- * Updates the Google Spreadsheet with new keys from local data
17
+ * Updates the Google Spreadsheet with new keys from local data.
18
18
  *
19
19
  * When autoTranslate is enabled:
20
20
  * - For each new key added to the spreadsheet, the system checks which languages have translations
@@ -22,6 +22,11 @@ function columnIndexToLetter(index) {
22
22
  * - The formula format is: =GOOGLETRANSLATE(INDIRECT(sourceColumn&ROW());$sourceColumn$1;targetColumn$1)
23
23
  * - This dynamic formula uses cell references for language codes and automatically adapts to the correct row
24
24
  *
25
+ * If a sheet named `sheetTitle` does not yet exist in the document and `localeMapping` is
26
+ * non-empty, the sheet is **created automatically** with "key" as the first column followed by
27
+ * the original locale-header names from `localeMapping`. This ensures that new feature sheets
28
+ * (e.g. "ui") are bootstrapped on the first sync without requiring manual spreadsheet setup.
29
+ *
25
30
  * Example:
26
31
  * If a new key "welcome" has an English translation in column B but no German translation in column C,
27
32
  * and autoTranslate is enabled, the system will add:
@@ -40,24 +45,48 @@ async function updateSpreadsheetWithLocalChanges(doc, changes, waitSeconds, auto
40
45
  // Process each sheet in the changes object
41
46
  for (const sheetTitle of new Set(Object.values(changes).flatMap(locale => Object.keys(locale)))) {
42
47
  console.log(`Processing sheet: ${sheetTitle}`);
43
- const sheet = doc.sheetsByTitle[sheetTitle];
48
+ // Allow re-assignment: sheet may be auto-created below
49
+ let sheet = doc.sheetsByTitle[sheetTitle];
50
+ if (!sheet) {
51
+ const localeHeaders = Object.values(localeMapping);
52
+ if (localeHeaders.length === 0) {
53
+ console.warn(`Sheet "${sheetTitle}" not found in the document, cannot update`);
54
+ continue;
55
+ }
56
+ console.log(`Sheet "${sheetTitle}" not found — creating it with ${localeHeaders.length} locale column(s).`);
57
+ sheet = await (0, rateLimiter_1.withRetry)(() => doc.addSheet({ title: sheetTitle, headerValues: ['key', ...localeHeaders] }), `addSheet: ${sheetTitle}`, baseDelayMs);
58
+ }
59
+ // Safety guard — should never be reached, but satisfies TypeScript
44
60
  if (!sheet) {
45
- console.warn(`Sheet "${sheetTitle}" not found in the document, cannot update`);
61
+ console.warn(`Sheet "${sheetTitle}" could not be found or created, skipping.`);
46
62
  continue;
47
63
  }
48
64
  // Get all rows from the sheet (retries automatically on rate-limit)
49
65
  const rows = await (0, rateLimiter_1.withRetry)(() => sheet.getRows(), `getRows: ${sheetTitle}`, baseDelayMs);
50
- if (!rows || rows.length === 0) {
51
- console.warn(`No rows found in sheet "${sheetTitle}", cannot update`);
52
- continue;
66
+ // Determine column headers.
67
+ // Normal path: derive from the first data row (most reliable).
68
+ // Empty-sheet path: the sheet was just auto-created (or had all rows deleted);
69
+ // reconstruct from localeMapping so we can still add new keys correctly.
70
+ let headerRow;
71
+ let originalHeaders;
72
+ if (rows.length > 0) {
73
+ originalHeaders = Object.keys(rows[0].toObject());
74
+ headerRow = originalHeaders.map(h => h.toLowerCase());
75
+ }
76
+ else {
77
+ const localeHeaders = Object.values(localeMapping);
78
+ if (localeHeaders.length === 0) {
79
+ console.warn(`No rows found in sheet "${sheetTitle}", cannot update`);
80
+ continue;
81
+ }
82
+ // Reconstruct headers from the locale mapping (original case preserved)
83
+ originalHeaders = ['key', ...localeHeaders];
84
+ headerRow = originalHeaders.map(h => h.toLowerCase());
53
85
  }
54
- // Extract header information
55
- const rowObject = rows[0].toObject();
56
- const headerRow = Object.keys(rowObject).map(key => key.toLowerCase());
57
- const keyColumn = headerRow[0]; // First column is the key
86
+ const keyColumn = headerRow[0]; // First column is always the key column
58
87
  // Get all locales from the headerRow except the key column
59
88
  const locales = headerRow.filter(key => key !== keyColumn);
60
- // Map of existing keys to their row indices
89
+ // Map of existing keys to their row indices (empty when rows.length === 0)
61
90
  const existingKeys = new Map();
62
91
  rows.forEach((row, index) => {
63
92
  const rowData = row.toObject();
@@ -86,9 +115,11 @@ async function updateSpreadsheetWithLocalChanges(doc, changes, waitSeconds, auto
86
115
  }
87
116
  // Find the exact header for this locale using the mapping
88
117
  let localeHeader = (0, localeNormalizer_1.getOriginalHeaderForLocale)(locale, localeMapping);
89
- // Fallback to case-insensitive search in headerRow if mapping lookup fails
118
+ // Fallback: language-family prefix match against original-case sheet headers
119
+ // e.g. locale 'en' finds column header 'en-US' (not the lowercase 'en-us')
90
120
  if (!localeHeader) {
91
- localeHeader = headerRow.find(h => h.toLowerCase() === locale.toLowerCase());
121
+ const localeLang = (0, localeNormalizer_1.getLanguagePrefix)(locale);
122
+ localeHeader = originalHeaders.find(h => (0, localeNormalizer_1.getLanguagePrefix)(h) === localeLang);
92
123
  }
93
124
  if (localeHeader) {
94
125
  const theKey = newKeys.get(keyLower);
@@ -112,9 +143,11 @@ async function updateSpreadsheetWithLocalChanges(doc, changes, waitSeconds, auto
112
143
  const row = rows[rowIndex];
113
144
  // Find the exact header for this locale using the mapping
114
145
  let localeHeader = (0, localeNormalizer_1.getOriginalHeaderForLocale)(locale, localeMapping);
115
- // Fallback to case-insensitive search if mapping lookup fails
146
+ // Fallback: language-family prefix match against the row's own keys
147
+ // e.g. locale 'en' finds column header 'en-US' on the existing row
116
148
  if (!localeHeader) {
117
- localeHeader = Object.keys(row.toObject()).find(h => h.toLowerCase() === locale.toLowerCase());
149
+ const localeLang = (0, localeNormalizer_1.getLanguagePrefix)(locale);
150
+ localeHeader = Object.keys(row.toObject()).find(h => (0, localeNormalizer_1.getLanguagePrefix)(h) === localeLang);
118
151
  }
119
152
  if (localeHeader) {
120
153
  // Use set() method instead of direct property assignment to avoid TS errors
@@ -1 +1 @@
1
- {"version":3,"file":"spreadsheetUpdater.js","sourceRoot":"","sources":["../../src/utils/spreadsheetUpdater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spreadsheetUpdater.js","sourceRoot":"","sources":["../../src/utils/spreadsheetUpdater.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@el-j/google-sheet-translations",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "description": "A package to manage translations stored in Google Spreadsheets",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",