File: xgettext-python-3

package info (click to toggle)
gettext 0.23.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 168,104 kB
  • sloc: ansic: 532,579; sh: 68,252; perl: 28,011; makefile: 9,066; lisp: 3,184; yacc: 1,055; java: 615; cs: 589; cpp: 397; objc: 343; sed: 79; tcl: 63; xml: 40; pascal: 11; php: 7; awk: 7
file content (135 lines) | stat: -rwxr-xr-x 3,946 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test Python support: --from-code option and encoding recognition.

# Note: This test fails on Linux with musl libc versions that don't support
# the EUC-JP encoding in 'iconv'.

cat <<\EOF > xg-py-3a.py
#!/usr/bin/env python
# TRANSLATORS: Franois Pinard is a hero.
print gettext.gettext("ܸ");
EOF

cat <<\EOF > xg-py-3b.py
#!/usr/bin/env python
                       # Hey Emacs! -*- coding: euc-jp -*-
# TRANSLATORS: Franois Pinard is a hero.
print gettext.gettext("ܸ");
EOF

cat <<\EOF > xg-py-3u.py
#!/usr/bin/env python
# TRANSLATORS: François Pinard is a hero.
print gettext.gettext("日本語");
EOF

cat <<\EOF > xg-py-3.ok
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. TRANSLATORS: François Pinard is a hero.
msgid "日本語"
msgstr ""
EOF

# Verify that if the source file has no magic coding comment, xgettext fails
# if no --from-code option is given but succeeds if it is given.
: ${XGETTEXT=xgettext}
${XGETTEXT} --add-comments=TRANSLATORS: --no-location \
  -d xg-py-3a xg-py-3a.py > /dev/null 2>&1
test $? = 1 || { Exit 1; }
${XGETTEXT} --add-comments=TRANSLATORS: --no-location --from-code=euc-jp \
  -o xg-py-3a.tmp xg-py-3a.py || Exit 1
func_filter_POT_Creation_Date xg-py-3a.tmp xg-py-3a.pot

: ${DIFF=diff}
${DIFF} xg-py-3.ok xg-py-3a.pot || Exit 1

# Verify that if the source file has a magic coding comment, xgettext succeeds.

${XGETTEXT} --add-comments=TRANSLATORS: --no-location \
  -o xg-py-3b.tmp xg-py-3b.py || Exit 1
func_filter_POT_Creation_Date xg-py-3b.tmp xg-py-3b.pot

${DIFF} xg-py-3.ok xg-py-3b.pot || Exit 1

# Verify that if the source file has no magic coding comment but is UTF-8
# encoded, xgettext succeeds. (PEP 3120)

${XGETTEXT} --add-comments=TRANSLATORS: --no-location \
  -o xg-py-3u.tmp xg-py-3u.py || Exit 1
func_filter_POT_Creation_Date xg-py-3u.tmp xg-py-3u.pot

${DIFF} xg-py-3.ok xg-py-3u.pot || Exit 1

# Verify that if the source file has a magic coding comment and a --from-code
# option is given, the magic coding comment takes precedence over it.

${XGETTEXT} --add-comments=TRANSLATORS: --no-location --from-code=iso-8859-1 \
  -o xg-py-3c.tmp xg-py-3b.py || Exit 1
func_filter_POT_Creation_Date xg-py-3c.tmp xg-py-3c.pot

${DIFF} xg-py-3.ok xg-py-3c.pot || Exit 1

# Verify that backslashes in and second bytes with value 0x5C are correctly
# distinguished in weird encodings like BIG5.

cat <<\EOF > xg-py-3d.py
#!/usr/bin/env python
                       # Hey Emacs! -*- coding: big5 -*-
print gettext.gettext(u"\u0021");
print gettext.gettext(u"\\u0021");
EOF

${XGETTEXT} --add-comments=TRANSLATORS: \
  -o xg-py-3d.tmp xg-py-3d.py || Exit 1
func_filter_POT_Creation_Date xg-py-3d.tmp xg-py-3d.pot

cat <<\EOF > xg-py-3d.ok
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: xg-py-3d.py:3
msgid "枯u0021"
msgstr ""

#: xg-py-3d.py:4
msgid "枯!"
msgstr ""
EOF

${DIFF} xg-py-3d.ok xg-py-3d.pot || Exit 1

Exit 0