zoukankan      html  css  js  c++  java
  • 多人开发情况下的字符串本地化

    • 项目开发中,独立开发的还是少数。经常会有多人开发的情况,这种情况,如果多人同时操作本地化文件,极有可能会存在冲突。
    • 另一方面,我们又不希望自己的本地化文件受到对方的污染,也就是说,我们不希望对方操作我们的本地化文件。
    • 但是上面介绍的代码中字符串的本地化是使用的是默认的文件名"Localizable",因为启动程序时,系统将根据语言加载相应的文件得到其对应的字符串文件,这个字符串可以通过系统将NSLocalizedString中的宏生成名为“Localizable.strings”的文件。
    • 那么如何让系统加载我们自己命名的本地化文件而非系统默认的Localizable.strings呢?
    • 这就是 NSLocalizedStringFromTable(<#key#>, <#tbl#>, <#comment#>)的用处。
    • 也就是说,如果你的strings文件名字不是Localizable而是自定义的话,如VVS.strings,那么你就得使用NSLocalizedStringFromTable这个宏来读取本地化字符串。
    // key:系统根据key取字符串
    // tbl:自定义strings文件的名字
    // comment:可以不传
    NSLocalizedStringFromTable(, , )
    
    #import "ViewController.h"
     
    @interface ViewController ()
    @property (weak, nonatomic) IBOutlet UIButton *btn;
     
    @end
     
    @implementation ViewController
     
    - (void)viewDidLoad {
        [super viewDidLoad];
     
        NSString *title = NSLocalizedStringFromTable(@"click", @"VVS", nil);
        [self.btn setTitle:title forState:UIControlStateNormal];
    }
     
    @end
    
    • 运行效果,如下图:
    • 如此一来,我们就可以挣脱别人的strings文件和系统默认的Localizable.strings文件,自己另起炉灶。
  • 相关阅读:
    dagScheduler
    elasticsearch映射
    elasticsearch数据结构
    spring boot 整合 elasticsearch 5.x
    spark快速开发之scala基础之5高阶函数,偏函数,闭包
    Halcon学习笔记2
    HALCON算子1
    Halcon学习笔记1
    ML-学习提纲2
    ML-学习提纲1
  • 原文地址:https://www.cnblogs.com/CH520/p/9388078.html
Copyright © 2011-2022 走看看