Mam aplikację, która zawiera dwa języki: arabski (od prawej do lewej) i angielski (od lewej do prawej), użyłem Base Internationalization
z Auto Layout
, aby uprościć i użyć jednego scenorys (podstawowy scenopis) w tym celu, jednak ponieważ mieszkam w kraju, w którym arabski jest językiem podstawowym Zacząłem projektować mój bazowy storyboard z interfejsem arabskim (RTL), zaznaczyłem opcję "Respect Language Direction" dla każdego poziomu przymus.
Po dodaniu języka angielskiego z ustawień projektu, przetłumaczeniu pliku ciągów storyboardu i uruchomieniu aplikacji na angielskim telefonie iPhone (Ustawienia -> Ogólne -> Międzynarodowe -> Język -> Angielski), interfejs nigdy nie został zmieniony na LTR, pozostaje tak jak jest (RTL), próbowałem odznaczyć opcję "Respect Language Direction", ale bez skutku.
Jeśli jednak scenariusz jest odwrotny, wszystko byłoby w porządku, tzn. Jeśli zaprojektowałem interfejs na bazowym scenorysie z językiem angielskim (LTR), interfejs przełączy się na RTL, gdy uruchomię aplikację na arabskim iPhone'ie.Base storyboard uwzględnia tylko interfejsy LTR w aplikacji wielojęzycznej
w jaki sposób mogę opowiedzieć scenorowi bazowemu, że projektuję interfejs RTL, aby przełączyć ten interfejs na LTR, gdy język telefonu iPhone jest (np.) Angielski?
p.s. środowisko testowe było na Xcode 5.1.1
i iPhone 4S
iOS 7.1
Czy próbowałeś z jakimkolwiek innym językiem LTR lub RTL. Być może to błąd? Co powiedzieć ? –
Czy możesz dostarczyć nam przykładowy projekt, który demonstruje problem? Mam przeczucie, że edycja pliku projektu bezpośrednio może pomóc w rozwiązaniu problemu, ale wciąż mam problem z samodzielnym wygenerowaniem przypadku testowego, który pasuje do twojej sytuacji. –
https://dl.dropboxusercontent.com/u/57066689/TestAutoLayout.zip w scenopisie projektu znajduje się tylko 1 UILabel umieszczony po prawej stronie ekranu (jak wspomniałem w pytaniu, zawsze najpierw projektuję swoje projekty w arabskim interfejsie użytkownika, ponieważ językiem mojego kraju jest arabski - RTL) z dwoma ograniczeniami, spróbuj zmienić język symulatora między arabskim i angielskim, zauważysz, że etykieta nadal znajduje się po prawej stronie po angielsku i przechodzi w lewą stronę Arabski. Uwaga: słowo "arabski" pojawia się jako "العربية" w Ustawieniach symulatora -> Ogólne -> Międzynarodowe -> Język. – JAHelia