2014-03-04 34 views
2

我正在構建一個包含雙語內容的iOS,用戶將能夠隨時在各種語言之間切換,並且內容將更新爲所選語言。跟蹤我的所有UIView組件以促進語言切換的最佳方式是什麼?帶動態內容的iOS最佳做法

我看到的選項是;

  1. 使每個元素可能會改變我的ViewController屬性;
  2. 給每個元素一個標籤,並在需要時用viewWithTag獲取元素;
  3. 拋出整個容器視圖並從頭開始重建它。

說實話這3個選項中沒有一個聽起來很理想,還有沒有其他的選擇我沒有想過?什麼被認爲是跟蹤多個元素的最佳方式?

感謝,

編輯2014年3月3日

更多細節。

該應用程序將有兩個版本的所有動態內容,法語和英語。一次只能顯示一種語言,但用戶可以隨時切換語言,所有顯示的內容都應該更新。

應用說明。 該應用程序是灌輸的一部分,並將在橫向模式下運行。屏幕的左側2/3將是水平滾動視圖,儘管用戶可以通過該視圖瀏覽內容。當用戶看到他們希望進一步調查的內容時,垂直滾動視圖將從底部向上滑動並填充右側屏幕的1/3。然後用戶將能夠瀏覽內容的細節。這是我目前正在根據語言改變的動態細節內容。

+0

你到目前爲止嘗試過什麼嗎?你能提供一些代碼嗎? – unspokenblabber

+2

這是一個非常有用的本地化教程:http://www.raywenderlich.com/2876/localization-tutorial-for-ios – unspokenblabber

+0

感謝指南的鏈接,它對於本地化靜態內容非常有用。但在這一點上,我更關心動態內容。基本上所有的動態內容將有兩種語言版本,一次只顯示一個,但用戶可以在兩者之間切換。將用更好的描述更新問題。 – curriegrr

回答

1

我會做的是所有子類的「基本」部件(UILabelUIButton等),讓他們通過你的控制器發出的全局,自定義NSNotification響應當用戶切換語言,利用全球的通知中心([NSNotificationCenter defaultCenter])。這樣,任何人都有機會更新。

+0

這聽起來很有趣,因爲我對iOS開發還比較陌生,所以我將不得不弄清楚如何實現這一點。 – curriegrr

1

在最近的一次本地化嘗試中,我們只是將每個可見字符串作爲出口並將它們定義爲NSLocalizedString,然後我們爲每種語言都有plist字典。需要一段時間才能完成所有設置,但一旦它在那裏就相對容易維護!

不是說這是最好的方法,但這就是我們所做的!

https://developer.apple.com/internationalization/

這種聯繫可以幫助你! :)

+1

感謝您的鏈接和建議。這是處理靜態內容本地化的好方法,我只是不確定我會如何在動態內容中使用這種方法。我已經更新了這個問題,並更詳細地描述了我想要做的事情。 – curriegrr