锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品99久久久久久猫咪,国产精品一区二区久久精品涩爱,亚洲国产精品18久久久久久http://www.shnenglu.com/sandy/category/5559.html楂樻ц兘鏈嶅姟鍣ㄧ璁$畻zh-cnTue, 20 May 2008 06:52:42 GMTTue, 20 May 2008 06:52:42 GMT60G11N Developement (2) --- Linux Best Practicehttp://www.shnenglu.com/sandy/archive/2006/06/26/9020.html灝忔槑灝忔槑Mon, 26 Jun 2006 08:57:00 GMThttp://www.shnenglu.com/sandy/archive/2006/06/26/9020.htmlhttp://www.shnenglu.com/sandy/comments/9020.htmlhttp://www.shnenglu.com/sandy/archive/2006/06/26/9020.html#Feedback0http://www.shnenglu.com/sandy/comments/commentRss/9020.htmlhttp://www.shnenglu.com/sandy/services/trackbacks/9020.htmlftp://ftp.gnu.org/gnu/gettext/ ) 鍜宭ibiconv(http://www.gnu.org/software/libiconv/) ,鍓嶈呮槸鐢ㄤ簬瀹炵幇Resource bundle,鑰屽悗鑰呯敤浜庡悇縐嶇紪鐮佽漿鍖栥?br>
(娉?榪欓噷娌℃湁鑰冭檻cross-platform)


1. 瀹炵幇鏂規硶

a . 浣跨敤po鏂囦歡浣滀負璧勬簮鏂囦歡 (寤鴻緙栫爜鏄痷tf-8)
    涓鏂歸潰鍥犱負UTF-8鍏煎ANSI,鍙﹀涓鏂歸潰鑰冭檻鍒癎11N鐨勭▼搴忓ぇ閮ㄥ垎浣跨敤utf-8杈撳嚭錛屾瘮濡傝緭鍑哄埌database,web UI, file絳夌瓑銆?br>
b. 浣跨敤getext浠巖esource file ( mo鏂囦歡)璇誨埌鐩稿簲鐨凩10N resource鏂囦歡
   娉ㄦ剰榪欓噷闇瑕佸厛setlocale鏉ヨ緗甽ocale
#include <stdio.h>
#include 
<locale.h>
#include 
<libintl.h>

#define _(string) gettext (string)

int main(int argc, char **argv)
{
    
if (setlocale(LC_ALL, “”) == NULL) {
        fprintf(stderr, “setlocale() error.\n”);
        
return -1;
}
if (bindtextdomain(package, “/usr/share/locale”) == NULL) {
    fprintf(stderr, “bindtextdomain() error.\n”);
    
return –1;
}
    
if (textdomain(package) == NULL) {
        fprintf(stderr, “textdomain() error.\n”);
        
return –1;
}
    printf(“
%s\n”, _(“Hello, world!”));
    
return 0;
}


c.濡傛灉瑕佽緭鍑哄埌鎺у埗鍙?console),鍥犱負涓嶆槸console閮芥敮鎸乽nicode output錛屾墍浠ユ帹鑽愮殑鏂規硶鏄鍏堟槸鎶妘tf-8杞寲涓烘湰鍦扮紪鐮侊紝鐒跺悗浣跨敤printf杈撳嚭銆備笉鎺ㄨ崘浣跨敤wprintf榪涜杈撳嚭錛屼竴鏂歸潰鏄洜涓簑char_t鐨勫ぇ灝忛殢緙栬瘧鍣ㄤ笉鍚岋紝涓嶅ソ鎺у埗銆傚彟澶栦竴鏂歸潰錛屽緢澶歸printf鐨勫疄鐜頒篃閮芥槸鍏堟妸wchar_t[]杞負鏈湴緙栫爜錛岀劧鍚庤緭鍑恒傝漿鍖栫紪鐮佷嬌鐢╨ibconv

