po/import-from-transifex

Tue, 04 Feb 2020 03:05:18 +0000

author
Gary Kramlich <grim@reaperworld.com>
date
Tue, 04 Feb 2020 03:05:18 +0000
changeset 40275
bba8505129d5
parent 37747
3dda61e090d3
child 40446
5fac35e2cb9b
permissions
-rwxr-xr-x

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

mercurial