mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-18 12:17:50 -06:00
41 lines
No EOL
1.9 KiB
Python
41 lines
No EOL
1.9 KiB
Python
# Copyright (c) 2019 Ultimaker B.V.
|
|
# Cura is released under the terms of the LGPLv3 or higher.
|
|
|
|
import argparse #To get the source directory from command line arguments.
|
|
import os #To find files from the source.
|
|
import os.path #To find files from the source and the destination path.
|
|
|
|
## Imports translation files from Lionbridge.
|
|
#
|
|
# Lionbridge has a bit of a weird export feature. It exports it to the same
|
|
# file type as what we imported, so that's a .pot file. However this .pot file
|
|
# only contains the translations, so the header is completely empty. We need
|
|
# to merge those translations into our existing files so that the header is
|
|
# preserved.
|
|
def lionbridge_import(source: str) -> None:
|
|
print("Importing from:", source)
|
|
print("Importing to Cura:", destination_cura())
|
|
print("Importing to Uranium:", destination_uranium())
|
|
|
|
## Gets the destination path to copy the translations for Cura to.
|
|
def destination_cura() -> str:
|
|
return os.path.abspath(os.path.join(__file__, "..", "..", "resources", "i18n"))
|
|
|
|
## Gets the destination path to copy the translations for Uranium to.
|
|
def destination_uranium() -> str:
|
|
try:
|
|
import UM
|
|
except ImportError:
|
|
relative_path = os.path.join(__file__, "..", "..", "..", "Uranium", "resources", "i18n", "uranium.pot")
|
|
print(os.path.abspath(relative_path))
|
|
if os.path.exists(relative_path):
|
|
return os.path.abspath(relative_path)
|
|
else:
|
|
raise Exception("Can't find Uranium. Please put UM on the PYTHONPATH or put the Uranium folder next to the Cura folder.")
|
|
return os.path.abspath(os.path.join(UM.__file__, "..", "..", "resources", "i18n"))
|
|
|
|
if __name__ == "__main__":
|
|
argparser = argparse.ArgumentParser(description = "Import translation files from Lionbridge.")
|
|
argparser.add_argument("source")
|
|
args = argparser.parse_args()
|
|
lionbridge_import(args.source) |