mirror of
https://github.com/anyproto/anytype-ts.git
synced 2025-06-08 05:57:02 +09:00
74 lines
No EOL
1.7 KiB
JavaScript
74 lines
No EOL
1.7 KiB
JavaScript
|
|
const https = require('https');
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
const Constant = require('../json/constant.json');
|
|
const OWNER = 'anyproto';
|
|
const REPO = 'l10n-anytype-ts';
|
|
const PATH = '/locales';
|
|
const LANGS = Constant.enabledLangs || [];
|
|
|
|
const run = async () => {
|
|
for (const lang of LANGS) {
|
|
const fp = path.join(__dirname, '..', '..', 'dist', 'lib', 'json', 'lang', `${lang}.json`);
|
|
|
|
let content = '';
|
|
if (lang == 'en-US') {
|
|
content = JSON.stringify(require('../../src/json/text.json'), null, 4);
|
|
} else {
|
|
content = await request(lang).catch(e => console.log(e));
|
|
};
|
|
|
|
if (content) {
|
|
fs.writeFileSync(fp, content);
|
|
console.log('Saved lang file:', fp);
|
|
};
|
|
};
|
|
};
|
|
|
|
const request = async (lang) => {
|
|
let str = '';
|
|
|
|
const options = {
|
|
hostname: 'api.github.com',
|
|
path: `/repos/${OWNER}/${REPO}/contents/${PATH}/${lang}.json`,
|
|
port: 443,
|
|
method: 'GET',
|
|
headers: {
|
|
'Accept': 'application/vnd.github+json',
|
|
'X-GitHub-Api-Version': '2022-11-28',
|
|
'User-Agent': 'Chrome/59.0.3071.115',
|
|
},
|
|
};
|
|
|
|
if (process.env.GITHUB_TOKEN) {
|
|
options.headers['Authorization'] = `token ${process.env.GITHUB_TOKEN}`;
|
|
};
|
|
|
|
return new Promise((resolve, reject) => {
|
|
const success = response => {
|
|
response.on('data', d => str += d);
|
|
response.on('end', function () {
|
|
const data = JSON.parse(str);
|
|
|
|
if (data.message) {
|
|
reject(data.message);
|
|
} else {
|
|
resolve(Buffer.from(data.content, 'base64').toString());
|
|
};
|
|
});
|
|
};
|
|
|
|
const error = error => {
|
|
console.log('Error: ' + error.message);
|
|
reject(error);
|
|
};
|
|
|
|
const req = https.request(options, success).on('error', error);
|
|
|
|
req.end();
|
|
});
|
|
};
|
|
|
|
run(); |