DDYLanguageTool.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /// MARK: - DDYAuthManager 2018/10/30
  2. /// !!!: Author: 豆电雨
  3. /// !!!: QQ/WX: 634778311
  4. /// !!!: Github: https://github.com/RainOpen/
  5. /// !!!: Blog: https://juejin.im/user/57dddcd8128fe10064cadee9
  6. /// MARK: - App语言切换工具
  7. #import <Foundation/Foundation.h>
  8. #define DDYLocalStr(key) [NSBundle.mainBundle localizedStringForKey:(key) value:@"" table:nil]
  9. #define DDYLocalStrFromTable(key, tbl) [NSBundle.mainBundle localizedStringForKey:(key) value:@"" table:(tbl)]
  10. // 中文(简体 大陆)
  11. extern NSString *const DDY_CN;
  12. // 英文(通用)
  13. extern NSString *const DDY_EN;
  14. // 中文(繁体 港澳台)
  15. extern NSString *const DDY_ZHT;
  16. // 日本语
  17. extern NSString *const DDY_JA;
  18. // 法语
  19. extern NSString *const DDY_FR;
  20. // 德语
  21. extern NSString *const DDY_DE;
  22. // 韩语
  23. extern NSString *const DDY_KO;
  24. extern NSErrorDomain DDYLanguageErrorDomain;
  25. #define kDDYLanguageErrorSuccess 0 // 设置语言成功 (完成App内语言,不再跟随系统语言)
  26. #define kDDYLanguageErrorNil -1 // 语言为空 (恢复跟随系统语言,而不再是App内语言)
  27. #define kDDYLanguageErrorUnsupport -2 // 不支持的语言 (设置的语言没有相应的 .lproj 文件)
  28. #define kDDYLanguageErrorUnknown -3 // 未知错误
  29. @interface DDYLanguageTool : NSObject
  30. /// 手机系统语言
  31. + (NSString *)ddy_SystemLanguage;
  32. /// App应用语言(应用内设置的语言,nil或@""代表只跟随系统)
  33. + (NSString *)ddy_AppLanguage;
  34. /// 设置语言 (nil则跟随系统,其他具体语言则查找 language.lproj 配置)
  35. + (void)ddy_SetLanguage:(NSString *)language complete:(void (^)(NSError *error))complete;
  36. @end