This avoids having to link a few plugins with libintl on platforms where
it's not built-in libc. This also factors the internal use of
dgettext("vlc", ...).
* I18n stuff
*****************************************************************************/
#ifdef WIN32
* I18n stuff
*****************************************************************************/
#ifdef WIN32
- VLC_EXPORT( char *, vlc_dgettext, ( const char *package, const char *msgid ) );
+VLC_EXPORT( char *, vlc_dgettext, ( const char *package, const char *msgid ) );
+VLC_EXPORT( char *, vlc_gettext, ( const char *msgid ) );
/*****************************************************************************
* libvlc features
/*****************************************************************************
* libvlc features
#endif
/* libintl support */
#endif
/* libintl support */
-#define _(str) dgettext (PACKAGE_NAME, str)
+#define _(str) vlc_gettext (str)
#if defined (ENABLE_NLS)
# include <libintl.h>
#if defined (ENABLE_NLS)
# include <libintl.h>
-# ifdef WIN32
-# undef _
-# define _(str) vlc_dgettext (PACKAGE_NAME, str)
-# endif
-# define dgettext(dom, str) (str)
+# define dgettext(dom, str) ((char *)(str))
#endif
#define N_(str) gettext_noop (str)
#endif
#define N_(str) gettext_noop (str)
-#ifdef WIN32
-/*****************************************************************************
- * dgettext: gettext for plugins.
- *****************************************************************************/
+#if defined (WIN32)
+/**
+ * gettext callbacks for plugins.
+ * LibVLC links libintl statically on Windows.
+ */
char *vlc_dgettext( const char *package, const char *msgid )
{
char *vlc_dgettext( const char *package, const char *msgid )
{
-#if defined( ENABLE_NLS ) \
- && ( defined(HAVE_GETTEXT) || defined(HAVE_INCLUDED_GETTEXT) )
return dgettext( package, msgid );
return dgettext( package, msgid );
-#else
- return (char *)msgid;
-#endif
+/**
+ * In-tree plugins share their gettext domain with LibVLC.
+ */
+char *vlc_gettext( const char *msgid )
+{
+ return dgettext( PACKAGE_NAME, msgid );
+}
+
/*****************************************************************************
* count_utf8_string: returns the number of characters in the string.
*****************************************************************************/
/*****************************************************************************
* count_utf8_string: returns the number of characters in the string.
*****************************************************************************/
vlc_getaddrinfo
vlc_getenv
vlc_getnameinfo
vlc_getaddrinfo
vlc_getenv
vlc_getnameinfo
vlc_iconv
vlc_iconv_close
vlc_iconv_open
vlc_iconv
vlc_iconv_close
vlc_iconv_open