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:#`
|
||||
|
||||
|
||||
# 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?
|
||||
|
||||
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
|
||||
[`merge-pr.sh`]: /merge-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.
|
||||
|
||||
# Usage:
|
||||
# ./tools/$script_name
|
||||
# ./tools/$script_name [ALL|lang]
|
||||
|
||||
for translation in translations/*.ts
|
||||
do
|
||||
lupdate -pro qtox.pro -no-obsolete -locations none -ts $translation
|
||||
done
|
||||
set -eu -o pipefail
|
||||
|
||||
readonly COMMIT_MSG="chore(i18n): update translation files for weblate"
|
||||
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