2015-07-17 09:12:16 -07:00
|
|
|
#!/usr/bin/env node
|
|
|
|
|
|
|
|
'use strict';
|
|
|
|
|
2015-07-20 11:27:15 -07:00
|
|
|
var fs = require('fs');
|
|
|
|
var path = require('path');
|
|
|
|
var https = require('https');
|
2015-07-20 11:39:15 -07:00
|
|
|
var bhttp = require('bhttp');
|
2015-07-17 09:12:16 -07:00
|
|
|
|
|
|
|
var crowdin_identifier = 'copay'
|
|
|
|
|
2015-07-20 11:27:15 -07:00
|
|
|
var local_file_name1 = path.join(__dirname, 'po/template.pot')
|
2015-08-15 21:18:15 -07:00
|
|
|
|
|
|
|
// Similar to Github, normalize all line breaks to CRLF so that different people
|
|
|
|
// using different OSes to update does not constantly swith format back and forth.
|
|
|
|
var local_file1_text = fs.readFileSync(local_file_name1, 'utf8');
|
2015-08-16 17:04:28 -07:00
|
|
|
local_file1_text = local_file1_text.replace(/\r\n/g, '\n');
|
|
|
|
local_file1_text = local_file1_text.replace(/\n/g, '\r\n');
|
2015-08-15 21:18:15 -07:00
|
|
|
fs.writeFileSync(local_file_name1, local_file1_text);
|
|
|
|
|
2015-07-20 11:27:15 -07:00
|
|
|
var local_file1 = fs.createReadStream(local_file_name1)
|
2015-07-17 09:12:16 -07:00
|
|
|
|
2015-07-20 11:27:15 -07:00
|
|
|
var local_file_name2 = path.join(__dirname, 'docs/appstore_en.txt')
|
2015-08-15 21:18:15 -07:00
|
|
|
|
|
|
|
var local_file2_text = fs.readFileSync(local_file_name2, 'utf8');
|
2015-08-16 17:04:28 -07:00
|
|
|
local_file2_text = local_file2_text.replace(/\r\n/g, '\n');
|
|
|
|
local_file2_text = local_file2_text.replace(/\n/g, '\r\n');
|
2015-08-15 21:18:15 -07:00
|
|
|
fs.writeFileSync(local_file_name2, local_file2_text);
|
|
|
|
|
2015-07-20 11:27:15 -07:00
|
|
|
var local_file2 = fs.createReadStream(local_file_name2)
|
2015-07-17 09:12:16 -07:00
|
|
|
|
2015-07-20 11:27:15 -07:00
|
|
|
var local_file_name3 = path.join(__dirname, 'docs/updateinfo_en.txt')
|
2015-08-15 21:18:15 -07:00
|
|
|
|
|
|
|
var local_file3_text = fs.readFileSync(local_file_name3, 'utf8');
|
2015-08-16 17:04:28 -07:00
|
|
|
local_file3_text = local_file3_text.replace(/\r\n/g, '\n');
|
|
|
|
local_file3_text = local_file3_text.replace(/\n/g, '\r\n');
|
2015-08-15 21:18:15 -07:00
|
|
|
fs.writeFileSync(local_file_name3, local_file3_text);
|
|
|
|
|
2015-07-20 11:27:15 -07:00
|
|
|
var local_file3 = fs.createReadStream(local_file_name3)
|
2015-07-17 09:12:16 -07:00
|
|
|
|
2015-07-20 11:27:15 -07:00
|
|
|
// obtain the crowdin api key
|
2015-07-21 09:07:24 -07:00
|
|
|
var crowdin_api_key = fs.readFileSync(path.join(__dirname, 'crowdin_api_key.txt'))
|
2016-12-09 06:32:50 -08:00
|
|
|
//console.log('api key: ' + crowdin_api_key);
|
2015-07-17 09:12:16 -07:00
|
|
|
|
|
|
|
if (crowdin_api_key != '') {
|
2016-12-09 06:32:50 -08:00
|
|
|
|
2015-07-20 11:27:15 -07:00
|
|
|
var payload = {
|
|
|
|
'files[template.pot]': local_file1,
|
|
|
|
'files[appstore/appstore_en.txt]': local_file2,
|
|
|
|
'files[appstore/updateinfo_en.txt]': local_file3
|
2015-07-17 09:12:16 -07:00
|
|
|
};
|
2015-07-20 11:27:15 -07:00
|
|
|
|
|
|
|
bhttp.post('https://api.crowdin.com/api/project/' + crowdin_identifier + '/update-file?key=' + crowdin_api_key, payload, {}, function(err, response) {
|
2016-12-09 06:32:50 -08:00
|
|
|
if (!err) console.log('\nResponse from update file call:\n', response.body.toString());
|
|
|
|
else console.log('\nError from update file call:\n', err.toString());
|
|
|
|
|
2015-07-20 11:39:15 -07:00
|
|
|
// This call will tell the server to generate a new zip file for you based on most recent translations.
|
|
|
|
https.get('https://api.crowdin.com/api/project/' + crowdin_identifier + '/export?key=' + crowdin_api_key, function(res) {
|
|
|
|
console.log('Export Got response: ' + res.statusCode);
|
2015-08-15 21:18:15 -07:00
|
|
|
res.on('data', function(chunk) {
|
|
|
|
console.log(chunk.toString('utf8'));
|
|
|
|
});
|
2015-07-20 11:39:15 -07:00
|
|
|
}).on('error', function(e) {
|
|
|
|
console.log('Export Got error: ' + e.message);
|
|
|
|
});
|
2015-07-20 11:27:15 -07:00
|
|
|
})
|
2015-07-17 09:12:16 -07:00
|
|
|
};
|