Skip to content

Commit

Permalink
improved i18n terms: 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 130ed67 commit 5642d94
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 17 deletions.
48 changes: 48 additions & 0 deletions lib/asciidoctor/iec/iec.rng
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,54 @@
<ref name="tc-sc-officers-note"/>
</optional>
</define>
<define name="term">
<element name="term">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
<attribute name="language"/>
</optional>
<optional>
<attribute name="script"/>
</optional>
<optional>
<attribute name="tag"/>
</optional>
<optional>
<attribute name="multilingual-rendering">
<ref name="MultilingualRenderingType"/>
</attribute>
</optional>
<oneOrMore>
<ref name="preferred"/>
</oneOrMore>
<zeroOrMore>
<ref name="admitted"/>
</zeroOrMore>
<zeroOrMore>
<ref name="deprecates"/>
</zeroOrMore>
<optional>
<ref name="termdomain"/>
</optional>
<ref name="termdefinition"/>
<zeroOrMore>
<ref name="termnote"/>
</zeroOrMore>
<zeroOrMore>
<ref name="termexample"/>
</zeroOrMore>
<zeroOrMore>
<ref name="termsource"/>
</zeroOrMore>
<zeroOrMore>
<ref name="term"/>
</zeroOrMore>
</element>
</define>
</include>
<!-- end overrides -->
<define name="function">
Expand Down
2 changes: 1 addition & 1 deletion lib/asciidoctor/iec/isodoc.rng
Original file line number Diff line number Diff line change
Expand Up @@ -1987,7 +1987,7 @@
</element>
</optional>
<optional>
<element name="grammar-info">
<element name="grammar">
<ref name="Grammar"/>
</element>
</optional>
Expand Down
36 changes: 23 additions & 13 deletions lib/isodoc/iec/base_convert.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,17 @@ def foreword(isoxml, out)
page_break(out)
iec_orgname(out)
middle_title(isoxml, out)
out.div **attr_code(id: f ? f["id"] : "") do |s|
foreword1(f, b, out)
end

def foreword1(sect, boilerplate, out)
out.div **attr_code(id: sect ? sect["id"] : "") do |s|
s.h1(**{ class: "ForewordTitle" }) { |h1| h1 << @i18n.foreword }
@meta.get[:doctype] == "Amendment" or
s.div **attr_code(class: "boilerplate_legal") do |s1|
b&.elements&.each { |e| parse(e, s1) }
boilerplate&.elements&.each { |e| parse(e, s1) }
end
f&.elements&.each { |e| parse(e, s) unless e.name == "title" }
sect&.elements&.each { |e| parse(e, s) unless e.name == "title" }
end
end

Expand All @@ -31,19 +35,11 @@ def iec_orgname(out)
end

def middle_title(_isoxml, out)
title1 = @meta.get[:doctitlemain]&.sub(/\s+$/, "")
@meta.get[:doctitleintro] and
title1 = "#{@meta.get[:doctitleintro]} &mdash; #{title1}"
if @meta.get[:doctitlepart]
title1 += " &mdash;"
title2 = @meta.get[:doctitlepart]&.sub(/\s+$/, "")
@meta.get[:doctitlepartlabel] and
title2 = "#{@meta.get[:doctitlepartlabel]}: #{title2}"
end
title1, title2 = middle_title_parts(out)
out.p(**{ class: "zzSTDTitle1" }) do |p|
p.b { |b| b << title1 }
end
if @meta.get[:doctitlepart]
if title2
out.p(**{ class: "zzSTDTitle1" }) { |p| p << "&nbsp;" }
out.p(**{ class: "zzSTDTitle2" }) do |p|
p.b { |b| b << title2 }
Expand All @@ -52,6 +48,20 @@ def middle_title(_isoxml, out)
out.p(**{ class: "zzSTDTitle1" }) { |p| p << "&nbsp;" }
end

def middle_title_parts(out)
title1 = @meta.get[:doctitlemain]&.sub(/\s+$/, "")
@meta.get[:doctitleintro] and
title1 = "#{@meta.get[:doctitleintro]} &mdash; #{title1}"
title2 = nil
if @meta.get[:doctitlepart]
title1 += " &mdash;"
title2 = @meta.get[:doctitlepart]&.sub(/\s+$/, "")
@meta.get[:doctitlepartlabel] and
title2 = "#{@meta.get[:doctitlepartlabel]}: #{title2}"
end
[title1, title2]
end

def bibliography(isoxml, out)
return super unless @is_iev
end
Expand Down
8 changes: 5 additions & 3 deletions lib/isodoc/iec/presentation_xml_convert.rb
Original file line number Diff line number Diff line change
Expand Up @@ -126,10 +126,12 @@ def extract_otherlang_designations(term, lgs)

def l10n_recursive(xml, lang)
script = Metanorma::Utils.default_script(lang)
c = HTMLEntities.new
xml.traverse do |x|
next unless x.text?

x.replace(l10n(x, lang, script))
text = c.encode(c.decode(x.text), :hexadecimal)
x.replace(cleanup_entities(l10n(text, lang, script), is_xml: false))
end
xml
end
Expand All @@ -141,7 +143,7 @@ def otherlang_designations1(term, lgs)
prefs = pr.map do |p|
"<dt>#{p[:lang]}</dt>"\
"<dd language='#{p[:lang]}' script='#{p[:script]}'>"\
"#{p[:designation].to_xml}</dd>"
"#{cleanup_entities(p[:designation].to_xml)}</dd>"
end
term << "<dl type='other-lang'>#{prefs.join}</dl>"
end
Expand Down Expand Up @@ -171,7 +173,7 @@ def termsource1(node)

def termsource1_iev(elem)
while elem&.next_element&.name == "termsource"
elem << "; #{elem.next_element.remove.children.to_xml}"
elem << l10n("; #{elem.next_element.remove.children.to_xml}")
end
elem.children = l10n("#{@i18n.source}: #{elem.children.to_xml.strip}")
end
Expand Down
7 changes: 7 additions & 0 deletions spec/isodoc/iev_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -665,6 +665,7 @@
<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="zh"><name>&#20135;&#21697;</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 @@ -857,6 +858,12 @@
<strong>&#x30A2;&#x30A4;&#x30C6;&#x30E0;</strong>
</preferred>
</dd>
<dt>zh</dt>
<dd language='zh' script='Hans'>
<preferred>
<strong>&#x4EA7;&#x54C1;</strong> &#x3001;&#x3c;&#x5728;&#x53EF;&#x9760;&#x6027;&#x65B9;&#x9762;&#x3e;
</preferred>
</dd>
</dl>
</term>
<term id='paddy1'>
Expand Down

0 comments on commit 5642d94

Please sign in to comment.