Telegram Web K with changes to work inside I2P
https://web.telegram.i2p/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.2 KiB
51 lines
1.2 KiB
/* |
|
* https://github.com/morethanwords/tweb |
|
* Copyright (C) 2019-2021 Eduard Kuzmenko |
|
* https://github.com/morethanwords/tweb/blob/master/LICENSE |
|
*/ |
|
|
|
const fs = require('fs'); |
|
|
|
const f = (key, value, plural) => { |
|
value = value |
|
.replace(/\n/g, '\\n') |
|
.replace(/"/g, '\\"'); |
|
return `"${key}${plural ? '_' + plural.replace('_value', '') : ''}" = "${value}";\n`; |
|
}; |
|
|
|
let out = ''; |
|
|
|
['lang', 'langSign'].forEach(part => { |
|
const path = `../${part}.ts`; |
|
|
|
let str = fs.readFileSync(path).toString().replace(/\s.+\/\/.+/g, ''); |
|
{ |
|
const pattern = '= {'; |
|
str = str.slice(str.indexOf(pattern) + pattern.length - 1); |
|
} |
|
|
|
{ |
|
const pattern = '};'; |
|
str = str.slice(0, str.indexOf(pattern) + pattern.length - 1); |
|
} |
|
|
|
// console.log(`'${str}'`); |
|
// var idx = 21865; |
|
// idx -= 1; |
|
// console.log(str.slice(idx, idx + 100)); |
|
const json = JSON.parse(str); |
|
// console.log(json); |
|
|
|
for(const key in json) { |
|
const value = json[key]; |
|
if(typeof(value) === 'string') { |
|
out += f(key, value); |
|
} else { |
|
for(const plural in value) { |
|
out += f(key, value[plural], plural); |
|
} |
|
} |
|
} |
|
}); |
|
|
|
fs.writeFileSync('./out/langPack.strings', out);
|
|
|