mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
987cf30ad8
We gettextize under our package name, which we change to a more reasonable 'libctf'. Our internationalization support is mostly provided by ctf-intl.h, which is a copy of opcodes/opintl.h with the non-gettext_noop N_() expansion debracketed to avoid pedantic compiler warnings. The libctf error strings returned by ctf_errmsg are marked up for internationalization. (We also adjust binutils's Makefile a tiny bit to allow for the fact that libctf now uses functions from libintl.) binutils/ChangeLog 2020-08-27 Nick Alcock <nick.alcock@oracle.com> * Makefile.am (readelf_LDADD): Move $(LIBINTL) after $(LIBCTF_NOBFD). * Makefile.in: Regenerated. libctf/ChangeLog 2020-08-27 Nick Alcock <nick.alcock@oracle.com> * configure.ac: Adjust package name to simply 'libctf': arbitrarily declare this to be version 1.2.0. * Makefile.am (AM_CPPFLAGS): Add @INCINTL@. * Makefile.in: Regenerated. * configure: Regenerated. * ctf-intl.h: New file, lightly modified from opcodes/opintl.h. * ctf-impl.h: Include it. * ctf-error.r (_ctf_errlist_t): Mark strings as noop-translatable. (ctf_errmsg): Actually translate them.
69 lines
2.6 KiB
C
69 lines
2.6 KiB
C
/* ctf-intl.h - libctf specific header for gettext code.
|
|
Copyright (C) 1998-2020 Free Software Foundation, Inc.
|
|
|
|
Written by Tom Tromey <tromey@cygnus.com>
|
|
|
|
This file is part of libctf.
|
|
|
|
This library is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3, or (at your option)
|
|
any later version.
|
|
|
|
It is distributed in the hope that it will be useful, but WITHOUT
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
|
License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this file; see the file COPYING. If not, write to the
|
|
Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
|
|
MA 02110-1301, USA. */
|
|
|
|
#ifndef _CTF_INTL_H
|
|
#define _CTF_INTL_H
|
|
|
|
#ifdef ENABLE_NLS
|
|
# include <libintl.h>
|
|
/* Note the redefinition of gettext and ngettext here to use PACKAGE.
|
|
|
|
This is because the code in this directory is used to build a
|
|
library which will be linked with code in other directories to form
|
|
programs. We want to maintain a separate translation file for this
|
|
directory however, rather than being forced to merge it with that
|
|
of any program linked to libopcodes. This is a library, so it
|
|
cannot depend on the catalog currently loaded.
|
|
|
|
In order to do this, we have to make sure that when we extract
|
|
messages we use the LIBCTF domain rather than the domain of the
|
|
program that included the opcodes library, (eg OBJDUMP). Hence we
|
|
use dgettext (PACKAGE, String) and define PACKAGE to be 'libctf'.
|
|
(See the code in configure). */
|
|
# undef gettext
|
|
# define gettext(Msgid) dgettext (PACKAGE, Msgid)
|
|
# undef ngettext
|
|
# define ngettext(Msgid1, Msgid2, n) dngettext (PACKAGE, Msgid1, Msgid2, n)
|
|
# define _(String) gettext (String)
|
|
# ifdef gettext_noop
|
|
# define N_(String) gettext_noop (String)
|
|
# else
|
|
# define N_(String) String
|
|
# endif
|
|
#else
|
|
# define gettext(Msgid) (Msgid)
|
|
# define dgettext(Domainname, Msgid) (Msgid)
|
|
# define dcgettext(Domainname, Msgid, Category) (Msgid)
|
|
# define ngettext(Msgid1, Msgid2, n) \
|
|
(n == 1 ? Msgid1 : Msgid2)
|
|
# define dngettext(Domainname, Msgid1, Msgid2, n) \
|
|
(n == 1 ? Msgid1 : Msgid2)
|
|
# define dcngettext(Domainname, Msgid1, Msgid2, n, Category) \
|
|
(n == 1 ? Msgid1 : Msgid2)
|
|
# define textdomain(Domainname) do {} while (0)
|
|
# define bindtextdomain(Domainname, Dirname) do {} while (0)
|
|
# define _(String) (String)
|
|
# define N_(String) String
|
|
#endif
|
|
|
|
#endif /* _CTF_INTL_H */
|