找回密码
 立即注册
收起左侧

QApplication::translate() 与 tr();

3
回复
10475
查看
[复制链接]
累计签到:67 天
连续签到:1 天
来源: 2013-8-11 12:08:21 显示全部楼层 |阅读模式
1Qter豆
请问 QApplication::translate() 与 tr();  有哪些区别吗

最佳答案

查看完整内容

QString QCoreApplication::translate ( const char * context, const char * sourceText, const char * disambiguation, Encoding encoding, int n ) 可以直接指定编码; QString QObject::tr ( const char * sourceText, const char * disambiguation = 0, int n = -1 ) [static] 无法指定编码,需要使用 QTextCodec::setCodecForTr()来指定编码; tr()一般是为国际化(翻译)提供服务的,tr()包含的都是界面上显示的内容,可以 ...
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2013-8-11 12:08:22 显示全部楼层
QString QCoreApplication::translate ( const char * context, const char * sourceText, const char * disambiguation, Encoding encoding, int n )
可以直接指定编码;

QString QObject::tr ( const char * sourceText, const char * disambiguation = 0, int n = -1 ) [static]
无法指定编码,需要使用 QTextCodec::setCodecForTr()来指定编码;
tr()一般是为国际化(翻译)提供服务的,tr()包含的都是界面上显示的内容,可以在翻译时显示出来。
回复

使用道具 举报

累计签到:181 天
连续签到:1 天
2013-8-12 09:17:47 显示全部楼层
QString QApplication::translate ( const char * context, const char * sourceText, const char * comment = 0, Encoding encoding = DefaultCodec ) const
通过查询安装的消息文件,返回sourceText的翻译文本。消息文件被搜索的顺序是从最近安装的开始到最先安装的。

QObject::tr()和QObject::trUtf8()提供了更方便的这种功能。

context通常是一个类名(例如,“MyDialog”)并且sourceText是英语文本或者一个短的标识文本,如果输出文本很长(就像帮助文本那样的)。

comment是消除歧义的注释,当相同的sourceText在同样的上下文情况下被用在不同的规则中。默认情况下,它是零。encoding表明字符串的8位编码方式。

关于上下文和注释的更多信息请参考QTranslator文档。

如果消息文件中没有包含context中sourceText的翻译,这个函数返回一个和sourceText相等的QString。sourceText的编码方式由encoding指定,它默认为DefaultCodec。

这个函数不是虚的。你可以使用继承QTranslator这样的替代翻译技术。

也可以参考QObject::tr()、installTranslator()和defaultCodec()
回复

使用道具 举报

累计签到:67 天
连续签到:1 天
2013-8-12 13:03:37 显示全部楼层
明白了 谢谢了
回复

使用道具 举报

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

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了