アプリ開発でAndroid Studioを使用します。Android言語リソース(strings.xml)をExcelファイル(xlsx)にエクスポート/インポートして文字列を翻訳したい。それを行う最善の方法は何ですか?
AndroidスタジオでCtrl + Aが機能しなくなったため。 Android文字列ファイルをCSVに変換するの1つの方法があり、Google翻訳者の助けを借りて翻訳してからもう一度XMLに変換するにします。
https://skydevelopers.net/blog/2-best-ways-to-translate-the-Android-strings-file/
ここに詳細なブログがあります
他の多くの人が指摘したように、 Ctrl+A Android Studio 3.2
私は常に翻訳をアウトソーシングしている会社で働いているので、Android文字列をxlsファイルとの間で変換する必要があります。確実に機能する唯一のソリューションは this forkold Android-lang-tool のmavenでビルドして、jarを実行します。
文字列、文字列配列、複数形、およびそれらのキー値をxlsファイルにエクスポートします。コメントもエクスポートします。
Androidアプリの文字列ローカリゼーションに最適なツールは、Android Studioに組み込まれているTranslations Editorであることをお勧めします。
これが優れたアプローチである理由は、翻訳者にとってプロセスを簡単にし、エラーを起こしにくくすることができるからです。 Android StudioのXML文字列ファイルは、文字列のローカライズを支援する標準化された方法であるXLIFF表記をサポートしています。
XML文字列ファイルでXLIFF表記を利用することにより、翻訳者を支援するために以下を行うことができます。
Android文字列XMLファイルでXLIFFを使用するには、XLIFF 1.2名前空間を含める必要があります。
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
Androidローカリゼーションドキュメント の文字列の例をいくつか示します。
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Example placeholder for a special unicode symbol -->
<string name="star_rating">Check out our 5
<xliff:g id="star">\u2605</xliff:g>
</string>
<!-- Example placeholder for a for a URL -->
<string name="app_homeurl">
Visit us at <xliff:g id="application_homepage">http://my/app/home.html</xliff:g>
</string>
<!-- Example placeholder for a name -->
<string name="prod_name">
Learn more at <xliff:g id="prod_gamegroup">Game Group</xliff:g>
</string>
<!-- Example placeholder for a literal -->
<string name="promo_message">
Please use the "<xliff:g id="promotion_code">ABCDEFG</xliff:g>” to get a discount.
</string>
</resources>
Android Studioの翻訳エディターにアクセスするには、XML文字列ファイル(strings.xmlなど)のコンテキストメニューから[翻訳エディターを開く]を選択します)プロジェクトツリー(下記を参照)。
Saad Mahmudが答えたように、翻訳エディター(ctrl + a ctrl + c)からコピーして、スプレッドシートに貼り付けることができます。
「デフォルト値」と他の言語の列をコピーするだけで、スプレッドシートから翻訳エディターにコピーし、一番上のデフォルト値をクリックして貼り付けます(ctrl + v)。
また、サブセット(行と列の両方のサブセット)が隣接している限り機能します。
スプレッドシート内の空のセルは、エディター内の翻訳を空白にするわけではなく、現在のセルはそのまま残されることに注意してください。
また、スプレッドシートが作成されてから翻訳キーを追加または削除していないことに注意してください...
他の多くの人が指摘したように、Android Studio 3.2。なので、翻訳エディタから翻訳をコピーして貼り付けることはできません。
私が見つけた最も簡単な解決策は、Excelファイルを翻訳付きでCSVファイルとして保存し、正規表現を使用してXMLに変換したり、その逆を行うことでした。
翻訳を「インポート」するには、次の手順を実行します。
^([^,]*),(.*)$
を検索し、_<string name="$1">$2</string>
_に置き換えます「エクスポート」についても同様の方法を逆に使用できます。 <string.+name="(.*)".*>(.*)</string>
を使用して検索し、_$1,$2
_を使用して置換します。ただし、すべての文字列タグが1行に含まれている場合にのみ機能します。
Windows PCでのみサポートされているExcelへのエクスポートまたはコピー。まだMACではありません