From 2434488e501418d0c75bcfd1f8281eb46ee45bbb Mon Sep 17 00:00:00 2001 From: maike Date: Thu, 3 Sep 2026 23:10:44 +0500 Subject: Basic localization implementation --- lib/classes/l10n.p | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 lib/classes/l10n.p (limited to 'lib/classes/l10n.p') 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[] -- cgit v1.3