diff options
| author | maike <maike@synzr.tw> | 2026-09-03 23:10:44 +0500 |
|---|---|---|
| committer | maike <maike@synzr.tw> | 2026-09-03 23:10:44 +0500 |
| commit | 2434488e501418d0c75bcfd1f8281eb46ee45bbb (patch) | |
| tree | 0e64a3125b9e50e1cbcc03045950eb3c285ac986 /lib | |
| parent | b5dcc96742cc2cbf98e4c0f734e842418e4f4307 (diff) | |
| download | hamster-main.tar.gz hamster-main.tar.bz2 hamster-main.zip | |
Diffstat (limited to 'lib')
| -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[] |
