====== Qt translation to czech ======
===== The story =====
Pavel translated the Qt libraries strings without knowing it. We now try to send this huge contribution to Nokia via [[http://qt.gitorious.org/|Gitorious]], and specially the clone [[http://qt.gitorious.org/~xavierg/czech-translation|czech-translation]]
===== Useful links =====
* http://qt.nokia.com/developer/the-qt-contribution-model
* http://qt.gitorious.org/qt/pages/QtContributionGuidelines
* http://qt.gitorious.org/qt/pages/QtLocalization
* http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html
===== Howto =====
==== First steps ====
Installing Git under Debian:
# installing Git
aptitude install git-core
# Configuring Git
git config --global user.name "Xavier G."
git config --global user.email "xavier@tuxfamily.org"
Getting a working directory:
# read-only access
git clone git://gitorious.org/~xavierg/qt/czech-translation.git
# if you have a write access to the Gitorious repository
git clone git@gitorious.org:~xavierg/qt/czech-translation.git
# Extra configuration, specific to Nokia
cd czech-translation/
git config commit.template .commit-template
If you wish to work in the czech-translation branch (and believe me, you do want to work in the czech-translation branch), do the following:
- at first, you have only one branch: ''git branch'' will only list the ''* master'' branch
- however, ''git branch -a'' will show every available branch on the remote repositories:
* master
remotes/origin/4.5
remotes/origin/4.6
remotes/origin/4.6-stable
remotes/origin/HEAD -> origin/master
remotes/origin/czech-translation
remotes/origin/master
remotes/origin/master-stable
- Check out the czech-translation branch: ''git checkout -b czech-translation remotes/origin/czech-translation'' :
Branch czech-translation set up to track remote branch czech-translation from origin.
Switched to a new branch 'czech-translation'
- Check the branch you are now working on: ''git branch'' :
* czech-translation
master
If by chance you have cloned from the read-only URL (''%%git://gitorious.org/~xavierg/qt/czech-translation.git%%'') while you have a write-access, you can reconfigure your "remote" repository named "origin" by editing the file ''.git/config'', and replacing the line :
url = git://gitorious.org/~xavierg/qt/czech-translation.git
by
url = git@gitorious.org:~xavierg/qt/czech-translation.git
in the ''[remote "origin"]'' section.
You can check this by doing: ''git remote show origin'':
* remote origin
Fetch URL: git@gitorious.org:~xavierg/qt/czech-translation.git
Push URL: git@gitorious.org:~xavierg/qt/czech-translation.git
HEAD branch: master
Remote branches:
4.5 tracked
4.6 tracked
4.6-stable tracked
czech-translation tracked
master tracked
master-stable tracked
Local branches configured for 'git pull':
czech-translation merges with remote czech-translation
master merges with remote master
Local refs configured for 'git push':
czech-translation pushes to czech-translation (up to date)
master pushes to master (up to date)
Note that the last lines indicate you where ''git push'' and ''git pull'' commands use to work, depending of the current working branch (the one with a star).
==== Importing the current translations ====
=== Qt Translations ===
# Get into the working directory
cd czech-translation/
# put the holy .ts file somewhere:
cp /home/user/path/to/qt_cs.ts translations/
# change to the src directory
cd ../src
# update the qt_cs.ts file
lupdate-qt4 -locations relative -no-ui-lines 3rdparty/phonon 3rdparty/webkit activeqt corelib gui multimedia network opengl plugins qt3support script scripttools sql svg xml xmlpatterns -ts ../translations/qt_cs.ts
This last command should output something like:
[01:06:30][xavier]{huxley}~/projets/qt/czech-translation/src $ lupdate-qt4 -locations relative -no-ui-lines 3rdparty/phonon 3rdparty/webkit activeqt corelib gui multimedia network opengl plugins qt3support script scripttools sql svg xml xmlpatterns -ts ../translations/qt_cs.ts
Scanning directory '3rdparty/phonon'...
Scanning directory '3rdparty/webkit'...
Scanning directory 'activeqt'...
Scanning directory 'corelib'...
Scanning directory 'gui'...
Scanning directory 'multimedia'...
Scanning directory 'network'...
Scanning directory 'opengl'...
Scanning directory 'plugins'...
Scanning directory 'qt3support'...
Scanning directory 'script'...
Scanning directory 'scripttools'...
Scanning directory 'sql'...
Scanning directory 'svg'...
Scanning directory 'xml'...
Scanning directory 'xmlpatterns'...
/home/xavier/projets/qt/czech-translation/src/3rdparty/webkit/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp:89: Unbalanced parentheses in C++ code (or abuse of the C++ preprocessor)
Updating '../translations/qt_cs.ts'...
Found 1825 source text(s) (488 new and 1337 already existing)
Kept 14 obsolete entries
Same-text heuristic provided 21 translation(s)
[01:06:38][xavier]{huxley}~/projets/qt/czech-translation/src $
# add our new .ts file for versionning
cd ..
git add translations/qt_cs.ts
# adds the cs language to translations/translations.pri if needed
grep -E '^QT_TS.*cs.*$' translations/translations.pri || perl -i -pe 's,^QT_TS(.*)$,QT_TS$1 cs,' translations/translations.pri
==== Commit our work ====
# check the modifications in the local repository
git status
git diff --cached translations/translations.pri
# commit the modifications in the local repository
git commit
# Change the email address if needed, write a commit message
# now, let's update the remote repository
git push origin czech-translation
This last command should ouput:
Counting objects: 9, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 12.17 KiB, done.
Total 5 (delta 4), reused 0 (delta 0)
=> Syncing Gitorious... [OK]
To git@gitorious.org:~xavierg/qt/czech-translation.git
69f00b2..63c2b16 czech-translation -> czech-translation