72 lines
1.5 KiB
Objective-C
72 lines
1.5 KiB
Objective-C
//
|
|
// HBMultiLanguageManager.h
|
|
// QinJiuTV
|
|
//
|
|
// Created by HI_LOSER on 2024/5/6.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
|
/*
|
|
-- 跟随系统
|
|
zh-Hans 简体中文
|
|
en English
|
|
zh-Hans-HK 繁体中文
|
|
ko 韩文
|
|
*/
|
|
|
|
/// 多语言 userdefine key
|
|
extern NSString * _Nonnull const HBMultiLanguageKey;
|
|
|
|
/// 多语言 查询系统首选语言 key
|
|
extern NSString * _Nonnull const HBLocaleLanguageKey;
|
|
|
|
/// 多语言发发现切换使用通知的key
|
|
FOUNDATION_EXPORT NSNotificationName _Nonnull const HBMultiLanguageChangeNotification;
|
|
|
|
@interface HBLanguageModel : NSObject
|
|
|
|
/// 语言展示的标题
|
|
@property (copy, nonatomic) NSString * title;
|
|
|
|
/// 语言文件名 或 英文简写
|
|
@property (copy, nonatomic) NSString * abbr;
|
|
|
|
/// 国旗名
|
|
@property (copy, nonatomic) NSString * imageNamed;
|
|
|
|
/// 描述
|
|
@property (copy, nonatomic) NSString * subTitle;
|
|
|
|
/// 当前选中
|
|
@property (assign, nonatomic) BOOL selected;
|
|
|
|
|
|
|
|
+ (HBLanguageModel *) newWithTitle:(NSString *) title subTitle:(NSString *)subTitle abbr:(NSString *) abbr imageNamed:(NSString *)imageNamed;
|
|
@end
|
|
|
|
@interface HBMultiLanguageManager : NSObject
|
|
|
|
/// 获取当前使用的语言设置
|
|
/// 只给外部使用
|
|
+ (NSString *)abbr;
|
|
+ (BOOL)isSystem;
|
|
|
|
/// 保存当前选的语言
|
|
+ (void)saveCurrentLanguageAbbr:(NSString *)language;
|
|
|
|
/// 获取当前可以展示的语言列表
|
|
+ (NSArray<HBLanguageModel *> *)languages;
|
|
|
|
@end
|
|
|
|
@interface NSString (language)
|
|
- (NSString *)language;
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|