Skip to content

Commit 9dc9ed7

Browse files
committed
Replace all PO/T again but with omitted ctxt strings in POTs
1 parent 2edb12a commit 9dc9ed7

531 files changed

Lines changed: 153104 additions & 184090 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

addons/learn_pot_extractor/BBCodeTranslationParser.gd

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,66 +31,66 @@ func _parse_file(path: String) -> Array[PackedStringArray]:
3131
if typeof(current) == TYPE_OBJECT and "tag" in current:
3232
match current.tag:
3333
BBCodeParserData.Tag.LESSON:
34-
ret.append(PackedStringArray([BBCodeUtils.get_lesson_title(current), "lesson.title", "", "", current.line_number]))
34+
ret.append(PackedStringArray([BBCodeUtils.get_lesson_title(current), "", "", "", current.line_number]))
3535
BBCodeParserData.Tag.PARAGRAPH:
3636
var glossary_results := []
3737
var raw_string := BBCodeUtils.get_paragraph_text(current)
3838
var lines := _get_lines(raw_string)
3939
for i in lines.size():
4040
var line := lines[i]
4141
line = SHARED.fix_glossary_entries(line, glossary_results)
42-
ret.append(PackedStringArray([line, "text", "", ('The "term" in [glossary term="<term>"] should NOT be translated here') if glossary_results[0] else "", current.line_number + i]))
42+
ret.append(PackedStringArray([line, "", "", ('The "term" in [glossary term="<term>"] should NOT be translated here') if glossary_results[0] else "", current.line_number + i]))
4343
BBCodeParserData.Tag.TITLE:
44-
ret.append(PackedStringArray([BBCodeUtils.get_paragraph_text(current), "heading", "", "", current.line_number]))
44+
ret.append(PackedStringArray([BBCodeUtils.get_paragraph_text(current), "", "", "", current.line_number]))
4545
BBCodeParserData.Tag.QUIZ_CHOICE, BBCodeParserData.Tag.QUIZ_INPUT:
4646
var data := BBCodeUtils.get_quiz_data(current)
47-
ret.append(PackedStringArray([data.question, "quiz.%s.question" % [quiz_idx], "", "", current.line_number]))
47+
ret.append(PackedStringArray([data.question, "", "", "", current.line_number]))
4848

4949
var lines := _get_lines(data.content)
5050
var glossary_results := []
5151
for line in lines:
5252
line = SHARED.fix_glossary_entries(line, glossary_results)
53-
ret.append(PackedStringArray([line, "quiz.%s.content" % [quiz_idx], "", 'The "term" in [glossary term="<term>"] should NOT be translated here' if glossary_results[0] else "", current.line_number]))
53+
ret.append(PackedStringArray([line, "", "", 'The "term" in [glossary term="<term>"] should NOT be translated here' if glossary_results[0] else "", current.line_number]))
5454

5555
lines = _get_lines(data.explanation)
5656
for line in lines:
5757
line = SHARED.fix_glossary_entries(line, glossary_results)
58-
ret.append(PackedStringArray([line, "quiz.%s.explanation" % [quiz_idx], "", 'The "term" in [glossary term="<term>"] should NOT be translated here' if glossary_results[0] else "", current.line_number]))
58+
ret.append(PackedStringArray([line, "", "", 'The "term" in [glossary term="<term>"] should NOT be translated here' if glossary_results[0] else "", current.line_number]))
5959

6060
for i in data.answers.size():
61-
ret.append(PackedStringArray([data.answers[i], "quiz.%s.answer%s" % [quiz_idx, ".valid" if data.valid_answers.has(data.answers[i]) else ""], "", "", current.line_number]))
61+
ret.append(PackedStringArray([data.answers[i], "", "", "", current.line_number]))
6262

6363
quiz_idx += 1
6464
BBCodeParserData.Tag.NOTE:
6565
var title := BBCodeUtils.get_note_title(current)
66-
ret.append(PackedStringArray([title, "note.title", "", "", current.line_number]))
66+
ret.append(PackedStringArray([title, "", "", "", current.line_number]))
6767
var contents := BBCodeUtils.get_note_contents(current)
6868
var lines := _get_lines(contents)
6969
var glossary_results := []
7070
for i in lines.size():
7171
var line := lines[i]
7272
line = SHARED.fix_glossary_entries(line, glossary_results)
73-
ret.append(PackedStringArray([line, "note.text", "", 'The "term" in [glossary term="<term>"] should NOT be translated here' if glossary_results[0] else "", current.line_number + i + 1]))
73+
ret.append(PackedStringArray([line, "", "", 'The "term" in [glossary term="<term>"] should NOT be translated here' if glossary_results[0] else "", current.line_number + i + 1]))
7474
BBCodeParserData.Tag.PRACTICE:
7575
var title := BBCodeUtils.get_practice_title(current)
76-
ret.append(PackedStringArray([title, "practice.%s.title" % [practice_idx], "", "", current.line_number]))
76+
ret.append(PackedStringArray([title, "", "", "", current.line_number]))
7777

7878
var goal := BBCodeUtils.get_practice_goal(current)
7979
var glossary_results := []
8080
var lines := _get_lines(goal)
8181
for i in lines.size():
8282
var line := SHARED.fix_glossary_entries(lines[i], glossary_results)
83-
ret.append(PackedStringArray([line, "practice.%s.goal" % [practice_idx], "", 'The "term" in [glossary term="<term>"] should NOT be translated here' if glossary_results[0] else "", current.line_number]))
83+
ret.append(PackedStringArray([line, "", "", 'The "term" in [glossary term="<term>"] should NOT be translated here' if glossary_results[0] else "", current.line_number]))
8484

8585
var description := BBCodeUtils.get_practice_description(current)
8686
lines = _get_lines(description)
8787
for i in lines.size():
8888
var line := SHARED.fix_glossary_entries(lines[i], glossary_results)
89-
ret.append(PackedStringArray([line, "practice.%s.description" % [practice_idx], "", 'The "term" in [glossary term="<term>"] should NOT be translated here' if glossary_results[0] else "", current.line_number + i]))
89+
ret.append(PackedStringArray([line, "", "", 'The "term" in [glossary term="<term>"] should NOT be translated here' if glossary_results[0] else "", current.line_number + i]))
9090

9191
var hints := BBCodeUtils.get_practice_hints(current)
9292
for i in hints.size():
93-
ret.append(PackedStringArray([hints[i], "practice.%s.hint" % [practice_idx], "", "", current.line_number]))
93+
ret.append(PackedStringArray([hints[i], "", "", "", current.line_number]))
9494

9595
practice_idx += 1
9696

addons/learn_pot_extractor/LearnCSVExtractor.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func _parse_file(path: String) -> Array[PackedStringArray]:
6464
var prefix := ""
6565
if extraction_data._prefix_column >= 0:
6666
prefix = block[0]
67-
ret.push_back(PackedStringArray([block[data._column], "%s%s" % [("%s." % prefix if prefix else ""), data._suffix]]))
67+
ret.push_back(PackedStringArray([block[data._column]]))
6868

6969
return ret
7070

addons/learn_pot_extractor/LearnPOTExtractor.gd

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ func _generate_all_pot_files() -> void:
5555
await _generate_course_pot()
5656
await _generate_application_pot()
5757
await _generate_supplemantary_pots()
58+
59+
60+
# ⚠ Only use if you know what you're doing ⚠
61+
func _slipstream_and_clean() -> void:
5862
await _slipstream_existing_translations()
5963
await _wipe_old_translations()
6064

@@ -112,42 +116,48 @@ func _build_translated_lessons() -> void:
112116

113117

114118
func _slipstream_existing_translations() -> void:
119+
var global_base_dir := ProjectSettings.globalize_path("res://i18n")
120+
115121
var global_course := ProjectSettings.globalize_path(COURSE_POT_PATH)
116122
var global_app := ProjectSettings.globalize_path(APPLICATION_POT_PATH)
117123
var global_supp := ProjectSettings.globalize_path(SUPPLEMENTARY_POT_PATH)
118124

