Skip to content

Commit

Permalink
iOS TUITranslation upgrade version 7.2.4123
Browse files Browse the repository at this point in the history
  • Loading branch information
summeryxia committed Apr 27, 2023
1 parent 346639d commit 000b1d9
Show file tree
Hide file tree
Showing 51 changed files with 1,290 additions and 0 deletions.
56 changes: 56 additions & 0 deletions iOS/Podspec/TUITranslation.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
Pod::Spec.new do |spec|
spec.name = 'TUITranslation'
spec.version = '7.2.4123'
spec.platform = :ios
spec.ios.deployment_target = '9.0'
spec.license = { :type => 'Proprietary',
:text => <<-LICENSE
copyright 2017 tencent Ltd. All rights reserved.
LICENSE
}
spec.homepage = 'https://cloud.tencent.com/document/product/269/3794'
spec.documentation_url = 'https://cloud.tencent.com/document/product/269/9147'
spec.authors = 'tencent video cloud'
spec.summary = 'TUITranslation'
spec.xcconfig = { 'VALID_ARCHS' => 'armv7 arm64 x86_64', }

spec.requires_arc = true

spec.source = { :http => 'https://im.sdk.cloud.tencent.cn/download/tuikit/7.2.4123/ios/TUITranslation.zip'}

spec.subspec 'CommonModel' do |commonModel|
commonModel.source_files = '**/TUITranslation/CommonModel/*.{h,m,mm}'
commonModel.dependency 'TUICore','7.2.4123'
commonModel.dependency 'TIMCommon','7.2.4123'
commonModel.dependency 'TUIChat','7.2.4123'
end

spec.subspec 'UI' do |commonUI|
commonUI.subspec 'DataProvider' do |dataProvider|
dataProvider.source_files = '**/TUITranslation/UI/DataProvider/*.{h,m,mm}'
dataProvider.dependency "TUITranslation/CommonModel"
end
commonUI.subspec 'UI' do |subUI|
subUI.source_files = '**/TUITranslation/UI/UI/*.{h,m,mm}'
subUI.dependency "TUITranslation/UI/DataProvider"
end
commonUI.subspec 'Service' do |service|
service.source_files = '**/TUITranslation/UI/Service/*.{h,m,mm}'
service.dependency "TUITranslation/UI/UI"
end
commonUI.resource = [
'**/TUITranslation/Resources/*.bundle'
]
end

spec.pod_target_xcconfig = {
'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64',
'GENERATE_INFOPLIST_FILE' => 'YES'
}
spec.user_target_xcconfig = {
'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64',
'GENERATE_INFOPLIST_FILE' => 'YES'
}
end

# pod trunk push TUITranslation.podspec --use-libraries --allow-warnings
31 changes: 31 additions & 0 deletions iOS/TUIKit/TUITranslation/CommonModel/TUITranslationConfig.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
//
// TUITranslationConfig.h
// TUITranslation
//
// Created by xia on 2023/4/7.
//

#import <Foundation/Foundation.h>
#import <TIMCommon/TIMCommonModel.h>

NS_ASSUME_NONNULL_BEGIN

@interface TUITranslationConfig : NSObject

+ (TUITranslationConfig *)defaultConfig;

/**
* 翻译目标语言码
* Translation target language code.
*/
@property(nonatomic, copy) NSString *targetLanguageCode;

/**
* 翻译目标语言名称。
* Translation target language name.
*/
@property(nonatomic, copy, readonly) NSString *targetLanguageName;

@end

NS_ASSUME_NONNULL_END
91 changes: 91 additions & 0 deletions iOS/TUIKit/TUITranslation/CommonModel/TUITranslationConfig.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
//
// TUITranslationConfig.m
// TUITranslation
//
// Created by xia on 2023/4/7.
//

#import "TUITranslationConfig.h"

static NSString * const kTransaltionTargetLanguageCode = @"translation_target_language_code";

@interface TUITranslationConfig()
@property(nonatomic, copy, readwrite) NSString *targetLanguageName;
@end

@implementation TUITranslationConfig

