From 8e60fa48a8535da9eaa34ef35b5040c2eb68fc3b Mon Sep 17 00:00:00 2001 From: Sebastian Reichel Date: Thu, 28 Jun 2018 21:35:23 +0200 Subject: all: I18N support This adds I18N support using standard gettext system together with an initial German translation. This can be used to search locales in some directory: Intl.bindtextdomain("shopsystem", "/home/sre/src/serial-barcode-scanner"); And this can be used to switch language at runtime: Intl.setlocale(LocaleCategory.ALL, ""); --- Makefile | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index d551b6b..ee08cef 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,18 @@ all: @cd src && make --no-print-directory all +gettext: locale/de/LC_MESSAGES/shopsystem.mo + +locale/de/LC_MESSAGES/shopsystem.mo: locale/de.po + install -d locale/de/LC_MESSAGES/ + msgfmt -o $@ $< + +locale/%.po: locale/messages.pot + msgmerge -N --backup=off --update $@ $< + +locale/messages.pot: */*/*.vala + xgettext --language=vala --from-code=utf-8 --keyword=_ --escape --sort-output -o $@ */*/*.vala + clean: @cd src && make --no-print-directory clean @@ -14,4 +26,4 @@ shop.db: sql/tables.sql sql/views.sql sql/trigger.sql sqlite3 shop.db < $$file; \ done -.PHONY: all clean install +.PHONY: all clean install gettext -- cgit v1.2.3