Skip to content

Commit

Permalink
mvp-tema-i18n (#9): L10n bugfix; voltou a exibir idiomas alternativos…
Browse files Browse the repository at this point in the history
… se idioma principal falha miseravelmente
  • Loading branch information
fititnt committed Jun 19, 2021
1 parent bba5e9b commit 1047d8a
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 48 deletions.
24 changes: 18 additions & 6 deletions _plugins/hapi/hic_sunt_dracones.rb
Original file line number Diff line number Diff line change
Expand Up @@ -421,11 +421,11 @@ def globum?(api_collectionem = nil, schemam_collectionem = nil, tm_collectionem
# end

# TODO: this is a draft, needs implement exclusive XTmDrop
if !!tm.xdefallo_est && tm.gid_est?(clavem_gid)
# puts " #{schemam.nomen}"
# res['collectionem_xtm'].append(Hapi::Drops::XTranslationemMemoriamDrop.new(tm))
res['collectionem_xtm'].append(tm)
end
next unless !!tm.xdefallo_est && tm.gid_est?(clavem_gid)

# puts " #{schemam.nomen}"
# res['collectionem_xtm'].append(Hapi::Drops::XTranslationemMemoriamDrop.new(tm))
res['collectionem_xtm'].append(tm)

# res['collectionem_xapi'].append(api) if api.xdefallo_est && api.gid_est?(clavem_gid)
# # resultatum[clavem] = valendum
Expand Down Expand Up @@ -483,12 +483,24 @@ def tm_xdefallo?(tm_collectionem = nil) # rubocop:disable Metrics/MethodLength,M
def tm_paginam?
Jekyll.sites.last.data['hapi']['tm'] || []
end

# _[lat-Latn] Translationem memoriam rememorandum, non-perfectiōnem. [lat-Latn]_
def translationem_memoriam_rememorandum_non_perfectionem(rem)
puts "\n\n\t[🔎🐛 #{self.class.name}:#{__LINE__}] non_perfectionem [#{rem}]" if rem.est_sos?

puts 'test' if rem.est_sos?
end

# _[lat-Latn] Translationem memoriam rememorandum, fallendum [lat-Latn]_
def translationem_memoriam_rememorandum_fallendum(rem)
puts "\n\n\t[🔎🐛 #{self.class.name}:#{__LINE__}] fallendum [#{rem}]" if rem.est_sos?
end
end
end

# @see https://stackoverflow.com/questions/9381553/ruby-merge-nested-hash#30225093
class ::Hash
def deep_merge(second)
def deep_merge(second) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity,Metrics/MethodLength
merger = proc { |_, v1, v2|
if v1.is_a?(Hash) && v2.is_a?(Hash)
v1.merge(v2,
Expand Down
12 changes: 2 additions & 10 deletions _plugins/hapi/hxl.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ module HXL
module_function

# def hxlattrs_de_linguam(contextum, linguam = nil)
def optionem_de_linguam(contextum, linguam = nil)
def optionem_de_linguam(contextum, linguam = nil) # rubocop:disable Metrics/AbcSize
linguam = linguam.nil? ? contextum['page']['linguam'] : linguam
ref = contextum['site']['data']['referens']
# resultatum = Struct.new(:attributum, :hashtag, :ignorandum)
Expand Down Expand Up @@ -66,21 +66,13 @@ def quod_obiectum_optionem_existendum(_obiectum, _hxloptionem)
true
end

def testum(_obiectum, hxlattrs)
# puts 'testum'
# puts obiectum
# puts hxlattrs

"TODO #{hxlattrs}"
end

# _[eng] A quick helper to , for a guiven linguam, make inferences from
# _data/referens.yml to what is likely to be desired column
# [eng]_
class HXLOptionem
attr_accessor :attributum, :hashtag, :ignorandum_hashtag, :ignorandum_attributum, :referens

def initialize(attributum = nil, hashtag = nil, ignorandum = nil, referens = ['#item+id'])
def initialize(attributum = nil, hashtag = nil, ignorandum = nil, referens = ['#item+id']) # rubocop:disable Metrics/ParameterLists
@attributum = attributum
@hashtag = hashtag
@ignorandum_hashtag = ignorandum.nil? || ignorandum['hashtag'].nil? ? nil : ignorandum['hashtag']
Expand Down
81 changes: 49 additions & 32 deletions _plugins/jekyll_hapi_translationem.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ class AuxiliumTagProcessum
SOS_EMOJI = ['🔎🆘🔍'].freeze
SILENTIUM_EMOJI = ['🔇'].freeze

# https://en.wiktionary.org/wiki/vacuus#Latin
# VACUUM_TEXTUM = '∅'

# 📳 https://emojipedia.org/vibration-mode/
# 🔕 https://emojipedia.org/bell-with-slash/
TEXTUM_SOLUM_EMOJI = ['🔎🔕🔍'].freeze
Expand Down Expand Up @@ -142,7 +145,7 @@ def explanandum_resultatum # rubocop:disable Metrics/MethodLength,)
'sos_est' => @sos_est,
'textum_solum_est' => @textum_solum_est,
'contextum_url' => @paginam_contextum['url'],
'paratum_est' => if @fontem_linguam.nil?
'paratum_est' => if @fontem_linguam.nil? || @textum_solum_est == false
false
elsif @objectivum_linguam.nil?
@contextum_linguam == @fontem_linguam
Expand Down Expand Up @@ -331,7 +334,7 @@ def hashtag_exemplum
module Translationem # rubocop:disable Metrics/ModuleLength
module_function

# def datum_l10n(l10n_codice, context, linguam = nil) # rubocop:disable Metrics/AbcSize
# def datum_l10n(l10n_codice, context, linguam = nil)
# linguam = linguam.nil? ? context['page']['linguam'] : linguam
# # TODO: _[por] Implementar mensagem de erro se usuário errar linguam
# # como usar 'linguam: por' em vez de 'linguam: por-Latn'
Expand All @@ -355,7 +358,7 @@ module Translationem # rubocop:disable Metrics/ModuleLength
# nil
# end

# def datum_l10n_de_textum(textum, context, linguam_fontem, linguam_objectivum = nil) # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
# def datum_l10n_de_textum(textum, context, linguam_fontem, linguam_objectivum = nil)
# linguam_objectivum = linguam_objectivum.nil? ? context['page']['linguam'] : linguam_objectivum
# hxlattrs_fontem = context['site']['data']['referens']['linguam'][linguam_fontem]['hxlattrs']
# hxlattrs_objectivum = context['site']['data']['referens']['linguam'][linguam_objectivum]['hxlattrs']
Expand Down Expand Up @@ -663,12 +666,14 @@ def significationem_incognitum_textum(textum, context) # rubocop:disable Metrics
}
end

# _[lat-Lat] Trānslātiōnem memoriam, collēctiōnem [lat-Lat]_
def translationem_memoriam_collectionem(contextum)
# puts 'test'
# puts contextum['site']['data']['tm'].keys
contextum['site']['data']['tm']
end

# _[lat-Lat] Trānslātiōnem memoriam, rememorandum [lat-Lat]_
def translationem_memoriam_rememorandum(contextum, codicem, linguam = nil)
tm = translationem_memoriam_collectionem(contextum)
# hxlattrs = HXL.hxlattrs_de_linguam(contextum, linguam)
Expand Down Expand Up @@ -750,6 +755,9 @@ def significationem_contextum(contextum)
class DeL10nEmoji < Liquid::Tag
attr_accessor :tag_aux, :textum

# https://en.wiktionary.org/wiki/vacuus#Latin
VACUUM_TEXTUM = '∅'

# @see https://www.rubydoc.info/gems/liquid/Liquid/ParseContext
# @see https://github.com/Shopify/liquid/wiki/Liquid-for-Programmers#arguments-and-initialization
def initialize(tag_nomen, argumentum, initiale_processum)
Expand All @@ -775,7 +783,8 @@ def render(context) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metri
# puts "\n\n\t[🔎🐛 #{self.class.name}:#{__LINE__}] [#{@tag_aux.inspect}]"
# puts "\n\n\t[🔎🐛 #{self.class.name}:#{__LINE__}] [#{rem.inspect}]"
# puts "\n\n\t[🔎🐛 #{self.class.name}:#{__LINE__}] [#{rem.inspect}]"

puts 'sos_est' if rem.sos_est
puts 'est_sos?' if rem.est_sos?
if rem.paratum_est
# return Translationem.farmatum_praefectum(
# context, rem.fontem_textum, rem.fontem_textum
Expand All @@ -785,7 +794,7 @@ def render(context) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metri
)
end

l10n_contextum_init(context)
# l10n_contextum_init(context)

# puts "\n\n\t[🔎🐛 #{self.class.name}:#{__LINE__}] oi #{rem.paratum_est}" if rem.venandum_insectum_est
# puts "\n\n\t[🔎🐛 #{self.class.name}:#{__LINE__}] oi #{rem.inspect}" if rem.venandum_insectum_est
Expand All @@ -795,23 +804,17 @@ def render(context) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metri
l10nval = Translationem.translationem_memoriam_rememorandum(
context, rem.fontem_textum, rem.objectivum_linguam.linguam
)
# l10nval = 'tes'
# raise l10nval if l10nval
# return l10nval if l10nval != false
if l10nval != false
rem.objectivum_textum = l10nval

# puts 'l10nval'
# puts l10nval
# puts rem.fontem_textum
# puts 'sos_est' if rem.sos_est
# puts 'est_sos?' if rem.est_sos?
# puts l10nval.inspect if rem.est_sos?

# TODO: migrar para o Translationem.farmatum_praefectum_neo
# return Translationem.farmatum_praefectum_neo(
# rem
# )
# return Translationem.farmatum_praefectum(
# context, rem.fontem_textum, l10nval
# )
return '' if l10nval == VACUUM_TEXTUM

if l10nval == false || l10nval.nil?
Hapi::HSD.translationem_memoriam_rememorandum_non_perfectionem(rem)
else
rem.objectivum_textum = l10nval
return Translationem.farmatum_praefectum_neo(
rem
)
Expand All @@ -824,7 +827,10 @@ def render(context) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metri
l10nval_lat = Translationem.translationem_memoriam_rememorandum(
context, rem.fontem_textum, 'lat-Latn'
)
if l10nval_lat != false

return '' if l10nval_lat == VACUUM_TEXTUM

if l10nval_lat != false && !l10nval_lat.nil?
rem.alternandum_textum = l10nval_lat
rem.alternandum_linguam = 'lat-Latn'
# puts rem.inspect if rem.est_textum_solum_est?
Expand All @@ -838,7 +844,10 @@ def render(context) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metri
l10nval_por = Translationem.translationem_memoriam_rememorandum(
context, rem.fontem_textum, 'por-Latn'
)
if l10nval_por != false

return '' if l10nval_por == VACUUM_TEXTUM

if l10nval_por != false && !l10nval_por.nil?
rem.alternandum_textum = l10nval_por
rem.alternandum_linguam = 'por-Latn'
# puts rem.inspect if rem.est_textum_solum_est?
Expand All @@ -852,7 +861,10 @@ def render(context) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metri
l10nval_eng = Translationem.translationem_memoriam_rememorandum(
context, rem.fontem_textum, 'eng-Latn'
)
if l10nval_eng != false

return '' if l10nval_eng == VACUUM_TEXTUM

if l10nval_eng != false && !l10nval_eng.nil?
rem.alternandum_textum = l10nval_eng
rem.alternandum_linguam = 'eng-Latn'

Expand All @@ -865,7 +877,10 @@ def render(context) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metri
l10nval_spa = Translationem.translationem_memoriam_rememorandum(
context, rem.fontem_textum, 'spa-Latn'
)
if l10nval_spa != false

return '' if l10nval_spa == VACUUM_TEXTUM

if l10nval_spa != false && !l10nval_spa.nil?
rem.alternandum_textum = l10nval_spa
rem.alternandum_linguam = 'spa-Latn'
return Translationem.farmatum_alternandum(
Expand All @@ -874,6 +889,8 @@ def render(context) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metri
)
end

Hapi::HSD.translationem_memoriam_rememorandum_fallendum(rem)

# item1 = Hapi::Datum::Linguam.new({'linguam' => 'por-Latn', 'referens' => context['site']['data']['referens']})
# item2 = Hapi::Datum::Linguam.new({'linguam' => 'eng-Latn', 'referens' => context['site']['data']['referens']})

Expand All @@ -887,15 +904,15 @@ def render(context) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metri
# )
end

private
# private

def l10n_contextum_init(contextum)
@ego_sos = (contextum['ego'] && contextum['ego'] == '🆘')
# if @ego_sos
# puts "!!! [DeL10nEmoji 🆘 de tag [#{@tag_nomen}], de textum [#{@textum}], \
# de site.page [#{contextum['site']['page']}] ]!!!"
# end
end
# def l10n_contextum_init(contextum)
# @ego_sos = (contextum['ego'] && contextum['ego'] == '🆘')
# # if @ego_sos
# # puts "!!! [DeL10nEmoji 🆘 de tag [#{@tag_nomen}], de textum [#{@textum}], \
# # de site.page [#{contextum['site']['page']}] ]!!!"
# # end
# end
end

# _[eng] Generate HTML from markdown inside this block [eng]_
Expand Down

0 comments on commit 1047d8a

Please sign in to comment.