]> git.sesse.net Git - vlc/commitdiff
Provide vlc_gettext on all platforms
authorRémi Denis-Courmont <rem@videolan.org>
Thu, 22 May 2008 19:46:11 +0000 (22:46 +0300)
committerRémi Denis-Courmont <rem@videolan.org>
Thu, 22 May 2008 19:46:11 +0000 (22:46 +0300)
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", ...).

include/vlc_common.h
include/vlc_fixups.h
src/extras/libc.c
src/libvlccore.sym

index 7f53265c391c9f80592bb62053260bd5cb2cd2b5..37c46a2e0376abd36f5a6c33bd6406354cdf7259 100644 (file)
@@ -889,8 +889,9 @@ VLC_EXPORT( void *, vlc_memset, ( void *, int, size_t ) );
  * 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 ) );
 #endif
+VLC_EXPORT( char *, vlc_gettext, ( const char *msgid ) );
 
 /*****************************************************************************
  * libvlc features
index f49a4267e0ab753e9e6543493b334b069eeacc55..0bb3566ed5055b12a50ae28ab9b3daf5079494b4 100644 (file)
@@ -163,16 +163,12 @@ typedef void *locale_t;
 #endif
 
 /* libintl support */
-#define _(str) dgettext (PACKAGE_NAME, str)
+#define _(str) vlc_gettext (str)
 
 #if defined (ENABLE_NLS)
 # include <libintl.h>
-# ifdef WIN32
-#  undef _
-#  define _(str) vlc_dgettext (PACKAGE_NAME, str)
-# endif
 #else
-# define dgettext(dom, str) (str)
+# define dgettext(dom, str) ((char *)(str))
 #endif
 
 #define N_(str) gettext_noop (str)
index 9d554ca8b6dd6f87583192bcc01f74d875be7e5e..38c930cafe7cc86074271c44437786e73e8fe3ab 100644 (file)
@@ -607,21 +607,25 @@ int vlc_scandir( const char *name, struct dirent ***namelist,
 }
 #endif
 
-#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 )
 {
-#if defined( ENABLE_NLS ) \
-     && ( defined(HAVE_GETTEXT) || defined(HAVE_INCLUDED_GETTEXT) )
     return dgettext( package, msgid );
-#else
-    return (char *)msgid;
-#endif
 }
 #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.
  *****************************************************************************/
index 222f00823766c48fbddaffc86b5613126afe4dc3..3499307393c39230a17ae0b03a376469a986d3da 100644 (file)
@@ -404,6 +404,7 @@ vlc_gai_strerror
 vlc_getaddrinfo
 vlc_getenv
 vlc_getnameinfo
+vlc_gettext
 vlc_iconv
 vlc_iconv_close
 vlc_iconv_open