+ (TUITranslationConfig *)defaultConfig {
static dispatch_once_t onceToken;
static TUITranslationConfig *config;
dispatch_once(&onceToken, ^{
config = [[TUITranslationConfig alloc] init];
});
return config;
}

- (id)init {
self = [super init];
if (self) {
[self loadSavedLanguage];
}
return self;
}

- (void)setTargetLanguageCode:(NSString *)targetLanguageCode {
if (targetLanguageCode.length == 0 || ![targetLanguageCode isKindOfClass:NSString.class]) {
return;
}
if (_targetLanguageCode == targetLanguageCode) {
return;
}
_targetLanguageCode = targetLanguageCode;
_targetLanguageName = self.languageDict[self.targetLanguageCode];
[[NSUserDefaults standardUserDefaults] setObject:targetLanguageCode forKey:kTransaltionTargetLanguageCode];
[[NSUserDefaults standardUserDefaults] synchronize];
}

- (void)loadSavedLanguage {
NSString *lang = [[NSUserDefaults standardUserDefaults] stringForKey:kTransaltionTargetLanguageCode];
if (lang.length == 0) {
[self setTargetLanguageCode:[self defalutTargetLanguageCode]];
self.targetLanguageName = self.languageDict[self.targetLanguageCode];
} else {
self.targetLanguageCode = lang;
}
}

- (NSString *)defalutTargetLanguageCode {
NSString *target = nil;
NSString *currentAppLanguage = [TUIGlobalization getPreferredLanguage];
if ([currentAppLanguage isEqualToString:@"zh-Hans"] || [currentAppLanguage isEqualToString:@"zh-Hant"]) {
target = @"zh";
} else {
target = @"en";
}
return target;
}

- (NSDictionary *)languageDict {
return @{
@"zh": @"简体中文",
@"zh-TW": @"繁體中文",
@"en": @"English",
@"ja": @"日本語",
@"ko": @"한국어",
@"fr": @"Français",
@"es": @"Español",
@"it": @"Italiano",
@"de": @"Deutsch",
@"tr": @"Türkçe",
@"ru": @"Русский",
@"pt": @"Português",
@"vi": @"Tiếng Việt",
@"id": @"Bahasa Indonesia",
@"th": @"ภาษาไทย",
@"ms": @"Bahasa Melayu",
@"hi": @"हिन्दी"
};
}

