32 from PyQt5.QtCore import QLocale, QLibraryInfo, QTranslator, QCoreApplication
36 locale_path = os.path.dirname(os.path.abspath(__file__))
39 app = QCoreApplication(sys.argv)
42 POT_source = open(os.path.join(locale_path,
'OpenShot',
'OpenShot.pot')).read()
43 all_strings = re.findall(
'^msgid \"(.*)\"', POT_source, re.MULTILINE)
46 for language_code
in os.listdir(locale_path):
47 folder_path = os.path.join(locale_path, language_code)
48 if language_code
not in [
'OpenShot',
'QT']
and os.path.isdir(folder_path):
50 translator = QTranslator(app)
51 app.installTranslator(translator)
54 formatted_locale_name =
'%s/LC_MESSAGES/OpenShot' % (language_code)
55 success = translator.load(formatted_locale_name, locale_path)
56 print(
'%s\t%s' % (success, formatted_locale_name))
59 for source_string
in all_strings:
60 if "%s" in source_string:
61 translated_string = app.translate(
"", source_string)
62 if source_string.count(
'%') != translated_string.count(
'%'):
63 print(
' Invalid string replacement found: %s (source: %s)' % (translated_string, source_string))
66 app.removeTranslator(translator)