diff options
author | Michael Tänzer <neo@nhng.de> | 2012-01-26 20:46:40 +0100 |
---|---|---|
committer | Michael Tänzer <neo@nhng.de> | 2012-01-26 20:46:40 +0100 |
commit | f6129590b312f0b6b680f6085ff15f1d41c70691 (patch) | |
tree | 5da0a76fbdd0ec7238017904659a90b35d5b93f7 /locale | |
parent | 368dec24f64435048650b07eee0264a7fdc41399 (diff) | |
download | cacert-devel-f6129590b312f0b6b680f6085ff15f1d41c70691.tar.gz cacert-devel-f6129590b312f0b6b680f6085ff15f1d41c70691.tar.xz cacert-devel-f6129590b312f0b6b680f6085ff15f1d41c70691.zip |
Source code taken from cacert-20120125.tar.bz2
Diffstat (limited to 'locale')
-rw-r--r-- | locale/Makefile | 184 | ||||
-rwxr-xr-x | locale/make.php | 35 |
2 files changed, 184 insertions, 35 deletions
diff --git a/locale/Makefile b/locale/Makefile new file mode 100644 index 0000000..b703fb2 --- /dev/null +++ b/locale/Makefile @@ -0,0 +1,184 @@ +# +# This Makefile will download the translations from our translation server (if +# they don't exist yet) and compile them. Try target help for more information +# + +################################################################################ +### Download ### +################################################################################ + +DOWNLOAD_SERVER := translations.cacert.org +PO_URL_TEMPLATE := http://$(DOWNLOAD_SERVER)/export/cacert/%/messages.po + +# Only use languages that have 10% or more of translated strings +AUTO_LANGS := \ +en \ +de \ +nl \ +pt_BR \ +fr \ +sv \ +it \ +es \ +hu \ +fi \ +ja \ +bg \ +pt \ +da \ +pl \ +zh_CN \ +ru \ +lv \ +cs \ +zh_TW \ +el \ +tr \ +ar \ + +LANGS := \ +ar \ +bg \ +cs \ +da \ +de \ +el \ +en \ +es \ +fa \ +fi \ +fr \ +he \ +hr \ +hu \ +id \ +is \ +it \ +ja \ +ka \ +ko \ +lv \ +nb \ +nl \ +pl \ +pt \ +pt_BR \ +ro \ +ru \ +sl \ +sv \ +th \ +tr \ +uk \ +zh_CN \ +zh_TW \ + + +PO_FILE_TEMPLATE := %/messages.po +MO_FILE_TEMPLATE := %/LC_MESSAGES/messages.mo + + +# target: all - Build locales downloading po files +.PHONY: all +all: $(AUTO_LANGS) + + +# target: help - Display callable targets +.PHONY: help +help: + @egrep "^# target:" [Mm]akefile + + +# target: clean - remove the build directories +RM := rm -rf +.PHONY: clean +clean: + -$(RM) $(LANGS:%=%/) + + +# target: <lang> - build this particular language +.PHONY: $(LANGS) +$(LANGS): %: $(MO_FILE_TEMPLATE) + + +$(LANGS:%=$(MO_FILE_TEMPLATE)): $(MO_FILE_TEMPLATE): $(PO_FILE_TEMPLATE) + mkdir -p $(@D) +#filter obsolete translations + grep --invert-match '^#~ ' $< | \ + msgfmt --check --output-file $@ - + + +.PHONY: $(LANGS:%=$(PO_FILE_TEMPLATE)) +$(LANGS:%=$(PO_FILE_TEMPLATE)): + mkdir -p $(@D) + wget --output-document - '$(@:$(PO_FILE_TEMPLATE)=$(PO_URL_TEMPLATE))' | \ + # convert UTF-8 characters to HTML entities \ + php -r 'while (!feof(STDIN)) echo mb_convert_encoding(fgets(STDIN), "HTML-ENTITIES", "UTF-8");' \ + > $@ + + + + +################################################################################ +### Upload ### +################################################################################ + +UPLOAD_SERVER := $(DOWNLOAD_SERVER) +SSH_USER := critical +SSH_OPTIONS := +SCP_OPTIONS := $(SSH_OPTIONS) + +FILE_OWNER := www-data + +POT_UPLOAD_PATH := /var/www/Pootle/po/cacert/templates/messages.pot +MANAGE_PY := /var/www/Pootle/manage.py + +VERSION := Production +DESCRITPION := LibreSSL - CAcert web application (localisation files) +COPYRIGHT_YEAR := 2004-$(shell date +\%Y) +PACKAGE := LibreSSL + +GETTEXT_FILE_PATTERN := \ +../CommModule/client.pl \ +../includes/*.php \ +../includes/*/*.php \ +../pages/*/*.php \ +../scripts/*.php \ +../www/*.php \ +../www/*/*.php \ +# ../tverify/*.php \ +# ../tverify/*/*.php \ + +GETTEXT_FILES := $(wildcard $(GETTEXT_FILE_PATTERN)) + +# target: template - create the gettext template file, if you want to upload it +# target: onto the translation server you can directly use the +# target: target "upload" +.PHONY: template +template: messages.pot + +# target: template.clean - remove anything that was created during the build of +# target: the template file +.PHONY: template.clean +template.clean: + -$(RM) messages.pot + + +# target: upload - upload the template to the translation server +.PHONY: upload +upload: messages.pot + scp $(SCP_OPTIONS) messages.pot $(SSH_USER)@$(UPLOAD_SERVER):$(POT_UPLOAD_PATH) + ssh $(SSH_OPTIONS) $(SSH_USER)@$(UPLOAD_SERVER) "sudo -u $(FILE_OWNER) pootle-update cacert" + +# target: upload.clean - remove anything that was created during the upload +.PHONY: upload.clean +upload.clean: template.clean + +messages.pot: $(GETTEXT_FILES) + xgettext --output - --sort-by-file --copyright-holder "CAcert Inc." \ + --package-name "CAcert" --package-version "$(VERSION)" \ + --msgid-bugs-address "translations-admin@cacert.org" $^ | \ + # replace place holders in the lines before the first msgid\ + sed '1,/^msgid/ { s/SOME DESCRIPTIVE TITLE/$(DESCRITPION)/; s/YEAR/$(COPYRIGHT_YEAR)/; s/PACKAGE/$(PACKAGE)/ }' \ + > $@ + diff --git a/locale/make.php b/locale/make.php deleted file mode 100755 index 859d75e..0000000 --- a/locale/make.php +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/php -q -<? - $lang = array( "bg" => "bg_BG", "da" => "da_DK", "de" => "de_DE", "es" => "es_ES", - "fr" => "fr_FR", "fi" => "fi_FI", "he" => "he_IL", "hr" => "hr_HR", - "hu" => "hu_HU", "it" => "it_IT", "ja" => "ja_JP", "nl" => "nl_NL", - "pt" => "pt_PT", "ro" => "ro_RO", "ru" => "ru_RU", "fa" => "fa_IR", - "sv" => "sv_SE", "tr" => "tr_TR", "zh" => "zh_CN", "ar" => "ar_SY", - "el" => "el_GR", "tl" => "tl_PH", "pl" => "pl_PL", "cs" => "cs_CZ", - "ka" => "ka_GE", "is" => "is_IS", "ko" => "ko_KR", "nb" => "nb_NO"); - - if($argc > 1) - { - foreach($argv as $key) - { - $val = $lang[$key]; - if($val != "") - { - $do = `wget -O $key.po "http://translingo.cacert.org/export2.php?pid=1&editlanguage=$val" 2>&1`; -echo $do; - echo `mkdir -p $key/LC_MESSAGES/`; - $do = `msgfmt -o $key/LC_MESSAGES/messages.mo $key.po 2>&1`; -echo $do; - } - } - } else { - foreach($lang as $key => $val) - { - $do = `wget -O $key.po "http://translingo.cacert.org/export2.php?pid=1&editlanguage=$val" 2>&1`; -echo $do; - echo `mkdir -p $key/LC_MESSAGES/`; - $do = `msgfmt -o $key/LC_MESSAGES/messages.mo $key.po 2>&1`; -echo $do; - } - } -?> |