8

TL; DRCan DataBinding bir Etkinliğin yerelleştirilmesini engelleyebilir mi?

Bazı dilleri destekleyen bir uygulamam var. Tüm olağan lokalizasyon yöntemlerini kullanmasına rağmen bir etkinlik tercüme edilmiyor. Bu uygulamada DataBinding'un tamamını kullanan tek etkinliktir.

Tam açıklama

Ben DataBinding kullanan bir Activity var. Bu nedenle, temel olarak, bu Etkinlik için XML düzeninin tamamı <layout> etiketinin içine sarılır.

... android:text="@string/<name of a string>" ...

Biz sağlamayan: Metin bu şekilde belirledik XML içinde TextViews bir dizi vardır

SomeActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.some_activity);

: Bu benim görünümü şişirmek ve bağlayıcı olsun nasıl önceden tanımlanmış dil seçenekleri ve uygulama yerel ayarını

Ingilizce yerel ayarında, her şey mükemmel çalışıyor.

Uygulama farklı bir yerel konumdayken, söz konusu etkinlikte dizeler hala İngilizce olarak gösterilmektedir - bu dizeler uygun dile çevrilmiş olsa da ve aynı dizede yer alan dizgenin bulunduğu dizinde yer almaktadır. App dizeleri çeker. Etkinlik başlatılıncaya kadar, uygulama iyi - etkinlik başladıktan ve uygulamadan çıktıktan sonra, uygulama öldürülünceye ve yeniden başlatılıncaya kadar İngiliz yerel ayarına döner. Bu Etkinlik hiçbir zaman açılmazsa, uygulama beklendiği gibi davranır.

Buna neden olabilecek herhangi bir fikri olan var mı? Teşekkürler.

+1

Anlayışım, uygulamanın cihazdan Locale'i alacağı ve programa müdahale etmesine gerek olmadığıdır. Yani tahminimce bunu Locale.setDefault (...) ile karıştırıyorsunuz, ama çok yanlış olabilirim. – FWeigl

+0

@Ascorbin, cihaz yerel ayarlarından bağımsız olarak, kullanıcılara, desteklediğimiz sürece, diledikleri dilden hangisini seçtikleri konusunda bir seçenek sunmak isteriz. Lütfen uygulamanın geri kalanının iyi çalıştığını unutmayın. – C0D3LIC1OU5

+0

Veri bağlama sözdizimi kullanmıyorsanız, kaynak uygulama için normal kurallar kullanılır. SomeActivityBinding'i yeniden mi kullanıyorsunuz yoksa normalde yaptığınız gibi yerel ayarı değiştirdiğinizde yeniden biçimlendiriyor musunuz? –

cevap

-2

Neler olduğunu anladı. ViewBinding ile ilgisi yok. Bu etkinlik, manzara modunda başlar. Bu, belirli bir nedenden dolayı uygulama yerel ayarını sıfırlar. This answer, düzeltmem için bana yardımcı oldu.

İlgili konular