English 中文(简体)
阿拉伯文的脱色方向没有根据当地(Mac和Rino)确定。
原标题:Layout direction for Arabic is not determined based on the locale (Mac and Linux)

是否有任何人从用户的语言环境推断出正确的布局方向(右边和右边)。

我对阿拉伯语(沙特阿拉伯)的当地应用感到麻烦。 现场检测,并装载和安装适当的电梯,两者都是工作罚款。 (案文看上去的是北草坪!) 我提出的问题是,没有从当地制度中推断出全球布局方向。

The documentation for QApplication:layoutDirection states (with mylight):

该财产对这项申请持有缺省指示。 在系统启动方面,缺省布局取决于应用<_em>。

然而,情况并非如此:布局定在<>。 Qt:LeftToRight,不论当地制度如何。 我提出了一个显示问题的试验方案。 其主要职能是:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTranslator translator;
    translator.load(":/layoutDirection.qm");
    a.installTranslator(&translator);

    Window w;
    w.show();

    return a.exec();
}

它还有一个资源档案,其中载有必要的图像和翻译档案。 定义如下:

<RCC>
    <!-- Arabic resources. The arrow points to the left. -->
    <qresource prefix="/" lang="ar">
        <file alias="arrow.png">images/arrow-rtl.png</file>
        <file alias="layoutDirection.qm">translations/layoutDirection_ar.qm</file>
    </qresource>
    <!-- English resources. The arrow points to the right. -->
    <qresource prefix="/" lang="en">
        <file alias="arrow.png">images/arrow-ltr.png</file>
        <file alias="layoutDirection.qm">translations/layoutDirection_en.qm</file>
    </qresource>
</RCC>

温得阶级的源代码为三维,相应的档案为not规定了任何植被的布局。 窗口在英语(美国)地方运行时,认为:

“English

在阿拉伯语(沙特阿拉伯)地方,它喜欢:

“Arabiceckshot,显示左向右边布局的错误、适当的翻译和狭义右面的形象”/<a

你可以看到,对座标的翻译是正确的,arrow的图像正确,这意味着正确的资源被装上。 布局方向是错误的:它应当反映英文布局。

<>说明>。 自2006年以来 我不知道阿拉伯语,例如谷歌译。 如果不正确,我会抱歉。

Solution

https://stackoverflow.com/users/66522/artyom> Artyom 答案是正确的,最终导致我发现高层次的植被如何从QApplication案确定其布局。 https://doc.qt.io/qt-5/internationalization.html>rel=“nofollow noreferer”>Internationalization with Qt 手册说:

盖特本身包含数千条插图,还需要翻译成你所针对的语言。 您将在翻译库找到一些翻译文件。

QApplication Code也有有趣的方法:

static bool qt_detectRTLLanguage()
{
    return force_reverse ^
        (QGuiApplication::tr("QT_LAYOUT_DIRECTION",
                         "Translate this string to the string  LTR  in left-to-right"
                         " languages or to  RTL  in right-to-left languages (such as Hebrew"
                         " and Arabic) to get proper widget layout.") == QLatin1String("RTL"));
}

在翻译“QT_LAYOUT_DIRECTION”号时,申请将自动发现其布局方向,所有工作都只是罚款:

“Correct

最佳回答

就我所知,应在盖特明确划定布局。

我知道,德国地球科学公司的申请是自动的,而且它并不如此,这就是good

我解释说。 你们的支持者以阿拉伯文或希伯来语地方语开始翻译申请,从离开的权利中出现的一切布局,所有东西都看着,而不是用RTL英语唱歌。 想用劳教布局做未经翻译的民主选举学会。

行使这一权利的陷阱是界定一个专门的翻译钥匙,因此原来的钥匙具有LTR的价值,只有翻译成阿拉伯文、巴黎语或希伯来语的翻译,才被翻译成劳教。

最好像:

a.setLayoutDirection(tr("LTR")=="RTL" ? Qt::RightToLeft : Qt::LeftToRight)

然后,翻译档案中明确界定的方向。

因此,我的好建议——来自希伯来发言者的好建议,就是这样,我就没有按照当地情况,不管实际译文如何,尽力这样做。

问题回答

举例来说,这项命令是否涉及:

<qresource prefix="/" lang="ar">
    <file alias="layoutDirection.qm">translations/layoutDirection_ar.qm</file>
    <file alias="arrow.png">images/arrow-rtl.png</file>
</qresource>

而不是:

<qresource prefix="/" lang="ar">
    <file alias="arrow.png">images/arrow-rtl.png</file>
    <file alias="layoutDirection.qm">translations/layoutDirection_ar.qm</file>
</qresource>




相关问题
How does gettext handle dynamic content?

In php (or maybe gettext in general), what does gettext do when it sees a variable to dynamic content? I have 2 cases in mind. 1) Let s say I have <?=$user1?> poked John <?=$user2?>. ...

Explain the Need for Mutexes in Locales, Please

Reading the question Why doesn’t C++ STL support atoi(const string& ) like functions?, I encountered a comment which warned that GCC (at least) has a bug that can slow down multi-threaded ...

How does Vistalizer work

How does Vistalizer manage to override the language limit in Windows Vista Home edition. Which api s does it use to allow installation of Multiple language packages.

Localized exceptions (within a Struts2 app)

I am developing a Struts 2 application with support for multiple languages. If one of the domain objects needs to throw an exception, how can it do so in such a way that the error message is no ...

Rails Globalize plugin help

Has anyone gotten the Globalize plugin to work Rails 2.3.2 or later? If so, could you direct me to some useful info?

热门标签