lib/include/class_knjappserver_translations.rb in knjappserver-0.0.29 vs lib/include/class_knjappserver_translations.rb in knjappserver-0.0.30

- old
+ new

@@ -1,17 +1,17 @@ class Knjappserver + #Translates a given key for a given object. + #===Examples + # print _kas.trans(obj, :title) #=> "Trala" def trans(obj, key, args = {}) args[:locale] = self.trans_locale if !args[:locale] trans_val = @translations.get(obj, key, args).to_s - - if trans_val.length <= 0 - trans_val = @events.call(:trans_no_str, {:obj => obj, :key => key, :args => args}) - end - + trans_val = @events.call(:trans_no_str, {:obj => obj, :key => key, :args => args}) if trans_val.length <= 0 return trans_val end + #Returns the locale for the current thread. def trans_locale(args = {}) if args.is_a?(Hash) and args[:locale] return args[:locale] elsif _session and _session[:locale] return _session[:locale] @@ -24,14 +24,20 @@ end raise "Could not figure out locale." end + #Sets new translations for the given object. + #===Examples + # _kas.trans_set(obj, {:title => "Trala"}) def trans_set(obj, values, args = {}) args[:locale] = self.trans_locale if !args[:locale] @translations.set(obj, values, args) end + #Deletes all translations for the given object. + #===Examples + # _kas.trans_del(obj) def trans_del(obj) @translations.delete(obj) end end \ No newline at end of file