system-config/modules/jenkins/files/slave_scripts/upstream_translation_update.sh
Clark Boylan a8c6385871 Make transifex the only source of translations
Prior to this change we attempted to push translations made direclty in
the git tree to transifex allowing translations to be made via git
directly or in transifex. Simplify the process to avoid cases where the
transifex client will refuse to update local translations because they
are newer than those in transifex. This makes transifex the only source
of translation updates. In addition to simplifying the process force tx
pull -a operations as a way to force the updates if we end up in this
state.

Change-Id: I171b3b1a29cbeaab0c4d9de3ab1bd3a6b933ea53
2014-03-31 11:05:52 -07:00

47 lines
1.4 KiB
Bash
Executable File

#!/bin/bash -xe
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
PROJECT=$1
if [ ! `echo $ZUUL_REFNAME | grep master` ]
then
exit 0
fi
git config user.name "OpenStack Jenkins"
git config user.email "jenkins@openstack.org"
# Initialize the transifex client, if there's no .tx directory
if [ ! -d .tx ] ; then
tx init --host=https://www.transifex.com
fi
tx set --auto-local -r ${PROJECT}.${PROJECT}-translations "${PROJECT}/locale/<lang>/LC_MESSAGES/${PROJECT}.po" --source-lang en --source-file ${PROJECT}/locale/${PROJECT}.pot -t PO --execute
# Update the .pot file
python setup.py extract_messages
PO_FILES=`find ${PROJECT}/locale -name '*.po'`
if [ -n "$PO_FILES" ]
then
# Use updated .pot file to update translations
python setup.py update_catalog --no-fuzzy-matching
fi
# Add all changed files to git
git add $PROJECT/locale/*
if [ ! `git diff-index --quiet HEAD --` ]
then
# Push .pot changes to transifex
tx --debug --traceback push -s
fi