Files
outline-ru/tools/diff.py
T
Evgeny 032263ec5d 0.83.0 (#17)
* add patch for version checking of outline-ru, not the original one

* optimize Dockerfile and add docker-compose.yml for deploying on localhost for testing purposes

* make ru_RU as the default language, combine patches into one

* update the workflow

* update docker* files

* rename the script

* testing translations

* add concurrency and fix regexps in the workflow

* disable action output

* bump outline to 0.83.0

* update Dockerfile

* update translations

* update readme

* update readme

* clear trailing whitespaces
2025-04-12 00:46:50 +05:00

56 lines
1.5 KiB
Python
Executable File

#!/usr/bin/env python
import json
import os
def workdir(path):
basepath = os.path.abspath(os.path.dirname(__file__))
abspath = os.path.abspath(basepath + '/' + path)
return abspath
en_json_path = workdir('../outline/shared/i18n/locales/en_US/translation.json')
ru_json_path = workdir('./translation.json')
out_json_name = 'translation_merged.json'
out_json_path = workdir(f'./{out_json_name}')
translated_lines = {}
untranslated_lines = {}
exception_lines = {}
with open(en_json_path) as target:
en_json = json.load(target)
with open(ru_json_path) as target:
ru_json = json.load(target)
for key, value in en_json.items():
if key in ru_json.keys():
translated_lines[key] = ru_json[key]
else:
untranslated_lines[key] = en_json[key]
for key, value in ru_json.items():
if key == value:
exception_lines[key] = value
out_json = {**translated_lines, **untranslated_lines}
if (exception_lines):
print('Потенциально непереведённые строки или исключения:')
print(json.dumps(exception_lines, indent=2, ensure_ascii=False))
print()
if (untranslated_lines):
print('Непереведённые строки:')
print(json.dumps(untranslated_lines, indent=2, ensure_ascii=False))
print()
with open(out_json_path, 'w') as target:
obj = json.dumps(out_json, indent=2, ensure_ascii=False)
target.write(obj + '\n')
print(f'Переведенные и непереведенные строки смержены в {out_json_name}')