mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
chore: update docs & scripts for getting translations from Weblate
Removed not used script.
This commit is contained in:
parent
3824a47e6f
commit
dc10309a82
|
@ -121,6 +121,73 @@ Note:
|
||||||
duplicate of, tag with higher `duplicates:#`
|
duplicate of, tag with higher `duplicates:#`
|
||||||
|
|
||||||
|
|
||||||
|
# Translations from Weblate
|
||||||
|
|
||||||
|
Weblate provides an easy way for people to translate qTox. On one hand, it does
|
||||||
|
require a bit more attention & regular checking whether there are new
|
||||||
|
translations, on the other, it lessened problems that were happening with
|
||||||
|
"manual" way of providing translations.
|
||||||
|
|
||||||
|
To get translations into qTox:
|
||||||
|
|
||||||
|
1. Add Weblate: `git remote add weblate git://git.weblate.org/qtox.git`
|
||||||
|
2. Fetch newest: `git fetch weblate`
|
||||||
|
3. Check what has been changed compared to master: `git log --no-merges
|
||||||
|
master..weblate/master`
|
||||||
|
4. Cherry-pick from the oldest commit.
|
||||||
|
- check if there are multiple commits from the same author for the same
|
||||||
|
translation. If there are, cherry-pick them accordingly:
|
||||||
|
|
||||||
|
```
|
||||||
|
git cherry-pick <commit1> <commit2>
|
||||||
|
```
|
||||||
|
|
||||||
|
5. If there were multiple commits, squash them into a single one, and rename
|
||||||
|
remaining to
|
||||||
|
|
||||||
|
```
|
||||||
|
feat(l10n): update $LANGUAGE from Weblate
|
||||||
|
```
|
||||||
|
|
||||||
|
6. Update translation file that was changed to get rid of Weblate's formatting
|
||||||
|
using [`./tools/update-translation-files.sh`], e.g.:
|
||||||
|
|
||||||
|
```
|
||||||
|
./tools/update-translation-files.sh en
|
||||||
|
```
|
||||||
|
|
||||||
|
7. Commit those changes using `--amend`:
|
||||||
|
|
||||||
|
```
|
||||||
|
git commit --amend translations/en.ts
|
||||||
|
```
|
||||||
|
|
||||||
|
8. For translations that haven't yet been cherry-picked repeat steps 4-7.
|
||||||
|
9. Once done with cherry-picking, update all translation files, so that
|
||||||
|
Weblate would get newest strings that changed in qTox:
|
||||||
|
|
||||||
|
```
|
||||||
|
./tools/update-translation-files.sh ALL
|
||||||
|
```
|
||||||
|
|
||||||
|
10. Once PR with translation gets merged, `Reset` Weblate to current `master`,
|
||||||
|
since without reset there would be a git conflict that would prevent
|
||||||
|
Weblate from getting new strings.
|
||||||
|
|
||||||
|
**It's a good idea to lock translations on Weblate while they're in merge
|
||||||
|
process, so that no translation effort would be lost when resetting Weblate.**
|
||||||
|
|
||||||
|
## Vim macro to rename commits
|
||||||
|
|
||||||
|
Renames a single commit. To add it in Vim under register `t`:
|
||||||
|
|
||||||
|
```
|
||||||
|
:let @t='ggd4wifeat(l10n): update ^[A<80>kb translation from Weblate^[jVjd'
|
||||||
|
```
|
||||||
|
|
||||||
|
To invoke when editing a commit message: `@t`
|
||||||
|
|
||||||
|
|
||||||
# How to become a maintainer?
|
# How to become a maintainer?
|
||||||
|
|
||||||
Contribute, review & test pull requests, be active, oh and don't forget to
|
Contribute, review & test pull requests, be active, oh and don't forget to
|
||||||
|
@ -137,3 +204,4 @@ helping for a while, ask to be added to the `qTox` organization on GitHub.
|
||||||
[`CONTRIBUTING.md`]: /CONTRIBUTING.md
|
[`CONTRIBUTING.md`]: /CONTRIBUTING.md
|
||||||
[`merge-pr.sh`]: /merge-pr.sh
|
[`merge-pr.sh`]: /merge-pr.sh
|
||||||
[`test-pr.sh`]: /test-pr.sh
|
[`test-pr.sh`]: /test-pr.sh
|
||||||
|
[`./tools/update-translation-files.sh`]: /tools/update-translation-files.sh
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright © 2016 Daniel Martí <mvdan@mvdan.cc>
|
|
||||||
# Copyright © 2016 Zetok Zalbavar <zetok@openmailbox.org>
|
|
||||||
#
|
|
||||||
# This program 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 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program 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, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
# This script pulls translations from weblate.
|
|
||||||
#
|
|
||||||
# It squashes all the changes into a single commit. This removes authorship
|
|
||||||
# from the changes, which is given to the Translatebot, so to keep the names
|
|
||||||
# they are grabbed from git log and added to the commit message.
|
|
||||||
#
|
|
||||||
# Note that this will apply changes and commit them! Make sure to not have
|
|
||||||
# uncommited changes when running this script.
|
|
||||||
#
|
|
||||||
# Note 2: after applying changes, files will be cleaned up before committing.
|
|
||||||
|
|
||||||
REMOTE="weblate"
|
|
||||||
REMOTE_URL="git://git.weblate.org/qtox.git"
|
|
||||||
REMOTE_BRANCH="master"
|
|
||||||
|
|
||||||
AUTHOR="qTox translations <>"
|
|
||||||
|
|
||||||
if ! git ls-remote --exit-code $REMOTE >/dev/null 2>/dev/null; then
|
|
||||||
git add "$REMOTE" "$REMOTE_URL"
|
|
||||||
git fetch "$REMOTE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
ref="${REMOTE}/${REMOTE_BRANCH}"
|
|
||||||
diff="HEAD...$ref -- translations/*.ts"
|
|
||||||
|
|
||||||
authors=$(git log --format="%s %an" $diff | \
|
|
||||||
sed 's/Translated using Weblate (\(.*\)) \(.*\)/\2||\1/' | sort -f -u | column -s '||' -t)
|
|
||||||
|
|
||||||
git diff $diff | git apply
|
|
||||||
|
|
||||||
# clean up before committing
|
|
||||||
bash tools/update-translation-files.sh
|
|
||||||
|
|
||||||
git add translations/*
|
|
||||||
|
|
||||||
git commit --author "$AUTHOR" -m "feat(l10n): Update translations from Weblate
|
|
||||||
|
|
||||||
Translators:
|
|
||||||
|
|
||||||
$authors"
|
|
|
@ -21,9 +21,22 @@
|
||||||
# Needed, since Weblate cannot do it automatically.
|
# Needed, since Weblate cannot do it automatically.
|
||||||
|
|
||||||
# Usage:
|
# Usage:
|
||||||
# ./tools/$script_name
|
# ./tools/$script_name [ALL|lang]
|
||||||
|
|
||||||
for translation in translations/*.ts
|
set -eu -o pipefail
|
||||||
do
|
|
||||||
lupdate -pro qtox.pro -no-obsolete -locations none -ts $translation
|
readonly COMMIT_MSG="chore(i18n): update translation files for weblate"
|
||||||
done
|
readonly LUPDATE_CMD="lupdate -pro qtox.pro -no-obsolete -locations none -ts"
|
||||||
|
|
||||||
|
if [[ "$@" = "ALL" ]]
|
||||||
|
then
|
||||||
|
for translation in translations/*.ts
|
||||||
|
do
|
||||||
|
$LUPDATE_CMD "$translation"
|
||||||
|
done
|
||||||
|
|
||||||
|
git add translations/*.ts
|
||||||
|
git commit --author -m "$COMMIT_MSG"
|
||||||
|
else
|
||||||
|
$LUPDATE_CMD "translations/$@.ts"
|
||||||
|
fi
|
||||||
|
|
Loading…
Reference in New Issue
Block a user