@vocab/phrase 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vocab-phrase.cjs.dev.js +13 -17
- package/dist/vocab-phrase.cjs.prod.js +13 -17
- package/dist/vocab-phrase.esm.js +12 -15
- package/package.json +2 -3
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var fs = require('fs');
|
|
6
6
|
var path = require('path');
|
|
7
7
|
var core = require('@vocab/core');
|
|
8
|
-
var FormData = require('form-data');
|
|
9
8
|
var pc = require('picocolors');
|
|
10
9
|
var debug = require('debug');
|
|
11
10
|
var sync = require('csv-stringify/sync');
|
|
@@ -13,7 +12,6 @@ var sync = require('csv-stringify/sync');
|
|
|
13
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
14
13
|
|
|
15
14
|
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
16
|
-
var FormData__default = /*#__PURE__*/_interopDefault(FormData);
|
|
17
15
|
var pc__default = /*#__PURE__*/_interopDefault(pc);
|
|
18
16
|
var debug__default = /*#__PURE__*/_interopDefault(debug);
|
|
19
17
|
|
|
@@ -82,7 +80,7 @@ function _callPhrase(path, options = {}) {
|
|
|
82
80
|
headers: {
|
|
83
81
|
Authorization: `token ${phraseApiToken}`,
|
|
84
82
|
// Provide identification via User Agent as requested in https://developers.phrase.com/api/#overview--identification-via-user-agent
|
|
85
|
-
'User-Agent': '
|
|
83
|
+
'User-Agent': 'Vocab Client (https://github.com/seek-oss/vocab)',
|
|
86
84
|
...options.headers
|
|
87
85
|
}
|
|
88
86
|
}).then(async response => {
|
|
@@ -133,10 +131,10 @@ async function pullAllTranslations(branch) {
|
|
|
133
131
|
const phraseResult = await callPhrase(`translations?branch=${branch}&per_page=100`);
|
|
134
132
|
const translations = {};
|
|
135
133
|
for (const r of phraseResult) {
|
|
136
|
-
if (!translations[r.locale.
|
|
137
|
-
translations[r.locale.
|
|
134
|
+
if (!translations[r.locale.name]) {
|
|
135
|
+
translations[r.locale.name] = {};
|
|
138
136
|
}
|
|
139
|
-
translations[r.locale.
|
|
137
|
+
translations[r.locale.name][r.key.name] = {
|
|
140
138
|
message: r.content
|
|
141
139
|
};
|
|
142
140
|
}
|
|
@@ -155,25 +153,23 @@ async function pushTranslations(translationsByLanguage, {
|
|
|
155
153
|
} = translationsToCsv(translationsByLanguage, devLanguage);
|
|
156
154
|
let devLanguageUploadId = '';
|
|
157
155
|
for (const [language, csvFileString] of Object.entries(csvFileStrings)) {
|
|
158
|
-
const formData = new
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
filename: `${language}.translations.csv`
|
|
163
|
-
});
|
|
156
|
+
const formData = new FormData();
|
|
157
|
+
formData.append('file', new Blob([csvFileString], {
|
|
158
|
+
type: 'text/csv'
|
|
159
|
+
}), `${language}.translations.csv`);
|
|
164
160
|
formData.append('file_format', 'csv');
|
|
165
161
|
formData.append('branch', branch);
|
|
166
162
|
formData.append('update_translations', 'true');
|
|
167
163
|
formData.append('update_descriptions', 'true');
|
|
168
|
-
formData.append(`locale_mapping[${language}]`, messageIndex);
|
|
169
|
-
formData.append('format_options[key_index]', keyIndex);
|
|
170
|
-
formData.append('format_options[comment_index]', commentIndex);
|
|
171
|
-
formData.append('format_options[tag_column]', tagColumn);
|
|
164
|
+
formData.append(`locale_mapping[${language}]`, messageIndex.toString());
|
|
165
|
+
formData.append('format_options[key_index]', keyIndex.toString());
|
|
166
|
+
formData.append('format_options[comment_index]', commentIndex.toString());
|
|
167
|
+
formData.append('format_options[tag_column]', tagColumn.toString());
|
|
172
168
|
formData.append('format_options[enable_pluralization]', 'false');
|
|
173
169
|
log(`Uploading translations for language ${language}`);
|
|
174
170
|
const result = await callPhrase(`uploads`, {
|
|
175
171
|
method: 'POST',
|
|
176
|
-
body: formData
|
|
172
|
+
body: formData
|
|
177
173
|
});
|
|
178
174
|
trace('Upload result:\n', result);
|
|
179
175
|
if (result && 'id' in result) {
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var fs = require('fs');
|
|
6
6
|
var path = require('path');
|
|
7
7
|
var core = require('@vocab/core');
|
|
8
|
-
var FormData = require('form-data');
|
|
9
8
|
var pc = require('picocolors');
|
|
10
9
|
var debug = require('debug');
|
|
11
10
|
var sync = require('csv-stringify/sync');
|
|
@@ -13,7 +12,6 @@ var sync = require('csv-stringify/sync');
|
|
|
13
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
14
13
|
|
|
15
14
|
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
16
|
-
var FormData__default = /*#__PURE__*/_interopDefault(FormData);
|
|
17
15
|
var pc__default = /*#__PURE__*/_interopDefault(pc);
|
|
18
16
|
var debug__default = /*#__PURE__*/_interopDefault(debug);
|
|
19
17
|
|
|
@@ -82,7 +80,7 @@ function _callPhrase(path, options = {}) {
|
|
|
82
80
|
headers: {
|
|
83
81
|
Authorization: `token ${phraseApiToken}`,
|
|
84
82
|
// Provide identification via User Agent as requested in https://developers.phrase.com/api/#overview--identification-via-user-agent
|
|
85
|
-
'User-Agent': '
|
|
83
|
+
'User-Agent': 'Vocab Client (https://github.com/seek-oss/vocab)',
|
|
86
84
|
...options.headers
|
|
87
85
|
}
|
|
88
86
|
}).then(async response => {
|
|
@@ -133,10 +131,10 @@ async function pullAllTranslations(branch) {
|
|
|
133
131
|
const phraseResult = await callPhrase(`translations?branch=${branch}&per_page=100`);
|
|
134
132
|
const translations = {};
|
|
135
133
|
for (const r of phraseResult) {
|
|
136
|
-
if (!translations[r.locale.
|
|
137
|
-
translations[r.locale.
|
|
134
|
+
if (!translations[r.locale.name]) {
|
|
135
|
+
translations[r.locale.name] = {};
|
|
138
136
|
}
|
|
139
|
-
translations[r.locale.
|
|
137
|
+
translations[r.locale.name][r.key.name] = {
|
|
140
138
|
message: r.content
|
|
141
139
|
};
|
|
142
140
|
}
|
|
@@ -155,25 +153,23 @@ async function pushTranslations(translationsByLanguage, {
|
|
|
155
153
|
} = translationsToCsv(translationsByLanguage, devLanguage);
|
|
156
154
|
let devLanguageUploadId = '';
|
|
157
155
|
for (const [language, csvFileString] of Object.entries(csvFileStrings)) {
|
|
158
|
-
const formData = new
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
filename: `${language}.translations.csv`
|
|
163
|
-
});
|
|
156
|
+
const formData = new FormData();
|
|
157
|
+
formData.append('file', new Blob([csvFileString], {
|
|
158
|
+
type: 'text/csv'
|
|
159
|
+
}), `${language}.translations.csv`);
|
|
164
160
|
formData.append('file_format', 'csv');
|
|
165
161
|
formData.append('branch', branch);
|
|
166
162
|
formData.append('update_translations', 'true');
|
|
167
163
|
formData.append('update_descriptions', 'true');
|
|
168
|
-
formData.append(`locale_mapping[${language}]`, messageIndex);
|
|
169
|
-
formData.append('format_options[key_index]', keyIndex);
|
|
170
|
-
formData.append('format_options[comment_index]', commentIndex);
|
|
171
|
-
formData.append('format_options[tag_column]', tagColumn);
|
|
164
|
+
formData.append(`locale_mapping[${language}]`, messageIndex.toString());
|
|
165
|
+
formData.append('format_options[key_index]', keyIndex.toString());
|
|
166
|
+
formData.append('format_options[comment_index]', commentIndex.toString());
|
|
167
|
+
formData.append('format_options[tag_column]', tagColumn.toString());
|
|
172
168
|
formData.append('format_options[enable_pluralization]', 'false');
|
|
173
169
|
log(`Uploading translations for language ${language}`);
|
|
174
170
|
const result = await callPhrase(`uploads`, {
|
|
175
171
|
method: 'POST',
|
|
176
|
-
body: formData
|
|
172
|
+
body: formData
|
|
177
173
|
});
|
|
178
174
|
trace('Upload result:\n', result);
|
|
179
175
|
if (result && 'id' in result) {
|
package/dist/vocab-phrase.esm.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { promises } from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { getAltLanguages, loadAllTranslations, getUniqueKey, getAltLanguageFilePath } from '@vocab/core';
|
|
4
|
-
import FormData from 'form-data';
|
|
5
4
|
import pc from 'picocolors';
|
|
6
5
|
import debug from 'debug';
|
|
7
6
|
import { stringify } from 'csv-stringify/sync';
|
|
@@ -71,7 +70,7 @@ function _callPhrase(path, options = {}) {
|
|
|
71
70
|
headers: {
|
|
72
71
|
Authorization: `token ${phraseApiToken}`,
|
|
73
72
|
// Provide identification via User Agent as requested in https://developers.phrase.com/api/#overview--identification-via-user-agent
|
|
74
|
-
'User-Agent': '
|
|
73
|
+
'User-Agent': 'Vocab Client (https://github.com/seek-oss/vocab)',
|
|
75
74
|
...options.headers
|
|
76
75
|
}
|
|
77
76
|
}).then(async response => {
|
|
@@ -122,10 +121,10 @@ async function pullAllTranslations(branch) {
|
|
|
122
121
|
const phraseResult = await callPhrase(`translations?branch=${branch}&per_page=100`);
|
|
123
122
|
const translations = {};
|
|
124
123
|
for (const r of phraseResult) {
|
|
125
|
-
if (!translations[r.locale.
|
|
126
|
-
translations[r.locale.
|
|
124
|
+
if (!translations[r.locale.name]) {
|
|
125
|
+
translations[r.locale.name] = {};
|
|
127
126
|
}
|
|
128
|
-
translations[r.locale.
|
|
127
|
+
translations[r.locale.name][r.key.name] = {
|
|
129
128
|
message: r.content
|
|
130
129
|
};
|
|
131
130
|
}
|
|
@@ -145,24 +144,22 @@ async function pushTranslations(translationsByLanguage, {
|
|
|
145
144
|
let devLanguageUploadId = '';
|
|
146
145
|
for (const [language, csvFileString] of Object.entries(csvFileStrings)) {
|
|
147
146
|
const formData = new FormData();
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
filename: `${language}.translations.csv`
|
|
152
|
-
});
|
|
147
|
+
formData.append('file', new Blob([csvFileString], {
|
|
148
|
+
type: 'text/csv'
|
|
149
|
+
}), `${language}.translations.csv`);
|
|
153
150
|
formData.append('file_format', 'csv');
|
|
154
151
|
formData.append('branch', branch);
|
|
155
152
|
formData.append('update_translations', 'true');
|
|
156
153
|
formData.append('update_descriptions', 'true');
|
|
157
|
-
formData.append(`locale_mapping[${language}]`, messageIndex);
|
|
158
|
-
formData.append('format_options[key_index]', keyIndex);
|
|
159
|
-
formData.append('format_options[comment_index]', commentIndex);
|
|
160
|
-
formData.append('format_options[tag_column]', tagColumn);
|
|
154
|
+
formData.append(`locale_mapping[${language}]`, messageIndex.toString());
|
|
155
|
+
formData.append('format_options[key_index]', keyIndex.toString());
|
|
156
|
+
formData.append('format_options[comment_index]', commentIndex.toString());
|
|
157
|
+
formData.append('format_options[tag_column]', tagColumn.toString());
|
|
161
158
|
formData.append('format_options[enable_pluralization]', 'false');
|
|
162
159
|
log(`Uploading translations for language ${language}`);
|
|
163
160
|
const result = await callPhrase(`uploads`, {
|
|
164
161
|
method: 'POST',
|
|
165
|
-
body: formData
|
|
162
|
+
body: formData
|
|
166
163
|
});
|
|
167
164
|
trace('Upload result:\n', result);
|
|
168
165
|
if (result && 'id' in result) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vocab/phrase",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/seek-oss/vocab.git",
|
|
@@ -16,9 +16,8 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"csv-stringify": "^6.2.3",
|
|
18
18
|
"debug": "^4.3.1",
|
|
19
|
-
"form-data": "^4.0.0",
|
|
20
19
|
"picocolors": "^1.0.0",
|
|
21
|
-
"@vocab/core": "^1.6.
|
|
20
|
+
"@vocab/core": "^1.6.3"
|
|
22
21
|
},
|
|
23
22
|
"devDependencies": {
|
|
24
23
|
"@types/debug": "^4.1.5",
|