【问题标题】:Is it possible to achieve string localization inside of a statically linked lib?是否可以在静态链接的库中实现字符串本地化?
【发布时间】:2014-06-01 02:41:25
【问题描述】:

我正在构建一个 SDK,该 SDK 将构建为一个静态链接库,第三方应用程序可以随后将其放入他们的应用程序中。在这个 SDK 内部,我希望能够执行一些“本地化”。基本上,我希望我的 SDK 中的代码能够访问一些“.string”文件来执行一些字符串查找和语言翻译功能。然后我可以通过我公开的 API 将这些字符串向外传播以实现 App 层。这甚至可能吗?我以为是,但现在我实际上一直在尝试,我严重怀疑。

【问题讨论】:

  • 仅供参考,如果您真的针对 iOS,iOS 应用程序不支持第三方框架,仅支持静态链接库。
  • 来自 Apple 的文档:“您可以为 OS X 创建自己的框架,但在 iOS 上不允许使用第三方框架。” developer.apple.com/library/ios/documentation/general/…

标签: ios objective-c xcode nsbundle mobiledevice.framework


【解决方案1】:

您可以制作特定的 API 来将本地化的字符串输入静态库。实现它的一种方法是为所有库字符串定义预定义的键值对,并在需要支持新语言时要求最终用户提供本地化文件。

【讨论】:

  • 您能详细说明一下吗?你的回答让我有点困惑。我是 iOS 编程新手,所以请不要因为真的在寻求帮助而沮丧,整天都在努力解决这个问题。
  • 静态库也被复制到您的应用程序包中。您可以像本地化其他字符串一样将字符串提供给静态库。如果您可以公开本地化密钥,则要求最终用户在使用该库时添加本地化文件。
  • 我不希望任何最终用户提供字符串文件,我希望本地化的.string 文件在内部。只是想知道我的静态链接库中的代码如何访问这些“内部”资源..
  • 您可以拥有不同语言的不同资源文件,并根据语言加载文件。将资源文件嵌入到您的库中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-07
  • 2023-01-18
  • 1970-01-01
  • 2015-11-20
  • 1970-01-01
相关资源
最近更新 更多