- Introduce a new luci.template.parser.ntranslate() function which
takes a count, a singular and a plural translation string as well
as an optional context argument and returns the appropriate,
language specific plural translation.
- Introduce an optional translation context argument in the existing
luci.template.parser.translate() function
- Support translation contexts in LuCI template directives.
Translation messages are split on the first unescaped pipe
character and the reamining string after the pipe is treated
as context.
Examples:
- `string.format(p.ntranslate(n, "1 apple", "%d apples"), n)` will
return an appropriate plural translation for the given amount.
- `translate("Load", "The system load")` will return an appropiate
translation for `Load`, using `The system load` as disambiguation
context (a `msgctxt` directive in *.po files).
- Likewise `<%:Load|The system load%>` will translate the word
`Load` while using the remainder of the string as context.
- To use pipes in translations strings literally, they must be
escaped: `<%:Use the "\|" character%>` will translate the literal
string `Use the "|" character`.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
|
||
---|---|---|
.. | ||
luadoc | ||
check-controllers.sh | ||
i18n-add-language.sh | ||
i18n-init.sh | ||
i18n-merge-master.pl | ||
i18n-po2lua.pl | ||
i18n-scan.pl | ||
i18n-sync.sh | ||
i18n-update.pl | ||
makedocs.sh | ||
mkbasepot.sh | ||
mkrevision.sh | ||
zoneinfo2lua.pl |