Formaty / Android strings.xml

strings.xml z escapowaniem, na którym build się nie wyłoży

Android ma dwie reguły, które zawodzą w przeciwnych kierunkach, i obie łatwo zepsuć ręcznie.

strings.xml

Nieescapowany apostrof psuje build, niepotrzebnie escapowany pokazuje ukośnik wsteczny

aapt odrzuca goły apostrof w zasobie tekstowym, więc tłumaczenie francuskie czy włoskie zatrzymuje build, zamiast wyjść z błędem. Jeśli zescapujesz apostrof, który tego nie potrzebował, użytkownik zobaczy na ekranie ukośnik wsteczny.

Linguiqo escapuje przy eksporcie i usuwa escapowanie przy imporcie, więc to, co wpisze tłumacz, przeczyta użytkownik, a build dostanie to, co przyjmie aapt. Obie operacje wykonują się w każdym kierunku w odwrotnej kolejności i to właśnie pomija zwykle skrypt pisany ręcznie.

Quantity strings to liczba mnoga w zapisie Androida

Element plurals zawiera elementy item według quantity: zero, one, two, few, many, other. Które z nich język naprawdę wykorzystuje, decyduje CLDR, a nie plik, a item, którego język nigdy nie wybierze, to martwy balast, który build i tak dołączy.

Linguiqo zapisuje dokładnie te kategorie, których używa język docelowy.

Pytania

Czy moje tablice tekstów (string-array) zostaną zachowane?

Nie. Odczytywane i zapisywane są tylko teksty i quantity strings, więc wyeksportowany plik nie zawiera elementów string-array. Trzymaj tablice w osobnym pliku zasobów, którego Linguiqo nie mapuje.

Czy obsługuje translatable="false"?

Teksty oznaczone jako nieprzetłumaczalne nie trafiają do kolejki tłumacza.

Wgraj plik Android strings.xml i przekonaj się

Wersja demo czyta prawdziwy plik i pokazuje wynik. Bez konta, a po dwóch godzinach wszystko jest usuwane.

Otwórz demo

Czym jest Linguiqo