質問

クロスプラットフォームのC ++ベースのクライアント側アプリケーションをローカライズしています。最初のローカリゼーションパスは、大きなパートナーのために短期間で大急ぎで行われましたが、今はそれをリファクタリングするときです。

現在、ロケールごとにXML文字列ファイルがあり、各リソースの共通キーとローカライズされた値があります。ただし、技術的に必要ではないローカライザーにxmlファイルを送信することは理想的ではありません。特殊文字などのエンコードについては知りません。Excel/ csvなどの簡単でよく知られている形式を使用したいと思います。ローカライザー(同じファイルの別のタブにある可能性のあるサーバー側のローカリゼーションもあるため素晴らしい)、そしてそこから文字列ファイルをコード生成します。 ExcelはUTF-8 CSVファイルの出力を好まないようです。これは迷惑であり、Excelを自動化するためのいくつかの簡単なスクリプトを一緒に投げることができません->文字列ファイルの変換。

この問題は何百回も解決されています。特にローカライザーが会社の外部にいる場合、どのワークフローが最もよく見つかりましたか?私は、技術者以外のユーザーにとっても簡単で、開発チームがXMLなどの単純な形式で文字列ファイルを生成するのに使いやすいものを探しています。

正しい解決策はありません

他のヒント

  1. exelの代わりにOpenOfficeを使用すると、UTF-8エンコードCSVにダンプできます。

  2. 一般的なIDの.xlsファイルがあり、翻訳会社に送信します。次に、OpenOfficeを使用して.xlsがCSVにダンプされます。 CSVファイルに基づいてインクルードローカライズファイルを生成するツールがあります。

Qtには、ローカリゼーションのための優れた機能があります。最初のステップは、文字列クラスQStringを使用することです。

次に、tr()マクロで文字列リテラルをラップするだけです。この方法の素晴らしい点は、定数または定義を維持する時間を無駄にする必要がないことです。必要な文字列を必要な場所に入力するだけです。

その後、Qtユーティリティを使用して、すべてのコードユニットで翻訳可能な文字列を検索し、.tsファイルを作成します。このファイルはxmlであるため、独自の形式でデータがトラップされることを心配する必要はありません。

.tsファイルができたので、Qtにはlinguistという翻訳エディターが用意されています。これは、翻訳者(人)に文字列を提示し、プロセス全体を管理するためのいくつかの簡単なツールを提供する非常に素晴らしいプログラムです。このプログラムは、一般的な間違い(句読点の違い)を探し、翻訳されたかどうか、ソース文字列が変更されたか削除されたかなど、各文字列の状態を追跡します。プログラムは、開発者がtr()マクロに含めることができる各文字列のコンテキスト情報も表示します。

翻訳が完了すると、.tsファイルは小さなバイナリにコンパイルされ、アプリケーションとともに配布され、実行時にロードされます。翻訳はその場で切り替えることができます。

ここで十分に説明できる以上のことがあります。これは、調査する価値がある本当に素晴らしいシステムです。

これは興味深いトピックです。過去にさまざまな方法でアウトソーシングを処理してきました

以前は、独自の形式の単純なテキストファイルを使用していました。言語ごとに異なるファイルがありました。形式は次のようなものでした:

 #LOCALIZATION_ID
 English String

ローカライザーは問題ありませんでした。もう1つ使用したのは、カスタムxlsスプレッドシートアプリです。基本的に、アプリはWebサービスを介してサーバーにデータを送信しました。 csvなどの中間ファイル形式は必要ありません。すべての文字列がバージョン管理されており、複数のアウトソースが同じ文字列ファイルで動作できるため、便利です。

おそらく、Excelスプレッドシートを取得し、アウトソーサーからメールで送信できるUTF-8 xmlファイルを出力するvbaを作成できるはずです。 「SEND XML FILE」というシート上部の大きなボタン。事前に定義された電子メールアドレスに送信するか、サーバーに送信します。最悪の場合、ファイル自体をメールで送信することもできます。

文字エンコーディングがあいまいな形式には注意が必要です。 XLIFF の使用を検討してください(ただし、翻訳ベンダーに確認してください彼らがよく知っているツール/プロセス)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top