Hibit_iOS/HiBit/Project/Publics/MultiLanguage/Manager/HBMultiLanguageManager.h
2024-06-11 10:51:38 +08:00

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