Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#! /bin/sh

# Test msgexec on a PO file with contexts.

tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15

tmpfiles="$tmpfiles mex-test4.po"
cat <<\EOF > mex-test4.po
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. A menu item
msgctxt "File|"
msgid "Open"
msgstr "Ouvrir"

#. A menu item
msgctxt "File|"
msgid "New"
msgstr "Nouveau"

#. Denote a lock's state
msgctxt "Lock state"
msgid "Open"
msgstr "Ouvert"

#. Denote a lock's state
msgctxt "Lock state"
msgid "Closed"
msgstr "Fermé"

#. A product
msgctxt "Audi"
msgid "car"
msgstr "voiture"

#. A product
msgctxt "Océ"
msgid "copier"
msgstr "photocopieur"

#~ msgid "Save As"
#~ msgstr "Enregistrer l'as"

#. A menu item
#~ msgctxt "File|"
#~ msgid "Save As"
#~ msgstr "Enregistrer sous"
EOF

tmpfiles="$tmpfiles mex-test4.sh"
cat <<\EOF > mex-test4.sh
#! /bin/sh
echo "========================= $MSGEXEC_LOCATION ========================="
if test -n "${MSGEXEC_MSGCTXT+set}"; then
  echo "context: $MSGEXEC_MSGCTXT"
fi
cat <<MEOF
$MSGEXEC_MSGID
---
MEOF
cat
echo
exit 0
EOF
chmod a+x mex-test4.sh

tmpfiles="$tmpfiles mex-test4.out"
: ${MSGEXEC=msgexec}
${MSGEXEC} -i mex-test4.po ./mex-test4.sh > mex-test4.out
test $? = 0 || { rm -fr $tmpfiles; exit 1; }

tmpfiles="$tmpfiles mex-test4.ok"
cat <<\EOF > mex-test4.ok
========================= mex-test4.po:2 =========================

---
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

========================= mex-test4.po:9 =========================
context: File|
Open
---
Ouvrir
========================= mex-test4.po:14 =========================
context: File|
New
---
Nouveau
========================= mex-test4.po:19 =========================
context: Lock state
Open
---
Ouvert
========================= mex-test4.po:24 =========================
context: Lock state
Closed
---
Fermé
========================= mex-test4.po:29 =========================
context: Audi
car
---
voiture
========================= mex-test4.po:34 =========================
context: Océ
copier
---
photocopieur
========================= mex-test4.po:37 =========================
Save As
---
Enregistrer l'as
========================= mex-test4.po:42 =========================
context: File|
Save As
---
Enregistrer sous
EOF

: ${DIFF=diff}
${DIFF} mex-test4.ok mex-test4.out
result=$?

rm -fr $tmpfiles

exit $result