Skip to content

Commit

Permalink
sort and merge other language designations: glossarist/iev-document#18
Browse files Browse the repository at this point in the history
  • Loading branch information
opoudjis committed Dec 14, 2021
1 parent 5642d94 commit 7f3bdee
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 9 deletions.
5 changes: 4 additions & 1 deletion lib/asciidoctor/iec/isodoc.rng
Original file line number Diff line number Diff line change
Expand Up @@ -1973,7 +1973,10 @@
</optional>
<element name="name">
<zeroOrMore>
<ref name="PureTextElement"/>
<choice>
<ref name="PureTextElement"/>
<ref name="stem"/>
</choice>
</zeroOrMore>
</element>
<optional>
Expand Down
18 changes: 15 additions & 3 deletions lib/isodoc/iec/presentation_xml_convert.rb
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ def extract_otherlang_designations(term, lgs)
p = d.parent
designation_annotate(p, d.at(ns("./name")))
m << { lang: lg, script: Metanorma::Utils.default_script(lg),
designation: l10n_recursive(p.remove, lg) }
designation: l10n_recursive(p.remove, lg).to_xml.strip }
end
end

Expand All @@ -136,14 +136,26 @@ def l10n_recursive(xml, lang)
xml
end

def merge_otherlang_designations(desgn)
h = desgn.each_with_object({}) do |e, m|
if m[e[:lang]]
m[e[:lang]][:designation] += "<br/>#{e[:designation]}"
else m[e[:lang]] = e
end
end
h.keys.sort.each_with_object([]) { |k, m| m << h[k] }
end

def otherlang_designations1(term, lgs)
pr = extract_otherlang_designations(term, lgs)
pr = merge_otherlang_designations(
extract_otherlang_designations(term, lgs),
)
return if pr.empty?

prefs = pr.map do |p|
"<dt>#{p[:lang]}</dt>"\
"<dd language='#{p[:lang]}' script='#{p[:script]}'>"\
"#{cleanup_entities(p[:designation].to_xml)}</dd>"
"#{cleanup_entities(p[:designation])}</dd>"
end
term << "<dl type='other-lang'>#{prefs.join}</dl>"
end
Expand Down
8 changes: 3 additions & 5 deletions spec/isodoc/iev_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -661,11 +661,11 @@
<terms id="_general" obligation="normative"><title>General</title>
<term id="item" language="en" tag="item">
<preferred><expression language="en"><name>system</name></expression><field-of-application>in dependability</field-of-application></preferred>
<preferred><expression language="ar"><name>نظام،</name></expression><field-of-application>في الاعتمادیة</field-of-application></preferred>
<preferred><expression language="de"><name>Betrachtungseinheit</name<grammar><gender>feminine</gender></grammar></expression></preferred>
<preferred><expression language="de"><name>Einheit</name><grammar><gender>feminine</gender></grammar></expression></preferred>
<preferred><expression language="ja"><name>アイテム</name></expression></preferred>
<preferred><expression language="de"><name>Einheit</name><grammar><gender>feminine</gender></grammar></expression></preferred>
<preferred><expression language="zh"><name>&#20135;&#21697;</name></expression><field-of-application>在可靠性方面</field-of-application></preferred>
<preferred><expression language="ar"><name>نظام،</name></expression><field-of-application>في الاعتمادیة</field-of-application></preferred>
<admitted><expression><name>paddy rice</name></expression></admitted>
<admitted><expression><name>rough rice</name></expression></admitted>
<deprecates><expression><name>cargo rice</name></expression></deprecates>
Expand Down Expand Up @@ -844,9 +844,7 @@
<strong>Betrachtungseinheit</strong>
, f
</preferred>
</dd>
<dt>de</dt>
<dd language="de" script="Latn">
<br/>
<preferred>
<strong>Einheit</strong>
, f
Expand Down

0 comments on commit 7f3bdee

Please sign in to comment.