luci-base: introduce luci.i18n.dump()
authorJo-Philipp Wich <jo@mein.io>
Thu, 18 Oct 2018 08:54:12 +0000 (10:54 +0200)
committerJo-Philipp Wich <jo@mein.io>
Mon, 5 Nov 2018 10:01:45 +0000 (11:01 +0100)
Add a new luci.i18n.dump() function which returns all currently loaded
translation strings as Lua table.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/luasrc/i18n.lua
modules/luci-base/luasrc/i18n.luadoc

index 968c387f12b6ec785264c8aa2deb3770a520504c..42de832f7b95ab5b045041264ad7d133aacd5aba 100644 (file)
@@ -69,3 +69,9 @@ end
 function stringf(key, ...)
        return tostring(translate(key)):format(...)
 end
+
+function dump()
+       local rv = {}
+       tparser.get_translations(function(k, v) rv[k] = v end)
+       return rv
+end
index 13f10a107125c939db8bbffd635d939438dea102..df6e38e5de38ca8b25afe5c6cff3d13e75b7c14a 100644 (file)
@@ -6,7 +6,6 @@ module "luci.i18n"
 ---[[
 Clear the translation table.
 
-
 @class function
 @name clear
 ]]
@@ -26,6 +25,7 @@ Load a translation and copy its data into the translation table.
 Load a translation file using the default translation language.
 
 Alternatively load the translation of the fallback language.
+
 @class function
 @name loadc
 @param file    Language file
@@ -62,9 +62,10 @@ Return the translated value for a specific translation key and use it as sprintf
 
 ---[[
 Return the translated value for a specific translation key
-
 and ensure that the returned value is a Lua string value.
+
 This is the same as calling <code>tostring(translate(...))</code>
+
 @class function
 @name string
 @param key             Default translation text
@@ -75,7 +76,9 @@ This is the same as calling <code>tostring(translate(...))</code>
 Return the translated value for a specific translation key and use it as sprintf pattern.
 
 Ensure that the returned value is a Lua string value.
+
 This is the same as calling <code>tostring(translatef(...))</code>
+
 @class function
 @name stringf
 @param key             Default translation text
@@ -83,3 +86,12 @@ This is the same as calling <code>tostring(translatef(...))</code>
 @return                        Translated and formatted string
 ]]
 
+---[[
+Return all currently loaded translation strings as a key-value table. The key is the
+hexadecimal representation of the translation key while the value is the translated
+text content.
+
+@class function
+@name dump
+@return                        Key-value translation string table.
+]]