2014-03-04 36 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