qt (.ui)国际化问题 !!

q274989079 2013-07-11 11:28:19
我用qt设计器设计了界面,但国际化一直没有实现,以下是代码,求帮助!!

main.cpp

QTranslator translator;
QString Locale = QLocale::system ().name ();
translator.load(QString("Language_")+Locale);
App.installTranslator (&translator);

zh_CN.ts

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="zh_CN" sourcelanguage="en_US">
<defaultcodec>UTF-8</defaultcodec>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.ui" line="26"/>
<source>test</source>
<translation>测试</translation>
</message>
</context>
</TS>

我国际化的是WindowTitle!!
设计器里面的可翻译的属性我已经点了
求各位大大帮助!!!
...全文
180 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
_Gx 2013-07-12
  • 打赏
  • 举报
回复
使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
q274989079 2013-07-12
  • 打赏
  • 举报
回复
引用 6 楼 q274989079 的回复:
[quote=引用 5 楼 q245879 的回复:] [quote=引用 4 楼 q274989079 的回复:] [quote=引用 3 楼 q245879 的回复:] [quote=引用 2 楼 q274989079 的回复:] [quote=引用 1 楼 q245879 的回复:] 使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
亲,我试了但是没有用啊!!![/quote] 你把文件放在哪里了?? 你可以用绝对路径试一试。[/quote] 放在了当前 .exe 文件目录!![/quote]

QTranslator translator;
translator.load("xxx.qm");
qApp->installTranslator (&translator);
这样写不就OK了吗?你的是windows吗?[/quote]
引用 5 楼 q245879 的回复:
[quote=引用 4 楼 q274989079 的回复:] [quote=引用 3 楼 q245879 的回复:] [quote=引用 2 楼 q274989079 的回复:] [quote=引用 1 楼 q245879 的回复:] 使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
亲,我试了但是没有用啊!!![/quote] 你把文件放在哪里了?? 你可以用绝对路径试一试。[/quote] 放在了当前 .exe 文件目录!![/quote]

QTranslator translator;
translator.load("xxx.qm");
qApp->installTranslator (&translator);
这样写不就OK了吗?你的是windows吗?[/quote] 是win,我也这样写的但是没用!! 我试了必须要写绝对路径才有用!!!!相对路径没用,,,[/quote] 在非系统发布模式没用,,,,非要单独把qt生成的exe文件和qt支持库放在一块才有用,,,,无语啊。。。 感谢q245879,给分结贴!!
_Gx 2013-07-12
  • 打赏
  • 举报
回复
引用 6 楼 q274989079 的回复:
[quote=引用 5 楼 q245879 的回复:] [quote=引用 4 楼 q274989079 的回复:] [quote=引用 3 楼 q245879 的回复:] [quote=引用 2 楼 q274989079 的回复:] [quote=引用 1 楼 q245879 的回复:] 使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
亲,我试了但是没有用啊!!![/quote] 你把文件放在哪里了?? 你可以用绝对路径试一试。[/quote] 放在了当前 .exe 文件目录!![/quote]

QTranslator translator;
translator.load("xxx.qm");
qApp->installTranslator (&translator);
这样写不就OK了吗?你的是windows吗?[/quote]
引用 5 楼 q245879 的回复:
[quote=引用 4 楼 q274989079 的回复:] [quote=引用 3 楼 q245879 的回复:] [quote=引用 2 楼 q274989079 的回复:] [quote=引用 1 楼 q245879 的回复:] 使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
亲,我试了但是没有用啊!!![/quote] 你把文件放在哪里了?? 你可以用绝对路径试一试。[/quote] 放在了当前 .exe 文件目录!![/quote]

QTranslator translator;
translator.load("xxx.qm");
qApp->installTranslator (&translator);
这样写不就OK了吗?你的是windows吗?[/quote] 是win,我也这样写的但是没用!! 我试了必须要写绝对路径才有用!!!!相对路径没用,,,[/quote] 我这里是ubuntu的,用的都没有问题,win下没有尝试过。
q274989079 2013-07-12
  • 打赏
  • 举报
回复
引用 5 楼 q245879 的回复:
[quote=引用 4 楼 q274989079 的回复:] [quote=引用 3 楼 q245879 的回复:] [quote=引用 2 楼 q274989079 的回复:] [quote=引用 1 楼 q245879 的回复:] 使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
亲,我试了但是没有用啊!!![/quote] 你把文件放在哪里了?? 你可以用绝对路径试一试。[/quote] 放在了当前 .exe 文件目录!![/quote]

QTranslator translator;
translator.load("xxx.qm");
qApp->installTranslator (&translator);
这样写不就OK了吗?你的是windows吗?[/quote]
引用 5 楼 q245879 的回复:
[quote=引用 4 楼 q274989079 的回复:] [quote=引用 3 楼 q245879 的回复:] [quote=引用 2 楼 q274989079 的回复:] [quote=引用 1 楼 q245879 的回复:] 使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
亲,我试了但是没有用啊!!![/quote] 你把文件放在哪里了?? 你可以用绝对路径试一试。[/quote] 放在了当前 .exe 文件目录!![/quote]

QTranslator translator;
translator.load("xxx.qm");
qApp->installTranslator (&translator);
这样写不就OK了吗?你的是windows吗?[/quote] 是win,我也这样写的但是没用!! 我试了必须要写绝对路径才有用!!!!相对路径没用,,,
_Gx 2013-07-12
  • 打赏
  • 举报
回复
引用 4 楼 q274989079 的回复:
[quote=引用 3 楼 q245879 的回复:] [quote=引用 2 楼 q274989079 的回复:] [quote=引用 1 楼 q245879 的回复:] 使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
亲,我试了但是没有用啊!!![/quote] 你把文件放在哪里了?? 你可以用绝对路径试一试。[/quote] 放在了当前 .exe 文件目录!![/quote]

QTranslator translator;
translator.load("xxx.qm");
qApp->installTranslator (&translator);
这样写不就OK了吗?你的是windows吗?
q274989079 2013-07-12
  • 打赏
  • 举报
回复
引用 3 楼 q245879 的回复:
[quote=引用 2 楼 q274989079 的回复:] [quote=引用 1 楼 q245879 的回复:] 使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
亲,我试了但是没有用啊!!![/quote] 你把文件放在哪里了?? 你可以用绝对路径试一试。[/quote] 放在了当前 .exe 文件目录!!
_Gx 2013-07-12
  • 打赏
  • 举报
回复
引用 2 楼 q274989079 的回复:
[quote=引用 1 楼 q245879 的回复:] 使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
亲,我试了但是没有用啊!!![/quote] 你把文件放在哪里了?? 你可以用绝对路径试一试。
q274989079 2013-07-12
  • 打赏
  • 举报
回复
引用 1 楼 q245879 的回复:
使用语言翻译器会生成一个.qm文件 translator.load(xxx.qm);即可
亲,我试了但是没有用啊!!!

16,235

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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