|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #!/bin/bash
- # Usage:
- # Initial catalog creation (lang is the language identifier):
- # ./i18n.sh lang
- # Updating translation and compile catalog:
- # ./i18n.sh
-
- # configuration
- DOMAIN="kotti_ai"
- SEARCH_PATH="kotti_ai"
- LOCALES_PATH="kotti_ai/locale"
- # end configuration
-
- # create locales folder if not exists
- if [ ! -d "$LOCALES_PATH" ]; then
- echo "Locales directory not exists, create"
- mkdir -p "$LOCALES_PATH"
- fi
-
- # create pot if not exists
- if [ ! -f "$LOCALES_PATH"/$DOMAIN.pot ]; then
- echo "Create pot file"
- touch "$LOCALES_PATH"/$DOMAIN.pot
- fi
-
- # no arguments, extract and update
- if [ $# -eq 0 ]; then
- echo "Extract messages"
- pot-create "$SEARCH_PATH" -d $DOMAIN -o "$LOCALES_PATH"/$DOMAIN.pot
-
- echo "Update translations"
- for po in "$LOCALES_PATH"/*/LC_MESSAGES/$DOMAIN.po; do
- msgmerge --no-wrap -o "$po" "$po" "$LOCALES_PATH"/$DOMAIN.pot
- done
-
- echo "Compile message catalogs"
- for po in "$LOCALES_PATH"/*/LC_MESSAGES/*.po; do
- echo "Compiling file $po..."
- msgfmt --statistics -o "${po%.*}.mo" "$po"
- done
-
- # first argument represents language identifier, create catalog
- else
- cd "$LOCALES_PATH"
- mkdir -p $1/LC_MESSAGES
- msginit -i $DOMAIN.pot -o $1/LC_MESSAGES/$DOMAIN.po -l $1
- fi
|