Skip to content

Commit 57a2ddd

Browse files
committed
refactor i18n yaml to prevent overwriting parent non-English YAML with local English file: metanorma/isodoc#549
1 parent 771efdd commit 57a2ddd

File tree

2 files changed

+6
-14
lines changed

2 files changed

+6
-14
lines changed

Gemfile.devel

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
gem "isodoc", git: "https://github.com/metanorma/isodoc", branch: "fix/recursive-prefix-container"
1+
gem "isodoc", git: "https://github.com/metanorma/isodoc", branch: "fix/i18n-yaml-inheritance"

lib/isodoc/itu/i18n.rb

+5-13
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,14 @@
11
module IsoDoc
22
module ITU
33
class I18n < IsoDoc::I18n
4-
def load_yaml2x(str)
5-
YAML.load_file(File.join(File.dirname(__FILE__),
6-
"i18n-#{str}.yaml"))
4+
def load_file(fname)
5+
f = File.join(File.dirname(__FILE__), fname)
6+
File.exist?(f) ? YAML.load_file(f) : {}
77
end
88

99
def load_yaml1(lang, script)
10-
y = case lang
11-
when "en", "fr", "ru", "de", "es", "ar"
12-
load_yaml2x(lang)
13-
when "zh"
14-
if script == "Hans" then load_yaml2x("zh-Hans")
15-
else load_yaml2x("en")
16-
end
17-
else load_yaml2x("en")
18-
end
19-
super.deep_merge(y)
10+
y = load_file("i18n-#{yaml_lang(lang, script)}.yaml")
11+
y.empty? ? load_file("i18n-en.yaml").merge(super) : super.deep_merge(y)
2012
end
2113
end
2214
end

0 commit comments

Comments
 (0)