LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 601|回复: 1

GTK 在 gettext 時出現錯誤.

[复制链接]
发表于 2005-3-29 14:55:20 | 显示全部楼层 |阅读模式
各位大大, 有一個關於GTK+2.0的I18N問題,
我的gtk程序加入了


  1. #include <gtk/gtk.h>
  2. #include <locale.h>
  3. #include <libintl.h>
  4. #define PACKAGE "gui"
  5. #define _(STRING) gettext(STRING)

  6. int main(int argc, char *argv[])
  7. {

  8.         GtkWidget *window;

  9.         setlocale(LC_ALL, "");
  10.         textdomain(PACKAGE);
  11.         gtk_init(&argc, &argv);

  12.         window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  13.         gtk_window_set_title(GTK_WINDOW(window), _("Testing UI"));
  14.         gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL);
  15.         gtk_widget_show(window);

  16.         printf(_("gogogogogo\n"));
  17.         gtk_main();
  18.         return 0;
  19. }
复制代码


使用 #xgettext -k_ -o test.po test.c 得到 po檔, 再更改po內容如下:

  1. # This file is distributed under the same license as the PACKAGE package.
  2. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
  3. #
  4. #, fuzzy
  5. msgid ""
  6. msgstr ""
  7. "Project-Id-Version: PACKAGE VERSION\n"
  8. "Report-Msgid-Bugs-To: \n"
  9. "POT-Creation-Date: 2005-03-29 14:42+0800\n"
  10. "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  11. "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  12. "Language-Team: LANGUAGE <LL@li.org>\n"
  13. "MIME-Version: 1.0\n"
  14. "Content-Type: text/plain; charset=big5\n"
  15. "Content-Transfer-Encoding: 8bit\n"

  16. #: gui.c:17
  17. msgid "Testing UI"
  18. msgstr "測試測試"

  19. #: gui.c:21
  20. #, c-format
  21. msgid "gogogogogo\n"
  22. msgstr "受死吧\n"
复制代码


再用 #msgfmt -v -o gui.mo gui.po
安裝po檔 #install -m 644 gui.po /usr/share/locale/zh_TW/LC_MESSAGES/gui.mo
再編譯程序 #gcc -o gui gui.c `pkg-config --cflags --libs gtk+-2.0`
再運行 #./gui
在文本模式下會出現"受死吧", 但在gtk程式內就是空的, 沒有任何字顯示, 包括中文及英文.
請問各位, 我錯的地方在那呢? 請指教. 已經看了得多相關的文件, 但效果也是一樣的.
发表于 2005-3-29 17:05:40 | 显示全部楼层
这里是不是要调用bindtextdomain的?
偶也是菜鸟,最近看了一下linux的国际化,不知道是不是这个原因:)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表