タイトルは自明だと思います。
5 に答える
私もちょうどこれを見ていました。単調な作業の一部を完了するために何かが必要で、すでに OsX を使用している場合は、xsltproc とこの単純な xsl を使用して作業を進めることができます。
xsl:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="string">
"<xsl:value-of select="@name"/>"= "<xsl:apply-templates/>"; </xsl:template>
<xsl:template match="resources">
<xsl:apply-templates select="string"/> </xsl:template>
</xsl:stylesheet>
これをファイル transform.xsl などに保存してから、シェルから次を実行します。
xsltproc transform.xsl your_android_strings.xml > fileforxcode.out
おそらくフォーマット文字列を個別にいじる必要があるでしょうが、これは正しいように見えるものを生成するように見えました。何はともあれ、手間が省けるかもしれません。
Android .xmlファイルからローカリゼーションを抽出し、最新バージョンのTMデータベースツールを使用してiPhone.stringファイルに追加できます。容易いものだ:
- 起動ツール
- ソースとターゲットのAndroidxmlファイルを開き、ローカリゼーションをTMにインポートします
- .stringファイルを開き、TMで翻訳します
- .stringファイルを保存します
詳細はこちらをご覧ください
ここでスクリプトを使用します。これは、既に翻訳された Android のローカライズされた文字列ファイルを iOS の Localizable.strings ファイルに変換し、文字列のプレースホルダー (%1$s
になる%1$@
) の変換を考慮します。これは短い Ruby スクリプトであり、従うのは簡単です。ビルド プロセスの開始時に実行スクリプトとして Xcode にリンクします。
文字列を前処理せずに、androidstrings.xmlファイルをiPhoneプロジェクトにドロップする場合にもこのオプションがあります。
これは実際にはあなたの質問に答えるものではありませんが、将来の iOS + Android プロジェクトでDMLocalizedStringを検討することができます。現在、ソースは iOS のみですが、Android 版を作るのはかなり簡単だと思います。