Android 文字列リソース

アプリケーションを翻訳するための Android 固有のファイル形式。

Android の文字列リソースはモノリンガルです。モノリンガル用の、基礎となる言語ファイル は他のファイルとは異なる場所に保存されます -- res/values/strings.xml

Weblate がエスケープする文字列:

  • 文字列が有効な XML である場合、文字列は XML として翻訳に挿入されます。

  • ? and @ are escaped with a \\ at the beginning of the string to avoid interpreting them as style or resource references.

  • 文字列に複数のスペースが含まれている場合、二重引用符(")で囲まれます。

  • 改行は \\n としてエスケープされますが、読みやすくするために実際の改行も維持されます。

注釈

現在、Android の string-array 構造体には対応していません。これを回避して、文字列配列を分解する例:

<string-array name="several_strings">
    <item>First string</item>
    <item>Second string</item>
</string-array>

分割して書き換える方法:

<string-array name="several_strings">
    <item>@string/several_strings_0</item>
    <item>@string/several_strings_1</item>
</string-array>
<string name="several_strings_0">First string</string>
<string name="several_strings_1">Second string</string>

string 要素を指す string-array は、別のファイルに格納することが必要であり、翻訳には使用できません。

既存の strings.xml ファイルと翻訳を事前に処理するのに便利なスクリプト: https://gist.github.com/paour/11291062

ヒント

文字列の翻訳を回避するため、文字列にマークを付けて翻訳禁止に設定できます。とても便利な文字列が翻訳禁止かどうかを確認するための設定方法:

<string name="foobar" translatable="false">@string/foo</string>

Weblate の設定

典型的な Weblate コンポーネント構成

ファイル マスク

res/values-*/strings.xml

モノリンガル用の、基礎となる言語ファイル

res/values/strings.xml

新しい翻訳のテンプレート

Empty(空)

ファイル形式

Android 文字列リソース