// // YMLanguageConfig.m // YuMi // // Created by Linus on 2024/12/19. // #import "YMLanguageConfig.h" @implementation YMLanguageConfig + (NSArray *)supportedLanguages { static NSArray *languages = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ languages = @[ @{@"code": @"en", @"localizationCode": @"en", @"displayName": @"English", @"isRTL": @NO}, @{@"code": @"zh-Hant", @"localizationCode": @"zh-Hant", @"displayName": @"繁體中文", @"isRTL": @NO}, @{@"code": @"ar", @"localizationCode": @"ar", @"displayName": @"العربية", @"isRTL": @YES}, @{@"code": @"tr", @"localizationCode": @"tr", @"displayName": @"Türkçe", @"isRTL": @NO}, @{@"code": @"pt-BR", @"localizationCode": @"pt-BR", @"displayName": @"Português (Brasil)", @"isRTL": @NO}, @{@"code": @"es", @"localizationCode": @"es", @"displayName": @"Español", @"isRTL": @NO}, @{@"code": @"ru", @"localizationCode": @"ru", @"displayName": @"Русский", @"isRTL": @NO}, @{@"code": @"uz-UZ", @"localizationCode": @"uz-UZ", @"displayName": @"O'zbek", @"isRTL": @NO} ]; }); return languages; } + (NSString *)displayNameForLanguageCode:(NSString *)languageCode { for (NSDictionary *language in [self supportedLanguages]) { if ([language[@"code"] isEqualToString:languageCode]) { return language[@"displayName"]; } } return @"English"; // 默认返回英文 } + (NSString *)localizationCodeForLanguageCode:(NSString *)languageCode { for (NSDictionary *language in [self supportedLanguages]) { if ([language[@"code"] isEqualToString:languageCode]) { return language[@"localizationCode"]; } } return @"en"; // 默认返回英文 } + (BOOL)isRTLanguage:(NSString *)languageCode { for (NSDictionary *language in [self supportedLanguages]) { if ([language[@"code"] isEqualToString:languageCode]) { return [language[@"isRTL"] boolValue]; } } return NO; } + (NSString *)defaultLanguage { return @"en"; } @end