diff options
Diffstat (limited to 'lib/classes/l10n.p')
| -rw-r--r-- | lib/classes/l10n.p | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/classes/l10n.p b/lib/classes/l10n.p new file mode 100644 index 0000000..4760159 --- /dev/null +++ b/lib/classes/l10n.p @@ -0,0 +1,34 @@ +@CLASS +l10n + +############################## +@create[language;fallback_language][localization_table] +$self.language[$language] +$self.fallback_language[$fallback_language] + +$localization_table[^table::load[../data/localization.csv; + $.separator[^;] +]] +$self.localization[^localization_table.hash[Key]] +#end @create[] + +############################## +@t[key] +^if(^self.localization.contains[$key]){ + $row[$self.localization.[$key]] + + $value[$row.[$self.language]] + ^if(!def $value){ + $value[$row.[$self.fallback_language]] + } + + ^if(def $value){$result[$value]}{$result[$key]} +}{ + $result[$key] +} +#end @t[] + +############################## +@html[key] +$result[^taint[as-is][^self.t[$key]]] +#end @html[] |
