webmcp

annotate framework/env/locale/_get_translation_table.lua @ 148:5354d836e6fb

Minor bugfix in json_newindex function of JSON library (should return nothing)
author jbe
date Wed Jul 30 22:32:33 2014 +0200 (2014-07-30)
parents 3d43a5cf17c1
children 2cb27106aa73
rev   line source
jbe/bsw@0 1 function locale._get_translation_table()
jbe/bsw@0 2 local language_code = locale.get("lang")
jbe/bsw@0 3 if language_code then
jbe/bsw@0 4 if type(language_code) ~= "string" then
jbe/bsw@0 5 error('locale.get("lang") does not return a string.')
jbe/bsw@0 6 end
jbe/bsw@0 7 local translation_table = locale._translation_tables[language_code]
jbe/bsw@0 8 if translation_table then
jbe/bsw@0 9 return translation_table
jbe/bsw@0 10 end
jbe/bsw@0 11 local filename = encode.file_path(request.get_app_basepath(), "locale", "translations." .. language_code .. ".lua")
jbe@64 12 local func
jbe@64 13 if _ENV then
jbe@64 14 func = assert(loadfile(filename), nil, {})
jbe@64 15 else
jbe@64 16 func = assert(loadfile(filename))
jbe@64 17 setfenv(func, {})
jbe@64 18 end
jbe/bsw@0 19 translation_table = func()
jbe/bsw@0 20 if type(translation_table) ~= "table" then
jbe/bsw@0 21 error("Translation file did not return a table.")
jbe/bsw@0 22 end
jbe/bsw@0 23 locale._translation_tables[language_code] = translation_table
jbe/bsw@0 24 return translation_table
jbe/bsw@0 25 else
jbe/bsw@0 26 return locale._empty_translation_table
jbe/bsw@0 27 end
jbe/bsw@0 28 end

Impressum / About Us