2014-06-12 18:01:33 +01:00
|
|
|
title: $:/core/macros/lingo
|
|
|
|
tags: $:/tags/Macro
|
|
|
|
|
|
|
|
\define lingo-base()
|
2014-06-14 18:06:56 +01:00
|
|
|
$:/language/
|
2014-06-12 18:01:33 +01:00
|
|
|
\end
|
|
|
|
|
|
|
|
\define lingo(title)
|
|
|
|
{{$(lingo-base)$$title$}}
|
|
|
|
\end
|
2023-10-28 20:38:26 +08:00
|
|
|
|
2023-12-16 00:26:55 +08:00
|
|
|
\procedure translate(key, lingoBaseFallback:"", mode:block)
|
2023-10-28 20:38:26 +08:00
|
|
|
<!-- Allow assign lingo-base in caption field by accepting the lingo-base-fallback param. -->
|
2023-12-16 00:26:55 +08:00
|
|
|
<$set name="lingoBaseWithFallback" value=<<lingo-base-fallback>> emptyValue=<<lingo-base>>>
|
2023-10-28 20:38:26 +08:00
|
|
|
<$set name="lang" filter="[[$:/language]get[text]get[name]else[en-GB]]" select="0">
|
|
|
|
<!-- Allow lingo-base to have or not have / ending slash, for better dev experience. Then add, e.g. `en-GB/Key` after it. -->
|
2023-12-16 00:26:55 +08:00
|
|
|
<$set name="lingoTarget" filter="[<lingoBaseWithFallback>suffix[/]then<lingoBaseWithFallback>] ~[<lingoBaseWithFallback>addsuffix[/]] +[addsuffix<lang>addsuffix[/]addsuffix<key>]" select="0">
|
|
|
|
<$transclude $tiddler=<<lingoTarget>> $mode=<<mode>> />
|
2023-10-28 20:38:26 +08:00
|
|
|
</$set>
|
|
|
|
</$set>
|
|
|
|
</$set>
|
|
|
|
\end
|