2009-03-06 16 views
3

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

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

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

+0

自分のローカリゼーションツールを作成することを検討しています。私はそれをLOCutusと呼ぶ。 –

答えて

3
  1. 使用OpenOfficeのは、それがUTF-8でエンコードされたCSVにダンプすることができます。

  2. 共通のIDを持つ.xlsファイルがあり、翻訳会社に送信します。次に.xlsはOpenOfficeを使用してCSVにダンプされます。 CSVファイルに基づいてインクルードローカリゼーションファイルを生成するツールがあります。

0

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

私たちは、単純なテキストファイルをprorietary形式で使用しました。私たちは各言語ごとに異なるファイルを持っていました。フォーマットは次のようになりました:

#LOCALIZATION_ID 
English String 

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

あなたはおそらくあなたのExcelスプレッドシートをとり、アウトソーシング業者があなたに電子メールで送ることができるUTF-8 xmlファイルを出力するvbaを書くことができるはずです。シートの上部にある「SEND XML FILE」と表示されている大きなボタンです。あらかじめ定義された電子メールアドレスに送信するか、サーバーに送信します。最悪の場合、彼らはあなたにファイルそのものを電子メールで送ることができます。

0

あいまいな文字エンコーディングの形式には注意が必要です。 XLIFFを使用することを検討してください(熟知しているツール/プロセスについては、翻訳ベンダーにお問い合わせください)。

+0

翻訳ベンダーですか? –

+0

あなたのためにテキストを翻訳するために支払う会社。 http://www.google.co.uk/search?q=translation+vendors – McDowell

1

Qtはlocalizationのための素晴らしい施設があります。最初のステップは、文字列クラスQStringを使用することです。

次に、tr()マクロに文字列リテラルをラップします。このメソッドの素晴らしい点は、定数や定義を保持する時間を無駄にする必要がないということです。必要な文字列を入力してください。

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

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

変換が完了すると、.tsファイルはアプリケーションとともに配布され、実行時に読み込まれるより小さなバイナリにコンパイルされます。翻訳はオンザフライで切り替えることができます。

私はここで完全に説明できる以上にそれがあります。それは実際に調査する価値のある素晴らしいシステムです。

関連する問題