iOS 应用内切换语言。

参考:https://github.com/Alittlefly/AppLanguageChange

核心:

- (NSString *)localizeStringWithResourceName:(NSString *)RecoursePath withKey:(NSString *)key table:(NSString *)table{
    NSString *PathString = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@",RecoursePath] ofType:@"lproj"];

    if (PathString.length == 0) { //没有这种语言 默认取系统偏好

        NSString *perferredLanguage =  keyAppDefaultLanguage; //[[NSLocale preferredLanguages] objectAtIndex:0];
        if ([perferredLanguage isEqualToString:@"zh-Hans"]) {
            perferredLanguage = keyAppDefaultLanguage;
        }
        PathString = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@",perferredLanguage] ofType:@"lproj"];
    }
    NSBundle * currentBundle = [NSBundle bundleWithPath:PathString];
    NSString * LoaclizedString = [currentBundle localizedStringForKey:key value:nil table:table];

    return LoaclizedString;
}

通过切换 文件的路径修改要读取的资源。

有问题请留言!谢谢

  

原文地址:https://www.cnblogs.com/littleflyer/p/10529482.html

时间: 2024-10-15 07:02:59

iOS 应用内切换语言。的相关文章

App内切换语言

转载请注明出处 http://www.cnblogs.com/cnwutianhao/p/6746981.html 前几天客户提需求,对App增加一个功能,这个功能目前市面上已经很常见,那就是应用内切换语言.啥意思,就是 英.中.法.德.日...语言随意切换. (本案例采用Data-Bingding模式,麻麻再也不用担心我findViewBy不到Id了哈哈,开个玩笑) 先上示例图: 代码实现: 布局文件(Data-Binding模式),很简单就是两行文字 <?xml version="1.

iOS应用内切换多国语言

1.新建工程之类的就不用说了,配置项目本地化支持简体中文和英文 工程-PROJECT-info->Localizations,点"+",选择(Chinese(Simplified))添加简体中文,英文Xcode自带有(English),所以不需要再次添加.(点击添加弹出语言菜单,即可选择你所需要的语言) 2.现在可以开始添加多语言文件了. 注意:需要手动切换语言,而不是根据系统语言变换,所以命名不能与系统语言文件同名,即Localizable.strings: 自己随意命名,后缀

iOS开发--应用国际化,应用内切换语言

1.前言 自己负责的项目需要做国际化,并且要求应用内部切换语言.这个是可以做到的,也并不难,可以直接戳Github看一下 https://github.com/leo90821/LocaliztionStringExchange 2.实现原理 原理比较简单,利用NSBundle切换语言包,主要利用NSBundle的方法 - localizedStringForKey:value:table: 进行本地字符串的切换 3.实现代码 1)业务逻辑 头文件 #import <Foundation/Fou

Android 应用内切换语言

extends :http://bbs.51cto.com/thread-1075165-1.html,http://www.cnblogs.com/loulijun/p/3164746.html 1. 多国语言: 在res目录下建立不同名称的values文件来调用不同的语言包Values文件汇总如下:中文(中国):values-zh-rCN中文(台湾):values-zh-rTW中文(香港):values-zh-rHK英语(美国):values-en-rUS英语(英国):values-en-r

android 多语言(在APP里面内切换语言)

创建SharedPreferences的管理类 public class PreferenceUtil { private static SharedPreferences mSharedPreferences = null; private static Editor mEditor = null; public static void init(Context context){ if (null == mSharedPreferences) { mSharedPreferences = a

iOS应用内语言切换功能

? 添加关注 作者 FarmGuo 2016.01.27 15:36* 写了6453字,被44人关注,获得了56个喜欢 iOS应用内语言切换功能 字数1372 阅读681 评论7 喜欢7 当我们的应用仅仅面向国内用户群,一般仅支持一种语言--中文就可以了.当面向国外用户时就需要进行国际化了,不仅仅是语言的转变,也可能包括设计风格,页面布局.交互效果的转变,如微信,微博,QQ这类应用都有着切换语言的功能. iOS常用的国际化流程 1.建立strings文件.2.在Localization勾选支持的

ios开发应用内实现多语言自由切换

需求描述:应用内部有一按钮,点击切换语言(如中英文切换).说起来这个是好久以前做的一个功能点了,刚开始也是没有头绪,后来解决了发现很简单,把方法分享一下.1.原理.查看NSLocalizedString(@"abc",nil);的定义. ? 1 2 #define NSLocalizedString(key, comment) \         [[NSBundle mainBundle] localizedStringForKey:(key) value:@""

Android 应用内多语言切换

p.p1 { margin: 0.0px 0.0px 12.0px 0.0px; line-height: 18.0px; font: 12.0px ".PingFang SC"; color: #000000 } p.p3 { margin: 0.0px 0.0px 13.9px 0.0px; line-height: 18.0px; font: 16.8px "PT Sans"; color: #000000 } p.p4 { margin: 0.0px 0.0

[iOS]如何在iOS开发中切换显示语言实现国际化

1.在Project设置,添加中英两种语言: 2.新建Localizable.strings文件,作为多语言对应的词典,存储多种语言,点击右侧Localization,勾选中英: 3.添加一个字段, 在English中,添加:"SUBMIT_BTN_TITLE" = "Go"; 在Chinese中,添加:"SUBMIT_BTN_TITLE" = "开始"; 4.一个工具类GDLocalizableController,用来切换