2011-12-08 5 views
0

C#とJavaで開発されたさまざまなプロジェクトがあります。C#とJavaのプロジェクト間で翻訳(文字列リソース)を共有するためのローカリゼーション戦略

一部のC#プロジェクトは、他のC#およびJavaプロジェクトで使用するためのAPIを提供するプラットフォームです。

エンタープライズのレベルですべての戦略を最小限にし、簡素化することが望ましいです。

私は、C#開発(バックエンドとASP.Netフロントエンドの両方)用に選択した形式でC#リソース文字列を生成することが可能な共通のXMLを使用することを考えています。 Javaプロジェクト

アイデアは、各プロジェクトがすべてのプロジェクトで使用可能な基本セットの文字列を持つことができることと、各プロジェクトが追加の文字列リソースを追加できることです。

翻訳者に与えられるフォーマットを標準化し、プロジェクト間で文字列が重複しないようにすることを目標としています。

プロジェクト間で新規/削除されたエントリと更新されたエントリの同期に関する質問もあります。

これまでにこのような課題に直面しましたか?どのようなl10nとi18n戦略を選択しましたか?

答えて

1

複数のコンピューティングプラットフォーム間でローカライズされたテキストを共有する場合は、DBバックアップされたバンドルを使用するよりも優れたソリューションはありません。 XLIFFは、さまざまな関係者間でローカリゼーション関連のリソースを共有するように設計されたオープンスタンダードです。フォーマットから

  • 別のローカライズテキスト:

    XLIFF形式は、することを目指しています。

  • 複数のツールを使用してソース文字列を処理し、その文字列に関するデータに追加することができます。
  • ローカリゼーションプロセスのサポートに役立つ情報を格納します。

in the wiki hereこの形式をサポートする商用およびオープンソースのツールを見つける。

+0

XLIFFのご提案いただきありがとうございます。間違いなく道に似ています。この形式で作業するための最新のツールをお勧めしますか? – Paul

+0

@Paul私はツールを使って投稿を更新しました –

1

可能であれば、gettext形式を使用します。そうしないと、.propertiesファイルはどの言語でも簡単にロードできます。

1

アプリケーションを国際化するには、Message Compilerを実装しました。リソースバンドルファイルと定数定義を、単一のソースファイルからキーのJava enumまたは静的最終文字列として作成します。したがって、定数はJavaソースコードで使用できます。これは、プレーンな文字列を使用するよりはるかに安全です。メッセージコンパイラは、Java用にのみ使用できません。 Objective-CまたはSwiftのリソースファイルと定数も作成され、他のプログラミング環境用にも拡張できます。したがって、C#の出力プロセッサを追加することができます。

関連する問題