summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/src/Makefile
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-01-23 21:53:26 +0100
committerJo-Philipp Wich <jo@mein.io>2020-01-25 23:21:35 +0100
commit9939fc5a26d07da4756497bb6a7dc51dcf379e98 (patch)
treee79785f03912d2cec48fdf59f132a42528bd4c6f /modules/luci-base/src/Makefile
parent6f6f3e84ca0bc04cd69433f723371fdd3416add9 (diff)
luci-base: add support for plural translations and contexts in Lua api
- 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>
Diffstat (limited to 'modules/luci-base/src/Makefile')
-rw-r--r--modules/luci-base/src/Makefile16
1 files changed, 12 insertions, 4 deletions
diff --git a/modules/luci-base/src/Makefile b/modules/luci-base/src/Makefile
index 3e6ead1085..2a425d5ab7 100644
--- a/modules/luci-base/src/Makefile
+++ b/modules/luci-base/src/Makefile
@@ -1,16 +1,24 @@
%.o: %.c
- $(CC) $(CPPFLAGS) $(CFLAGS) $(FPIC) -c -o $@ $<
+ $(CC) $(CPPFLAGS) $(CFLAGS) $(FPIC) -DNDEBUG -c -o $@ $<
+
+contrib/lemon: contrib/lemon.c contrib/lempar.c
+ cc -o contrib/lemon $<
+
+plural_formula.c: plural_formula.y contrib/lemon
+ ./contrib/lemon -q $<
+
+template_lmo.c: plural_formula.c
clean:
- rm -f po2lmo parser.so version.lua *.o
+ rm -f contrib/lemon po2lmo parser.so version.lua plural_formula.c plural_formula.h *.o
jsmin: jsmin.o
$(CC) $(LDFLAGS) -o $@ $^
-po2lmo: po2lmo.o template_lmo.o
+po2lmo: po2lmo.o template_lmo.o plural_formula.o
$(CC) $(LDFLAGS) -o $@ $^
-parser.so: template_parser.o template_utils.o template_lmo.o template_lualib.o
+parser.so: template_parser.o template_utils.o template_lmo.o template_lualib.o plural_formula.o
$(CC) $(LDFLAGS) -shared -o $@ $^
version.lua: