如何在基于Qt的应用程序中支持多种语言

时间:2016-02-22 06:53:04

标签: qt qml qtquick2 qtgui

我正在尝试开发一个基于Qml的QT应用程序,它将支持多种语言。在应用程序中将有下拉列表,从选择语言的位置将更改应用程序的整个语言系列。任何人都可以帮助我提出想法如何进行?

有什么例子吗?并且QTranslator()是方便的方法吗?

2 个答案:

答案 0 :(得分:2)

Qt的本地化系统已有详细记录:Internationalization with Qt

只需使用tr()的{​​{1}}方法(或QML中的QObject)直接将文本放入C ++代码中。比有一些工具(lupdate和lrelease)生成翻译文件。我建议阅读文档,这很容易。

一些有用的链接:

答案 1 :(得分:1)

Qt适用于languageChanged()用户界面,因为您可以使用QML信号来更新用户界面。 override func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) { let delta = abs(Double(scrollView.contentOffset.y)) - abs(Double(initialScrollViewContentOffset)) if delta >= Double(placeHolderCell.frame.height / 2) { insertNewObject(scrollView) } placeHolderCell.removeFromSuperview() } func insertNewObject(sender: AnyObject) { let indexPath = NSIndexPath(forRow: 0, inSection: 0) objects.insert(NSDate(), atIndex: 0) UIView.setAnimationsEnabled(false) tableView.beginUpdates() tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: .None) tableView.endUpdates() UIView.setAnimationsEnabled(true) } 无法做到这一点。

请参阅此QML WiKi,这是推荐的解决方法(暂时!)。