繁体   English   中英

如何使用RubyMotion进行本地化?

[英]How to use localization with RubyMotion?

我认为不可能使用I18n ,那么最好的方法是什么?

从我看到你可以使用Bubblewrap如下:

# Localization (using NSBundle.mainBundle.localizedStringForKey):
BubbleWrap.localized_string(:foo, 'fallback')
=> "fallback"

但是没有关于如何设置翻译键的解释, 只是一个映射

NSBundle.mainBundle.localizedStringForKey(key, value:value, table:nil)

......所以我不知道该怎么做。

App.current_locale还提供了一个App.current_locale方法,但是这会返回一个看起来无法使用的对象,据我所知。

那么,我如何本地化我的RubyMotion应用程序,或者至少让用户的语言环境来创建我自己的本地化系统。

RubyMotion使用CocoaTouch API。 您可以查看有关本地化的Apple文档https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html

colinta的博客文章详细解释了使用它的方法。

还有chshGitHub gist,它显示了一个合理的例子。

但要详细回答:

使用内容创建resources/en.lproj/Localizable.strings

/* This is a sample greeting for my app */
"GREETING" = "Hello World!";

(对于其他语言也是如此: cs.lprojde.lproj ,...)。

然后你可以使用sugarcube的本地化支持: "HELLO"._这将导致"Hello World!" 对于缺少相应lproj文件的任何语言环境的en locale和GREETING 您可以在上面链接的sugarcube文档中找到更多详细信息。

你很可能也会使用BubbleWrap的localized_string支持: BW.localized_string("GREETING", "fallback") 我无法保证,因为我自己没有测试过它。

I18n现在可以使用这个包装宝石Rubymotion: motion-i18n

我们刚刚为RubyMotion发布了一个动画短语 ,它使用PhraseApp实现了本地化工作流程 这是一种完全不同的方法,但具有很多优点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM