Android-strängresurser

Android-specifikt filformat för översättning av applikationer.

Råd

Mycket liknande format är Skapa resurser för flera plattformar och Mobile Kotlin-resurser.

Android-strängresurser är enspråkiga, Enspråkig basspråkfil lagras på en annan plats än de andra filerna – res/values/strings.xml.

Weblate utför följande escape-konvertering av strängar:

  • Om en sträng är giltig XML infogas den som XML i översättningen.

  • ? och @ undviks med ett \\ i början av strängen för att undvika att de tolkas som stil- eller resursreferenser.

  • Om strängen innehåller flera mellanslag, omges den av dubbla citationstecken (").

  • Radbrytningar ersätts med \\n, men den faktiska radbrytningen behålls också för läsbarhetens skull.

Observera

Android-strukturer av typen string-array stöds för närvarande inte. För att komma runt detta kan du dela upp dina strängmatriser:

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

bli:

<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>

Strängmatrisen som pekar på strängelementen ska lagras i en annan fil och inte göras tillgänglig för översättning.

Det här skriptet kan hjälpa dig att förbehandla dina befintliga strings.xml-filer och översättningar: https://gist.github.com/paour/11291062

Råd

För att undvika att vissa strängar översätts kan dessa markeras som icke översättningsbara. Detta kan vara särskilt användbart för strängreferenser:

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

Weblate-konfiguration

Typisk Weblate Komponentkonfiguration

Filmask

res/values-*/strings.xml

Enspråkig basspråkfil

res/values/strings.xml

Mall för nya översättningar

Tom

Filformat

Android-strängresurs