Pytanie Zasoby katalońskie i baskijskie w systemie Android


Jeśli chcesz dodać zasoby specyficzne dla ustawień regionalnych w systemie Android, musisz dodać kod ISO-3166-1 języka małymi literami do nazwy folderu zasobów. Jak na razie dobrze.

Teraz chcę dodać Kataloński i baskijski ciągi do mojej aplikacji. Zgodnie z listą ISO, musiałbym dodać values-ca i values-eu. Ale czy to zadziała, prawda?

Edytować: Dzięki niestandardowemu programowi wyboru języka w swojej aplikacji możesz zapewnić obsługę języków nawet wtedy, gdy nie ma ich w menu ustawień urządzenia. Stworzyłem bibliotekę, której używam do tej dostępnej na GitHub: https://github.com/delight-im/Android-Languages

Nie wiem, czy Android obsługuje wszystkie kody ISO i czy te "mniejsze" języki będą w ogóle wyświetlane. Jeśli system Android nie jest dostępny w tych językach, być może urządzenie nie rozpozna tego języka jako domyślnego ustawienia narodowego i po prostu go użyje es w języku hiszpańskim.

Czy ktoś może pomóc?


12
2017-12-06 01:22


pochodzenie


Zobacz stackoverflow.com/questions/3615587/localization-android i to stackoverflow.com/questions/7973023/.... Myślę ca jest dostępny od Gingerbread, Nie sądzę, że to samo dotyczy basque język. - Luksprog
Dziękuję Ci! Wydaje się, że język kataloński jest oficjalnie wspierany od czasu Androida 2.3, tak. Baskijski nie wydaje się jednak wcale wspierany (oficjalnie). Dlatego moje pytanie: czy możesz użyć języka, na który sam Android nie został przetłumaczony? - caw
Nie zrobiłem tego sam, ale sprawdzam dokumentację dla Locale klasa w dokumentach developer.android.com/reference/java/util/Locale.html i zobacz, czy nie możesz zbudować własnego. - Luksprog
The Locale class jest tym, co ciągnie łańcuchy w tle i określa język, w jakim jest wyświetlana twoja aplikacja? Wątpię w to. - caw
Nie do końca poprawne - wiele urządzeń jest wyposażonych w ograniczony wybór języków w menu ustawień, ale w rzeczywistości można je ustawić na dowolne ustawienia regionalne systemu za pomocą aplikacji, takiej jak LocaleSwitch Powinno być dość łatwo sprawdzić, czy sugestia Jorge jest poprawna, dodając niestandardowe ustawienia regionalne w LocaleSwitch, a następnie dodając folder zasobów, aby sprawdzić, czy system robi to automatycznie. "Wsparcie" dla gingerbread dla języka katalońskiego może odnosić się wyłącznie do włączenia wartości android.R od 2.3. - David Snabel-Caunt


Odpowiedzi:


Wiele urządzeń jest dostarczanych z ograniczoną liczbą języków w menu ustawień, ale w rzeczywistości można je ustawić na dowolne ustawienia regionalne systemu za pomocą aplikacji, takiej jak LocaleSwitch.

Powinno być dość łatwo sprawdzić, czy Baskik jest obsługiwany przez dodanie niestandardowych ustawień narodowych w LocaleSwitch, a następnie dodanie folderu zasobów, aby sprawdzić, czy system automatycznie ładuje zasoby z tego folderu.

Wreszcie, wsparcie Gingerbread dla języka katalońskiego może odnosić się tylko do włączenia wartości android.R od 2.3, chociaż nie widzę ich w repozytorium struktur.


6
2017-12-17 11:21



Dziękuję Ci! Tak, aplikacja ładuje zasoby z values-eu kiedy ustawiam lokalizację na Basque za pomocą LocaleSwitch. I zaskakująco, Android (4.0) wydaje się również obsługiwać język baskijski, ponieważ aplikacja kontaktów, aplikacja ustawień i tak zmieniła ich nazwy na baskijskie odpowiedniki. Ale myślę, że większość użytkowników nie będzie mogła ustawić języka na język baskijski, więc zasoby nie zostaną załadowane. - caw
To wspaniała wiadomość! Miejmy nadzieję, że niektórzy producenci dostarczają baskijską oprawę telefonom handlującym w odpowiednich krajach. W każdym razie możesz podać ustawienie w swojej aplikacji, aby ustawić ustawienia regionalne. - David Snabel-Caunt


