diff options
Diffstat (limited to 'doc/translations/extract.py')
-rw-r--r-- | doc/translations/extract.py | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/doc/translations/extract.py b/doc/translations/extract.py index 9d7c073b67..1da6919f0b 100644 --- a/doc/translations/extract.py +++ b/doc/translations/extract.py @@ -8,7 +8,7 @@ from collections import OrderedDict EXTRACT_TAGS = ["description", "brief_description", "member", "constant", "theme_item", "link"] HEADER = '''\ -# LANGUAGE translation of the Godot Engine class reference +# LANGUAGE translation of the Godot Engine class reference. # Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. # Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. @@ -19,10 +19,26 @@ HEADER = '''\ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\\n" +"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\\n" +"MIME-Version: 1.0\\n" "Content-Type: text/plain; charset=UTF-8\\n" "Content-Transfer-Encoding: 8-bit\\n" ''' +# Some strings used by makerst.py are normally part of the editor translations, +# so we need to include them manually here for the online docs. +BASE_STRINGS = [ + "Description", + "Tutorials", + "Properties", + "Methods", + "Theme Properties", + "Signals", + "Enumerations", + "Constants", + "Property Descriptions", + "Method Descriptions", +] ## <xml-line-number-hack from="https://stackoverflow.com/a/36430270/10846399"> import sys @@ -166,7 +182,7 @@ def _strip_and_split_desc(desc, code_block_regions): total_indent = 0 return desc_strip -## make catlog strings from xml elements +## make catalog strings from xml elements def _make_translation_catalog(classes): unique_msgs = OrderedDict() for class_name in classes: @@ -187,12 +203,17 @@ def _make_translation_catalog(classes): unique_msgs[desc_msg].append(desc_obj) return unique_msgs -## generate the catlog file +## generate the catalog file def _generate_translation_catalog_file(unique_msgs, output): with open(output, 'w', encoding='utf8') as f: f.write(HEADER) + for msg in BASE_STRINGS: + f.write('#: doc/tools/makerst.py\n') + f.write('msgid "{}"\n'.format(msg)) + f.write('msgstr ""\n\n') for msg in unique_msgs: - if len(msg) == 0: continue ## ignore + if len(msg) == 0 or msg in BASE_STRINGS: + continue f.write('#:') desc_list = unique_msgs[msg] @@ -215,7 +236,7 @@ def _generate_translation_catalog_file(unique_msgs, output): def main(): parser = argparse.ArgumentParser() parser.add_argument("--path", "-p", default=".", help="The directory containing XML files to collect.") - parser.add_argument("--output", "-o", default="translation_catlog.pot", help="The path to the output file.") + parser.add_argument("--output", "-o", default="translation_catalog.pot", help="The path to the output file.") args = parser.parse_args() output = os.path.abspath(args.output) |