X-Git-Url: http://git.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=applications%2Fluci-statistics%2Fluasrc%2Fstatistics%2Fi18n.lua;h=a1a2fa9de3a4ffc7c270b7054b04ed303aae44bd;hp=9aa642c3437f35d1cb26edfdee703c2f1bfa7a5c;hb=839dcdc01299869bc714990c19d8e244f18318b5;hpb=873b20cb19ed91957217ebc5284dc86658042100 diff --git a/applications/luci-statistics/luasrc/statistics/i18n.lua b/applications/luci-statistics/luasrc/statistics/i18n.lua index 9aa642c343..a1a2fa9de3 100644 --- a/applications/luci-statistics/luasrc/statistics/i18n.lua +++ b/applications/luci-statistics/luasrc/statistics/i18n.lua @@ -25,8 +25,6 @@ Instance = luci.util.class() function Instance.__init__( self, graph ) self.i18n = luci.i18n self.graph = graph - - self.i18n.loadc("statistics") end function Instance._subst( self, str, val ) @@ -40,23 +38,26 @@ function Instance._subst( self, str, val ) 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 ) - ) - ) - ) - ) +function Instance._translate( self, key, alt ) + local val = self.i18n.string(key) + if val ~= key then + return val + else + return alt + end +end + +function Instance.title( self, plugin, pinst, dtype, dinst, user_title ) - return self:_subst( title, { + local title = user_title or + "p=%s/pi=%s/dt=%s/di=%s" % { + plugin, + (pinst and #pinst > 0) and pinst or "(nil)", + (dtype and #dtype > 0) and dtype or "(nil)", + (dinst and #dinst > 0) and dinst or "(nil)" + } + + return self:_subst( title, { plugin = plugin, pinst = pinst, dtype = dtype, @@ -65,23 +66,15 @@ function Instance.title( self, plugin, pinst, dtype, 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 ) - ) - ) - ) - ) +function Instance.label( self, plugin, pinst, dtype, dinst, user_label ) + + local label = user_label or + "dt=%s/di=%s" % { + (dtype and #dtype > 0) and dtype or "(nil)", + (dinst and #dinst > 0) and dinst or "(nil)" + } - return self:_subst( label, { + return self:_subst( label, { plugin = plugin, pinst = pinst, dtype = dtype, @@ -92,13 +85,13 @@ end function Instance.ds( self, source ) - local label = self.i18n.translate( + local label = source.title or self:_translate( string.format( "stat_ds_%s_%s_%s", source.type, source.instance, source.ds ), - self.i18n.translate( + self:_translate( string.format( "stat_ds_%s_%s", source.type, source.instance ), - self.i18n.translate( + self:_translate( string.format( "stat_ds_label_%s__%s", source.type, source.ds ), - self.i18n.translate( + self:_translate( string.format( "stat_ds_%s", source.type ), source.type .. "_" .. source.instance:gsub("[^%w]","_") .. "_" .. source.ds ) @@ -106,9 +99,10 @@ function Instance.ds( self, source ) ) ) - return self:_subst( label, { + return self:_subst( label, { dtype = source.type, dinst = source.instance, dsrc = source.ds } ) + end