Closed4

QMessageBox::aboutQtの翻訳について

mugwort_rcmugwort_rc

qtbase_ja.qmを読み込んでも「Qt is a C++ toolkit for cross-platform application development.」以下が翻訳されない。

Qt Linguistでqtbase_ja.qmを開くと、QMessageBoxのコンテキストに類似の翻訳は見つかるが、原文が微妙に異なる。

mugwort_rcmugwort_rc

PySide6==6.7.2の場合

  • 「3つの異なるライセンス(three different licensing)」を「複数のライセンス(multiple licensing)」に
  • LGPL 3/2.1「the GNU LGPL version 3 or GNU LGPL version 2.1」からGPL/LGPLに変更「(L)GPL」
  • LGPL3/2.1の別「Qt licensed under the GNU LGPL version 2.1 is ...」を削除

以上の変更を適用した翻訳を自前の翻訳ファイル(.ts)に追加すれば良い。

<context>
    <name>QMessageBox</name>
    <message>
        <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across all major desktop operating systems. It is also available for embedded Linux and other embedded and mobile operating systems.&lt;/p&gt;&lt;p&gt;Qt is available under multiple licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of GNU (L)GPL.&lt;/p&gt;&lt;p&gt;Qt licensed under GNU (L)GPL is appropriate for the development of Qt&amp;nbsp;applications provided you can comply with the terms and conditions of the respective licenses.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://%2/&quot;&gt;%2&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) %1 The Qt Company Ltd and other contributors.&lt;/p&gt;&lt;p&gt;Qt and the Qt logo are trademarks of The Qt Company Ltd.&lt;/p&gt;&lt;p&gt;Qt is The Qt Company Ltd product developed as an open source project. See &lt;a href=&quot;http://%3/&quot;&gt;%3&lt;/a&gt; for more information.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Qt はクロスプラットフォームアプリケーション開発用の C++ ツールキットです。&lt;/p&gt;&lt;p&gt;Qt はすべての主なデスクトップオペレーティングシステムにまたがってシングルソースポータビリティを提供します。また、組込み Linux やその他の組込み・モバイルオペレーティングシステムにも対応しています。&lt;/p&gt;&lt;p&gt;Qt はさまざまなユーザの需要に応えるために、複数のライセンスで提供されています。&lt;/p&gt;&lt;p&gt;いかなるソースも第三者と共有したくない場合や GNU (L)GPL の条件に従うことができないようなプロプライエタリ/商用ソフトウェアの開発には商用ライセンス版の Qt の利用が適切です。&lt;/p&gt;&lt;p&gt;GNU (L)GPL の条件に応じることができるのであれば 当該ライセンスの Qt の利用が適切です。&lt;/p&gt;&lt;p&gt;Qt のライセンスについての概要は &lt;a href=&quot;http://%2/&quot;&gt;%2&lt;/a&gt; をご覧ください。&lt;/p&gt;&lt;p&gt;Copyright (C) %1 The Qt Company Ltd and other contributors.&lt;/p&gt;&lt;p&gt;Qt および Qt のロゴは The Qt Company Ltd の商標です。&lt;/p&gt;&lt;p&gt;Qt はオープンソースプロジェクトとして開発されている The Qt Company Ltd の製品です。詳細は &lt;a href=&quot;http://%3/&quot;&gt;%3&lt;/a&gt; をご覧ください。&lt;/p&gt;</translation>
    </message>
</context>
mugwort_rcmugwort_rc

devの場合

最新版のソースコードでは微妙にテキストに修正が入っているため、さらに調整が必要。

  • %1が消える
  • 「The Qt Company Ltd」末尾にピリオド追加→「The Qt Company Ltd.」
  • URLをhttpsに変更

現行の翻訳は以下。


<context>
    <name>QMessageBox</name>
    <message>
        <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across all major desktop operating systems. It is also available for embedded Linux and other embedded and mobile operating systems.&lt;/p&gt;&lt;p&gt;Qt is available under multiple licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of GNU (L)GPL.&lt;/p&gt;&lt;p&gt;Qt licensed under GNU (L)GPL is appropriate for the development of Qt&amp;nbsp;applications provided you can comply with the terms and conditions of the respective licenses.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;https://%2/&quot;&gt;%2&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) The Qt Company Ltd. and other contributors.&lt;/p&gt;&lt;p&gt;Qt and the Qt logo are trademarks of The Qt Company Ltd.&lt;/p&gt;&lt;p&gt;Qt is The Qt Company Ltd. product developed as an open source project. See &lt;a href=&quot;https://%3/&quot;&gt;%3&lt;/a&gt; for more information.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Qt はクロスプラットフォームアプリケーション開発用の C++ ツールキットです。&lt;/p&gt;&lt;p&gt;Qt はすべての主なデスクトップオペレーティングシステムにまたがってシングルソースポータビリティを提供します。また、組込み Linux やその他の組込み・モバイルオペレーティングシステムにも対応しています。&lt;/p&gt;&lt;p&gt;Qt はさまざまなユーザの需要に応えるために、複数のライセンスで提供されています。&lt;/p&gt;&lt;p&gt;いかなるソースも第三者と共有したくない場合や GNU (L)GPL の条件に従うことができないようなプロプライエタリ/商用ソフトウェアの開発には商用ライセンス版の Qt の利用が適切です。&lt;/p&gt;&lt;p&gt;GNU (L)GPL の条件に応じることができるのであれば 当該ライセンスの Qt の利用が適切です。&lt;/p&gt;&lt;p&gt;Qt のライセンスについての概要は &lt;a href=&quot;http://%2/&quot;&gt;%2&lt;/a&gt; をご覧ください。&lt;/p&gt;&lt;p&gt;Copyright (C) %1 The Qt Company Ltd and other contributors.&lt;/p&gt;&lt;p&gt;Qt および Qt のロゴは The Qt Company Ltd の商標です。&lt;/p&gt;&lt;p&gt;Qt はオープンソースプロジェクトとして開発されている The Qt Company Ltd の製品です。詳細は &lt;a href=&quot;http://%3/&quot;&gt;%3&lt;/a&gt; をご覧ください。&lt;/p&gt;</translation>
    </message>
</context>
mugwort_rcmugwort_rc

備忘録

  1. qtbaseリポジトリを開き、当該バージョンのタグに移動
  2. src/widgets/dialogs/qmessagebox.cppを開く
  3. Qt is aで検索をかけて翻訳テキストを探す
  4. C++コンパイラの気持ちになって文字列を直列化
  5. XML文字列に変換
    • &&amp;に置換(&nbsp;&amp;nbsp;にする)
    • <p>および</p>&lt;および&gt;に変換
    • "&quot;に変換
  6. 翻訳ファイルに追加
  7. Linguistで翻訳ファイルを開き、原文が正しく設定されていることを確認し、表示された原文をコピー
  8. Linguistでqtbase_ja.qmファイルを開き、QMessageBoxコンテキストから、「Qt is a ...」の原文をコピー
    • ファイルを開くから「すべてのファイル」を選ぶことで.qmファイルを開ける
  9. 目diffを行って、差分を特定し、翻訳後のテキストを調整
このスクラップは3ヶ月前にクローズされました