Changeset 34702

Show
Ignore:
Timestamp:
08/02/09 07:16:24 (5 years ago)
Author:
saturday06
Message:

nlsg

Location:
lang/objective-cplusplus/i3/trunk
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • lang/objective-cplusplus/i3/trunk/src/os-windows/msvc/libintl.h

    r25302 r34702  
    410410                                      const char *curr_prefix); 
    411411 
     412/* MS Windows wide character support.  */ 
     413#if (defined(WIN32) || defined(_WIN32) || defined(_WIN64) || defined(_WIN32_WCE)) \ 
     414    && !defined(__CYGWIN__) && (defined(UNICODE) || defined(_UNICODE)) 
     415 
     416#define ENABLE_WINDOWS_WCHAR_SUPPORT 
     417 
     418#ifdef _INTL_REDIRECT_INLINE 
     419extern wchar_t *libintl_wbindtextdomain (const char *__domainname, 
     420                                     const wchar_t *__dirname); 
     421static inline wchar_t *wbindtextdomain (const char *__domainname, 
     422                                    const wchar_t *__dirname) 
     423{ 
     424  return libintl_wbindtextdomain (__domainname, __dirname); 
     425} 
     426#elif defined _INTL_REDIRECT_MACROS 
     427# define wbindtextdomain libintl_wbindtextdomain 
     428#endif 
     429#endif 
    412430 
    413431#ifdef __cplusplus 
  • lang/objective-cplusplus/i3/trunk/src/os-windows/wlibintl.h

    r26337 r34702  
    2626/* wchar_t support */ 
    2727#ifdef _INTL_REDIRECT_INLINE 
    28 #define WCHAR_LIBINTL_STATIC_INLINE static inline 
     28#define WLIBINTL_H_FUNCTION_LINKAGE static inline 
    2929#elif defined(_MSC_VER) 
    30 #define WCHAR_LIBINTL_STATIC_INLINE static _inline 
     30#define WLIBINTL_H_FUNCTION_LINKAGE static _inline 
    3131#else 
    32 #define WCHAR_LIBINTL_STATIC_INLINE static 
     32#define WLIBINTL_H_FUNCTION_LINKAGE static 
    3333#endif 
    3434 
    35 #define wgettext(msgid) wgettext_(msgid, L##msgid) 
    36 #define dwgettext(domainname, msgid) dwgettext_(domainname, msgid, L##msgid) 
    37 #define dcwgettext(domainname, msgid, category) dwgettext_(domainname, msgid, category, L##msgid) 
    38 #define nwgettext(msgid1, msgid2, n) nwgettext_(msgid1, msgid2, n, L##msgid1,  L##msgid2) 
    39 #define dnwgettext(domainname, msgid1, msgid2, n) dnwgettext_(domainname, msgid1, msgid2, n, L##msgid1,  L##msgid2) 
    40 #define dcnwgettext(domainname, msgid1, msgid2, n, category) dnwgettext_(domainname, msgid1, msgid2, n, L##msgid1,  L##msgid2) 
     35#define wgettext(msgid) wgettext_selecter(msgid, L##msgid) 
     36#define dwgettext(domainname, msgid) dwgettext_selecter(domainname, msgid, L##msgid) 
     37#define dcwgettext(domainname, msgid, category) dwgettext_selecter(domainname, msgid, category, L##msgid) 
     38#define nwgettext(msgid1, msgid2, n) nwgettext_selecter(msgid1, msgid2, n, L##msgid1,  L##msgid2) 
     39#define dnwgettext(domainname, msgid1, msgid2, n) dnwgettext_selecter(domainname, msgid1, msgid2, n, L##msgid1,  L##msgid2) 
     40#define dcnwgettext(domainname, msgid1, msgid2, n, category) dnwgettext_selecter(domainname, msgid1, msgid2, n, L##msgid1,  L##msgid2) 
    4141 
    42 WCHAR_LIBINTL_STATIC_INLINE  
    43 const wchar_t *wgettext_ (const char *msgid, const wchar_t *wmsgid) 
     42WLIBINTL_H_FUNCTION_LINKAGE  
     43wchar_t *wgettext_selecter (const char *msgid, const wchar_t *wmsgid) 
    4444{ 
    45   const char *translated = gettext (msgid); 
    46   return translated != msgid ? (const wchar_t *)translated : wmsgid; 
     45  char *translated = gettext (msgid); 
     46  if (strcmp(msgid, translated) == 0) 
     47    { 
     48      return (wchar_t *)wmsgid; 
     49    } 
     50  return (wchar_t *)translated; 
    4751} 
    4852 
    49 WCHAR_LIBINTL_STATIC_INLINE  
    50 const wchar_t *dwgettext_ (const char *domainname, const char *msgid, const wchar_t *wmsgid) 
     53WLIBINTL_H_FUNCTION_LINKAGE  
     54wchar_t *dwgettext_selecter (const char *domainname, const char *msgid, const wchar_t *wmsgid) 
    5155{ 
    52   const char *translated = dgettext (domainname, msgid); 
    53   return translated != msgid ? (const wchar_t *)translated : wmsgid; 
     56  char *translated = dgettext (domainname, msgid); 
     57  if (strcmp(msgid, translated) == 0) 
     58    { 
     59      return (wchar_t *)wmsgid; 
     60    } 
     61  return (wchar_t *)translated; 
    5462} 
    5563 
    56 WCHAR_LIBINTL_STATIC_INLINE  
    57 const wchar_t *dcwgettext_ (const char *domainname, const char *msgid, int category,  const wchar_t *wmsgid) 
     64WLIBINTL_H_FUNCTION_LINKAGE  
     65wchar_t *dcwgettext_selecter (const char *domainname, const char *msgid, int category,  const wchar_t *wmsgid) 
    5866{ 
    59   const char *translated = dcgettext (domainname, msgid, category); 
    60   return translated != msgid ? (const wchar_t *)translated : wmsgid; 
     67  char *translated = dcgettext (domainname, msgid, category); 
     68  if (strcmp(msgid, translated) == 0) 
     69    { 
     70      return (wchar_t *)wmsgid; 
     71    } 
     72  return (wchar_t *)translated; 
    6173} 
    6274 
    63 WCHAR_LIBINTL_STATIC_INLINE  
    64 const wchar_t *nwgettext_ (const char *msgid1, const char *msgid2, unsigned long n, const wchar_t *wmsgid1, const wchar_t *wmsgid2) 
     75WLIBINTL_H_FUNCTION_LINKAGE  
     76wchar_t *nwgettext_selecter (const char *msgid1, const char *msgid2, unsigned long n, const wchar_t *wmsgid1, const wchar_t *wmsgid2) 
    6577{ 
    66   const char *translated = ngettext (msgid1, msgid2, n); 
    67   return translated == msgid1 ? wmsgid1 : (translated == msgid2 ? wmsgid2 : (const wchar_t *)translated); 
     78  char *translated = ngettext (msgid1, msgid2, n); 
     79  if (strcmp(msgid1, translated) == 0) 
     80    { 
     81      return (wchar_t *)wmsgid1; 
     82    } 
     83  else if (strcmp(msgid2, translated) == 0) 
     84    { 
     85      return (wchar_t *)wmsgid2; 
     86    } 
     87  return (wchar_t *)translated; 
    6888} 
    6989 
    70 WCHAR_LIBINTL_STATIC_INLINE  
    71 const wchar_t *dnwgettext_ (const char *domainname, const char *msgid1, const char *msgid2, unsigned long n, const wchar_t *wmsgid1, const wchar_t *wmsgid2) 
     90WLIBINTL_H_FUNCTION_LINKAGE  
     91wchar_t *dnwgettext_selecter (const char *domainname, const char *msgid1, const char *msgid2, unsigned long n, const wchar_t *wmsgid1, const wchar_t *wmsgid2) 
    7292{ 
    73   const char *translated = dngettext (domainname, msgid1, msgid2, n); 
    74   return translated == msgid1 ? wmsgid1 : (translated == msgid2 ? wmsgid2 : (const wchar_t *)translated); 
     93  char *translated = dngettext (domainname, msgid1, msgid2, n); 
     94  if (strcmp(msgid1, translated) == 0) 
     95    { 
     96      return (wchar_t *)wmsgid1; 
     97    } 
     98  else if (strcmp(msgid2, translated) == 0) 
     99    { 
     100      return (wchar_t *)wmsgid2; 
     101    } 
     102  return (wchar_t *)translated; 
    75103} 
    76104 
    77 WCHAR_LIBINTL_STATIC_INLINE  
    78 const wchar_t *dcnwgettext_ (const char *domainname, const char *msgid1, const char *msgid2, unsigned long n, const wchar_t *wmsgid1, const wchar_t *wmsgid2, int category) 
     105WLIBINTL_H_FUNCTION_LINKAGE  
     106wchar_t *dcnwgettext_selecter (const char *domainname, const char *msgid1, const char *msgid2, unsigned long n, const wchar_t *wmsgid1, const wchar_t *wmsgid2, int category) 
    79107{ 
    80   const char *translated = dcngettext (domainname, msgid1, msgid2, n, category); 
    81   return translated == msgid1 ? wmsgid1 : (translated == msgid2 ? wmsgid2 : (const wchar_t *)translated); 
     108  char *translated = dcngettext (domainname, msgid1, msgid2, n, category); 
     109  if (strcmp(msgid1, translated) == 0) 
     110    { 
     111      return (wchar_t *)wmsgid1; 
     112    } 
     113  else if (strcmp(msgid2, translated) == 0) 
     114    { 
     115      return (wchar_t *)wmsgid2; 
     116    } 
     117  return (wchar_t *)translated; 
    82118} 
    83119 
    84 /* MS Windows Wide character support.  */ 
    85 #if (defined(WIN32) || defined(_WIN32) || defined(_WIN64) || defined(_WIN32_WCE)) \ 
    86     && !defined(__CYGWIN__) && (defined(UNICODE) || defined(_UNICODE)) 
    87 extern const wchar_t *wbindtextdomain (const char *domainname, const wchar_t *dirname16); 
    88 #endif 
    89  
    90 #undef WCHAR_LIBINTL_STATIC_INLINE  
     120#undef WLIBINTL_H_FUNCTION_LINKAGE  
    91121 
    92122#ifdef __cplusplus 
  • lang/objective-cplusplus/i3/trunk/windows/i3.vcproj

    r34080 r34702  
    659659                                </File> 
    660660                                <File 
     661                                        RelativePath="..\src\mil\include\mil\os-windows\Debug.h" 
     662                                        > 
     663                                </File> 
     664                                <File 
    661665                                        RelativePath="..\src\mil\include\mil\Debug.h" 
    662666                                        > 
    663667                                </File> 
    664668                                <File 
    665                                         RelativePath="..\src\mil\include\mil\os-windows\Debug.h" 
    666                                         > 
    667                                 </File> 
    668                                 <File 
    669669                                        RelativePath="..\src\mil\include\mil\gui-windows\DummyMessageHandler-inl.h" 
    670670                                        > 
     
    675675                                </File> 
    676676                                <File 
     677                                        RelativePath="..\src\mil\include\mil\FilterException.h" 
     678                                        > 
     679                                </File> 
     680                                <File 
    677681                                        RelativePath="..\src\mil\include\mil\gui-windows\Gui.h" 
    678682                                        > 
    679683                                </File> 
    680684                                <File 
     685                                        RelativePath="..\src\mil\include\mil\GuiModule.h" 
     686                                        > 
     687                                </File> 
     688                                <File 
    681689                                        RelativePath="..\src\mil\include\mil\gui-windows\GuiModule.h" 
    682690                                        > 
    683691                                </File> 
    684692                                <File 
    685                                         RelativePath="..\src\mil\include\mil\GuiModule.h" 
    686                                         > 
    687                                 </File> 
    688                                 <File 
    689693                                        RelativePath="..\src\mil\include\mil\gui-windows\MessageCracker-inl.h" 
    690694                                        > 
     
    711715                                </File> 
    712716                                <File 
     717                                        RelativePath="..\src\mil\include\mil\PrecompiledHeaders.h" 
     718                                        > 
     719                                </File> 
     720                                <File 
     721                                        RelativePath="..\src\mil\include\mil\os-windows\PrecompiledHeaders.h" 
     722                                        > 
     723                                </File> 
     724                                <File 
    713725                                        RelativePath="..\src\mil\include\mil\gui-windows\PrecompiledHeaders.h" 
    714726                                        > 
    715727                                </File> 
    716728                                <File 
    717                                         RelativePath="..\src\mil\include\mil\PrecompiledHeaders.h" 
    718                                         > 
    719                                 </File> 
    720                                 <File 
    721                                         RelativePath="..\src\mil\include\mil\os-windows\PrecompiledHeaders.h" 
    722                                         > 
    723                                 </File> 
    724                                 <File 
    725729                                        RelativePath="..\src\mil\include\mil\os-windows\Sleep.h" 
    726730                                        > 
    727731                                </File> 
    728732                                <File 
     733                                        RelativePath="..\src\mil\include\mil\Thread.h" 
     734                                        > 
     735                                </File> 
     736                                <File 
    729737                                        RelativePath="..\src\mil\include\mil\os-windows\Thread.h" 
    730                                         > 
    731                                 </File> 
    732                                 <File 
    733                                         RelativePath="..\src\mil\include\mil\Thread.h" 
    734738                                        > 
    735739                                </File>