d.濡傛灉瑕佽緭鍑哄埌web pages,database,file錛岀紪鐮佹帹鑽愪嬌鐢╱tf-8.

e.濡傛灉瑕佽緭鍑烘湰鍦板寲鐨勬棩鏈熷拰鏃墮棿錛屼嬌鐢ˋPI: strftime
#include <stdio.h>
#include 
<time.h>
int main(int argc, char **argv) 
{
    time_t t;
    
struct tm *ptm;
    
char buffer[100];

    memset(buffer, 
0sizeof(buffer));
    
if (time(&t) < 0) {
        fprintf(stderr, “time() error: 
%m\n”);
    }
    
if ((ptm = localtime(&t)) == NULL) {
        fprintf(stderr, “localtime() error: 
%m\n”);
    }
    strftime(buffer, 
sizeof(buffer), “%%X”, ptm);
    printf(“
%s\n”, buffer);
    
return 0;
}


f. 濡傛灉瑕佽緭鍑烘湰鍦板寲鐨勬暟瀛楀拰璐у竵錛屼嬌鐢ˋPI: strfmon
#include <stdio.h>
#include 
<monetary.h>

int main(int argc, char **argv)
{
    
char buffer[100];
    strfmon(buffer, 
sizeof(buffer), “%=*i", 12345.67);
    printf(“%s\n”, buffer);
    
return 0;
}


2.鐩綍緇撴瀯
/product
  /i18n
      /zh_TW
          your.mo
      /ja_JP 
          your.mo



灝忔槑 2006-06-26 16:57 鍙戣〃璇勮
]]>
C++璺ㄥ鉤鍙板紑鍙戞柟娉?宸ュ叿http://www.shnenglu.com/sandy/archive/2006/03/24/4544.html灝忔槑灝忔槑Fri, 24 Mar 2006 08:45:00 GMThttp://www.shnenglu.com/sandy/archive/2006/03/24/4544.htmlhttp://www.shnenglu.com/sandy/comments/4544.htmlhttp://www.shnenglu.com/sandy/archive/2006/03/24/4544.html#Feedback15http://www.shnenglu.com/sandy/comments/commentRss/4544.htmlhttp://www.shnenglu.com/sandy/services/trackbacks/4544.html  闃呰鍏ㄦ枃

灝忔槑 2006-03-24 16:45 鍙戣〃璇勮
]]>
亚洲午夜久久久影院| 美女久久久久久| 国产69精品久久久久777| 亚洲综合精品香蕉久久网97| 色综合合久久天天给综看| 欧洲人妻丰满av无码久久不卡| 97久久精品国产精品青草| 亚洲国产香蕉人人爽成AV片久久| 欧美午夜精品久久久久免费视 | 色综合久久无码五十路人妻| 国内精品久久久久久野外| 一本大道久久东京热无码AV| 丁香五月网久久综合| 久久婷婷五月综合色奶水99啪| 久久精品国产亚洲欧美| 一本一道久久综合狠狠老| 日本久久久久久中文字幕| 亚洲国产精品无码久久久蜜芽 | 99久久人人爽亚洲精品美女| 久久精品国产乱子伦| 日韩精品无码久久一区二区三| 国产精品久久网| 久久精品蜜芽亚洲国产AV| 亚洲精品无码成人片久久| 亚洲性久久久影院| 亚洲欧美国产日韩综合久久| 国产精品亚洲综合专区片高清久久久| 麻豆亚洲AV永久无码精品久久 | 久久毛片一区二区| 久久电影网| 久久夜色精品国产www| 久久综合综合久久97色| 久久久久久综合一区中文字幕| 亚洲午夜久久久影院伊人| 亚洲AV无码久久精品色欲| 人妻精品久久无码专区精东影业| 久久久久久久波多野结衣高潮| 精品多毛少妇人妻AV免费久久| 丁香色欲久久久久久综合网| 99久久精品免费看国产一区二区三区| 久久综合鬼色88久久精品综合自在自线噜噜|