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 ObjectiveC support: --add-comments option.

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

tmpfiles="$tmpfiles xg-ob-2.m"
cat <<EOF > xg-ob-2.m
// This comment will not be extracted.
print (NSLocalizedString (@
"help"));
//  TRANSLATORS: This is an extracted comment.
print (NSLocalizedString (@
"me"));
/* Not extracted either. */
print (NSLocalizedString (@
"Hey Jude"));
/*  TRANSLATORS:
     Nickname of the Beatles
*/
print (NSLocalizedString (@
"The Fabulous Four"));
/* TRANSLATORS: The strings get concatenated.  */
print (NSLocalizedString (@ "there is not enough"
@" room on a single line for this entire long, " // confusing, eh?
@ "verbose string"));
EOF

tmpfiles="$tmpfiles xg-ob-2.po"
: ${XGETTEXT=xgettext}
${XGETTEXT} --omit-header --no-location --add-comments=TRANSLATORS: \
  -d xg-ob-2 xg-ob-2.m
test $? = 0 || { rm -fr $tmpfiles; exit 1; }

tmpfiles="$tmpfiles xg-ob-2.ok"
cat <<EOF > xg-ob-2.ok
msgid "help"
msgstr ""

#. TRANSLATORS: This is an extracted comment.
msgid "me"
msgstr ""

msgid "Hey Jude"
msgstr ""

#. TRANSLATORS:
#. Nickname of the Beatles
#.
msgid "The Fabulous Four"
msgstr ""

#. TRANSLATORS: The strings get concatenated.
msgid ""
"there is not enough room on a single line for this entire long, verbose "
"string"
msgstr ""
EOF

: ${DIFF=diff}
${DIFF} xg-ob-2.ok xg-ob-2.po
result=$?

rm -fr $tmpfiles

exit $result