File: msgfmt-xml-4

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 (146 lines) | stat: -rwxr-xr-x 5,796 bytes parent folder | download | duplicates (2)
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
136
137
138
139
140
141
142
143
144
145
146
#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test msgfmt --xml: --replace-text option

cat <<\EOF > mf.appdata.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE component PUBLIC "" "" [
<!ENTITY author1 "Giovanni Campagna">
<!ENTITY author2 "Daiki Ueno">
<!ENTITY author3 "Bilal Elmoussaoui">
]>
<component type="desktop" xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0">
  <id>org.gnome.Characters.desktop</id>
  <name>GNOME Characters</name>
  <summary>Character map application</summary>
  <licence>CC0</licence>
  <description>
    <p>
      Characters is a simple utility application to find and insert
      unusual characters.  It allows you to quickly find the character
      you are looking for by searching for keywords.
    </p>
    <p>
      You can also browse characters by categories, such as
      Punctuation, Pictures, etc.
    </p>
    <p gt:escape="yes">
      Did you know that the copyright sign (&#xa9;, U+00A9) can be written in HTML
      as &amp;#xa9;,
      as &amp;#169;,
      or as &amp;copy;?
    </p>
    <p>Written by &author1;, &author2;, and &author3;.</p>
    <p gt:escape="no">Escape gallery: operator x&amp;y, standard XML entities &amp; &quot; &apos; &amp; &lt; &gt;, character reference &#xa9;, escaped character reference &amp;#xa9;, entity references &copy; &author1;</p>
    <p gt:escape="yes">Escape gallery: operator x&amp;y, standard XML entities &amp; &quot; &apos; &amp; &lt; &gt;, character reference &#xa9;, escaped character reference &amp;#xa9;, entity references &copy; &author1;</p>
  </description>
  <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url>
  <updatecontact>dueno_at_src.gnome.org</updatecontact>
</component>
EOF

cat <<\EOF > fr.po
# 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"
"POT-Creation-Date: 2014-03-17 07:36+0900\n"
"PO-Revision-Date: 2014-03-17 08:40+0900\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"

msgid ""
"Characters is a simple utility application to find and insert unusual "
"characters. It allows you to quickly find the character you are looking for "
"by searching for keywords."
msgstr ""
"Caractères est un utilitaire pour chercher et insérer des caractères "
"inhabituels. Il vous permet de trouver rapidement le caractère que vous "
"cherchez par le biais de mots-clés."

#, fuzzy
msgid ""
"You can also browse characters by categories, such as Punctuation, Pictures, "
"etc."
msgstr ""
"Vous pouvez aussi naviguer dans les caractères par catégories, comme par "
"Ponctuation, Images, etc."

msgid ""
"Did you know that the copyright sign (©, U+00A9) can be written in HTML as "
"&#xa9;, as &#169;, or as &copy;?"
msgstr ""
"Saviez-vous que le signe de copyright (©, U+00A9) peut être écrit en HTML "
"comme &#xa9;, comme &#169; ou comme &copy; ?"

msgid "Written by &author1;, &author2;, and &author3;."
msgstr "Écrit par &author1;, &author2;, et &author3;."

msgid ""
"Escape gallery: operator x&y, standard XML entities & \" ' & < >, character "
"reference ©, escaped character reference &#xa9;, entity references &copy; "
"&author1;"
msgstr ""
"Exposition d'échappements: operateur x&y, entités XML standard & \" ' & < >, "
"caractère ©, caractère échappé &#xa9;, entités &copy; &author1;"
EOF

cat <<\EOF > mf.appdata.xml.ok
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE component PUBLIC "" "" [
<!ENTITY author1 "Giovanni Campagna">
<!ENTITY author2 "Daiki Ueno">
<!ENTITY author3 "Bilal Elmoussaoui">
]>
<component xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0" type="desktop">
  <id>org.gnome.Characters.desktop</id>
  <name>GNOME Characters</name>
  <summary>Character map application</summary>
  <licence>CC0</licence>
  <description>
    <p xml:lang="fr">Caractères est un utilitaire pour chercher et insérer des caractères inhabituels. Il vous permet de trouver rapidement le caractère que vous cherchez par le biais de mots-clés.</p>
    <p>
      You can also browse characters by categories, such as
      Punctuation, Pictures, etc.
    </p>
    <p gt:escape="yes" xml:lang="fr">Saviez-vous que le signe de copyright (©, U+00A9) peut être écrit en HTML comme &amp;#xa9;, comme &amp;#169; ou comme &amp;copy; ?</p>
    <p xml:lang="fr">Écrit par &author1;, &author2;, et &author3;.</p>
    <p gt:escape="no" xml:lang="fr">Exposition d'échappements: operateur x&y, entités XML standard & " ' & &lt; &gt;, caractère ©, caractère échappé &amp;#xa9;, entités &copy; &author1;</p>
    <p gt:escape="yes" xml:lang="fr">Exposition d'échappements: operateur x&amp;y, entités XML standard &amp; " ' &amp; &lt; &gt;, caractère ©, caractère échappé &amp;#xa9;, entités &amp;copy; &amp;author1;</p>
  </description>
  <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url>
  <updatecontact>dueno_at_src.gnome.org</updatecontact>
</component>
EOF

: ${MSGFMT=msgfmt}

# Sanity checks for contradicting options.

${MSGFMT} --replace-text fr.po \
          >/dev/null 2>/dev/null \
  && Exit 1

${MSGFMT} --xml --template=mf.appdata.xml --replace-text -d po -o mf.appdata.xml.out \
          >/dev/null 2>/dev/null \
  && Exit 1

# Proceed to the XML file generation.

${MSGFMT} --xml --template=mf.appdata.xml --replace-text -l fr fr.po -o mf.appdata.xml.out \
  || Exit 1

: ${DIFF=diff}
${DIFF} mf.appdata.xml.ok mf.appdata.xml.out
test $? = 0 || Exit 1