Minecraft-Console-Client/docs/.vuepress/configs/gen_configs.py

75 lines
2.5 KiB
Python
Raw Normal View History

2022-11-02 21:01:32 +08:00
import os
print('Read ../translations/*.json')
LanguageCodeList = [ code.replace('.json', '') for code in os.listdir('../translations/') ]
print('Read ./l10n_configs/config_templete.ts')
templete = ""
with open('./l10n_configs/config_templete.ts', 'r', encoding='utf-8') as file:
templete = file.read()
for LanguageCode in LanguageCodeList:
content = templete
content = content.replace("$LanguageCode$", LanguageCode, -1)
content = content.replace("$LanguageCodeEscaped$", LanguageCode.replace('-', '_', -1), -1)
if (LanguageCode == 'en'):
content = content.replace("$PathToPage$", '', -1)
else:
content = content.replace("$PathToPage$", '/' + LanguageCode, -1)
print("Write ./l10n_configs/{}.ts".format(LanguageCode))
with open('./l10n_configs/{}.ts'.format(LanguageCode), 'w+', encoding='utf-8') as file:
file.write('/* This file is automatically generated by "gen_configs.py" */\n')
file.write(content)
print("Write ./locales_config.ts")
with open('./locales_config.ts', 'w+', encoding='utf-8') as file:
file.write('/* This file is automatically generated by "gen_configs.py" */\n')
file.write(r"import type { SiteLocaleConfig } from '@vuepress/shared'" + '\n')
file.write(r"import type { LocaleConfig } from '@vuepress/shared'" + '\n')
file.write('\n')
for LanguageCode in LanguageCodeList:
LanguageCodeEscaped = LanguageCode.replace('-', '_', -1)
file.write(r"import { mainConfig_")
file.write(LanguageCodeEscaped)
file.write(r", defaultThemeConfig_")
file.write(LanguageCodeEscaped)
file.write(r" } from './l10n_configs/")
file.write(LanguageCode)
file.write(".js'\n")
file.write('\n')
file.write(r"export const mainConfig: SiteLocaleConfig = {" + '\n')
for LanguageCode in LanguageCodeList:
file.write(r" '")
if (LanguageCode != 'en'):
file.write(r"/")
file.write(LanguageCode)
file.write(r"/': mainConfig_")
file.write(LanguageCode.replace('-', '_', -1))
file.write(",\n")
file.write(r"}" + '\n')
file.write('\n')
file.write(r"export const defaultThemeConfig: LocaleConfig = {" + '\n')
for LanguageCode in LanguageCodeList:
file.write(r" '")
if (LanguageCode != 'en'):
file.write(r"/")
file.write(LanguageCode)
file.write(r"/': defaultThemeConfig_")
file.write(LanguageCode.replace('-', '_', -1))
file.write(",\n")
file.write(r"}" + '\n')
print("** Done! **")