Właściwie nie wszystkie języki są udokumentowane na dokumentach systemu Android, a wiele marek zrobiło niestandardową wersję Androida, która może zmienić jej listę, ale upewnij się, że jeśli urządzenie ma kataloński i / lub baskijski suport, będzie używać standardu ISO, a wartości będą miały ponieważ jest konwertowany za pomocą porównania łańcuchów.

Być może dobrym wyborem byłoby umieszczenie handlarza, jeśli masz większość urządzeń, które nie mają tego wsparcia w twoich testach.


1
2017-12-17 11:14



Dziękuję Ci! Więc sugerujesz takie rozwiązanie? stackoverflow.com/questions/2900023/... - caw
Nigdy tego nie używałem, ale wygląda piękniej niż to, co myślałem, to było zrobienie konwertera ręcznego ... coś podobnego do tego, którego używa jeden system, ale musisz załadować swoje pliki, użyć getString () i najgorszego , ładuj każdy ciąg przez kod. - Pozzo Apps


Chodzi o to, że jeśli język nie jest wymieniony na liście wyboru języka na urządzeniu, zasobów nigdy nie można użyć, ponieważ urządzenie nigdy nie może zostać umieszczone w tej konfiguracji przez użytkownika.

Z drugiej strony, jeśli urządzenie pozwala wybrać Baskijski, użyje tego formatu, a twoje zasoby zostaną wykorzystane.


1
2017-12-17 11:17



Dzięki! Jak widziałem z moim Samsung Galaxy Tab 2 (Android 4.0.3), Android wydaje się już wspierać Basque. Niemniej jednak ten język nie był dostępny do wyboru w ustawieniach mojego telefonu. Muszę więc mieć nadzieję, że baskijscy dostawcy dodadzą język baskijski do listy dostępnych języków, w przeciwnym razie moje zasoby nigdy się nie załadują, prawda? - caw
zawsze możesz użyć stackoverflow.com/questions/4696134/force-locale-in-application aby zmienić formularz ustawień regionalnych w aplikacji, ale efekty uboczne w systemie mogą się różnić. - njzk2


Możemy teraz utworzyć folder "values-eu-rES" i mieć naszą aplikację w języku baskijskim, którą zrobił Android Lollipop.


0
2017-12-03 15:59





Dodając nowy język w LocaleSwitch, musisz wpisać kod ISO 639-1. Na przykład, jeśli chcesz przełączyć się na baskijski, musisz wpisać "eu". Następnie zobaczysz nowe ustawienia narodowe jako "vasco".

To sprawia, że ​​myślę, że baskijski język jest obsługiwany przez Androida.


-2
2018-02-06 15:46



Nie, nie wskazuje na Androida obsługującego te ustawienia narodowe. Po pierwsze, system Android nie ma zasobów właściwych dla danego języka. Po drugie, większość wersji Androida nie zawiera "Basków" w ustawieniach językowych. - caw
Nie masz racji. Koduję aplikację i jestem w stanie to zrobić. kod baskijski to "eu", ponieważ kod kataloński to "kot". Mam na myśli, że Android nie obsługuje bezpośrednio baskijski, ale robi to klasa Java w języku Locale;). - russellhoff
Nie, źle zrozumiałeś to, co chciałem powiedzieć. Java's Locale klasa akceptuje dowolny ciąg znaków, który przekazujesz - tylko wszystko zadziała. Jednak system Android nie zawiera tłumaczenia niektórych rzadkich języków, a wybór ustawień narodowych Androida w menu ustawień nie pozwala wybrać "Baskijski", np. Ponieważ nie oferuje tej opcji na liście. Ale to zależy od wersji, producenta itp., Jak już powiedziałem. - caw