@end
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>id</key>
<string>dark</string>
<key>name</key>
<string>黑夜</string>
<key>name_en</key>
<string>Dark</string>
<key>translation_view_bg_color</key>
<string>#1F1F1F</string>
<key>translation_view_text_color</key>
<string>#D9D9D9</string>
<key>translation_view_tips_color</key>
<string>#D9D9D9</string>
<key>translation_view_icon_loading_img</key>
<string>translation_loading.png</string>
<key>translation_view_icon_tips_img</key>
<string>translation_tips.png</string>
<key>translation_view_pop_menu_copy_img</key>
<string>icon_copy.png</string>
<key>translation_view_pop_menu_hide_img</key>
<string>icon_hide.png</string>
<key>translation_view_pop_menu_forward_img</key>
<string>icon_forward.png</string>
</dict>
</plist>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>id</key>
<string>light</string>
<key>name</key>
<string>轻量</string>
<key>name_en</key>
<string>Light</string>
<key>translation_view_bg_color</key>
<string>#F2F7FF</string>
<key>translation_view_text_color</key>
<string>#000000</string>
<key>translation_view_tips_color</key>
<string>#000000</string>
<key>translation_view_icon_loading_img</key>
<string>translation_loading.png</string>
<key>translation_view_icon_tips_img</key>
<string>translation_tips.png</string>
<key>translation_view_pop_menu_copy_img</key>
<string>icon_copy.png</string>
<key>translation_view_pop_menu_hide_img</key>
<string>icon_hide.png</string>
<key>translation_view_pop_menu_forward_img</key>
<string>icon_forward.png</string>
</dict>
</plist>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>id</key>
<string>lively</string>
<key>name</key>
<string>活泼</string>
<key>name_en</key>
<string>Lively</string>
<key>translation_view_bg_color</key>
<string>#F2F7FF</string>
<key>translation_view_text_color</key>
<string>#000000</string>
<key>translation_view_tips_color</key>
<string>#000000</string>
<key>translation_view_icon_loading_img</key>
<string>translation_loading.png</string>
<key>translation_view_icon_tips_img</key>
<string>translation_tips.png</string>
<key>translation_view_pop_menu_copy_img</key>
<string>icon_copy.png</string>
<key>translation_view_pop_menu_hide_img</key>
<string>icon_hide.png</string>
<key>translation_view_pop_menu_forward_img</key>
<string>icon_forward.png</string>
</dict>
</plist>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>id</key>
<string>serious</string>
<key>name</key>
<string>严肃</string>
<key>name_en</key>
<string>Business</string>
<key>translation_view_bg_color</key>
<string>#F2F7FF</string>
<key>translation_view_text_color</key>
<string>#000000</string>
<key>translation_view_tips_color</key>
<string>#000000</string>
<key>translation_view_icon_loading_img</key>
<string>translation_loading.png</string>
<key>translation_view_icon_tips_img</key>
<string>translation_tips.png</string>
<key>translation_view_pop_menu_copy_img</key>
<string>icon_copy.png</string>
<key>translation_view_pop_menu_hide_img</key>
<string>icon_hide.png</string>
<key>translation_view_pop_menu_forward_img</key>
<string>icon_forward.png</string>
</dict>
</plist>
26 changes: 26 additions & 0 deletions iOS/TUIKit/TUITranslation/TUITranslation.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Pod::Spec.new do |spec|
spec.name = 'TUITranslation'
spec.version = '7.2.4123'
spec.platform = :ios
spec.ios.deployment_target = '9.0'
spec.license = { :type => 'Proprietary',
:text => <<-LICENSE
copyright 2017 tencent Ltd. All rights reserved.
LICENSE
}
spec.homepage = 'https://cloud.tencent.com/document/product/269/3794'
spec.documentation_url = 'https://cloud.tencent.com/document/product/269/9147'
spec.authors = 'tencent video cloud'
spec.summary = 'TUITranslation'
spec.dependency 'TUICore'
spec.dependency 'TIMCommon'
spec.dependency 'TUIChat'

spec.requires_arc = true

spec.source = { :git => 'https://git.woa.com/lynxzhang/tui-components.git', :tag => spec.version}
spec.source_files = '**/*.{h,m,mm,c}'
spec.resource = [
'Resources/*.bundle'
]
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
//
// TUITranslationDataProvider.h
// TUITranslation
//
// Created by xia on 2023/3/21.
//

#import <Foundation/Foundation.h>
#import <TUICore/TUIDefine.h>
#import <TIMCommon/TUIMessageCellData.h>

NS_ASSUME_NONNULL_BEGIN

typedef NS_ENUM(NSInteger, TUITranslationViewStatus) {
TUITranslationViewStatusUnknown = 0,
TUITranslationViewStatusHidden = 1,
TUITranslationViewStatusLoading = 2,
TUITranslationViewStatusShown = 3,
};

typedef void (^TUITranslateMessageCompletion)(NSInteger code, NSString *desc, TUIMessageCellData *data, NSInteger status, NSString *text);

@interface TUITranslationDataProvider : NSObject

+ (void)translateMessage:(TUIMessageCellData *)data
completion:(TUITranslateMessageCompletion _Nullable)completion;

+ (void)saveTranslationResult:(V2TIMMessage *)message
text:(NSString *)text
status:(TUITranslationViewStatus)status;

+ (BOOL)shouldShowTranslation:(V2TIMMessage *)message;
+ (NSString *)getTranslationText:(V2TIMMessage *)message;
+ (TUITranslationViewStatus)getTranslationStatus:(V2TIMMessage *)message;

@end

NS_ASSUME_NONNULL_END
Loading

0 comments on commit 000b1d9

Please sign in to comment.