浏览代码

i18n: Fix extract.py support for new TTRC

Also make compatible with Python 3.
Rémi Verschelde 6 年之前
父节点
当前提交
e864237f1a
共有 4 个文件被更改,包括 10 次插入10 次删除
  1. 4 4
      core/ustring.h
  2. 1 1
      editor/editor_node.cpp
  3. 1 1
      editor/translations/Makefile
  4. 4 4
      editor/translations/extract.py

+ 4 - 4
core/ustring.h

@@ -415,16 +415,16 @@ _FORCE_INLINE_ bool is_str_less(const L *l_ptr, const R *r_ptr) {
 
 //gets parsed
 String TTR(const String &);
-//use for c strings
-#define TTRC(m_value) m_value
+//use for C strings
+#define TTRC(m_value) (m_value)
 //use to avoid parsing (for use later with C strings)
 #define TTRGET(m_value) TTR(m_value)
 
 #else
 
-#define TTR(m_val) (String())
-#define TTRCDEF(m_value) (m_value)
+#define TTR(m_value) (String())
 #define TTRC(m_value) (m_value)
+#define TTRGET(m_value) (m_value)
 
 #endif
 

+ 1 - 1
editor/editor_node.cpp

@@ -6385,7 +6385,7 @@ EditorNode::EditorNode() {
 	execute_outputs = memnew(RichTextLabel);
 	execute_output_dialog = memnew(AcceptDialog);
 	execute_output_dialog->add_child(execute_outputs);
-	execute_output_dialog->set_title(TTR(""));
+	execute_output_dialog->set_title("");
 	gui_base->add_child(execute_output_dialog);
 
 	EditorFileSystem::get_singleton()->connect("sources_changed", this, "_sources_changed");

+ 1 - 1
editor/translations/Makefile

@@ -7,7 +7,7 @@ LANGS = $(POFILES:%.po=%)
 all: update merge
 
 update:
-	@cd ../..; python2 editor/translations/extract.py
+	@cd ../..; python3 editor/translations/extract.py
 
 merge:
 	@for po in $(POFILES); do \

+ 4 - 4
editor/translations/extract.py

@@ -60,7 +60,7 @@ def process_file(f, fname):
     lc = 1
     while (l):
 
-        patterns = ['RTR(\"', 'TTR(\"','TTRC(\"']
+        patterns = ['RTR(\"', 'TTR(\"', 'TTRC(\"']
         idx = 0
         pos = 0
         while (pos >= 0):
@@ -70,7 +70,7 @@ def process_file(f, fname):
                     idx += 1
                     pos = 0
                 continue
-            pos += 5
+            pos += len(patterns[idx])
 
             msg = ""
             while (pos < len(l) and (l[pos] != '"' or l[pos - 1] == '\\')):
@@ -101,10 +101,10 @@ def process_file(f, fname):
 print("Updating the editor.pot template...")
 
 for fname in matches:
-    with open(fname, "rb") as f:
+    with open(fname, "r") as f:
         process_file(f, fname)
 
-with open("editor.pot", "wb") as f:
+with open("editor.pot", "w") as f:
     f.write(main_po)
 
 if (os.name == "posix"):