//
// laninternational.h
// mylaenlanguageset
//// created by laizhenjie on 8/21/14.
// 語言設定檔案;
#import @inte***ce laninternational : nsobject
+(nsbundle *)localbundle;//獲取當前資源檔案
+(void)inituserlanguage;//初始化語言檔案
+(nsstring *)userlanguage;//獲取應用當前語言
+(void)setuserlanguage:(nsstring *)language;//設定當前語言
@end
//
// laninternational.m
// mylaenlanguageset
//// created by laizhenjie on 8/21/14.
//#import "laninternational.h"
#define user_setted_language @"usersettedlanguage" //使用者設定語言標識;
@implementation laninternational
static nsbundle *bundle = nil;
+ ( nsbundle * )localbundle
+(void)inituserlanguage
//獲取檔案路徑
nsstring *path = [[nsbundle mainbundle] pathforresource:string oftype:@"lproj"];
bundle = [nsbundle bundlewithpath:path];
}//獲取當前語言標識;
+(nsstring *)userlanguage
//語言設定;
+(void)setuserlanguage:(nsstring *)language
//系統預設的語言;
//獲取系統當前語言版本(中文zh-hans,英文en)
nsuserdefaults *def = [nsuserdefaults standarduserdefaults];
}@end
封裝成巨集來使用:
//語言設定相關;
#define localstring(key) \
[[laninternational localbundle] localizedstringforkey:(key) value:@"" table:nil] //對key進行語言讀取
#define locallanset(lan) \
[laninternational setuserlanguage:(lan)] //設定語言;
#define localcurrlan \
[laninternational userlanguage] //讀取應用當前的語言;
#define user_language @"userlanguage" //使用者設定的語言key;與laninternational裡的字元一定要一樣;
nsbundle
android 應用內切換語言
1.新增多語言檔案 在不同的 value 資料夾下 例如 value value en values zh rtw 資料夾 新增不同語言的string.xml檔案,我們的專案新增了英文 簡體中文 正體中文三種語言,如下圖所示 2.更新 configuration 中的 locale 屬性 3.重啟 ...
iOS設定應用內的系統控制項語言
在ios應用中,有時候會需要呼叫系統的一些ui控制項,例如 在uiwebview中長按會彈出系統的上下文選單 在uiimagepickercontroller中會使用系統的照相機介面 在編譯狀態下的uitableviewcell,處於待刪除時,會有乙個系統的刪除按鈕。如何解決這個問題呢?方法如下 用...
Android應用內即時切換語言
應用內設定語言 resources resources getresources configuration config resources.getconfiguration displaymetrics am resources.getdisplaymetrics config.locale l...