@localheroai/cli 0.0.20 → 0.0.21
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/README.md +10 -0
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/clone.js +4 -4
- package/dist/commands/clone.js.map +1 -1
- package/dist/commands/init.js +15 -9
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pull.js +80 -4
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/translate.js +16 -3
- package/dist/commands/translate.js.map +1 -1
- package/dist/utils/files.js +16 -7
- package/dist/utils/files.js.map +1 -1
- package/dist/utils/git-changes.js +71 -19
- package/dist/utils/git-changes.js.map +1 -1
- package/dist/utils/github.js +26 -5
- package/dist/utils/github.js.map +1 -1
- package/dist/utils/import-service.js +26 -6
- package/dist/utils/import-service.js.map +1 -1
- package/dist/utils/po-utils.js +13 -0
- package/dist/utils/po-utils.js.map +1 -1
- package/dist/utils/translation-processor.js +12 -2
- package/dist/utils/translation-processor.js.map +1 -1
- package/dist/utils/translation-updater/index.js +2 -2
- package/dist/utils/translation-updater/index.js.map +1 -1
- package/dist/utils/translation-utils.js +3 -2
- package/dist/utils/translation-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,15 +2,19 @@ import { execSync } from 'child_process';
|
|
|
2
2
|
import { readFileSync } from 'fs';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import { parseFile, flattenTranslations } from './files.js';
|
|
5
|
-
import {
|
|
5
|
+
import { PLURAL_SUFFIX_REGEX, extractBaseKeys } from './po-utils.js';
|
|
6
6
|
/**
|
|
7
7
|
* Git integration for --changed-only flag
|
|
8
8
|
* This module filters translations to only include keys that changed in the current branch
|
|
9
9
|
*/
|
|
10
10
|
export function hasFileChanged(file, baseBranch) {
|
|
11
11
|
try {
|
|
12
|
+
const resolvedRef = resolveBranchRef(baseBranch);
|
|
13
|
+
if (!resolvedRef) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
12
16
|
const sanitizedPath = sanitizeGitPath(file.path);
|
|
13
|
-
const oldContent = execSync(`git show ${
|
|
17
|
+
const oldContent = execSync(`git show ${resolvedRef}:"${sanitizedPath}"`, {
|
|
14
18
|
encoding: 'utf-8',
|
|
15
19
|
maxBuffer: 10 * 1024 * 1024,
|
|
16
20
|
stdio: ['pipe', 'pipe', 'ignore']
|
|
@@ -68,6 +72,12 @@ export function filterByGitChanges(sourceFiles, missingByLocale, config, verbose
|
|
|
68
72
|
}
|
|
69
73
|
// Get changed keys from source files
|
|
70
74
|
const changedKeys = getChangedKeys(sourceFiles, baseBranch, verbose);
|
|
75
|
+
if (changedKeys === null) {
|
|
76
|
+
if (verbose) {
|
|
77
|
+
console.log(chalk.yellow('Could not determine changed keys (limit exceeded or error)'));
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
71
81
|
if (changedKeys.size === 0) {
|
|
72
82
|
if (verbose) {
|
|
73
83
|
console.log(chalk.dim('No changes detected in source files'));
|
|
@@ -96,14 +106,14 @@ export function filterByGitChanges(sourceFiles, missingByLocale, config, verbose
|
|
|
96
106
|
}
|
|
97
107
|
}
|
|
98
108
|
/**
|
|
99
|
-
* Extract keys from PO file parsed object
|
|
100
|
-
* PO files have structure: { msgid: { value: '...', metadata: ... } }
|
|
109
|
+
* Extract keys from PO/POT file parsed object
|
|
110
|
+
* PO/POT files have structure: { msgid: { value: '...', metadata: ... } }
|
|
101
111
|
* We extract just msgid -> value for comparison
|
|
102
112
|
*/
|
|
103
113
|
function extractPoKeys(poObject) {
|
|
104
114
|
const result = {};
|
|
105
115
|
for (const [key, data] of Object.entries(poObject)) {
|
|
106
|
-
// For PO files, extract the value without creating nested .value keys
|
|
116
|
+
// For PO/POT files, extract the value without creating nested .value keys
|
|
107
117
|
result[key] = typeof data === 'object' && data !== null && data.value !== undefined ? data.value : data;
|
|
108
118
|
}
|
|
109
119
|
return result;
|
|
@@ -120,6 +130,25 @@ export function isGitAvailable() {
|
|
|
120
130
|
return false;
|
|
121
131
|
}
|
|
122
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Get changed keys for a project by comparing current branch to base branch
|
|
135
|
+
* Returns Set of changed keys, or null if git is unavailable or base branch not found
|
|
136
|
+
*
|
|
137
|
+
* @param sourceFiles - Source translation files to compare
|
|
138
|
+
* @param config - Project configuration
|
|
139
|
+
* @param verbose - Whether to show verbose output
|
|
140
|
+
* @returns Set of changed keys, or null if git unavailable/base branch not found
|
|
141
|
+
*/
|
|
142
|
+
export function getChangedKeysForProject(sourceFiles, config, verbose) {
|
|
143
|
+
if (!isGitAvailable()) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
const baseBranch = getBaseBranch(config);
|
|
147
|
+
if (!branchExists(baseBranch)) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return getChangedKeys(sourceFiles, baseBranch, verbose);
|
|
151
|
+
}
|
|
123
152
|
/**
|
|
124
153
|
* Get base branch from config, environment, or default
|
|
125
154
|
*/
|
|
@@ -137,29 +166,50 @@ function sanitizeGitPath(path) {
|
|
|
137
166
|
}
|
|
138
167
|
/**
|
|
139
168
|
* Check if a branch exists (local or remote)
|
|
169
|
+
* Tries multiple resolution strategies to handle various git scenarios
|
|
140
170
|
*/
|
|
141
171
|
function branchExists(branch) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
172
|
+
return resolveBranchRef(branch) !== null;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Resolve a branch name to its full ref, trying multiple strategies
|
|
176
|
+
* Returns the resolved ref or null if not found
|
|
177
|
+
*/
|
|
178
|
+
function resolveBranchRef(branch) {
|
|
179
|
+
const strategies = [
|
|
180
|
+
branch,
|
|
181
|
+
`origin/${branch}`,
|
|
182
|
+
`refs/remotes/origin/${branch}`
|
|
183
|
+
];
|
|
184
|
+
for (const ref of strategies) {
|
|
185
|
+
try {
|
|
186
|
+
execSync(`git rev-parse --verify ${ref}`, { stdio: 'ignore' });
|
|
187
|
+
return ref;
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
148
192
|
}
|
|
193
|
+
return null;
|
|
149
194
|
}
|
|
150
195
|
/**
|
|
151
196
|
* Get all changed keys from source files using object-based diff
|
|
152
197
|
* Compares parsed and flattened objects from base branch vs current working directory
|
|
153
198
|
*/
|
|
154
199
|
function getChangedKeys(sourceFiles, baseBranch, verbose) {
|
|
200
|
+
const resolvedRef = resolveBranchRef(baseBranch);
|
|
201
|
+
if (!resolvedRef) {
|
|
202
|
+
return null;
|
|
203
|
+
}
|
|
155
204
|
const allChangedKeys = new Set();
|
|
205
|
+
const MAX_CHANGED_KEYS = 10000; // Safety limit to prevent memory issues
|
|
156
206
|
for (const file of sourceFiles) {
|
|
157
207
|
try {
|
|
158
208
|
const sanitizedPath = sanitizeGitPath(file.path);
|
|
159
|
-
const isPo = file.format === 'po';
|
|
209
|
+
const isPo = file.format === 'po' || file.format === 'pot';
|
|
160
210
|
let oldFlat = {};
|
|
161
211
|
try {
|
|
162
|
-
const oldContent = execSync(`git show ${
|
|
212
|
+
const oldContent = execSync(`git show ${resolvedRef}:"${sanitizedPath}"`, {
|
|
163
213
|
encoding: 'utf-8',
|
|
164
214
|
maxBuffer: 10 * 1024 * 1024,
|
|
165
215
|
stdio: ['pipe', 'pipe', 'ignore']
|
|
@@ -191,6 +241,12 @@ function getChangedKeys(sourceFiles, baseBranch, verbose) {
|
|
|
191
241
|
for (const [key, value] of Object.entries(newFlat)) {
|
|
192
242
|
const keyExistsInOld = key in oldFlat;
|
|
193
243
|
if (!keyExistsInOld || oldFlat[key] !== value) {
|
|
244
|
+
if (allChangedKeys.size >= MAX_CHANGED_KEYS) {
|
|
245
|
+
if (verbose) {
|
|
246
|
+
console.log(chalk.yellow(`⚠ Warning: Exceeded ${MAX_CHANGED_KEYS} changed keys limit`));
|
|
247
|
+
}
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
194
250
|
allChangedKeys.add(key);
|
|
195
251
|
totalChangedInFile++;
|
|
196
252
|
if (verbose && fileChangedKeys.length < MAX_KEYS_TO_COLLECT) {
|
|
@@ -229,11 +285,7 @@ function filterMissing(missingByLocale, changedKeys) {
|
|
|
229
285
|
const filtered = {};
|
|
230
286
|
// Extract base keys from plural forms in changedKeys
|
|
231
287
|
// E.g., "key__plural_1" -> "key"
|
|
232
|
-
const baseChangedKeys =
|
|
233
|
-
for (const key of changedKeys) {
|
|
234
|
-
const baseKey = key.replace(new RegExp(`${PLURAL_PREFIX.replace('_', '\\_')}\\d+$`), '');
|
|
235
|
-
baseChangedKeys.add(baseKey);
|
|
236
|
-
}
|
|
288
|
+
const baseChangedKeys = extractBaseKeys(changedKeys);
|
|
237
289
|
for (const [localeKey, entry] of Object.entries(missingByLocale)) {
|
|
238
290
|
const filteredKeys = {};
|
|
239
291
|
let count = 0;
|
|
@@ -244,7 +296,7 @@ function filterMissing(missingByLocale, changedKeys) {
|
|
|
244
296
|
}
|
|
245
297
|
else {
|
|
246
298
|
// For plural forms, check if base key changed
|
|
247
|
-
const baseKey = key.replace(
|
|
299
|
+
const baseKey = key.replace(PLURAL_SUFFIX_REGEX, '');
|
|
248
300
|
if (baseKey !== key && baseChangedKeys.has(baseKey)) {
|
|
249
301
|
// This is a plural variant of a changed key - include it
|
|
250
302
|
// even if the source language doesn't have this many plural forms
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-changes.js","sourceRoot":"","sources":["../../src/utils/git-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"git-changes.js","sourceRoot":"","sources":["../../src/utils/git-changes.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/github.js
CHANGED
|
@@ -66,10 +66,17 @@ on:
|
|
|
66
66
|
const formattedPath = hasPattern ? p : `${p}${p.endsWith('/') ? '' : '/'}**`;
|
|
67
67
|
return `- "${formattedPath}"`;
|
|
68
68
|
}).join('\n ')}
|
|
69
|
+
workflow_dispatch:
|
|
70
|
+
|
|
71
|
+
concurrency:
|
|
72
|
+
group: translate-\${{ github.head_ref || github.run_id }}
|
|
73
|
+
cancel-in-progress: true
|
|
69
74
|
|
|
70
75
|
jobs:
|
|
71
76
|
translate:
|
|
72
|
-
if:
|
|
77
|
+
if: |
|
|
78
|
+
!contains(github.event.pull_request.labels.*.name, 'skip-translation') &&
|
|
79
|
+
github.event.head_commit.author.username != 'LocalHero-ai-bot'
|
|
73
80
|
runs-on: ubuntu-latest
|
|
74
81
|
permissions:
|
|
75
82
|
contents: write
|
|
@@ -77,20 +84,34 @@ jobs:
|
|
|
77
84
|
|
|
78
85
|
steps:
|
|
79
86
|
- name: Checkout code
|
|
80
|
-
uses: actions/checkout@
|
|
87
|
+
uses: actions/checkout@v5
|
|
81
88
|
with:
|
|
82
89
|
ref: \${{ github.head_ref }}
|
|
90
|
+
fetch-depth: 0
|
|
91
|
+
|
|
92
|
+
- name: Fetch base branch for comparison
|
|
93
|
+
if: github.event_name == 'pull_request'
|
|
94
|
+
run: |
|
|
95
|
+
git fetch --no-tags origin \${{ github.base_ref }}
|
|
83
96
|
|
|
84
97
|
- name: Set up Node.js
|
|
85
|
-
uses: actions/setup-node@
|
|
98
|
+
uses: actions/setup-node@v5
|
|
86
99
|
with:
|
|
87
100
|
node-version: 22
|
|
88
101
|
|
|
89
|
-
- name:
|
|
102
|
+
- name: Translate strings
|
|
90
103
|
env:
|
|
91
104
|
LOCALHERO_API_KEY: \${{ secrets.LOCALHERO_API_KEY }}
|
|
92
105
|
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
|
|
93
|
-
|
|
106
|
+
GITHUB_BASE_REF: \${{ github.base_ref }}
|
|
107
|
+
run: |
|
|
108
|
+
# Translate all strings on main/master
|
|
109
|
+
# Translate only changed strings in branch for PRs
|
|
110
|
+
if [[ "\${{ github.base_ref }}" == "main" || "\${{ github.base_ref }}" == "master" ]]; then
|
|
111
|
+
npx -y @localheroai/cli translate
|
|
112
|
+
else
|
|
113
|
+
npx -y @localheroai/cli translate --changed-only
|
|
114
|
+
fi`;
|
|
94
115
|
await fs.writeFile(workflowFile, actionContent);
|
|
95
116
|
return workflowFile;
|
|
96
117
|
},
|
package/dist/utils/github.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/utils/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AAaxB,MAAM,mBAAmB,GAAuB;IAC9C,IAAI,EAAE,CAAC,GAAW,EAAE,OAAyB,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACxE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE;IACzB,IAAI;IACJ,GAAG,EAAE,OAAO,CAAC,GAAG;CACjB,CAAC;AAEF,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,EAAE,GAAG,mBAAmB,EAAE;IAEhC;;OAEG;IACH,eAAe,CAAC,aAA0C,EAAE;QAC1D,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,UAAU,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,+BAA+B,CAAC,QAAgB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,sBAAsB,CAAC,QAAgB,EAAE,gBAA0B;QACvE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QAEpE,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjD,MAAM,aAAa,GAAG;;;;;QAKlB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC7B,8DAA8D;YAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,2DAA2D;YAC3D,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC7E,OAAO,MAAM,aAAa,GAAG,CAAC;QAChC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/utils/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,22 @@ function getFileFormat(filePath) {
|
|
|
18
18
|
return 'yaml';
|
|
19
19
|
if (ext === '.po')
|
|
20
20
|
return 'po';
|
|
21
|
+
if (ext === '.pot')
|
|
22
|
+
return 'pot';
|
|
21
23
|
return null;
|
|
22
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Normalize file format for API compatibility
|
|
27
|
+
* @param format The file format from files.ts
|
|
28
|
+
* @returns The normalized format for the API
|
|
29
|
+
*/
|
|
30
|
+
function normalizeFormat(format) {
|
|
31
|
+
if (format === 'yml')
|
|
32
|
+
return 'yaml';
|
|
33
|
+
if (format === 'pot')
|
|
34
|
+
return 'po';
|
|
35
|
+
return format;
|
|
36
|
+
}
|
|
23
37
|
/**
|
|
24
38
|
* Read file content and convert to base64
|
|
25
39
|
* @param filePath Path to the file
|
|
@@ -39,7 +53,7 @@ async function readFileContent(filePath, options) {
|
|
|
39
53
|
return Buffer.from(content).toString('base64');
|
|
40
54
|
}
|
|
41
55
|
}
|
|
42
|
-
if (format === 'po') {
|
|
56
|
+
if (format === 'po' || format === 'pot') {
|
|
43
57
|
try {
|
|
44
58
|
const parsed = parsePoFile(content);
|
|
45
59
|
const apiFormat = poEntriesToApiFormat(parsed, options);
|
|
@@ -71,7 +85,7 @@ export const importService = {
|
|
|
71
85
|
return files.map(file => ({
|
|
72
86
|
path: path.isAbsolute(file.path) ? path.relative(basePath, file.path) : file.path,
|
|
73
87
|
language: file.locale,
|
|
74
|
-
format: file.format
|
|
88
|
+
format: normalizeFormat(file.format),
|
|
75
89
|
namespace: file.namespace || ''
|
|
76
90
|
}));
|
|
77
91
|
},
|
|
@@ -104,7 +118,7 @@ export const importService = {
|
|
|
104
118
|
const fullPath = path.join(basePath, file.path);
|
|
105
119
|
allTranslations.push({
|
|
106
120
|
language: file.language,
|
|
107
|
-
format: file.format
|
|
121
|
+
format: normalizeFormat(file.format),
|
|
108
122
|
filename: file.path,
|
|
109
123
|
content: await readFileContent(fullPath, {
|
|
110
124
|
sourceLanguage: config.sourceLocale,
|
|
@@ -116,7 +130,7 @@ export const importService = {
|
|
|
116
130
|
const fullPath = path.join(basePath, file.path);
|
|
117
131
|
allTranslations.push({
|
|
118
132
|
language: file.language,
|
|
119
|
-
format: file.format
|
|
133
|
+
format: normalizeFormat(file.format),
|
|
120
134
|
filename: file.path,
|
|
121
135
|
content: await readFileContent(fullPath, {
|
|
122
136
|
sourceLanguage: config.sourceLocale,
|
|
@@ -189,7 +203,7 @@ export const importService = {
|
|
|
189
203
|
const fullPath = path.join(basePath, file.path);
|
|
190
204
|
allTranslations.push({
|
|
191
205
|
language: file.language,
|
|
192
|
-
format: file.format
|
|
206
|
+
format: normalizeFormat(file.format),
|
|
193
207
|
filename: file.path,
|
|
194
208
|
content: await readFileContent(fullPath, {
|
|
195
209
|
sourceLanguage: config.sourceLocale,
|
|
@@ -201,7 +215,7 @@ export const importService = {
|
|
|
201
215
|
const fullPath = path.join(basePath, file.path);
|
|
202
216
|
allTranslations.push({
|
|
203
217
|
language: file.language,
|
|
204
|
-
format: file.format
|
|
218
|
+
format: normalizeFormat(file.format),
|
|
205
219
|
filename: file.path,
|
|
206
220
|
content: await readFileContent(fullPath, {
|
|
207
221
|
sourceLanguage: config.sourceLocale,
|
|
@@ -209,6 +223,12 @@ export const importService = {
|
|
|
209
223
|
})
|
|
210
224
|
});
|
|
211
225
|
}
|
|
226
|
+
if (options.verbose) {
|
|
227
|
+
console.log(chalk.blue(`Sending ${allTranslations.length} translation files to API`));
|
|
228
|
+
allTranslations.forEach(t => {
|
|
229
|
+
console.log(chalk.gray(` - ${t.language} ${t.format} ${t.filename} (${t.content?.length || 0} bytes)`));
|
|
230
|
+
});
|
|
231
|
+
}
|
|
212
232
|
const importResult = await bulkUpdateTranslations({
|
|
213
233
|
projectId: config.projectId,
|
|
214
234
|
translations: allTranslations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-service.js","sourceRoot":"","sources":["../../src/utils/import-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAkB,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAqD3D;;;;GAIG;AACH,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IACnC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IACrD,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,QAAgB,EAChB,OAA+D;IAE/D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAEnD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"import-service.js","sourceRoot":"","sources":["../../src/utils/import-service.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/po-utils.js
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { po } from 'gettext-parser';
|
|
2
2
|
export const PLURAL_PREFIX = '__plural_';
|
|
3
3
|
export const MAX_PLURAL_FORMS = 10; // Covers MANY languages: Arabic=6, Russian=3, etc.
|
|
4
|
+
export const PLURAL_SUFFIX_REGEX = new RegExp(`${PLURAL_PREFIX}\\d+$`);
|
|
5
|
+
/**
|
|
6
|
+
* Extract base keys from a set of keys (removing plural suffixes)
|
|
7
|
+
* For example: "item__plural_1" -> "item", "item" -> "item"
|
|
8
|
+
*/
|
|
9
|
+
export function extractBaseKeys(keys) {
|
|
10
|
+
const baseKeys = new Set();
|
|
11
|
+
for (const key of keys) {
|
|
12
|
+
const baseKey = key.replace(PLURAL_SUFFIX_REGEX, '');
|
|
13
|
+
baseKeys.add(baseKey);
|
|
14
|
+
}
|
|
15
|
+
return baseKeys;
|
|
16
|
+
}
|
|
4
17
|
/**
|
|
5
18
|
* Extract the number of plural forms from PO file headers
|
|
6
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"po-utils.js","sourceRoot":"","sources":["../../src/utils/po-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC,CAAC,mDAAmD;
|
|
1
|
+
{"version":3,"file":"po-utils.js","sourceRoot":"","sources":["../../src/utils/po-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,6 +107,14 @@ async function monitorJobStatus(jobId, verbose, translationUtils, console) {
|
|
|
107
107
|
async function applyTranslations(jobStatus, jobSourceMapping, missingByLocale, translationUtils, verbose, console, processedEntries, uniqueKeysTranslated, stats, config) {
|
|
108
108
|
const { jobId, data } = jobStatus;
|
|
109
109
|
if (!data?.translations?.data || !data.language?.code) {
|
|
110
|
+
if (data?.status === 'completed' && data?.language?.code) {
|
|
111
|
+
const languageCode = data.language.code;
|
|
112
|
+
stats.failedLanguages.add(languageCode);
|
|
113
|
+
console.error(chalk.red(` ❌ Job ${jobId} (${languageCode}) completed with no translations`));
|
|
114
|
+
if (data.error_details) {
|
|
115
|
+
console.error(chalk.gray(` Error: ${data.error_details}`));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
110
118
|
return false;
|
|
111
119
|
}
|
|
112
120
|
if (data.results_url && !stats.resultsBaseUrl) {
|
|
@@ -244,7 +252,8 @@ export async function processTranslationBatches(batches, missingByLocale, config
|
|
|
244
252
|
totalLanguages: 0,
|
|
245
253
|
languages: new Set(),
|
|
246
254
|
resultsBaseUrl: null,
|
|
247
|
-
jobGroupShortUrl: null
|
|
255
|
+
jobGroupShortUrl: null,
|
|
256
|
+
failedLanguages: new Set()
|
|
248
257
|
};
|
|
249
258
|
const processedEntries = new Set();
|
|
250
259
|
const allJobIds = [];
|
|
@@ -265,7 +274,8 @@ export async function processTranslationBatches(batches, missingByLocale, config
|
|
|
265
274
|
allJobIds,
|
|
266
275
|
resultsBaseUrl: stats.resultsBaseUrl,
|
|
267
276
|
jobGroupShortUrl: stats.jobGroupShortUrl,
|
|
268
|
-
uniqueKeysTranslated
|
|
277
|
+
uniqueKeysTranslated,
|
|
278
|
+
failedLanguages: Array.from(stats.failedLanguages)
|
|
269
279
|
};
|
|
270
280
|
}
|
|
271
281
|
//# sourceMappingURL=translation-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation-processor.js","sourceRoot":"","sources":["../../src/utils/translation-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"translation-processor.js","sourceRoot":"","sources":["../../src/utils/translation-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ async function _updateTranslationFile(filePath, translations, languageCode = 'en
|
|
|
30
30
|
created: jsonResult.created
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
if (fileExt === 'po') {
|
|
33
|
+
if (fileExt === 'po' || fileExt === 'pot') {
|
|
34
34
|
const poResult = await updatePoFile(filePath, filteredTranslations, languageCode, sourceFilePath, sourceLanguage);
|
|
35
35
|
if (config && isDjangoWorkflow(config) && Object.keys(filteredTranslations).length > 0) {
|
|
36
36
|
await updateDjangoSourcesFile(filePath, filteredTranslations, languageCode, sourceFilePath, sourceLanguage);
|
|
@@ -63,7 +63,7 @@ export async function deleteKeysFromTranslationFile(filePath, keysToDelete, lang
|
|
|
63
63
|
if (fileExt === 'json') {
|
|
64
64
|
return deleteKeysFromJsonFile(filePath, keysToDelete, languageCode);
|
|
65
65
|
}
|
|
66
|
-
if (fileExt === 'po') {
|
|
66
|
+
if (fileExt === 'po' || fileExt === 'pot') {
|
|
67
67
|
await deleteKeysFromPoFile(filePath, keysToDelete);
|
|
68
68
|
return keysToDelete;
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/translation-updater/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAWhF;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,YAAqC,EACrC,YAAqB,EACrB,cAA8B,EAC9B,cAAuB,EACvB,MAAsB;IAEtB,MAAM,kBAAkB,GAAG,YAAY,IAAI,IAAI,CAAC;IAChD,MAAM,oBAAoB,GAAG,cAAc,IAAI,IAAI,CAAC;IAEpD,OAAO,sBAAsB,CAC3B,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,MAAM,CACP,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,QAAgB,EAChB,YAAqC,EACrC,eAAuB,IAAI,EAC3B,iBAAgC,IAAI,EACpC,cAAuB,EACvB,MAAsB;IAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAE9D,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEtC,6BAA6B;IAC7B,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAC7C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CACpE,CAAC;IAEF,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QACtG,OAAO;YACL,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACxE,OAAO,EAAE,UAAU,CAAC,OAAO;SAC5B,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/translation-updater/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -322,8 +322,9 @@ export function processLocaleTranslations(sourceKeys, targetLocale, targetFiles,
|
|
|
322
322
|
else {
|
|
323
323
|
targetPath = generateTargetPath(sourceFile, targetLocale, sourceLocale);
|
|
324
324
|
}
|
|
325
|
-
// Use .po-specific missing detection for .po files
|
|
326
|
-
const isPoFile = sourceFile.path.endsWith('.po') ||
|
|
325
|
+
// Use .po-specific missing detection for .po/.pot files
|
|
326
|
+
const isPoFile = sourceFile.path.endsWith('.po') || sourceFile.path.endsWith('.pot') ||
|
|
327
|
+
targetPath.endsWith('.po') || targetPath.endsWith('.pot');
|
|
327
328
|
let missingKeys = {};
|
|
328
329
|
let skippedKeys = {};
|
|
329
330
|
if (isPoFile && sourceFile.content && targetFile?.content) {
|