diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2008-05-28 22:34:26 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2008-05-28 22:34:26 +0000 |
commit | b06638df6e776fc380687b06924a77b03055c00e (patch) | |
tree | 9474d20d6ea68d2bf3911e60b865c306462eac97 /applications/luci-statistics/luasrc/statistics/i18n.lua | |
parent | aafa5b786d4692fe65bdc2ac8552976d0a3a3a51 (diff) |
* luci/statistics: implement initial i18n support, added first translations, removed hardcoded strings from models
Diffstat (limited to 'applications/luci-statistics/luasrc/statistics/i18n.lua')
-rw-r--r-- | applications/luci-statistics/luasrc/statistics/i18n.lua | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/applications/luci-statistics/luasrc/statistics/i18n.lua b/applications/luci-statistics/luasrc/statistics/i18n.lua new file mode 100644 index 000000000..a31d12667 --- /dev/null +++ b/applications/luci-statistics/luasrc/statistics/i18n.lua @@ -0,0 +1,100 @@ +module("luci.statistics.i18n", package.seeall) + +require("luci.util") +require("luci.i18n") + + +Instance = luci.util.class() + + +function Instance.__init__( self, graph ) + self.i18n = luci.i18n + self.graph = graph + + -- XXX: compat hack + self.i18n.load("statistics.en") +end + +function Instance._subst( self, str, val ) + str = str:gsub( "%%H", self.graph.opts.host or "" ) + str = str:gsub( "%%pn", val.plugin or "" ) + str = str:gsub( "%%pi", val.pinst or "" ) + str = str:gsub( "%%dt", val.dtype or "" ) + str = str:gsub( "%%di", val.dinst or "" ) + str = str:gsub( "%%ds", val.dsrc or "" ) + + return str +end + +function Instance.title( self, plugin, pinst, dtype, dinst ) + + local title = self.i18n.translate( + string.format( "stat_dg_title_%s_%s_%s", plugin, pinst, dtype ), + self.i18n.translate( + string.format( "stat_dg_title_%s_%s", plugin, pinst ), + self.i18n.translate( + string.format( "stat_dg_title_%s__%s", plugin, dtype ), + self.i18n.translate( + string.format( "stat_dg_title_%s", plugin ), + self.graph:_mkpath( plugin, pinst, dtype ) + ) + ) + ) + ) + + return self:_subst( title, { + plugin = plugin, + pinst = pinst, + dtype = dtype, + dinst = dinst + } ) + +end + +function Instance.label( self, plugin, pinst, dtype, dinst ) + + local label = self.i18n.translate( + string.format( "stat_dg_label_%s_%s_%s", plugin, pinst, dtype ), + self.i18n.translate( + string.format( "stat_dg_label_%s_%s", plugin, pinst ), + self.i18n.translate( + string.format( "stat_dg_label_%s__%s", plugin, dtype ), + self.i18n.translate( + string.format( "stat_dg_label_%s", plugin ), + self.graph:_mkpath( plugin, pinst, dtype ) + ) + ) + ) + ) + + return self:_subst( label, { + plugin = plugin, + pinst = pinst, + dtype = dtype, + dinst = dinst + } ) + +end + +function Instance.ds( self, source ) + + local label = self.i18n.translate( + string.format( "stat_ds_%s_%s_%s", source.type, source.instance, source.ds ), + self.i18n.translate( + string.format( "stat_ds_%s_%s", source.type, source.instance ), + self.i18n.translate( + string.format( "stat_ds_label_%s__%s", source.type, source.ds ), + self.i18n.translate( + string.format( "stat_ds_%s", source.type ), + source.type .. "_" .. source.instance:gsub("[^%w]","_") .. "_" .. source.ds + ) + ) + ) + ) + + return self:_subst( label, { + dtype = source.type, + dinst = source.instance, + dsrc = source.ds + } ) +end |