/
niceSOFT
/
gettext
Обзор
Документация
Войти
/
niceSOFT
/
gettext
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
gettext-tools/tests/msgfmt-xml-2
296 строк
13 KB
Bruno Haible
tests: Make it easier to single-step the msgfmt-* tests.
13 окт 2024, 21:49
13 окт 2024, 21:49
46e8f5c
Код
Авторство
О чём код?
#! /bin/sh . "${srcdir=.}/init.sh"; path_prepend_ . ../src # Test 'bulk' mode of msgfmt --xml. 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 (©, U+00A9) can be written in HTML as &#xa9;, as &#169;, or as &copy;? </p> <p>Written by &author1;, &author2;, and &author3;.</p> <p gt:escape="no">Escape gallery: operator x&y, standard XML entities & " ' & < >, character reference ©, escaped character reference &#xa9;, entity references © &author1;</p> <p gt:escape="yes">Escape gallery: operator x&y, standard XML entities & " ' & < >, character reference ©, escaped character reference &#xa9;, entity references © &author1;</p> </description> <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url> <updatecontact>dueno_at_src.gnome.org</updatecontact> </component> EOF test -d po || mkdir po cat <<\EOF > po/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." 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 " "©, as ©, or as ©?" msgstr "" "Saviez-vous que le signe de copyright (©, U+00A9) peut être écrit en HTML " "comme ©, comme © ou comme © ?" 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 ©, entity references © " "&author1;" msgstr "" "Exposition d'échappements: operateur x&y, entités XML standard & \" ' & < >, " "caractère ©, caractère échappé ©, entités © &author1;" EOF cat <<\EOF > po/de.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 "" "Zeichen ist ein einfaches Hilfsprogramm zum Auffinden und Einsetzen von selten " "verwendeten Zeichen. Sie können schnell das gesuchte Zeichen finden, indem Sie " "nach Schlüsselwörtern suchen." msgid "" "You can also browse characters by categories, such as Punctuation, Pictures, " "etc." msgstr "" "Sie können ebenfalls nach Kategorie suchen, wie z.B. nach Zeichensetzung oder " "Bildern." msgid "" "Did you know that the copyright sign (©, U+00A9) can be written in HTML as " "©, as ©, or as ©?" msgstr "" "Wussten Sie, dass das Copyright-Zeichen (©, U+00A9) in HTML als " "©, als ©, oder als © " "geschrieben werden kann?" msgid "Written by &author1;, &author2;, and &author3;." msgstr "Geschrieben von &author1;, &author2; und &author3;." msgid "" "Escape gallery: operator x&y, standard XML entities & \" ' & < >, character " "reference ©, escaped character reference ©, entity references © " "&author1;" msgstr "" "Escape-Beispiele: Operator x&y, Standard-XML Entitäten & \" ' & < >, Zeichen " "©, escaptes Zeichen ©, Entitäten © &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> 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 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 xml:lang="de">Zeichen ist ein einfaches Hilfsprogramm zum Auffinden und Einsetzen von selten verwendeten Zeichen. Sie können schnell das gesuchte Zeichen finden, indem Sie nach Schlüsselwörtern suchen.</p> <p> You can also browse characters by categories, such as Punctuation, Pictures, etc. </p> <p xml:lang="fr">Vous pouvez aussi naviguer dans les caractères par catégories, comme par Ponctuation, Images, etc.</p> <p xml:lang="de">Sie können ebenfalls nach Kategorie suchen, wie z.B. nach Zeichensetzung oder Bildern.</p> <p gt:escape="yes"> Did you know that the copyright sign (©, U+00A9) can be written in HTML as &#xa9;, as &#169;, or as &copy;? </p> <p gt:escape="yes" xml:lang="fr">Saviez-vous que le signe de copyright (©, U+00A9) peut être écrit en HTML comme &#xa9;, comme &#169; ou comme &copy; ?</p> <p gt:escape="yes" xml:lang="de">Wussten Sie, dass das Copyright-Zeichen (©, U+00A9) in HTML als &#xa9;, als &#169;, oder als &copy; geschrieben werden kann?</p> <p>Written by &author1;, &author2;, and &author3;.</p> <p xml:lang="fr">Écrit par &author1;, &author2;, et &author3;.</p> <p xml:lang="de">Geschrieben von &author1;, &author2; und &author3;.</p> <p gt:escape="no">Escape gallery: operator x&y, standard XML entities & " ' & < >, character reference ©, escaped character reference &#xa9;, entity references © &author1;</p> <p gt:escape="no" xml:lang="fr">Exposition d'échappements: operateur x&y, entités XML standard & " ' & < >, caractère ©, caractère échappé &#xa9;, entités © &author1;</p> <p gt:escape="no" xml:lang="de">Escape-Beispiele: Operator x&y, Standard-XML Entitäten & " ' & < >, Zeichen ©, escaptes Zeichen &#xa9;, Entitäten © &author1;</p> <p gt:escape="yes">Escape gallery: operator x&y, standard XML entities & " ' & < >, character reference ©, escaped character reference &#xa9;, entity references © &author1;</p> <p gt:escape="yes" xml:lang="fr">Exposition d'échappements: operateur x&y, entités XML standard & " ' & < >, caractère ©, caractère échappé &#xa9;, entités &copy; &author1;</p> <p gt:escape="yes" xml:lang="de">Escape-Beispiele: Operator x&y, Standard-XML Entitäten & " ' & < >, Zeichen ©, escaptes Zeichen &#xa9;, Entitäten &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 > mf.appdata.xml.desired.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> 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 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 xml:lang="fr">Vous pouvez aussi naviguer dans les caractères par catégories, comme par Ponctuation, Images, etc.</p> <p gt:escape="yes"> Did you know that the copyright sign (©, U+00A9) can be written in HTML as &#xa9;, as &#169;, or as &copy;? </p> <p gt:escape="yes" xml:lang="fr">Saviez-vous que le signe de copyright (©, U+00A9) peut être écrit en HTML comme &#xa9;, comme &#169; ou comme &copy; ?</p> <p>Written by &author1;, &author2;, and &author3;.</p> <p xml:lang="fr">Écrit par &author1;, &author2;, et &author3;.</p> <p gt:escape="no">Escape gallery: operator x&y, standard XML entities & " ' & < >, character reference ©, escaped character reference &#xa9;, entity references © &author1;</p> <p gt:escape="no" xml:lang="fr">Exposition d'échappements: operateur x&y, entités XML standard & " ' & < >, caractère ©, caractère échappé &#xa9;, entités © &author1;</p> <p gt:escape="yes">Escape gallery: operator x&y, standard XML entities & " ' & < >, character reference ©, escaped character reference &#xa9;, entity references © &author1;</p> <p gt:escape="yes" xml:lang="fr">Exposition d'échappements: operateur x&y, entités XML standard & " ' & < >, caractère ©, caractère échappé &#xa9;, entités &copy; &author1;</p> </description> <url type="homepage">https://wiki.gnome.org/Design/Apps/CharacterMap</url> <updatecontact>dueno_at_src.gnome.org</updatecontact> </component> EOF unset LINGUAS : ${MSGFMT=msgfmt} # Sanity checks for contradicting options. ${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out \ >/dev/null 2>/dev/null \ Exit 1 test -d po/LINGUAS || mkdir po/LINGUAS ${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out \ >/dev/null 2>/dev/null \ Exit 1 rm -fr po/LINGUAS cat <<\EOF > po/LINGUAS de fr EOF ${MSGFMT} --xml --template=mf.appdata.xml -d po \ >/dev/null 2>/dev/null \ && Exit 1 ${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out -l fr \ >/dev/null 2>/dev/null \ && Exit 1 ${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out po/fr.po \ >/dev/null 2>/dev/null \ && Exit 1 # Proceed to the .desktop file generation. ${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.out || Exit 1 : ${DIFF=diff} ${DIFF} mf.appdata.xml.ok mf.appdata.xml.out test $? = 0 || Exit 1 # Restrict the desired languages with the LINGUAS envvar. LINGUAS="fr ja" ${MSGFMT} --xml --template=mf.appdata.xml -d po -o mf.appdata.xml.desired.out || Exit 1 : ${DIFF=diff} ${DIFF} mf.appdata.xml.desired.ok mf.appdata.xml.desired.out test $? = 0 || Exit 1