请问怎样用gettext在软件里面自由切换中英文?

chenzhixin 2008-02-26 03:38:14
我已经让程序支持了多国语言了,可是只是重启程序后setlocal后才能变成中文,而不能直接就切换成中文,用改LABEL的话控件太多,也不方便管理。求教,谢谢
...全文
122 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhixin 2008-02-27
  • 打赏
  • 举报
回复
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
#endif

g_thread_init(0);
gdk_threads_init();
gtk_init(&argc,&argv);

gtk_set_locale();
//切换到中文模式
//setlocale(LC_ALL,"zh_CN.UTF-8");

我是这样写的,切换的时候需要重启程序,而不能动态切换。我要的是点个菜单就能切换语言的功能
moyihua 2008-02-27
  • 打赏
  • 举报
回复
我认为:
1)你可以做一个服务程序,专门来重启程序用。

2)你也可以把所有的界面文本全部用程序控制,每次更改界面,同过配置文件,加载不同的文字。
gettext 2008-02-26
  • 打赏
  • 举报
回复
info gettext 里面讲的很清楚。setlocale 是必需的。

{
setlocale (LC_ALL, "");
textdomain ("test-package");
bindtextdomain ("test-package", "/usr/local/share/locale");
puts (gettext ("Hello, world!"));
}

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