bonus-material-app/nativeplugins/Mpaas-Scan/ios/mPaas.framework/Headers/APLanguage+MPaaS.h

86 lines
3.1 KiB
Objective-C

//
// APLanguage+MPaaS.h
// MPaaS
//
// Created by shenmo on 5/9/16.
// Copyright © 2016 Alipay. All rights reserved.
//
@protocol APLanguageClass <NSObject>
@property (nonatomic, copy ) NSString *name; /**< 语言名称 */
@property (nonatomic, assign ) BOOL isCurrentLanguage; /**< 是否为当前语言 */
@property (nonatomic, strong, readonly) NSMutableDictionary *strings; /**< 该语言对应的字符串表的所有key-value对组成的字典(暂不支持,始终为nil) */
@property (nonatomic, strong, readonly) NSString *tableName; /**< 该语言对应的字符串表文件名,如 @"en" */
@end
@protocol APLanguageSettingClass <NSObject>
/**
* 获取当前语言对象
*
* @return 当前语言对象,APLanguage的一个实例
*/
+ (id<APLanguageClass>)currentLanguage;
/**
* 在名称为 \c bundleName 的bundle中取当前语言状态下\c key 对应的字符串值.
*
* @param key 字符串表中\c key
* @param value 默认值, 当找不到该 \c key 对应的 \c value 时返回该默认值.
* @param bundleName bundle名称字符串
*
* @return 当前语言状态下\c key 对应的字符串值
*/
+ (NSString *)localizedStringForKey:(NSString *)key
defaultValue:(NSString *)value
inBundle:(NSString *)bundleName;
/**
* App已经支持的语言列表
*
* @return 支持的语言数组,每个元素为支持的语言的名称, 如支持简体中文、英文: @[@"zh-Hans",@"en"]
*/
+ (NSArray *)supportedLanguages;
/**
* 设置为跟随系统语言,若不支持当前系统语言,默认设置成英文(\c APLanguageEnglish). @see [APLanguageSetting isFollowingSystemLanguage]
*
* @return 成功返回 \c YES , 失败返回 \c NO.
*/
+ (BOOL)setSystemLanguage;
/**
* 是否当前语言环境是跟随系统语言的,跟随系统语言不一定与系统语言一致,如系统当前语言App不支持,会fallback到英文.
*
* @return 正在跟随系统语言时返回 \c YES, 否则返回 \c NO .
*/
+ (BOOL)isFollowingSystemLanguage;
/**
* 是否系统语言(非App内语言)在两次启动间隔中发生了语言切换.
* @note 切换系统语言时系统会杀掉App进程,所以该种切换指的是前后两次启动的切换. 系统语言切换时,App内语言不一定切换.
*
* @return 系统语言发生了切换时返回 \c YES, 否则返回 \c NO .
*/
+ (BOOL)systemLanguageDidChange;
/**
* 是否多语言环境是打开的,在服务端下发关闭多语言环境的开关后的下一次冷启动生效,关闭多语言环境时,当前语言默认返回 \c 简体中文.
*
* @return 多语言环境打开时返回 \c YES, 关闭时返回 \c NO.
*/
+ (BOOL)isMultiLanguageEnabled;
/**
* 一个语言名称对应的显示在UI上的字符串,如: \c APLanguageChineseSimplified (\c @"zh-Hans") 显示为 \c @"简体中文" .)@note 暂不支持
*
* @param langName 语言名称
*
* @return 语言名称对应的显示在UI上的字符串
*/
+ (NSString *)displayNameForLanguageName:(NSString *)langName;
@end