119-
for lang in DirAccess.get_directories_at("res://i18n"):
125+
for lang in DirAccess.get_directories_at(global_base_dir):
120126
print("Processing %s..." % [lang])
121127
await get_tree().process_frame
122128
await get_tree().process_frame
123129

124-
var global_lang_course := ProjectSettings.globalize_path("res://i18n/%s/course.po" % [lang])
125-
var global_lang_app := ProjectSettings.globalize_path("res://i18n/%s/n_application.po" % [lang])
126-
var global_lang_supp := ProjectSettings.globalize_path("res://i18n/%s/supplementary.po" % [lang])
130+
var global_lang_course := "%s/%s/course.po" % [global_base_dir, lang]
131+
var global_lang_app := "%s/%s/n_application.po" % [global_base_dir, lang]
132+
var global_lang_supp := "%s/%s/supplementary.po" % [global_base_dir, lang]
127133

128-
var source := global_course
134+
var template := global_course
129135
var target := global_lang_course
130136

131-
for file in DirAccess.get_files_at("res://i18n/%s" % [lang]):
132-
if file.get_extension() != "po" or not file.begins_with("lesson-"):
133-
continue
134-
var global_lesson := ProjectSettings.globalize_path("res://i18n/%s/%s" % [lang, file])
135-
OS.execute("msgmerge", ["--no-wrap", "-o", target, global_lesson, source])
136-
source = global_lang_course
137+
var sources := Array(DirAccess.get_files_at("%s/%s" % [global_base_dir, lang])).filter(func(file: String) -> bool:
138+
return file.get_extension() == "po" and file.begins_with("lesson-")
139+
).map(func(file: String) -> String:
140+
return "%s/%s/%s" % [global_base_dir, lang, file]
141+
)
137142

138-
var global_og_lang_app := ProjectSettings.globalize_path("res://i18n/%s/application.po" % [lang])
143+
var temp_combined := "%s/%s/combined.po" % [global_base_dir, lang]
144+
OS.execute("msgcat", ["--no-wrap", "--use-first"] + sources + ["-o", temp_combined])
145+
OS.execute("msgmerge", ["--no-wrap", temp_combined, template, "-o", target])
146+
147+
var global_og_lang_app := "%s/%s/application.po" % [global_base_dir, lang]
139148
OS.execute("msgmerge", ["--no-wrap", "-o", global_lang_app, global_og_lang_app, global_app])
140149

141-
var global_og_lang_error := ProjectSettings.globalize_path("res://i18n/%s/error_database.po" % [lang])
142-
var global_og_lang_glossary := ProjectSettings.globalize_path("res://i18n/%s/glossary_database.po" % [lang])
143-
var global_og_lang_doc := ProjectSettings.globalize_path("res://i18n/%s/classref_database.po" % [lang])
150+
var global_og_lang_error := "%s/%s/error_database.po" % [global_base_dir, lang]
151+
var global_og_lang_glossary := "%s/%s/glossary_database.po" % [global_base_dir, lang]
152+
var global_og_lang_doc := "%s/%s/classref_database.po" % [global_base_dir, lang]
144153

145-
source = global_supp
154+
sources = [global_og_lang_error, global_og_lang_glossary, global_og_lang_doc]
155+
template = global_supp
146156
target = global_lang_supp
147-
for supplementary_file: String in [global_og_lang_error, global_og_lang_glossary, global_og_lang_doc]:
148-
OS.execute("msgmerge", ["--no-wrap", "-o", target, supplementary_file, source])
149-
source = global_lang_supp
150157

158+
OS.execute("msgcat", ["--no-wrap", "--use-first"] + sources + ["-o", temp_combined])
159+
OS.execute("msgmerge", ["--no-wrap", temp_combined, template, "-o", target])
160+
151161
print("Done")
152162

153163

0 commit comments

Comments
 (0)