ios應用內切換設定語言,不跟系統變化

2021-06-23 09:49:41 字數 1679 閱讀 9521

//

// 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...