# ***** BEGIN LICENSE BLOCK ***** # This file is part of InDefero, an open source project management application. # Copyright (C) 2010 CĂ©ondo Ltd and contributors. # # InDefero is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # InDefero is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # ***** END LICENSE BLOCK ***** */ # Installation of external tools : transifex-client # sudo apt-get install python-setuptools # sudo easy_install -U transifex-client PLUF_PATH=$(shell php -r "require_once('src/IDF/conf/path.php'); echo PLUF_PATH;") all help: @echo "Rules for generate tarball :" @for b in `git branch | sed "s/^. //g"`; do \ echo "\t"$$b"_tarball - Generate a zip archive of the "$$b" branch."; \ done @echo "\nRules for internationnalization :"; @echo "\tpot-update - Update the POT file from HTML template and PHP source, then merge it with PO file" @echo "\tpot-push - Send the POT file on transifex server" @echo "\tpo-update - Merge POT file into PO file. POT is not regenerated." @echo "\tpo-push - Send the all PO file on transifex server" @echo "\tpo-pull - Get all PO file from transifex server" # # Internationnalization rule, POT & PO file manipulation # .PHONY: pot-update po-update pot-update: # Backup pot file cd src; cp -f IDF/locale/idf.pot IDF/locale/idf.pot.bak # Extract string @cd src; php $(PLUF_PATH)/extracttemplates.php IDF/conf/idf.php IDF/gettexttemplates @cd src; for phpfile in `find . -iname "*.php"`; do \ echo "Parsing file : "$$phpfile; \ xgettext -o idf.pot -p ./IDF/locale/ --from-code=UTF-8 -j --keyword --keyword=__ --keyword=_n:1,2 -L PHP $$phpfile ; \ done # Remove tmp folder rm -Rf src/IDF/gettexttemplates # Update PO @make po-update po-update: @for pofile in `ls src/IDF/locale/*/idf.po`; do \ echo "Updating file : "$$pofile; \ msgmerge -v --width=10 -U $$pofile src/IDF/locale/idf.pot; \ echo ; \ done # # Transifex # .PHONY: check-tx-config check-tx-config: @if [ ! -e .tx/config ]; then \ mkdir -p .tx; \ touch .tx/config; \ echo "[main]" >> .tx/config; \ echo "host = http://www.transifex.net" >> .tx/config; \ echo "" >> .tx/config; \ echo "[indefero.idfpot]" >> .tx/config; \ echo "file_filter = src/IDF/locale//idf.po" >> .tx/config; \ echo "source_file = src/IDF/locale/idf.pot" >> .tx/config; \ echo "source_lang = en" >> .tx/config; \ fi @if [ ! -e $(HOME)/.transifexrc ]; then \ touch $(HOME)/.transifexrc; \ echo "[http://www.transifex.net]" >> $(HOME)/.transifexrc; \ echo "username = " >> $(HOME)/.transifexrc; \ echo "token = " >> $(HOME)/.transifexrc; \ echo "password = " >> $(HOME)/.transifexrc; \ echo "hostname = http://www.transifex.net" >> $(HOME)/.transifexrc; \ echo "You must edit the file ~/.transifexrc to setup your transifex account (login & password) !"; \ exit 1; \ fi pot-push: check-tx-config @tx push -s po-push: check-tx-config @tx push -t po-pull: check-tx-config @tx pull -a # # Generic rule to build a tarball of indefero for a specified branch # ex: make master_tarball # make dev_tarball # %_tarball: @git archive --format=zip --prefix="indefero/" $(@:_tarball=) > indefero-$(@:_tarball=)-`git log $(@:_tarball=) -n 1 --pretty=format:%H`.zip