Android 文字列リソース¶
アプリケーションを翻訳するための Android 固有のファイル形式。
ヒント
よく似た形式として、Compose Multiplatform のリソース と モバイル Kotlin リソース があります。
Android の文字列リソースはモノリンガルです。モノリンガル用の、基礎となる言語ファイル は他のファイルとは異なる場所に保存されます -- res/values/strings.xml 。
Weblate がエスケープする文字列:
文字列が有効な XML である場合、文字列は XML として翻訳に挿入されます。
文字列の先頭にある
?と@は、スタイルやリソースへの参照として解釈されないように\\を付けてエスケープされます。文字列に複数のスペースが含まれている場合、二重引用符(
")で囲まれます。改行は
\\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>
File extensions |
|
|---|---|
Linguality ⓘ |
Monolingual |
Supports plural ⓘ |
|
Supports descriptions ⓘ |
|
Supports explanation ⓘ |
|
Supports context ⓘ |
|
Supports location ⓘ |
|
Supports flags ⓘ |
|
API identifier |
|
Supports read-only strings ⓘ |
|
Check flags added by this format ⓘ |
Weblate の設定¶
典型的な Weblate コンポーネント構成 |
|
|---|---|
ファイル マスク |
|
モノリンガル用の、基礎となる言語ファイル |
|
新しい翻訳のテンプレート |
Empty(空) |
ファイル形式 |
Android 文字列リソース |