unicode编码,直接输出后就是汉字,不需要额外解码。摘自网络一个编码解码方法:
<script type="text/javascript">var GB2312UnicodeConverter = {
ToUnicode: function (str) {
return escape(str).toLocaleLowerCase().replace(/%u/gi, '\\u')
}
, ToGB2312: function (str) {
return unescape(str.replace(/\\u/gi, '%u'))
}
}
var str = '上海', unicode
document.write(str + '<br/>')
unicode = GB2312UnicodeConverter.ToUnicode(str)
document.write('汉字转换为Unicode代码:' + unicode + '<br/><br/>')
document.write('Unicode代码转换为汉字:' + GB2312UnicodeConverter.ToGB2312(unicode))
</script>
你可以用这个方法编码或解码后就可以修改原来的文字了。
1在Project设置,添加中英两种语言2.新建Localizable.strings文件,作为多语言对应的词典,存储多种语言,点击右侧Localization,勾选中英
3.添加一个字段,
在English中,添加:SUBMIT_BTN_TITLE = Go
在Chinese中,添加:SUBMIT_BTN_TITLE = 开始
4.一个工具类GDLocalizableController,用来切换本地语言:
//
// GDLocalizableController.h
// guide-book
//
// Created by why on 7/16/14.
// Copyright (c) 2014 why. All rights reserved.
//
#import
@interface GDLocalizableController : NSObject
+(NSBundle *)bundle//获取当前资源文件
+(void)initUserLanguage//初始化语言文件
+(NSString *)userLanguage//获取应用当前语言
+(void)setUserlanguage:(NSString *)language//设置当前语言
@end
//
// GDLocalizableController.m
// guide-book
//
// Created by why on 7/16/14.
// Copyright (c) 2014 why. All rights reserved.
//
#import GDLocalizableController.h
@implementation GDLocalizableController
static NSBundle *bundle = nil
+ ( NSBundle * )bundle{
return bundle
}
+(void)initUserLanguage{
NSUserDefaults *def = [NSUserDefaults standardUserDefaults]
NSString *string = [def valueForKey:@userLanguage]
if(string.length == 0){
//获取系统当前语言版本
NSArray* languages = [def objectForKey:@AppleLanguages]
NSString *current = [languages objectAtIndex:0]
string = current
[def setValue:current forKey:@userLanguage]
[def synchronize]//持久化,不加的话不会保存
}
//获取文件路径
NSString *path = [[NSBundle mainBundle] pathForResource:string ofType:@lproj]
bundle = [NSBundle bundleWithPath:path]//生成bundle
}
+(NSString *)userLanguage{
NSUserDefaults *def = [NSUserDefaults standardUserDefaults]
NSString *language = [def valueForKey:@userLanguage]
return language
}
+(void)setUserlanguage:(NSString *)language{
NSUserDefaults *def = [NSUserDefaults standardUserDefaults]
//1.第一步改变bundle的值
NSString *path = [[NSBundle mainBundle] pathForResource:language ofType:@lproj ]
bundle = [NSBundle bundleWithPath:path]
//2.持久化
[def setValue:language forKey:@userLanguage]
[def synchronize]
}
@end
5. 自定义一个宏方便处理:
// ----- 多语言设置
#define CHINESE @zh-Hans
#define ENGLISH @en
#define GDLocalizedString(key) [[GDLocalizableController bundle] localizedStringForKey:(key) value:@ table:nil]
6.使用:
[GDLocalizableController setUserlanguage:CHINESE]
NSLog(GDLocalizedString(@SUBMIT_BTN_TITLE))
[GDLocalizableController setUserlanguage:ENGLISH]
NSLog(GDLocalizedString(@SUBMIT_BTN_TITLE))