From b06638df6e776fc380687b06924a77b03055c00e Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Wed, 28 May 2008 22:34:26 +0000 Subject: * luci/statistics: implement initial i18n support, added first translations, removed hardcoded strings from models --- .../luci-statistics/luasrc/statistics/i18n.lua | 100 +++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 applications/luci-statistics/luasrc/statistics/i18n.lua (limited to 'applications/luci-statistics/luasrc/statistics/i18n.lua') diff --git a/applications/luci-statistics/luasrc/statistics/i18n.lua b/applications/luci-statistics/luasrc/statistics/i18n.lua new file mode 100644 index 0000000000..a31d126676 --- /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 -- cgit v1.2.3