美文网首页
如何为自制的CocoaPod库配置多语言环境

如何为自制的CocoaPod库配置多语言环境

作者: 启发禅悟 | 来源:发表于2022-11-10 21:11 被阅读0次

UnifiedForumUI是一个CocoaPod的类库,在开发的时候,他位于Development Pods这个位置,当我们需要为他添加多语言配置的时候,需要注意他所在的PROJECT和Target

第一步:为PROJECT-Pods添加需要Localization的语言

点击左侧导航栏的Pods,找到PROJECT-Pods,在Info选项页中找到Localizations,点击下面的+号按钮,添加需要Localization的语言。(例如下图中,我们添加了Chinese, Simplified)

截屏2022-11-10 10.03.19.png
第二步:在Development Pods中添加Strings文件

点击菜单File-New-File,选择Strings File


截屏2022-11-10 10.09.04.png

取名为“UnifiedForumUI”,注意选择Target,这里我们需要选择的是“UnifiedForumUI”,以及存放的目录,为Assets目录

截屏2022-11-10 10.18.56.png
第三步:对UnifiedForumUI进行Localization

选中UnifiedForumUI文件,点击Xcode右侧Inspectors栏Localize...选项,选择需要本地化的语言,这里我们先选English。

截屏2022-11-10 10.36.02.png

确认之后,原先的Localize...选项会变成一个Check Box List,包含了English,以及Chinese, Simplified,此时再把Chinese, Simplified勾选即可

截屏2022-11-10 10.38.49.png
第四步:配置UnifiedForumUI.podspec

多语言配置文件是以资源文件的形式,做成resource bundle打包进库的,因此我们在podspec文件中指定resource bundle的名字,以及资源文件所在的目录.

在UnifiedForumUI.podspec添加如下代码:

  s.resource_bundles = {
    'UnifiedForumUI' => ['UnifiedForumUI/Assets/*']
  }

UnifiedForumUI是指bundle的名字,UnifiedForumUI/Assets/*指明了需要打包的资源的内容。注意,在第二步中,我们将多语言配置文件存放在了Assets目录下。

第五步:如何Localization

苹果提供了NSLocalizedStringFromTableInBundle(key, tbl, bundle, comment)宏,因此我们需要关心的就是如何设置参数即可。

  • key:即需要Localize的字符串Key,这个我们需要在UnifiedForumUI.strings文件中进行定义。
  • tbl:我们取名为UnifiedForumUI.strings,因此tbl的值为“UnifiedForumUI”
  • bundle: 我们不能直接使用[NSBundle mainBundle]来获取bundle,我们需要获取我们自己创建的CocodPod库内的bundle。
  • comment: 任意
第六步:如何获取CocodPod库内的bundle

我们创建下面一个类,来获取我们需要的bundle

@interface UFUIBundle : NSObject

+ (NSBundle *)resourceBundle;

@end

@implementation UFUIBundle

+ (NSBundle *)resourceBundle {
    NSString *bundlePath = [[NSBundle bundleForClass:[self class]].resourcePath
                                stringByAppendingPathComponent:@"/UnifiedForumUI.bundle"];
    return [NSBundle bundleWithPath:bundlePath];
}

@end
第七步: 最终的宏
#define KUFUILocalization(key)  NSLocalizedStringFromTableInBundle(key, @"UnifiedForumUI", [UFUIBundle resourceBundle], nil)

相关文章

  • 如何为自制的CocoaPod库配置多语言环境

    UnifiedForumUI是一个CocoaPod的类库,在开发的时候,他位于Development Pods这个...

  • ruby 更换淘宝源

    换了电脑,重新配置cocoapod 环境 zndeMac-Pro:~ zn$gem source -a https...

  • 从零开始的Koa实战(5) 环境配置

    在项目开发中,我们希望有多个环境配置,如开发环境、生产环境、测试环境等。不同的环境可能需要不同的配置,如数据库、日...

  • 即时通讯2

    接着上文,现在我们环境都有了,可以写代码了 先导入并配置好xmpp的环境,我们可以用cocoapod配置好当然我们...

  • Cocoapods 配置集锦

    指定pod库支持的环境配置 通过podfile设置build-setting 可以通过podfile来配置工程,如...

  • 2020-12-25

    cocoapod私有库创建管理与使用(一) 环境准备 本地已安装好最新的cocoapods环境 xcode和mac...

  • 2019-02-20: Cocoapod安装?

    一:Cocoapod安装前准备环境? <—— 安装cocoapod:需要macOS自带的ruby环境<—— rub...

  • iOS工程的cocoapod道路

    目录一、前言二、安装Cocoapod  1、ruby环境  2、安装Cocoapod三、使用Cocoapod  1...

  • KeychainSwift

    在 cocoapod 查找这个库;

  • 将自己的pod发布到CocoaPod Swift版

    Swift 建立自己的 CocoaPod 库与平时用 OC 建立 CocoaPod 库的方式并不一致。 因为 Sw...

网友评论

      本文标题:如何为自制的CocoaPod库配置多语言环境

      本文链接:https://www.haomeiwen.com/subject/atiotdtx.html