89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# File 'lib/merb_global/message_providers/gettext.rb', line 89
def export(data)
data.each do |lang_name, lang|
lang_file = File.join(Merb::Global::MessageProviders.localedir,
lang_name + '.po')
open(lang_file, 'w') do |po|
po.puts "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: 0.0.1\\\\n\"\n\"POT-Creation-Date: \#{Time.now.strftime('%Y-%m-%d %H:%M%z')}\\\\n\"\n\"PO-Revision-Date: \#{Time.now.strftime('%Y-%m-%d %H:%M%z')}\\\\n\"\n\"Last-Translator: <[email protected]>\\\\n\"\n\"Language-Team: Language type\\\\n\"\n\"MIME-Version: 1.0\\\\n\"\n\"Content-Type: text/plain; charset=UTF-8\\\\n\"\n\"Content-Transfer-Encoding: 8bit\\\\n\"\n\"Plural-Forms: nplurals=\#{lang[:nplurals]}; plural=\#{lang[:plural]}\\\\n\"\n"
lang.each do |msgid, msgstr_hash|
po.puts ""
po.puts "msgid \"#{msgid}\""
if msgstr_hash[:plural]
po.puts "msgid_plural \"#{msgstr_hash[:plural]}\""
msgstr_hash.each do |msgstr_index, msgstr|
po.puts "msgstr[#{msgstr_index}] \"#{msgstr}\""
end
else
po.puts "msgstr \"#{msgstr_hash[nil]}\""
end
end
end
lang_dir = File.join(Merb::Global::MessageProviders.localedir,
lang, 'LC_MESSAGES')
FileUtils.mkdir_p lang_dir
domain = Merb::Global.config([:gettext, :domain], 'merbapp')
`msgfmt #{lang_file} -o #{lang_dir}/#{domain}.mo`
end
end
|