diff options
Diffstat (limited to 'editor/pot_generator.h')
-rw-r--r-- | editor/pot_generator.h | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/editor/pot_generator.h b/editor/pot_generator.h index abe1a21d41..ab055e0c0e 100644 --- a/editor/pot_generator.h +++ b/editor/pot_generator.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -31,15 +31,30 @@ #ifndef POT_GENERATOR_H #define POT_GENERATOR_H -#include "core/ordered_hash_map.h" -#include "core/set.h" +#include "core/os/file_access.h" +#include "core/templates/ordered_hash_map.h" +#include "core/templates/set.h" + +//#define DEBUG_POT class POTGenerator { static POTGenerator *singleton; - // Stores all translatable strings and the source files containing them. - OrderedHashMap<String, Set<String>> all_translation_strings; + + struct MsgidData { + String ctx; + String plural; + Set<String> locations; + }; + // Store msgid as key and the additional data around the msgid - if it's under a context, has plurals and its file locations. + OrderedHashMap<String, Vector<MsgidData>> all_translation_strings; void _write_to_pot(const String &p_file); + void _write_msgid(FileAccess *r_file, const String &p_id, bool p_plural); + void _add_new_msgid(const String &p_msgid, const String &p_context, const String &p_plural, const String &p_location); + +#ifdef DEBUG_POT + void _print_all_translation_strings(); +#endif public: static POTGenerator *get_singleton(); |