Crowdin Localization Progress
const https = require('https')
function httpRequest() {
return new Promise((resolve, reject) => {
const req = https.request({
hostname: 'crowdin.com',
port: 443,
path: '/api/v2/projects/418358/languages/progress?limit=500',
method: 'GET',
headers: {
"Authorization": `Bearer ${process.env.crowdinAccessToken}`,
},
}, res => {
res.setEncoding('utf8');
let responseBody = '';
res.on('data', (chunk) => {
responseBody += chunk;
});
res.on('end', () => {
let progress = 0;
const data = JSON.parse(responseBody).data;
for (const lang of data)
progress += lang.data.translationProgress;
resolve(JSON.stringify({
subject: 'translated',
status: `${Math.floor(progress / data.length)}%`,
color: 'pink'
}, null, 2));
});
});
req.on('error', error => {
reject(JSON.stringify({
subject: 'translated',
status: 'error',
color: 'grey'
}, null, 2));
});
req.end();
});
}
exports.endpoint = async function (req, res) {
res.end(await httpRequest());
}
no comments