42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
import sys
|
|
import os
|
|
import shutil
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
|
|
engine_path = Path(__file__).resolve().parents[6]
|
|
assert (engine_path/'Binaries').is_dir()
|
|
|
|
build_dir = Path(sys.argv[1]).resolve()
|
|
# scripts_dir = sys.argv[2]
|
|
scripts_dir = (engine_path/'Restricted/NotForLicensees/Programs/UnrealEngineInstaller/UnrealEngineInstaller/Localization/Scripts').resolve()
|
|
|
|
msi_name = 'UnrealDatasmithArchicadExporter.msi'
|
|
|
|
en_msi_dir = build_dir/'en-us'
|
|
en_msi_path = en_msi_dir/msi_name
|
|
|
|
assert en_msi_path.is_file(), f"Expected to see 'en-us' msi in {en_msi_path}"
|
|
|
|
final_msi_dir = build_dir/'Final'
|
|
final_msi_path = final_msi_dir/msi_name
|
|
|
|
final_msi_dir.mkdir(parents=True, exist_ok=True)
|
|
|
|
shutil.copy(en_msi_dir/msi_name, final_msi_path)
|
|
|
|
assert final_msi_path.is_file(), f"Expected to see final msi copied from root culture msi '{final_msi_path}'"
|
|
|
|
def add_language(culture_name, culture_code):
|
|
cmd = [
|
|
str(scripts_dir/'CreateAndEmbedLangTransform.bat'),
|
|
str(en_msi_dir), msi_name,
|
|
culture_name, str(culture_code),
|
|
str(final_msi_dir)]
|
|
subprocess.check_call(cmd)
|
|
|
|
for l in 'de-de:1031, ko-kr:1042, es-es:1034, fr-fr:1036, ja-jp:1041, pt-pt:2070, zh-cn:2052'.split(', '):
|
|
culture_name, culture_code = l.split(':')
|
|
add_language(culture_name, culture_code)
|