Tue, 04 Feb 2020 03:05:18 +0000
Merged in fbellet/pidgin/port-changes-from-branch-2.x.y-to-default (pull request #632)
Port changes from branch 2.x.y to default
Approved-by: Eion Robb <eionrobb@gmail.com>
Approved-by: John Bailey <rekkanoryo@rekkanoryo.org>
Approved-by: Gary Kramlich <grim@reaperworld.com>
|
37747
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
1 | #!/bin/bash -eu |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
2 | # This uses bash for the <() syntax. |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
3 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
4 | # TODO: Is there a way we can ignore files with only fuzzy-string changes? |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
5 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
6 | # These are the languages which are maintained in Transifex. |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
7 | transifex_languages="sq ar ar_SA hy hy_AM ast be brx br my_MM ca cs nl en_AU en_GB et fi gl ka de el he hi hu id ga it ja ks kk km ku_IQ lv lt mai ms_MY mr ne nqo nb nn oc pa fa pl pt pt_BR ro ru szl sd sl es es_AR sv tt te tr uk uz cy |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
8 | " |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
9 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
10 | if ! which tx > /dev/null |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
11 | then |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
12 | cat >&2 << EOF |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
13 | You must install the Transifex command-line client: |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
14 | http://docs.transifex.com/client/setup/ |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
15 | EOF |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
16 | exit 1 |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
17 | fi |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
18 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
19 | cat << EOF |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
20 | This script assumes your working tree is clean, at least in the po directory. |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
21 | It pulls the translations from Transifex, works out what has changed, and |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
22 | COMMITS intltool-update changes without prompting. It then leaves the |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
23 | remaining changes for manual review and committing. |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
24 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
25 | Ctrl-C now to abort... |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
26 | EOF |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
27 | sleep 10 |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
28 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
29 | if [ -d po ] |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
30 | then |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
31 | cd po |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
32 | fi |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
33 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
34 | changed_files= |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
35 | commitable_files= |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
36 | for i in $transifex_languages |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
37 | do |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
38 | if [ -e $i.po ] |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
39 | then |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
40 | cp $i.po $i.po.original |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
41 | XGETTEXT_ARGS=--no-location intltool-update $i |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
42 | cp $i.po $i.po.cleaned |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
43 | fi |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
44 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
45 | tx pull -f -l $i |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
46 | XGETTEXT_ARGS=--no-location intltool-update $i |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
47 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
48 | if [ -e $i.po.cleaned ] |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
49 | then |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
50 | if cmp -s <(grep ^msg $i.po.cleaned) <(grep ^msg $i.po) |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
51 | then |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
52 | # There were no actual changes. |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
53 | mv $i.po.original $i.po |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
54 | else |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
55 | # There were changes. |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
56 | mv $i.po $i.po.transifex |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
57 | changed_files="$changed_files $i.po" |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
58 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
59 | if cmp -s <(grep ^msg $i.po.original) <(grep ^msg $i.po.cleaned) |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
60 | then |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
61 | # The cleaning produced no actual changes; undo the cleaning. |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
62 | mv $i.po.original $i.po |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
63 | else |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
64 | # The cleaning produced changes; leave it for committing. |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
65 | mv $i.po.cleaned $i.po |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
66 | commitable_files="$commitable_files $i.po" |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
67 | fi |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
68 | fi |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
69 | fi |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
70 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
71 | rm -f $i.po.original $i.po.cleaned |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
72 | done |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
73 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
74 | # Commit cleaned versions of the changed files. |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
75 | if [ -n "$commitable_files" ] |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
76 | then |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
77 | hg commit -u "Pidgin Translators <translators@pidgin.im>" \ |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
78 | -m "Clean changed translations" $commitable_files |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
79 | fi |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
80 | |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
81 | # Leave the cleaned Transifex versions in place, ready for committing. |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
82 | for i in $changed_files |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
83 | do |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
84 | mv $i.transifex $i |
|
3dda61e090d3
Add import-from-transifex script
Richard Laager <rlaager@pidgin.im>
parents:
diff
changeset
|
85 | done |