7

さまざまなプラットフォーム(Windows、Windows RT、MacOSX、iOS、Android)で動作するアプリケーションを開発しています。

問題は、さまざまなプラットフォームでさまざまなローカリゼーションを簡単な方法で管理する方法です。さまざまなプラットフォームの言語ファイルにはさまざまな形式があります(xmlベースのもの、単純なキーと値のペア、MacOSのような完全にクレイジーな形式のものがあります)

確かに、この問題を抱えているのは私たちが最初の会社ではありませんが、文字列がさまざまな言語で収集される1つの「データソース」を持つ可能性を実現するための使いやすいソリューションを見つけることができませんでした(最高翻訳者のユーザーインターフェイスになります)、プラットフォームごとに異なる形式にエクスポートできます。

誰かがこの問題の解決策を持っていますか?

あいさつアレクサンダー

4

4 に答える 4

2

管理にはGNUGettextツールチェーンを使用し、実行時にはどちらかを使用することをお勧めします

  • Boost.Localeのようなランタイム読み取りのためのいくつかの代替実装、
  • 独自の実装(.mo形式は非常に簡単です)または
  • Translate Toolkitを使用して、メッセージカタログを他の好みの形式に変換します。

GNU Gettextlibintlのコンポーネントは、LGPLの下でライセンスされており、AppleAppStoreとWindowsLive Storeの両方の条件がそのライセンスと互換性がないため、使用できません。ただし、実行時に必要なビットを再実装するのは非常に簡単です。

Translate Toolkitは、実際にはGNU Gettextのすべてまたはほとんどを再実装し、多くの追加のローカリゼーション形式をサポートしますが、Gettext.po形式にはほとんどの無料ツールがあります(たとえば、ローカル編集用のpoeditやオンライン編集用のWeblate)。そして、GNU Gettextマニュアルを読んでください。それは、意図されたプロセスとその背後にある理論的根拠をよく説明しています。

私はツールチェーンでかなり良い経験をしています。Translate Toolkitは、カスタムリソースファイルから翻訳可能な文字列を抽出するなどの特別な処理が必要な場合にスクリプトを作成しやすく、Weblateは翻訳者にとって使いやすいです。特に、私たちのようにほとんどの翻訳をさまざまな国のビジネスパートナーやテスターに​​依存している場合はそうです。 。

Translate Toolkitは、HTMLからの翻訳可能な文字列の抽出もサポートしているため、同じプロセスを使用してWebサイトを翻訳できます。

于 2015-04-01T17:04:03.107 に答える
1

私はiPhoneとAndroid向けのプロジェクトを行いましたが、多くの翻訳があり、まさにあなたが探している解決策があると思います。

私が解決した方法は、すべての翻訳テキストをExcelスプレッドシートに入れ、VBAマクロを使用してそこから.stringおよび.xml翻訳ファイルを生成することでした。私のサンプルExcelシートとVBAマクロをここからダウンロードできます。

http://members.home.nl/bas.de.reuver/files/multilanguage.zip

つい最近、予備のVisual Studio .resx出力も追加しましたが、テストされていません。

編集:ところで、私のjavascript xcode/eclipseコンバーターも役立つかもしれません。

于 2013-01-24T23:34:18.130 に答える
1

翻訳をhttps://l10n.wsに保存し、APIを介して取得できます

于 2016-03-03T20:30:37.863 に答える
0

免責事項:私はTethrasのCTO兼共同創設者ですが、「私たちのサービスを利用する」だけではない方法でこれに答えようとします。

loldopが上記で指摘しているように、ローカライズされたコンテンツを管理するためのワンストップソリューションが必要な場合は、すべてのプラットフォームでコンテンツを正規化する必要があります。これは多くの作業になる可能性があり、サポートする必要のあるすべてのさまざまなファイル形式のローカリゼーションのニーズに対応する共通の形式に到達するには、さまざまなSDKからのさまざまなツールのコーディングとスクリプト作成および呼び出しが必要になります。私の前の文の長さと複雑さは、これらすべての好ましい解決策に到達するためにあなたがしなければならない仕事の量に反比例します。

Tethrasでは、マルチプラットフォームのソフトウェア発行者がこれを行う必要性を軽減するプラットフォームを構築しました。上記のプラットフォームのすべてのネイティブ形式をサポートしており、あるファイル形式から別のファイル形式への翻訳を活用できます。たとえば、iOSアプリのLocalizable.stringsのコンテンツをいくつかの言語に翻訳してから、Androidの同等のstrings.xmlファイルまたはWindows RTのfoo.resxをシステムにアップロードすると、翻訳が自動的に活用されます。未翻訳の文字列にはフラグが付けられ、これらの文字列の更新を注文できます。

事実上、Tethrasは、多くの異なるネイティブファイル形式にわたるローカライズされたコンテンツのCMSです。

于 2013-01-24T20:01:49.643 に答える