Open jgoetze opened 9 years ago
I added a filter to add_to_hash
, so it doenst call the recursiv function. That works and adds level 1 translations to yml file. But it has duplicate code to recursive function.
# adds a translation key with its translation to a translation yaml hash
# send the hash and the language as parameters
def add_to_hash(all_translations, lang)
levels = self.name.split('.')
# check the number of levels in translation name
if(levels.size > 1)
# recursive adding because of multiple levels
add_to_hash_rec(all_translations, levels, lang.to_s)
else
# direct adding 1 level to result
translation = self.accepted_translation_in(lang)
formatted = translation.value
# in case of arrays remove the unneeded header
formatted.to_yaml.gsub!("---\n" , '') if formatted.is_a?(Array)
all_translations[levels.first] = formatted
end
end
+1 Also having the same problem.
Hi everyone, I got issues exporting db translations to yml file.
In my translations I got this object:
I tried to export
db2yaml
for german. It exported everything except translations keys having no "." in their name.It tried to reproduce this in console and here are my results:
For each key
add_to_hash
is called and the result hash is passed. In that methodadd_to_hash_rec(all_translations, levels, lang)
is called and current levels are only ["empire"]. That means,level.count == 1
. Returned by the method is{"empire"=>"Imperium"}
as it should be, but it never gets added to the passed all_translations hash. So with that, it is not part of the export file.