ຊັບພະຍາກອນຂໍ້ຄວາມ Android

ຮູບແບບໄຟລ໌ສະເພາະຂອງ Android ສຳລັບການແປແອັບພລິເຄຊັນ.

Hint

ຮູບແບບທີ່ຄ້າຍຄືກັນຫຼາຍຄື Compose Multiplatform resources ແລະ ຊັບພະຍາກອນ Kotlin ສຳລັບມືຖື.

Android string resources ເປັນ monolingual, ໄຟລ໌ພາສາຫຼັກ (Monolingual) ຖືກເກັບໄວ້ໃນບ່ອນທີ່ຕ່າງຈາກໄຟລ໌ອື່ນ -- res/values/strings.xml.

Weblate ເຮັດການ escape ຂໍ້ຄວາມດັ່ງນີ້:

  • ຖ້າຂໍ້ຄວາມເປັນ XML ທີ່ຖືກຕ້ອງ, ມັນຈະຖືກໃສ່ເປັນ XML ໃນການແປ.

  • ? ແລະ @ ຖືກ escape ດ້ວຍ \\ ທີ່ຈຸດເລີ່ມຕົ້ນຂອງຂໍ້ຄວາມ ເພື່ອຫຼີກລ່ຽງການແປຄວາມໝາຍພວກມັນເປັນ style ຫຼື resource references.

  • ໃນກໍລະນີທີ່ຂໍ້ຄວາມມີຊ່ອງຫວ່າງຫຼາຍອັນ, ມັນຈະຖືກໃສ່ເຄື່ອງໝາຍວົງຢືມ (").

  • Newlines ຖືກ escape ເປັນ \\n, ແຕ່ newline ຕົວຈິງກໍຍັງຖືກຮັກສາໄວ້ເພື່ອຄວາມສາມາດໃນການອ່ານເຊັ່ນກັນ.

Note

ໂຄງສ້າງ Android string-array ປະຈຸບັນຍັງບໍ່ຮອງຮັບ. ເພື່ອແກ້ໄຂບັນຫານີ້, ເຈົ້າສາມາດແຍກ string arrays ຂອງເຈົ້າອອກຈາກກັນ:

<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-array ທີ່ຊີ້ໄປຍັງອົງປະກອບ string ຄວນຖືກເກັບໄວ້ໃນໄຟລ໌ອື່ນ, ແລະ ບໍ່ຄວນນຳມາໃຫ້ແປ.

Script ນີ້ອາດຊ່ວຍໃນການ pre-process ໄຟລ໌ strings.xml ແລະ ການແປທີ່ມີຢູ່ຂອງເຈົ້າ: https://gist.github.com/paour/11291062

Hint

ເພື່ອຫຼີກລ່ຽງການແປບາງຂໍ້ຄວາມ, ສິ່ງເຫຼົ່ານີ້ສາມາດຖືກໝາຍວ່າບໍ່ສາມາດແປໄດ້. ນີ້ສາມາດເປັນປະໂຫຍດໂດຍສະເພາະສຳລັບການອ້າງອີງຂໍ້ຄວາມ (string references):

<string name="foobar" translatable="false">@string/foo</string>
ຄຸນສົມບັດທີ່ຮອງຮັບ

ນາມສະກຸນໄຟລ໌

.xml

ຈຳນວນພາສາ ⓘ

ພາສາດຽວ

ຮອງຮັບພະຫູພົດ ⓘ

Yes

ຮອງຮັບຄຳອະທິບາຍ ⓘ

Yes

ຮອງຮັບຄຳຊີ້ແຈງ ⓘ

No

ຮອງຮັບບໍລິບົດ (context) ⓘ

No

ຮອງຮັບຕຳແໜ່ງ ⓘ

No

ຮອງຮັບທຸງ (flags) ⓘ

Yes

ຕົວລະບຸ API

aresource

ຮອງຮັບຂໍ້ຄວາມແບບອ່ານຢ່າງດຽວ ⓘ

Yes

ຮອງຮັບການລຶບຂໍ້ຄວາມທີ່ລ້າສະໄໝ ⓘ

No

ກວດສອບທຸງທີ່ເພີ່ມໂດຍຮູບແບບນີ້ ⓘ

ຮູບແບບ Java

ການຕັ້ງຄ່າ Weblate

Typical Weblate ການຕັ້ງຄ່າ Component

ໜ້າກາກໄຟລ໌

res/values-*/strings.xml

ໄຟລ໌ພາສາຫຼັກ (Monolingual)

res/values/strings.xml

ແມ່ແບບສຳລັບການແປໃໝ່

ຫວ່າງເປົ່າ

ຮູບແບບໄຟລ໌

Android String Resource