2011-03-27 36 views
0

我需要製作一個應用程序,用戶可以在觸發按鈕上的點擊事件時在兩種語言之間切換。iphone中的本地化問題

這裏的問題是,我看到了一些例子,如果我們想要加載我們的本地化的nib文件,那麼我們需要從設置選項中更改語言,我們可以根據選擇的語言加載正確的nib文件。

我想在我的應用程序中這樣做,這意味着我不想進入設置菜單並更改語言,然後重新加載應用程序。

我只是想在我的應用程序(也就是說,通過按鈕單擊事件應用程序應該能夠在兩種語言之間切換)的上述效果。

是否有可能,蘋果允許它嗎?

回答

1

這裏沒有人可以告訴你蘋果是否會允許它,但如果你的應用程序設計得很好,並且有一個很好的理由使這種背離常規的做法,你可能會有一個好的選擇。

沒有什麼可阻止您加載本地化爲其他區域的nib文件。不過,我可能會避免嘗試使用Apple的自動機制。只需使用某種模式命名您的筆尖文件並加載相應的文件即可。

0

如果您想讓自己的生活變得輕鬆自如,您將充分利用操作系統內置的本地化功能。否則,您將編寫自己的方法來加載本地化的字符串或nib文件。

0

Apple沒有理由拒絕顯示基於應用內設置的本地化文本的應用。我努力幫助開發人員本地化應用程序,雖然我不提出這種方法,但他們已經做到了,我從來沒有聽說過蘋果公司的拒絕。

你無法做的是使用Apple的內置工具,這些工具依靠系統設置來確定用戶的語言並從Localizable.strings文件中推送文本。但實際上,使用類似於gettext的功能來實現類似的系統並不會花太長時間。

你基本上需要實現相同的基本邏輯,任何定位系統:

1)中,將顯示基於用戶選擇的設置 2適當的語言功能環繞您的應用內顯示)導出您的源文本(可能是英文到文件 3)將英文字符串翻譯爲單獨文件中的每種語言

您編寫的函數可以遵循gettext的幾行,它在許多編程語言中都有示例。如果設置爲「法語」,則從法語文件中獲取等效字符串。如果設置是英文,只需打印英文。

你將無法使用蘋果的工具,但你可以自己做,蘋果公司也不會真正關心,據我所知。但是,如果您選擇本地化爲Apple支持的語言,請使用標準的Localizable.strings方法按照此app localization iOS教程。