Browse Source

语言国际化

heavyrain.lee 5 years ago
parent
commit
97441edb57
28 changed files with 366 additions and 181 deletions
  1. 1 1
      wfuikit/WFChatUIKit/CommonVC/WFCUGroupTableViewCell.m
  2. 1 1
      wfuikit/WFChatUIKit/ConversationList/SearchCell/WFCUSearchGroupTableViewCell.m
  3. 23 23
      wfuikit/WFChatUIKit/ConversationSetting/ViewController/GroupManageTableViewController.m
  4. 2 2
      wfuikit/WFChatUIKit/ConversationSetting/ViewController/GroupMemberControlTableViewController.m
  5. 2 2
      wfuikit/WFChatUIKit/ConversationSetting/ViewController/GroupMuteTableViewController.m
  6. 6 6
      wfuikit/WFChatUIKit/ConversationSetting/ViewController/ManagerTableViewController.m
  7. 18 18
      wfuikit/WFChatUIKit/ConversationSetting/ViewController/WFCUConversationSettingViewController.m
  8. 11 11
      wfuikit/WFChatUIKit/CreateGroup/ViewController/WFCUCreateGroupViewController.m
  9. 3 3
      wfuikit/WFChatUIKit/ForwardMessage/WFCUForwardMessageCell.m
  10. 9 9
      wfuikit/WFChatUIKit/ForwardMessage/WFCUForwardViewController.m
  11. 4 4
      wfuikit/WFChatUIKit/ForwardMessage/WFCUShareMessageView.m
  12. 5 5
      wfuikit/WFChatUIKit/FriendRequest/Cell/WFCUFriendRequestTableViewCell.m
  13. 5 5
      wfuikit/WFChatUIKit/FriendRequest/ViewController/WFCUFriendRequestViewController.m
  14. 4 4
      wfuikit/WFChatUIKit/Group/ViewController/WFCUFavGroupTableViewController.m
  15. 3 3
      wfuikit/WFChatUIKit/Me/WFCUMessageNotificationViewController.m
  16. 9 9
      wfuikit/WFChatUIKit/Me/WFCUModifyMyProfileViewController.m
  17. 9 9
      wfuikit/WFChatUIKit/Me/WFCUMyPortraitViewController.m
  18. 19 19
      wfuikit/WFChatUIKit/Me/WFCUMyProfileTableViewController.m
  19. 1 1
      wfuikit/WFChatUIKit/MessageList/Cell/WFCUCallSummaryCell.m
  20. 1 1
      wfuikit/WFChatUIKit/MessageList/Cell/WFCUMessageCell.m
  21. 33 38
      wfuikit/WFChatUIKit/MessageList/ViewController/WFCUMessageListViewController.m
  22. 95 0
      wfuikit/WFChatUIKit/Resources/en.lproj/wfc.strings
  23. 95 0
      wfuikit/WFChatUIKit/Resources/zh-Hans.lproj/wfc.strings
  24. 1 1
      wfuikit/WFChatUIKit/Vendor/ChatInputBar/WFCUChatInputBar.m
  25. 1 1
      wfuikit/WFChatUIKit/Vendor/ChatInputBar/WFCULocationViewController.m
  26. 2 2
      wfuikit/WFChatUIKit/Vendor/ChatInputBar/WFCUPluginBoardView.m
  27. 2 2
      wfuikit/WFChatUIKit/Vendor/ChatInputBar/WFCUSelectFileViewController.m
  28. 1 1
      wfuikit/WFChatUIKit/Vendor/KZSmallVideoRecorder/KZVideoSupport.m

+ 1 - 1
wfuikit/WFChatUIKit/CommonVC/WFCUGroupTableViewCell.m

@@ -47,7 +47,7 @@
 - (void)setGroupInfo:(WFCCGroupInfo *)groupInfo {
     _groupInfo = groupInfo;
     if (groupInfo.name.length == 0) {
-        self.name.text = [NSString stringWithFormat:@"Group<%@>", groupInfo.target];
+        self.name.text = [NSString stringWithFormat:@"%@<%@>", WFCString(@"Group"), groupInfo.target];
     } else {
         self.name.text = [NSString stringWithFormat:@"%@(%d)", groupInfo.name, (int)groupInfo.memberCount];
     }

+ 1 - 1
wfuikit/WFChatUIKit/ConversationList/SearchCell/WFCUSearchGroupTableViewCell.m

@@ -76,7 +76,7 @@
             }
         }
         if (string == nil) {
-            string = [[[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"用户<%@>", groupSearchInfo.marchedMemberNames[0]]] mutableCopy];
+            string = [[[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@<%@>", WFCString(@"User"), groupSearchInfo.marchedMemberNames[0]]] mutableCopy];
         }
         NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:WFCString(@"GroupMemberNameMatch")];
         [attrStr appendAttributedString:string];

+ 23 - 23
wfuikit/WFChatUIKit/ConversationSetting/ViewController/GroupManageTableViewController.m

@@ -21,7 +21,7 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     
-    self.title = @"群管理";
+    self.title = WFCString(@"GroupManage");
     
     self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped];
     
@@ -59,33 +59,33 @@
     if (indexPath.section == 0) {
         if (indexPath.row == 0) {
             if ([self isGroupOwner]) {
-                cell.textLabel.text = @"管理员";
+                cell.textLabel.text = WFCString(@"Manager");
             } else {
-                cell.textLabel.text = @"设置禁言";
+                cell.textLabel.text = WFCString(@"MuteSetting");
             }
             
         } else if(indexPath.row == 1) {
             if ([self isGroupOwner]) {
-                cell.textLabel.text = @"设置禁言";
+                cell.textLabel.text = WFCString(@"MuteSetting");
             } else {
-                cell.textLabel.text = @"成员权限";
+                cell.textLabel.text = WFCString(@"MemberPrivilege");
             }
         } else if(indexPath.row == 2) {
-            cell.textLabel.text = @"成员权限";
+            cell.textLabel.text = WFCString(@"MemberPrivilege");
         }
     } else if(indexPath.section == 1) {
         if (indexPath.row == 0) {
-            cell.textLabel.text = @"加群方式";
+            cell.textLabel.text = WFCString(@"JoinGroupPermission");
             if (self.groupInfo.joinType == 0) {
-                cell.detailTextLabel.text = @"不限制加入";
+                cell.detailTextLabel.text = WFCString(@"Free2Join");
             } else if(self.groupInfo.joinType == 1) {
-                cell.detailTextLabel.text = @"群成员可以拉人";
+                cell.detailTextLabel.text = WFCString(@"MemberInviteOnly");
             } else if(self.groupInfo.joinType == 2) {
-                cell.detailTextLabel.text = @"只能群管理拉人";
+                cell.detailTextLabel.text = WFCString(@"ManagerInviteOnly");
             }
         } else if(indexPath.row == 1) {
-            cell.textLabel.text = @"查找方式";
-            cell.detailTextLabel.text = @"不允许查找";
+            cell.textLabel.text = WFCString(@"GroupVisiable");
+            cell.detailTextLabel.text = WFCString(@"GroupCannotSearch");
         }
     }
     
@@ -106,9 +106,9 @@
 
 -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
     if (section == 0) {
-        return @"成员管理";
+        return WFCString(@"MemberManage");
     } else if(section == 1) {
-        return @"加群设置";
+        return WFCString(@"JoinGroupSetting");
     }
     return nil;
 }
@@ -155,15 +155,15 @@
         }
     } else if(indexPath.section == 1) {
         if (indexPath.row == 0) {
-            UIAlertController* alertController = [UIAlertController alertControllerWithTitle:@"加群方式" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
+            UIAlertController* alertController = [UIAlertController alertControllerWithTitle:WFCString(@"JoinGroupPermission") message:nil preferredStyle:UIAlertControllerStyleActionSheet];
             
             // Create cancel action.
-            UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
+            UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:WFCString(@"Cancel") style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
                 
             }];
             [alertController addAction:cancelAction];
             
-            UIAlertAction *openAction = [UIAlertAction actionWithTitle:@"不限制加入" style:self.groupInfo.joinType == 0 ? UIAlertActionStyleDestructive : UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+            UIAlertAction *openAction = [UIAlertAction actionWithTitle:WFCString(@"Free2Join") style:self.groupInfo.joinType == 0 ? UIAlertActionStyleDestructive : UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                 [[WFCCIMService sharedWFCIMService] modifyGroupInfo:self.groupInfo.target type:Modify_Group_JoinType newValue:@"0" notifyLines:@[@(0)] notifyContent:nil success:^{
 //                    self.groupInfo.joinType = 0;
 //                    [self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:1]] withRowAnimation:UITableViewRowAnimationFade];
@@ -173,7 +173,7 @@
             }];
             [alertController addAction:openAction];
             
-            UIAlertAction *verifyAction = [UIAlertAction actionWithTitle:@"群成员可以拉人" style:self.groupInfo.joinType == 1 ? UIAlertActionStyleDestructive : UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+            UIAlertAction *verifyAction = [UIAlertAction actionWithTitle:WFCString(@"MemberInviteOnly") style:self.groupInfo.joinType == 1 ? UIAlertActionStyleDestructive : UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                 [[WFCCIMService sharedWFCIMService] modifyGroupInfo:self.groupInfo.target type:Modify_Group_JoinType newValue:@"1" notifyLines:@[@(0)] notifyContent:nil success:^{
 //                    self.groupInfo.joinType = 1;
 //                    [self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:1]] withRowAnimation:UITableViewRowAnimationFade];
@@ -183,7 +183,7 @@
             }];
             [alertController addAction:verifyAction];
             
-            UIAlertAction *normalAction = [UIAlertAction actionWithTitle:@"只能群管理拉人" style:self.groupInfo.joinType == 2 ? UIAlertActionStyleDestructive : UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+            UIAlertAction *normalAction = [UIAlertAction actionWithTitle:WFCString(@"ManagerInviteOnly") style:self.groupInfo.joinType == 2 ? UIAlertActionStyleDestructive : UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                 [[WFCCIMService sharedWFCIMService] modifyGroupInfo:self.groupInfo.target type:Modify_Group_JoinType newValue:@"2" notifyLines:@[@(0)] notifyContent:nil success:^{
 //                    self.groupInfo.joinType = 2;
 //                    [self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:1]] withRowAnimation:UITableViewRowAnimationFade];
@@ -195,20 +195,20 @@
             
             [self.navigationController presentViewController:alertController animated:YES completion:nil];
         } else if(indexPath.row == 1) {
-            UIAlertController* alertController = [UIAlertController alertControllerWithTitle:@"查找方式" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
+            UIAlertController* alertController = [UIAlertController alertControllerWithTitle:WFCString(@"GroupVisiable") message:nil preferredStyle:UIAlertControllerStyleActionSheet];
             
             // Create cancel action.
-            UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
+            UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:WFCString(@"Cancel") style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
                 
             }];
             [alertController addAction:cancelAction];
             
-            UIAlertAction *openAction = [UIAlertAction actionWithTitle:@"允许查找" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
+            UIAlertAction *openAction = [UIAlertAction actionWithTitle:WFCString(@"GroupCanbeSearch") style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
                 
             }];
             [alertController addAction:openAction];
             
-            UIAlertAction *verifyAction = [UIAlertAction actionWithTitle:@"不允许查找" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+            UIAlertAction *verifyAction = [UIAlertAction actionWithTitle:WFCString(@"GroupCannotSearch") style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                 
             }];
             [alertController addAction:verifyAction];

+ 2 - 2
wfuikit/WFChatUIKit/ConversationSetting/ViewController/GroupMemberControlTableViewController.m

@@ -21,7 +21,7 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
 
-    self.title = @"群成员权限";
+    self.title = WFCString(@"MemberPrivilege");
     
     self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped];
     
@@ -42,7 +42,7 @@
     
 
         cell.on = !self.groupInfo.privateChat;
-        cell.textLabel.text = @"允许普通群成员发起临时会话";
+        cell.textLabel.text = WFCString(@"AllowTemporarySession");
         cell.onSwitch = ^(BOOL value, void (^onDone)(BOOL success)) {
             [[WFCCIMService sharedWFCIMService] modifyGroupInfo:self.groupInfo.target type:Modify_Group_PrivateChat newValue:value?@"0":@"1" notifyLines:@[@(0)] notifyContent:nil success:^{
                 onDone(YES);

+ 2 - 2
wfuikit/WFChatUIKit/ConversationSetting/ViewController/GroupMuteTableViewController.m

@@ -21,7 +21,7 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
 
-    self.title = @"群禁言管理";
+    self.title = WFCString(@"GroupMuteSetting");
     
     self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped];
     
@@ -38,7 +38,7 @@
     WFCUGeneralSwitchTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
     if (cell == nil) {
         cell = [[WFCUGeneralSwitchTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
-        cell.textLabel.text = @"全员禁言";
+        cell.textLabel.text = WFCString(@"MuteAll");
         cell.onSwitch = ^(BOOL value, void (^onDone)(BOOL success)) {
             [[WFCCIMService sharedWFCIMService] modifyGroupInfo:self.groupInfo.target type:Modify_Group_Mute newValue:value?@"1":@"0" notifyLines:@[@(0)] notifyContent:nil success:^{
                 onDone(YES);

+ 6 - 6
wfuikit/WFChatUIKit/ConversationSetting/ViewController/ManagerTableViewController.m

@@ -20,7 +20,7 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     
-    self.title = @"管理员设置";
+    self.title = WFCString(@"ManagerSetting");
     
     [self loadManagerList];
     self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped];
@@ -100,7 +100,7 @@
     } else if(indexPath.section == 1) {
         if (indexPath.row == self.managerList.count) {
             cell.imageView.image = [UIImage imageNamed:@"plus"];
-            cell.textLabel.text = @"添加管理员";
+            cell.textLabel.text = WFCString(@"AddManager");
         } else {
             WFCCUserInfo *manager = [[WFCCIMService sharedWFCIMService] getUserInfo:[self.managerList objectAtIndex:indexPath.row].memberId  refresh:NO];
             [cell.imageView sd_setImageWithURL:[NSURL URLWithString:manager.portrait] placeholderImage: [UIImage imageNamed:@"PersonalChat"]];
@@ -119,7 +119,7 @@
     return YES;
 }
 - (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {
-    UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"移除管理员" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
+    UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:WFCString(@"RemoveManager") handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
 
         __weak typeof(self)ws = self;
         [[WFCCIMService sharedWFCIMService] setGroupManager:self.groupInfo.target isSet:NO memberIds:@[[self.managerList objectAtIndex:indexPath.row].memberId] notifyLines:@[@(0)] notifyContent:nil success:^{
@@ -134,7 +134,7 @@
             
         }];
     }];
-    UITableViewRowAction *editAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"取消" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
+    UITableViewRowAction *editAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:WFCString(@"Cancel") handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
         NSLog(@"点击了编辑");
     }];
     editAction.backgroundColor = [UIColor grayColor];
@@ -153,9 +153,9 @@
 
 -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
     if (section == 0) {
-        return @"群主";
+        return WFCString(@"GroupOwner");
     } else if(section == 1) {
-        return @"管理员";
+        return WFCString(@"Manager");
     }
     return nil;
 }

+ 18 - 18
wfuikit/WFChatUIKit/ConversationSetting/ViewController/WFCUConversationSettingViewController.m

@@ -501,21 +501,21 @@
   } else if ([self isMessageSilentCell:indexPath]) {
     return [self cellOfTable:tableView WithTitle:WFCString(@"Silent") withDetailTitle:nil withDisclosureIndicator:NO withSwitch:YES withSwitchType:SwitchType_Conversation_Silent];
   } else if ([self isSetTopCell:indexPath]) {
-    return [self cellOfTable:tableView WithTitle:@"置顶聊天" withDetailTitle:nil withDisclosureIndicator:NO withSwitch:YES withSwitchType:SwitchType_Conversation_Top];
+    return [self cellOfTable:tableView WithTitle:WFCString(@"PinChat") withDetailTitle:nil withDisclosureIndicator:NO withSwitch:YES withSwitchType:SwitchType_Conversation_Top];
   } else if ([self isSaveGroupCell:indexPath]) {
-    return [self cellOfTable:tableView WithTitle:@"保存到通讯录" withDetailTitle:nil withDisclosureIndicator:NO withSwitch:YES withSwitchType:SwitchType_Conversation_Save_To_Contact];
+    return [self cellOfTable:tableView WithTitle:WFCString(@"SaveToContact") withDetailTitle:nil withDisclosureIndicator:NO withSwitch:YES withSwitchType:SwitchType_Conversation_Save_To_Contact];
   } else if ([self isGroupNameCardCell:indexPath]) {
     WFCCGroupMember *groupMember = [[WFCCIMService sharedWFCIMService] getGroupMember:self.conversation.target memberId:[WFCCNetworkService sharedInstance].userId];
       if (groupMember.alias.length) {
-          return [self cellOfTable:tableView WithTitle:@"我在本群的昵称" withDetailTitle:groupMember.alias withDisclosureIndicator:YES withSwitch:NO withSwitchType:SwitchType_Conversation_None];
+          return [self cellOfTable:tableView WithTitle:WFCString(@"NicknameInGroup") withDetailTitle:groupMember.alias withDisclosureIndicator:YES withSwitch:NO withSwitchType:SwitchType_Conversation_None];
       } else {
-          return [self cellOfTable:tableView WithTitle:@"我在本群的昵称" withDetailTitle:@"未设置" withDisclosureIndicator:YES withSwitch:NO withSwitchType:SwitchType_Conversation_None];
+          return [self cellOfTable:tableView WithTitle:WFCString(@"NicknameInGroup") withDetailTitle:WFCString(@"Unset") withDisclosureIndicator:YES withSwitch:NO withSwitchType:SwitchType_Conversation_None];
       }
     
   } else if([self isShowNameCardCell:indexPath]) {
-    return [self cellOfTable:tableView WithTitle:@"显示群成员昵称" withDetailTitle:nil withDisclosureIndicator:NO withSwitch:YES withSwitchType:SwitchType_Conversation_Show_Alias];
+    return [self cellOfTable:tableView WithTitle:WFCString(@"ShowMemberNickname") withDetailTitle:nil withDisclosureIndicator:NO withSwitch:YES withSwitchType:SwitchType_Conversation_Show_Alias];
   } else if ([self isClearMessageCell:indexPath]) {
-    return [self cellOfTable:tableView WithTitle:@"清空聊天记录" withDetailTitle:nil withDisclosureIndicator:NO withSwitch:NO withSwitchType:SwitchType_Conversation_None];
+    return [self cellOfTable:tableView WithTitle:WFCString(@"ClearChatHistory") withDetailTitle:nil withDisclosureIndicator:NO withSwitch:NO withSwitchType:SwitchType_Conversation_None];
   } else if([self isQuitGroup:indexPath]) {
         UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"buttonCell"];
         if (cell == nil) {
@@ -525,9 +525,9 @@
             }
             UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(20, 4, self.view.frame.size.width - 40, 40)];
             if ([self isGroupOwner]) {
-                [btn setTitle:@"解散群组" forState:UIControlStateNormal];
+                [btn setTitle:WFCString(@"DismissGroup") forState:UIControlStateNormal];
             } else {
-                [btn setTitle:@"退出群组" forState:UIControlStateNormal];
+                [btn setTitle:WFCString(@"QuitGroup") forState:UIControlStateNormal];
             }
             
             btn.layer.cornerRadius = 5.f;
@@ -547,9 +547,9 @@
           }
           UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(20, 4, self.view.frame.size.width - 40, 40)];
           if ([self isChannelOwner]) {
-              [btn setTitle:@"销毁频道" forState:UIControlStateNormal];
+              [btn setTitle:WFCString(@"DestroyChannel") forState:UIControlStateNormal];
           } else {
-              [btn setTitle:@"取消订阅频道" forState:UIControlStateNormal];
+              [btn setTitle:WFCString(@"UnscribeChannel") forState:UIControlStateNormal];
           }
           
           btn.layer.cornerRadius = 5.f;
@@ -580,12 +580,12 @@
     __weak typeof(self)weakSelf = self;
   if ([self isGroupNameCell:indexPath]) {
       if (self.groupInfo.type == GroupType_Restricted && ![self isGroupManager]) {
-          [self.view makeToast:@"只有管理员才可以修改群名称" duration:1 position:CSToastPositionCenter];
+          [self.view makeToast:WFCString(@"OnlyManangerCanChangeGroupNameHint") duration:1 position:CSToastPositionCenter];
           return;
       }
     WFCUGeneralModifyViewController *gmvc = [[WFCUGeneralModifyViewController alloc] init];
     gmvc.defaultValue = self.groupInfo.name;
-    gmvc.titleText = @"修改群名称";
+    gmvc.titleText = WFCString(@"ModifyGroupName");
     gmvc.canEmpty = NO;
     gmvc.tryModify = ^(NSString *newValue, void (^result)(BOOL success)) {
       [[WFCCIMService sharedWFCIMService] modifyGroupInfo:self.groupInfo.target type:Modify_Group_Name newValue:newValue notifyLines:@[@(0)] notifyContent:nil success:^{
@@ -598,7 +598,7 @@
     [self.navigationController presentViewController:nav animated:YES completion:nil];
   } else if ([self isGroupPortraitCell:indexPath]) {
       if (self.groupInfo.type == GroupType_Restricted && ![self isGroupManager]) {
-          [self.view makeToast:@"只有管理员才可以修改群头像" duration:1 position:CSToastPositionCenter];
+          [self.view makeToast:WFCString(@"OnlyManangerCanChangeGroupPortraitHint") duration:1 position:CSToastPositionCenter];
           return;
       }
     WFCUCreateGroupViewController *vc = [[WFCUCreateGroupViewController alloc] init];
@@ -629,7 +629,7 @@
     WFCUGeneralModifyViewController *gmvc = [[WFCUGeneralModifyViewController alloc] init];
     WFCCGroupMember *groupMember = [[WFCCIMService sharedWFCIMService] getGroupMember:self.conversation.target memberId:[WFCCNetworkService sharedInstance].userId];
     gmvc.defaultValue = groupMember.alias;
-    gmvc.titleText = @"修改我在群中的名片";
+    gmvc.titleText = WFCString(@"ModifyMyGroupNameCard");
     gmvc.canEmpty = NO;
     gmvc.tryModify = ^(NSString *newValue, void (^result)(BOOL success)) {
       [[WFCCIMService sharedWFCIMService] modifyGroupAlias:self.conversation.target alias:newValue notifyLines:@[@(0)] notifyContent:nil success:^{
@@ -643,15 +643,15 @@
   } else if([self isShowNameCardCell:indexPath]) {
     
   } else if ([self isClearMessageCell:indexPath]) {
-      UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:@"确认删除" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
+      UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:WFCString(@"ConfirmDelete") message:nil preferredStyle:UIAlertControllerStyleActionSheet];
 
-      UIAlertAction *actionCancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
+      UIAlertAction *actionCancel = [UIAlertAction actionWithTitle:WFCString(@"Cancel") style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
 
       }];
-      UIAlertAction *actionDelete = [UIAlertAction actionWithTitle:@"删除" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
+      UIAlertAction *actionDelete = [UIAlertAction actionWithTitle:WFCString(@"Delete") style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
           [[WFCCIMService sharedWFCIMService] clearMessages:self.conversation];
               MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:weakSelf.view animated:NO];
-              hud.label.text = @"删除成功";
+              hud.label.text = WFCString(@"Deleted");
               hud.mode = MBProgressHUDModeText;
               hud.removeFromSuperViewOnHide = YES;
               [hud hideAnimated:NO afterDelay:1.5];

+ 11 - 11
wfuikit/WFChatUIKit/CreateGroup/ViewController/WFCUCreateGroupViewController.m

@@ -62,7 +62,7 @@
   } else {
     CGFloat namePadding = 60;
     self.nameField = [[UITextField alloc] initWithFrame:CGRectMake(namePadding, 80 + portraitWidth + 60, bound.size.width - namePadding - namePadding, 24)];
-    [self.nameField setPlaceholder:@"请输入群名称(可选)"];
+    [self.nameField setPlaceholder:WFCString(@"InputGropNameHint")];
     [self.nameField setFont:[UIFont systemFontOfSize:21]];
     self.nameField.textAlignment = NSTextAlignmentCenter;
     [self.view addSubview:self.nameField];
@@ -72,7 +72,7 @@
     [self.view addSubview:line];
   }
     
-    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self action:@selector(onDone:)];
+    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:WFCString(@"Done") style:UIBarButtonItemStyleDone target:self action:@selector(onDone:)];
     
     [self.view addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onResetKeyBoard:)]];
   
@@ -149,11 +149,11 @@
 
 - (void)onSelectPortrait:(id)sender {
     UIActionSheet *actionSheet =
-    [[UIActionSheet alloc] initWithTitle:@"修改头像"
+    [[UIActionSheet alloc] initWithTitle:WFCString(@"ChangePortrait")
                                 delegate:self
-                       cancelButtonTitle:@"取消"
-                  destructiveButtonTitle:@"拍照"
-                       otherButtonTitles:@"相册", nil];
+                       cancelButtonTitle:WFCString(@"Cancel")
+                  destructiveButtonTitle:WFCString(@"TakePhotos")
+                       otherButtonTitles:WFCString(@"Album"), nil];
     [actionSheet showInView:self.view];
 }
 
@@ -204,7 +204,7 @@ didFinishPickingMediaWithInfo:(NSDictionary *)info {
     NSData *portraitData = UIImageJPEGRepresentation(portraitImage, 0.70);
     __weak typeof(self) ws = self;
     __block MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
-    hud.label.text = @"图片上传中...";
+    hud.label.text = WFCString(@"PhotoUploading");
     [hud showAnimated:YES];
     
     [[WFCCIMService sharedWFCIMService] uploadMedia:portraitData mediaType:Media_Type_PORTRAIT success:^(NSString *remoteUrl) {
@@ -222,14 +222,14 @@ didFinishPickingMediaWithInfo:(NSDictionary *)info {
                       userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:[self.memberIds objectAtIndex:i]  refresh:NO];
                       if (userInfo.displayName.length > 0) {
                           if (name.length + userInfo.displayName.length + 1 > 16) {
-                              name = [name stringByAppendingString:@"等"];
+                              name = [name stringByAppendingString:WFCString(@"Etc")];
                               break;
                           }
                           name = [name stringByAppendingFormat:@",%@", userInfo.displayName];
                       }
                   }
                   if (name.length == 0) {
-                      name = @"群聊";
+                      name = WFCString(@"GroupChat");
                   }
               }
             [ws createGroup:name portrait:ws.portraitUrl members:ws.memberIds];
@@ -246,7 +246,7 @@ didFinishPickingMediaWithInfo:(NSDictionary *)info {
             [hud hideAnimated:NO];
             hud = [MBProgressHUD showHUDAddedTo:ws.view animated:YES];
             hud.mode = MBProgressHUDModeText;
-            hud.label.text = @"上传失败";
+            hud.label.text = WFCString(@"UploadFailure");
             hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
             [hud hideAnimated:YES afterDelay:1.f];
         });
@@ -293,7 +293,7 @@ didFinishPickingMediaWithInfo:(NSDictionary *)info {
         }
     } error:^(int error_code) {
         NSLog(@"create group failure");
-        [ws.view makeToast:@"创建群组失败"
+        [ws.view makeToast:WFCString(@"CreateGroupFailure")
                     duration:2
                     position:CSToastPositionCenter];
 

+ 3 - 3
wfuikit/WFChatUIKit/ForwardMessage/WFCUForwardMessageCell.m

@@ -39,7 +39,7 @@
             name = userInfo.displayName;
             portrait = userInfo.portrait;
         } else {
-            name = [NSString stringWithFormat:@"用户<%@>", conversation.target];
+            name = [NSString stringWithFormat:@"%@<%@>", WFCString(@"User"), conversation.target];
         }
         [self.portrait sd_setImageWithURL:[NSURL URLWithString:portrait] placeholderImage:[UIImage imageNamed:@"PersonalChat"]];
     } else if (conversation.type == Group_Type) {
@@ -48,7 +48,7 @@
             name = groupInfo.name;
             portrait = groupInfo.portrait;
         } else {
-            name = [NSString stringWithFormat:@"群组<%@>", conversation.target];
+            name = [NSString stringWithFormat:@"%@<%@>", WFCString(@"Group"), conversation.target];
         }
         [self.portrait sd_setImageWithURL:[NSURL URLWithString:portrait] placeholderImage:[UIImage imageNamed:@"group_default_portrait"]];
     } else if (conversation.type == Channel_Type) {
@@ -57,7 +57,7 @@
             name = channelInfo.name;
             portrait = channelInfo.portrait;
         } else {
-            name = [NSString stringWithFormat:@"频道<%@>", conversation.target];
+            name = [NSString stringWithFormat:@"%@<%@>", WFCString(@"Channel"), conversation.target];
         }
         [self.portrait sd_setImageWithURL:[NSURL URLWithString:portrait] placeholderImage:[UIImage imageNamed:@"channel_default_portrait"]];
     }

+ 9 - 9
wfuikit/WFChatUIKit/ForwardMessage/WFCUForwardViewController.m

@@ -40,7 +40,7 @@
     
     self.tableView.tableHeaderView = nil;
 
-    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonItemStyleDone target:self action:@selector(onLeftBarBtn:)];
+    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:WFCString(@"Cancel") style:UIBarButtonItemStyleDone target:self action:@selector(onLeftBarBtn:)];
 
     self.conversations = [[[WFCCIMService sharedWFCIMService] getConversationInfos:@[@(Single_Type), @(Group_Type)] lines:@[@(0)]] mutableCopy];
 
@@ -50,12 +50,12 @@
     self.searchController.searchResultsUpdater = self;
     self.searchController.delegate = self;
     self.searchController.dimsBackgroundDuringPresentation = NO;
-    [self.searchController.searchBar setValue:@"取消" forKey:@"_cancelButtonText"];
+    [self.searchController.searchBar setValue:WFCString(@"Cancel") forKey:@"_cancelButtonText"];
     if (@available(iOS 9.1, *)) {
         self.searchController.obscuresBackgroundDuringPresentation = NO;
     }
     
-    [self.searchController.searchBar setPlaceholder:@"搜索聊天"];
+    [self.searchController.searchBar setPlaceholder:WFCString(@"Search")];
     
     if (@available(iOS 11.0, *)) {
         self.navigationItem.searchController = _searchController;
@@ -82,10 +82,10 @@
     __weak typeof(self)ws = self;
     shareView.forwardDone = ^(BOOL success) {
         if (success) {
-            [ws.view makeToast:@"转发成功" duration:1 position:CSToastPositionCenter];
+            [ws.view makeToast:WFCString(@"ForwardSuccess") duration:1 position:CSToastPositionCenter];
             [ws.navigationController dismissViewControllerAnimated:YES completion:nil];
         } else {
-            [ws.view makeToast:@"转发失败" duration:1 position:CSToastPositionCenter];
+            [ws.view makeToast:WFCString(@"ForwardFailure") duration:1 position:CSToastPositionCenter];
         }
     };
     TYAlertController *alertController = [TYAlertController alertControllerWithAlertView:shareView preferredStyle:TYAlertControllerStyleAlert];
@@ -162,7 +162,7 @@
                 cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:REUSENEWCONVIDENTIFY];
                 cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
             }
-            cell.textLabel.text = @"创建新聊天";
+            cell.textLabel.text = WFCString(@"CreateNewChat");
             return cell;
         } else {
             WFCUForwardMessageCell *cell = [tableView dequeueReusableCellWithIdentifier:REUSECONVIDENTIFY];
@@ -224,14 +224,14 @@
             if (self.searchFriendList.count) {
                 sec++;
                 if (section == sec-1) {
-                    label.text = @"联系人";
+                    label.text = WFCString(@"Contact");
                 }
             }
             
             if (self.searchGroupList.count) {
                 sec++;
                 if (section == sec-1) {
-                    label.text = @"群组";
+                    label.text = WFCString(@"Group");
                 }
             }
 
@@ -242,7 +242,7 @@
             return header;
         }
     } else {
-        NSString *title = @"最近聊天";
+        NSString *title = WFCString(@"RecentChat");
         UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 21)];
         label.font = [UIFont systemFontOfSize:13];
         label.textColor = [UIColor grayColor];

+ 4 - 4
wfuikit/WFChatUIKit/ForwardMessage/WFCUShareMessageView.m

@@ -24,7 +24,7 @@
     self.digestBackgrouView.clipsToBounds = YES;
     self.digestBackgrouView.layer.masksToBounds = YES;
     self.digestBackgrouView.layer.cornerRadius = 8.f;
-    self.messageTextView.placeholder = @"给朋友留言";
+    self.messageTextView.placeholder = WFCString(@"LeaveMessage");
     self.messageTextView.layer.masksToBounds = YES;
     self.messageTextView.layer.cornerRadius = 8.f;
     self.messageTextView.contentInset = UIEdgeInsetsMake(2, 8, 2, 2);
@@ -90,7 +90,7 @@
             name = userInfo.displayName;
             portrait = userInfo.portrait;
         } else {
-            name = [NSString stringWithFormat:@"用户<%@>", conversation.target];
+            name = [NSString stringWithFormat:@"%@<%@>", WFCString(@"User"), conversation.target];
         }
         [self.portraitImageView sd_setImageWithURL:[NSURL URLWithString:portrait] placeholderImage:[UIImage imageNamed:@"PersonalChat"]];
     } else if (conversation.type == Group_Type) {
@@ -99,7 +99,7 @@
             name = groupInfo.name;
             portrait = groupInfo.portrait;
         } else {
-            name = [NSString stringWithFormat:@"群组<%@>", conversation.target];
+            name = [NSString stringWithFormat:@"%@<%@>", WFCString(@"Group"), conversation.target];
         }
         [self.portraitImageView sd_setImageWithURL:[NSURL URLWithString:portrait] placeholderImage:[UIImage imageNamed:@"group_default_portrait"]];
     } else if (conversation.type == Channel_Type) {
@@ -108,7 +108,7 @@
             name = channelInfo.name;
             portrait = channelInfo.portrait;
         } else {
-            name = [NSString stringWithFormat:@"群组<%@>", conversation.target];
+            name = [NSString stringWithFormat:@"%@<%@>", WFCString(@"Channel"), conversation.target];
         }
         [self.portraitImageView sd_setImageWithURL:[NSURL URLWithString:portrait] placeholderImage:[UIImage imageNamed:@"channel_default_portrait"]];
     }

+ 5 - 5
wfuikit/WFChatUIKit/FriendRequest/Cell/WFCUFriendRequestTableViewCell.m

@@ -48,7 +48,7 @@
     self.reasonLabel.textColor = [UIColor grayColor];
     
     self.acceptBtn = [[UIButton alloc] initWithFrame:CGRectMake(width - 68, 13, 64, 28)];
-    [self.acceptBtn setTitle:@"接受" forState:UIControlStateNormal];
+    [self.acceptBtn setTitle:WFCString(@"Accept") forState:UIControlStateNormal];
     [self.acceptBtn setBackgroundColor:[UIColor greenColor]];
     self.acceptBtn.layer.cornerRadius = 4.f;
     self.acceptBtn.layer.masksToBounds = YES;
@@ -80,22 +80,22 @@
         expired = YES;
     }
     if (friendRequest.status == 0 && !expired) {
-        [self.acceptBtn setTitle:@"接受" forState:UIControlStateNormal];
+        [self.acceptBtn setTitle:WFCString(@"Accept") forState:UIControlStateNormal];
         [self.acceptBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
         [self.acceptBtn setBackgroundColor:[UIColor greenColor]];
         [self.acceptBtn setEnabled:YES];
     } else if (friendRequest.status == 1) {
-        [self.acceptBtn setTitle:@"已同意" forState:UIControlStateNormal];
+        [self.acceptBtn setTitle:WFCString(@"Accepted") forState:UIControlStateNormal];
         [self.acceptBtn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
         [self.acceptBtn setBackgroundColor:self.backgroundColor];
         [self.acceptBtn setEnabled:NO];
     } else if (friendRequest.status == 2) {
-        [self.acceptBtn setTitle:@"已拒绝" forState:UIControlStateNormal];
+        [self.acceptBtn setTitle:WFCString(@"Rejected") forState:UIControlStateNormal];
         [self.acceptBtn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
         [self.acceptBtn setBackgroundColor:self.backgroundColor];
         [self.acceptBtn setEnabled:NO];
     } else { //expired
-        [self.acceptBtn setTitle:@"已过期" forState:UIControlStateNormal];
+        [self.acceptBtn setTitle:WFCString(@"Expired") forState:UIControlStateNormal];
         [self.acceptBtn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
         [self.acceptBtn setBackgroundColor:self.backgroundColor];
         [self.acceptBtn setEnabled:NO];

+ 5 - 5
wfuikit/WFChatUIKit/FriendRequest/ViewController/WFCUFriendRequestViewController.m

@@ -50,7 +50,7 @@
 
 - (void)initSearchUIAndData {
     self.view.backgroundColor = [UIColor whiteColor];
-    self.navigationItem.title = @"新朋友";
+    self.navigationItem.title = WFCString(@"NewFriend");
     
     //初始化数据源
     [[WFCCIMService sharedWFCIMService] loadFriendRequestFromRemote];
@@ -69,7 +69,7 @@
 
     [self.view addSubview:_tableView];
   
-  self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"添加朋友" style:UIBarButtonItemStyleDone target:self action:@selector(onRightBarBtn:)];
+  self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:WFCString(@"AddFriend") style:UIBarButtonItemStyleDone target:self action:@selector(onRightBarBtn:)];
 }
 
 - (void)onRightBarBtn:(UIBarButtonItem *)sender {
@@ -116,14 +116,14 @@
 #pragma mark - FriendRequestTableViewCellDelegate
 - (void)onAcceptBtn:(NSString *)targetUserId {
     __block MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
-    hud.label.text = @"更新中...";
+    hud.label.text = WFCString(@"Updating");
     [hud showAnimated:YES];
     
     __weak typeof(self) ws = self;
     [[WFCCIMService sharedWFCIMService] handleFriendRequest:targetUserId accept:YES success:^{
         dispatch_async(dispatch_get_main_queue(), ^{
             hud.hidden = YES;
-            [ws.view makeToast:@"成功"
+            [ws.view makeToast:WFCString(@"UpdateDone")
                       duration:2
                       position:CSToastPositionCenter];
             dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
@@ -143,7 +143,7 @@
     } error:^(int error_code) {
         dispatch_async(dispatch_get_main_queue(), ^{
             hud.hidden = YES;
-            [ws.view makeToast:@"请求发送失败"
+            [ws.view makeToast:WFCString(@"UpdateFailure")
                       duration:2
                       position:CSToastPositionCenter];
         });

+ 4 - 4
wfuikit/WFChatUIKit/Group/ViewController/WFCUFavGroupTableViewController.m

@@ -23,7 +23,7 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     self.groups = [[NSMutableArray alloc] init];
-    self.title = @"我的群组";
+    self.title = WFCString(@"MyGroup");
     self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
 }
 
@@ -117,16 +117,16 @@
     __weak typeof(self) ws = self;
     
     
-    UITableViewRowAction *cancel = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"取消保存" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
+    UITableViewRowAction *cancel = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:WFCString(@"Remove") handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
         
         [[WFCCIMService sharedWFCIMService] setFavGroup:groupId fav:NO success:^{
-            [ws.view makeToast:@"取消成功" duration:2 position:CSToastPositionCenter];
+            [ws.view makeToast:WFCString(@"Removed") duration:2 position:CSToastPositionCenter];
             dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                 [ws refreshList];
             });
             
         } error:^(int error_code) {
-            [ws.view makeToast:@"取消失败" duration:2 position:CSToastPositionCenter];
+            [ws.view makeToast:WFCString(@"OperationFailure") duration:2 position:CSToastPositionCenter];
         }];
     }];
     

+ 3 - 3
wfuikit/WFChatUIKit/Me/WFCUMessageNotificationViewController.m

@@ -19,7 +19,7 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     
-    self.title = @"新消息通知";
+    self.title = WFCString(@"NewMessageNotification");
     
     self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped];
     
@@ -71,10 +71,10 @@
     cell.accessoryView = nil;
     cell.selectionStyle = UITableViewCellSelectionStyleNone;
     if (indexPath.section == 0) {
-        cell.textLabel.text = @"接收新消息通知";
+        cell.textLabel.text = WFCString(@"ReceiveNewMessageNotification");
         cell.type = SwitchType_Setting_Global_Silent;
     } else {
-        cell.textLabel.text = @"通知显示消息详情";
+        cell.textLabel.text = WFCString(@"NotificationShowMessageDetail");
         cell.type = SwitchType_Setting_Show_Notification_Detail;
     }
     

+ 9 - 9
wfuikit/WFChatUIKit/Me/WFCUModifyMyProfileViewController.m

@@ -25,34 +25,34 @@
     NSString *defaultValue = nil;
     switch (self.modifyType) {
         case Modify_Email:
-            title = @"修改邮箱";
+            title = WFCString(@"ModifyEmail");
             defaultValue = userInfo.email;
             self.textField.keyboardType = UIKeyboardTypeEmailAddress;
             break;
         
         case Modify_Mobile:
-            title = @"修改电话";
+            title = WFCString(@"ModifyMobile");
             defaultValue = userInfo.mobile;
             self.textField.keyboardType = UIKeyboardTypePhonePad;
             break;
         
         case Modify_Social:
-            title = @"修改社交账号";
+            title = WFCString(@"ModifySocialAccount");
             defaultValue = userInfo.social;
             break;
             
         case Modify_Address:
-            title = @"修改地址";
+            title = WFCString(@"ModifyAddress");
             defaultValue = userInfo.address;
             break;
             
         case Modify_Company:
-            title = @"修改公司信息";
+            title = WFCString(@"ModifyCompanyInfo");
             defaultValue = userInfo.company;
             break;
             
         case Modify_DisplayName:
-            title = @"修改昵称";
+            title = WFCString(@"ModifyNickname");
             defaultValue = userInfo.displayName;
             break;
         default:
@@ -62,7 +62,7 @@
     self.textField.text = defaultValue;
     [self setTitle:title];
     
-    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"确定" style:UIBarButtonItemStyleDone target:self action:@selector(onDone:)];
+    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:WFCString(@"Ok") style:UIBarButtonItemStyleDone target:self action:@selector(onDone:)];
     
     [self.view setBackgroundColor:[UIColor colorWithRed:232/255.f green:232/255.f blue:232/255.f alpha:1.f]];
     
@@ -74,7 +74,7 @@
     __weak typeof(self) ws = self;
     
     __block MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
-    hud.label.text = @"修改中...";
+    hud.label.text = WFCString(@"Updating");
     [hud showAnimated:YES];
     
     [[WFCCIMService sharedWFCIMService] modifyMyInfo:@{@(self.modifyType):self.textField.text} success:^{
@@ -86,7 +86,7 @@
         
         hud = [MBProgressHUD showHUDAddedTo:ws.view animated:YES];
         hud.mode = MBProgressHUDModeText;
-        hud.label.text = @"修改失败";
+        hud.label.text = WFCString(@"UpdateFailure");
         hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
         [hud hideAnimated:YES afterDelay:1.f];
     }];

+ 9 - 9
wfuikit/WFChatUIKit/Me/WFCUMyPortraitViewController.m

@@ -30,7 +30,7 @@
     [self.view addSubview:self.portraitView];
     
     if ([[WFCCNetworkService sharedInstance].userId isEqualToString:self.userId]) {
-        self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"修改" style:UIBarButtonItemStyleDone target:self action:@selector(onModify:)];
+        self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:WFCString(@"Modify") style:UIBarButtonItemStyleDone target:self action:@selector(onModify:)];
     }
     
   self.userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:self.userId refresh:NO];
@@ -71,12 +71,12 @@
 
 - (void)onModify:(id)sender {
     __weak typeof(self)ws = self;
-    UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:@"修改头像" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
+    UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:WFCString(@"ChangePortrait") message:nil preferredStyle:UIAlertControllerStyleActionSheet];
     
-    UIAlertAction *actionCancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
+    UIAlertAction *actionCancel = [UIAlertAction actionWithTitle:WFCString(@"Cancel") style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
         
     }];
-    UIAlertAction *actionCamera = [UIAlertAction actionWithTitle:@"拍照" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+    UIAlertAction *actionCamera = [UIAlertAction actionWithTitle:WFCString(@"TakePhotos") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
         UIImagePickerController *picker = [[UIImagePickerController alloc] init];
         picker.allowsEditing = YES;
         picker.delegate = ws;
@@ -90,7 +90,7 @@
         [ws presentViewController:picker animated:YES completion:nil];
     }];
     
-    UIAlertAction *actionAlubum = [UIAlertAction actionWithTitle:@"相册" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+    UIAlertAction *actionAlubum = [UIAlertAction actionWithTitle:WFCString(@"Album") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
         UIImagePickerController *picker = [[UIImagePickerController alloc] init];
         picker.allowsEditing = YES;
         picker.delegate = ws;
@@ -141,7 +141,7 @@ didFinishPickingMediaWithInfo:(NSDictionary *)info {
   UIImage *previousImage = self.portraitView.image;
   __weak typeof(self) ws = self;
   __block MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
-  hud.label.text = @"更新中...";
+  hud.label.text = WFCString(@"Updating");
   [hud showAnimated:YES];
   
   [[WFCCIMService sharedWFCIMService] uploadMedia:data mediaType:Media_Type_PORTRAIT
@@ -153,7 +153,7 @@ didFinishPickingMediaWithInfo:(NSDictionary *)info {
           [hud hideAnimated:YES];
           MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
           hud.mode = MBProgressHUDModeText;
-          hud.label.text = @"更新成功";
+          hud.label.text = WFCString(@"UpdateDone");
           hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
           [hud hideAnimated:YES afterDelay:1.f];
           
@@ -163,7 +163,7 @@ didFinishPickingMediaWithInfo:(NSDictionary *)info {
           [hud hideAnimated:YES];
           MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
           hud.mode = MBProgressHUDModeText;
-          hud.label.text = @"更新失败";
+          hud.label.text = WFCString(@"UpdateFailure");
           hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
           [hud hideAnimated:YES afterDelay:1.f];
       });
@@ -175,7 +175,7 @@ didFinishPickingMediaWithInfo:(NSDictionary *)info {
                                             error:^(int error_code) {
     dispatch_async(dispatch_get_main_queue(), ^{
       [hud hideAnimated:NO];
-      [ws showHud:@"更新失败"];
+      [ws showHud:WFCString(@"UpdateFailure")];
     });
   }];
     

+ 19 - 19
wfuikit/WFChatUIKit/Me/WFCUMyProfileTableViewController.m

@@ -40,7 +40,7 @@
     
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onUserInfoUpdated:) name:kUserInfoUpdated object:nil];
     
-    self.title = @"我的信息";
+    self.title = WFCString(@"MyInformation");
 }
 
 - (void)onUserInfoUpdated:(NSNotification *)notification {
@@ -54,12 +54,12 @@
     if (gender == 0) {
         return @"";
     } else if(gender == 1) {
-        return @"男";
+        return WFCString(@"Male");
     } else if(gender == 2) {
-        return @"女";
+        return WFCString(@"Female");
     }
     
-    return @"其他";
+    return WFCString(@"Other");
 }
 
 - (void)loadData:(BOOL)refresh {
@@ -84,14 +84,14 @@
     [headerCell addSubview:self.portraitView];
     headerCell.tag = -1;
     headerCell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
-    [self addLabel:@"头像" onCell:headerCell isHeaderCell:YES isLeft:YES];
+    [self addLabel:WFCString(@"Portrait") onCell:headerCell isHeaderCell:YES isLeft:YES];
     [self.cells1 addObject:headerCell];
 
-    UITableViewCell *cell = [self getAttrCell:@"昵称" rightText:self.userInfo.displayName mutable:YES];
+    UITableViewCell *cell = [self getAttrCell:WFCString(@"Nickname") rightText:self.userInfo.displayName mutable:YES];
     cell.tag = Modify_DisplayName;
     [self.cells1 addObject:cell];
     
-    cell = [self getAttrCell:@"二维码" rightText:@"" mutable:YES];
+    cell = [self getAttrCell:WFCString(@"QRCode") rightText:@"" mutable:YES];
     cell.tag = 1000;
     [self.cells1 addObject:cell];
     UIImage *qrcode = [UIImage imageNamed:@"qrcode"];
@@ -104,27 +104,27 @@
 //    cell = [self getAttrCell:@"账号" rightText:self.userInfo.name mutable:NO];
 //    [self.cells1 addObject:cell];
 
-    cell = [self getAttrCell:@"电话" rightText:self.userInfo.mobile mutable:YES];
+    cell = [self getAttrCell:WFCString(@"Mobile") rightText:self.userInfo.mobile mutable:YES];
     cell.tag = Modify_Mobile;
     [self.cells2 addObject:cell];
 
-    cell = [self getAttrCell:@"性别" rightText: [self getGenderString:self.userInfo.gender] mutable:YES];
+    cell = [self getAttrCell:WFCString(@"Gender") rightText: [self getGenderString:self.userInfo.gender] mutable:YES];
     cell.tag = Modify_Gender;
     [self.cells2 addObject:cell];
 
-    cell = [self getAttrCell:@"邮箱" rightText:self.userInfo.email mutable:YES];
+    cell = [self getAttrCell:WFCString(@"Email") rightText:self.userInfo.email mutable:YES];
     cell.tag = Modify_Email;
     [self.cells2 addObject:cell];
 
-    cell = [self getAttrCell:@"地址" rightText:self.userInfo.address mutable:YES];
+    cell = [self getAttrCell:WFCString(@"Address") rightText:self.userInfo.address mutable:YES];
     cell.tag = Modify_Address;
     [self.cells2 addObject:cell];
 
-    cell = [self getAttrCell:@"公司" rightText:self.userInfo.company mutable:YES];
+    cell = [self getAttrCell:WFCString(@"Company") rightText:self.userInfo.company mutable:YES];
     cell.tag = Modify_Company;
     [self.cells2 addObject:cell];
 
-    cell = [self getAttrCell:@"社交账号" rightText:self.userInfo.social mutable:YES];
+    cell = [self getAttrCell:WFCString(@"SocialAccount") rightText:self.userInfo.social mutable:YES];
     cell.tag = Modify_Social;
     [self.cells2 addObject:cell];
     
@@ -276,7 +276,7 @@
     __weak typeof(self) ws = self;
     
     __block MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
-    hud.label.text = @"修改中...";
+    hud.label.text = WFCString(@"Updating");
     [hud showAnimated:YES];
     
     [[WFCCIMService sharedWFCIMService] modifyMyInfo:@{@(Modify_Gender):[NSString stringWithFormat:@"%d", gender]} success:^{
@@ -298,7 +298,7 @@
         
         hud = [MBProgressHUD showHUDAddedTo:ws.view animated:YES];
         hud.mode = MBProgressHUDModeText;
-        hud.label.text = @"修改失败";
+        hud.label.text = WFCString(@"UpdateFailure");
         hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
         [hud hideAnimated:YES afterDelay:1.f];
     }];
@@ -306,16 +306,16 @@
 
 - (void)sexAlterView{
     UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
-    [alert addAction:[UIAlertAction actionWithTitle:@"男" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+    [alert addAction:[UIAlertAction actionWithTitle:WFCString(@"Male") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
         [self updateGender:1];
     }]];
-    [alert addAction:[UIAlertAction actionWithTitle:@"女" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action){
+    [alert addAction:[UIAlertAction actionWithTitle:WFCString(@"Female") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action){
         [self updateGender:2];
     }]];
-    [alert addAction:[UIAlertAction actionWithTitle:@"其他" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action){
+    [alert addAction:[UIAlertAction actionWithTitle:WFCString(@"Other") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action){
         [self updateGender:3];
     }]];
-    [alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]];
+    [alert addAction:[UIAlertAction actionWithTitle:WFCString(@"Cancel") style:UIAlertActionStyleCancel handler:nil]];
     [self presentViewController:alert animated:YES completion:nil];
 }
 

+ 1 - 1
wfuikit/WFChatUIKit/MessageList/Cell/WFCUCallSummaryCell.m

@@ -33,7 +33,7 @@
 
     CGFloat width = self.contentArea.bounds.size.width;
     
-    self.infoLabel.text = @"网络电话";
+    self.infoLabel.text = WFCString(@"VOIPCall");
     self.infoLabel.layoutMargins = UIEdgeInsetsMake(TEXT_TOP_PADDING, TEXT_LEFT_PADDING, TEXT_BUTTOM_PADDING, TEXT_RIGHT_PADDING);
     
     if (model.message.direction == MessageDirection_Send) {

+ 1 - 1
wfuikit/WFChatUIKit/MessageList/Cell/WFCUMessageCell.m

@@ -132,7 +132,7 @@
           } else if(userInfo.displayName.length > 0) {
               nameStr = userInfo.displayName;
           } else {
-              nameStr = [NSString stringWithFormat:@"User<%@>", self.model.message.fromUser];
+              nameStr = [NSString stringWithFormat:@"%@<%@>", WFCString(@"User"), self.model.message.fromUser];
           }
           self.nameLabel.text = nameStr;
       }

+ 33 - 38
wfuikit/WFChatUIKit/MessageList/ViewController/WFCUMessageListViewController.m

@@ -150,7 +150,7 @@
     
     if (self.conversation.type == Chatroom_Type) {
         __block MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:ws.view animated:YES];
-        hud.label.text = @"进入聊天室。。。";
+        hud.label.text = WFCString(@"JoinChatroom");
         [hud showAnimated:YES];
         
         [[WFCCIMService sharedWFCIMService] joinChatroom:ws.conversation.target success:^{
@@ -161,7 +161,7 @@
         } error:^(int error_code) {
             NSLog(@"join chatroom error");
             hud.mode = MBProgressHUDModeText;
-            hud.label.text = @"进入聊天室失败";
+            hud.label.text = WFCString(@"JoinChatroomFailure");
 //            hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
             [hud hideAnimated:YES afterDelay:1.f];
             hud.completionBlock = ^{
@@ -298,7 +298,7 @@
 - (void)sendChatroomWelcomeMessage {
     WFCCTipNotificationContent *tip = [[WFCCTipNotificationContent alloc] init];
     WFCCUserInfo *userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:[WFCCNetworkService sharedInstance].userId refresh:NO];
-    tip.tip = [NSString stringWithFormat:@"欢迎 %@ 加入聊天室", userInfo.displayName];
+    tip.tip = [NSString stringWithFormat:WFCString(@"WelcomeJoinChatroomHint"), userInfo.displayName];
     [self sendMessage:tip];
 }
 
@@ -307,7 +307,7 @@
     dispatch_async(dispatch_get_main_queue(), ^{
         WFCCTipNotificationContent *tip = [[WFCCTipNotificationContent alloc] init];
         WFCCUserInfo *userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:[WFCCNetworkService sharedInstance].userId refresh:NO];
-        tip.tip = [NSString stringWithFormat:@"%@ 离开了聊天室", userInfo.displayName];
+        tip.tip = [NSString stringWithFormat:WFCString(@"LeaveChatroomHint"), userInfo.displayName];
         
         [[WFCCIMService sharedWFCIMService] send:strongConv content:tip success:^(long long messageUid, long long timestamp) {
             [[WFCCIMService sharedWFCIMService] quitChatroom:strongConv.target success:nil error:nil];
@@ -346,7 +346,7 @@
     if(targetUser.friendAlias.length) {
         self.title = targetUser.friendAlias;
     } else if(targetUser.displayName.length == 0) {
-        self.title = [NSString stringWithFormat:@"用户<%@>", self.conversation.target];
+        self.title = [NSString stringWithFormat:@"%@<%@>", WFCString(@"User"), self.conversation.target];
     } else {
         self.title = targetUser.displayName;
     }
@@ -357,9 +357,9 @@
 - (void)setTargetGroup:(WFCCGroupInfo *)targetGroup {
   _targetGroup = targetGroup;
     if(targetGroup.name.length == 0) {
-        self.title = [NSString stringWithFormat:@"群组<%@>", self.conversation.target];
+        self.title = [NSString stringWithFormat:@"%@<%@>", WFCString(@"Group"), self.conversation.target];
         self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] init];
-        self.navigationItem.backBarButtonItem.title = @"消息";
+        self.navigationItem.backBarButtonItem.title = WFCString(@"Message");
     } else {
         self.title = [NSString stringWithFormat:@"%@(%d)", targetGroup.name, (int)targetGroup.memberCount];
         self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] init];
@@ -385,9 +385,9 @@
 - (void)setTargetChannel:(WFCCChannelInfo *)targetChannel {
     _targetChannel = targetChannel;
     if(targetChannel.name.length == 0) {
-        self.title = [NSString stringWithFormat:@"频道<%@>", self.conversation.target];
+        self.title = [NSString stringWithFormat:@"%@<%@>", WFCString(@"Channel"), self.conversation.target];
         self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] init];
-        self.navigationItem.backBarButtonItem.title = @"消息";
+        self.navigationItem.backBarButtonItem.title = WFCString(@"Message");
     } else {
         self.title = targetChannel.name;
         self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] init];
@@ -398,9 +398,9 @@
 - (void)setTargetChatroom:(WFCCChatroomInfo *)targetChatroom {
     _targetChatroom = targetChatroom;
     if(targetChatroom.title.length == 0) {
-        self.title = [NSString stringWithFormat:@"聊天室<%@>", self.conversation.target];
+        self.title = [NSString stringWithFormat:@"<%@>", WFCString(@"Chatroom"), self.conversation.target];
         self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] init];
-        self.navigationItem.backBarButtonItem.title = @"消息";
+        self.navigationItem.backBarButtonItem.title = WFCString(@"Message");
     } else {
         self.title = targetChatroom.title;
         self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] init];
@@ -521,15 +521,15 @@
     
     [[NSRunLoop mainRunLoop] addTimer:self.showTypingTimer forMode:NSDefaultRunLoopMode];
     if (typingType == Typing_TEXT) {
-        self.title = @"对方正在输入...";
+        self.title = WFCString(@"TypingHint");
     } else if(typingType == Typing_VOICE) {
-        self.title = @"对方正在录音...";
+        self.title = WFCString(@"RecordingHint");
     } else if(typingType == Typing_CAMERA) {
-        self.title = @"对方正在拍照...";
+        self.title = WFCString(@"PhotographingHint");
     } else if(typingType == Typing_LOCATION) {
-        self.title = @"对方正在选取位置...";
+        self.title = WFCString(@"GetLocationHint");
     } else if(typingType == Typing_FILE) {
-        self.title = @"对方正在选取文件...";
+        self.title = WFCString(@"SelectingFileHint");
     }
     
 }
@@ -1010,7 +1010,7 @@
                 if (gm.type != Member_Type_Manager) {
                     WFCCGroupMember *gm = [[WFCCIMService sharedWFCIMService] getGroupMember:self.conversation.target memberId:model.message.fromUser];
                     if (gm.type != Member_Type_Manager) {
-                        [self.view makeToast:@"管理员关闭了群组私聊权限" duration:1 position:CSToastPositionCenter];
+                        [self.view makeToast:WFCString(@"NotAllowTemporarySession") duration:1 position:CSToastPositionCenter];
                         return;
                     }
                 }
@@ -1042,8 +1042,8 @@
     } else if(self.conversation.type == Channel_Type) {
         UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
         
-        UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
-        UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"与订阅者私聊" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+        UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:WFCString(@"Cancel") style:UIAlertActionStyleCancel handler:nil];
+        UIAlertAction *okAction = [UIAlertAction actionWithTitle:WFCString(@"ChatWithSubscriber") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
             if (model.message.direction == MessageDirection_Receive) {
                 WFCCChannelInfo *channelInfo = [[WFCCIMService sharedWFCIMService] getChannelInfo:self.conversation.target refresh:NO];
                 if ([channelInfo.owner isEqualToString:[WFCCNetworkService sharedInstance].userId]) {
@@ -1078,24 +1078,19 @@
 }
 
 - (void)didSelectPhoneNumber:(WFCUMessageCellBase *)cell withModel:(WFCUMessageModel *)model withPhoneNumber:(NSString *)phoneNumber {
-    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:[NSString stringWithFormat:@"我猜%@是一个电话号码", phoneNumber] message:nil preferredStyle:UIAlertControllerStyleActionSheet];
+    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:[NSString stringWithFormat:WFCString(@"PhoneNumberHint"), phoneNumber] message:nil preferredStyle:UIAlertControllerStyleActionSheet];
     
-    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
-    UIAlertAction *callAction = [UIAlertAction actionWithTitle:@"呼叫" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:WFCString(@"Cancel") style:UIAlertActionStyleCancel handler:nil];
+    UIAlertAction *callAction = [UIAlertAction actionWithTitle:WFCString(@"Call") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
         NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"telprompt:%@", phoneNumber]];
         [[UIApplication sharedApplication] openURL:url];
     }];
     
-    UIAlertAction *copyAction = [UIAlertAction actionWithTitle:@"复制号码" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+    UIAlertAction *copyAction = [UIAlertAction actionWithTitle:WFCString(@"CopyNumber") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
         UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
         pasteboard.string = phoneNumber;
     }];
     
-//    UIAlertAction *addContactAction = [UIAlertAction actionWithTitle:@"添加到通讯录" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
-//
-//
-//    }];
-    
     [alertController addAction:cancelAction];
     [alertController addAction:callAction];
     [alertController addAction:copyAction];
@@ -1110,7 +1105,7 @@
 
 - (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error {
     NSLog(@"player decode error");
-    [[[UIAlertView alloc] initWithTitle:@"警告" message:@"网络错误" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil] show];
+    [[[UIAlertView alloc] initWithTitle:WFCString(@"Warning") message:WFCString(@"NetworkError") delegate:nil cancelButtonTitle:WFCString(@"Ok") otherButtonTitles:nil, nil] show];
     [self stopPlayer];
 }
 
@@ -1307,11 +1302,11 @@
 - (void)displayMenu:(WFCUMessageCellBase *)baseCell {
     UIMenuController *menu = [UIMenuController sharedMenuController];
     
-    UIMenuItem *deleteItem = [[UIMenuItem alloc]initWithTitle:@"删除" action:@selector(performDelete:)];
-    UIMenuItem *copyItem = [[UIMenuItem alloc]initWithTitle:@"复制" action:@selector(performCopy:)];
-    UIMenuItem *forwardItem = [[UIMenuItem alloc]initWithTitle:@"转发" action:@selector(performForward:)];
-    UIMenuItem *recallItem = [[UIMenuItem alloc]initWithTitle:@"撤回" action:@selector(performRecall:)];
-    UIMenuItem *complainItem = [[UIMenuItem alloc]initWithTitle:@"举报" action:@selector(performComplain:)];
+    UIMenuItem *deleteItem = [[UIMenuItem alloc]initWithTitle:WFCString(@"Delete") action:@selector(performDelete:)];
+    UIMenuItem *copyItem = [[UIMenuItem alloc]initWithTitle:WFCString(@"Copy") action:@selector(performCopy:)];
+    UIMenuItem *forwardItem = [[UIMenuItem alloc]initWithTitle:WFCString(@"Forward") action:@selector(performForward:)];
+    UIMenuItem *recallItem = [[UIMenuItem alloc]initWithTitle:WFCString(@"Recall") action:@selector(performRecall:)];
+    UIMenuItem *complainItem = [[UIMenuItem alloc]initWithTitle:WFCString(@"Complain") action:@selector(performComplain:)];
     
     CGRect menuPos;
     if ([baseCell isKindOfClass:[WFCUMessageCell class]]) {
@@ -1441,7 +1436,7 @@
 -(void)performRecall:(UIMenuItem *)sender {
     if (self.cell4Menu.model.message) {
         __block MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
-        hud.label.text = @"撤回中。。。";
+        hud.label.text = WFCString(@"Recalling");
         [hud showAnimated:YES];
         __weak typeof(self) ws = self;
         [[WFCCIMService sharedWFCIMService] recall:self.cell4Menu.model.message success:^{
@@ -1453,7 +1448,7 @@
         } error:^(int error_code) {
             dispatch_async(dispatch_get_main_queue(), ^{
                 hud.mode = MBProgressHUDModeText;
-                hud.label.text = @"撤回失败";
+                hud.label.text = WFCString(@"RecallFailure");
                 [hud hideAnimated:YES afterDelay:1.f];
             });
         }];
@@ -1461,9 +1456,9 @@
 }
 
 - (void)performComplain:(UIMenuItem *)sender {
-    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"举报" message:@"如果您发现有违反法律和道德的内容,或者您的合法权益受到侵犯,请截图之后发送给我们。我们会在24小时之内处理。处理办法包括不限于删除内容,对作者进行警告,冻结账号,甚至报警处理。举报请到\"设置->设置->举报\"联系我们!" preferredStyle:UIAlertControllerStyleAlert];
+    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:WFCString(@"Complain") message:@"如果您发现有违反法律和道德的内容,或者您的合法权益受到侵犯,请截图之后发送给我们。我们会在24小时之内处理。处理办法包括不限于删除内容,对作者进行警告,冻结账号,甚至报警处理。举报请到\"设置->设置->举报\"联系我们!" preferredStyle:UIAlertControllerStyleAlert];
     
-    UIAlertAction *action = [UIAlertAction actionWithTitle:@"知道了" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+    UIAlertAction *action = [UIAlertAction actionWithTitle:WFCString(WFCString(@"Ok")) style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
         
     }];
     [alertController addAction:action];

+ 95 - 0
wfuikit/WFChatUIKit/Resources/en.lproj/wfc.strings

@@ -95,3 +95,98 @@
 "GroupManage"="Group manage";
 "SearchMessageContent"="Search message content";
 "Silent"="Silent";
+"PinChat"="Pin chat";
+"SaveToContact"="Save to contact";
+"NicknameInGroup"="Nickname in group";
+"Unset"="Unset";
+"ShowMemberNickname"="Show member's nickname";
+"ClearChatHistory"="Clear chat history";
+"DismissGroup"="Dismiss group";
+"QuitGroup"="Quit group";
+"OnlyManangerCanChangeGroupNameHint"="Only manager change group name";
+"ModifyGroupName"="Modify group name";
+"OnlyManangerCanChangeGroupPortraitHint"="Only manager change group portrait";
+"ModifyMyGroupNameCard"="Modify my group namecard";
+"ConfirmDelete"="Confirm delete";
+"Deleted"="Deleted";
+"Manager"="Manager";
+"MuteSetting"="Mute setting";
+"MemberPrivilege"="Member privilege";
+"JoinGroupPermission"="Join group permission";
+"Free2Join"="Free to join";
+"MemberInviteOnly"="Only member invite";
+"ManagerInviteOnly"="Only manager invite";
+"GroupVisiable"="Group visiablity";
+"GroupCanbeSearch"="Group can be searched";
+"GroupCannotSearch"="Group can not be searched";
+"MemberManage"="Member manage";
+"JoinGroupSetting"="Join group setting";
+"ManagerSetting"="Manager setting";
+"AddManager"="Add manager";
+"RemoveManager"="Remove manager";
+"GroupOwner"="Group owner";
+"GroupMuteSetting"="Group mute setting";
+"MuteAll"="Mute all";
+"AllowTemporarySession"="Allow temporary session";
+"InputGropNameHint"="Input group name(optional)";
+"GroupChat"="Group chat";
+"CreateGroupFailure"="Create group failure";
+"ForwardSuccess"="Forward success";
+"ForwardFailure"="Forward failure";
+"CreateNewChat"="Create new chat";
+"RecentChat"="Recent chat";
+"User"="User";
+"LeaveMessage"="Leave messages";
+"Accept"="Accept";
+"Accepted"="Accepted";
+"Rejected"="Rejected";
+"Expired"="Expired";
+"MyGroup"="My group";
+"Remove"="Remove";
+"Removed"="Removed";
+"OperationFailure"="Operation failure";
+"NewMessageNotification"="New message notification";
+"ReceiveNewMessageNotification"="Receive new message notification";
+"NotificationShowMessageDetail"="Notification show message detail";
+"ModifyEmail"="Modify email";
+"ModifyMobile"="Modify mobile";
+"ModifySocialAccount"="Modify social account";
+"ModifyAddress"="Modify address";
+"ModifyCompanyInfo"="Modify company info";
+"ModifyNickname"="Modify nickname";
+"MyInformation"="My information";
+"Male"="Male";
+"Female"="Female";
+"Other"="Other";
+"Portrait"="Portrait";
+"Nickname"="Nickname";
+"QRCode"="QR code";
+"Mobile"="Mobile";
+"Gender"="Gender";
+"Email"="Email";
+"Address"="Address";
+"Company"="Company";
+"SocialAccount"="Social account";
+"Modify"="Modify";
+"JoinChatroom"="Join chatroom...";
+"JoinChatroomFailure"="Join chatroom failure!";
+"NotAllowTemporarySession"="Not allow temporary session";
+"ChatWithSubscriber"="Chat with subscriber";
+"Call"="Call";
+"PhoneNumberHint"="We guess %@ is a phonenumber";
+"CopyNumber"="Copy number";
+"Warning"="Warning";
+"NetworkError"="Network error";
+"Copy"="Copy";
+"Forward"="Forward";
+"Recall"="Recall";
+"Recalling"="Recalling...";
+"Complain"="Complain";
+"RecallFailure"="Recall failure!";
+"TypingHint"="Typing...";
+"RecordingHint"="Recording...";
+"PhotographingHint"="Photographing...";
+"GetLocationHint"="Locationing...";
+"SelectingFileHint"="Selecting file...";
+"WelcomeJoinChatroomHint"="Welcome %@ join chatroom";
+"LeaveChatroomHint"="%@ leave chatroom";

+ 95 - 0
wfuikit/WFChatUIKit/Resources/zh-Hans.lproj/wfc.strings

@@ -95,3 +95,98 @@
 "GroupManage"="群管理";
 "SearchMessageContent"="查找聊天内容";
 "Silent"="消息免打扰";
+"PinChat"="置顶聊天";
+"SaveToContact"="保存到通讯录";
+"NicknameInGroup"="我在本群昵称";
+"Unset"="未设置";
+"ShowMemberNickname"="显示成员昵称";
+"ClearChatHistory"="清空聊天记录";
+"DismissGroup"="销毁群组";
+"QuitGroup"="退出群组";
+"OnlyManangerCanChangeGroupNameHint"="只有管理员才可以修改群名称";
+"ModifyGroupName"="修改群名称";
+"OnlyManangerCanChangeGroupPortraitHint"="只有管理员才可以修改群头像";
+"ModifyMyGroupNameCard"="修改我在群中的名片";
+"ConfirmDelete"="确认删除";
+"Deleted"="已删除";
+"Manager"="管理员";
+"MuteSetting"="禁言设置";
+"MemberPrivilege"="成员权限";
+"JoinGroupPermission"="加群方式";
+"Free2Join"="不限制加入";
+"MemberInviteOnly"="群成员可以拉人";
+"ManagerInviteOnly"="只能群管理拉人";
+"GroupVisiable"="群的可见性";
+"GroupCanbeSearch"="群可以被查找";
+"GroupCannotSearch"="群不可以被查找";
+"MemberManage"="成员管理";
+"JoinGroupSetting"="加群设置";
+"ManagerSetting"="管理员设置";
+"AddManager"="添加管理员";
+"RemoveManager"="移除管理员";
+"GroupOwner"="群主";
+"GroupMuteSetting"="群禁言管理";
+"MuteAll"="全员禁言";
+"AllowTemporarySession"="允许发起临时会话";
+"InputGropNameHint"="请输入群名称(可选)";
+"GroupChat"="群聊";
+"CreateGroupFailure"="创建群组失败";
+"ForwardSuccess"="转发成功";
+"ForwardFailure"="转发失败";
+"CreateNewChat"="创建新聊天";
+"RecentChat"="最近聊天";
+"User"="用户";
+"LeaveMessage"="给朋友留言";
+"Accept"="接受";
+"Accepted"="已接受";
+"Rejected"="已拒绝";
+"Expired"="已过期";
+"MyGroup"="我的群组";
+"Remove"="移除";
+"Removed"="已移除";
+"OperationFailure"="操作失败";
+"NewMessageNotification"="新消息通知";
+"ReceiveNewMessageNotification"="接收新消息通知";
+"NotificationShowMessageDetail"="通知显示消息详情";
+"ModifyEmail"="修改邮箱";
+"ModifyMobile"="修改电话";
+"ModifySocialAccount"="修改社交账号";
+"ModifyAddress"="修改地址";
+"ModifyCompanyInfo"="修改公司信息";
+"ModifyNickname"="修改昵称";
+"MyInformation"="我的信息";
+"Male"="男";
+"Female"="女";
+"Other"="其他";
+"Portrait"="头像";
+"Nickname"="昵称";
+"QRCode"="二维码";
+"Mobile"="电话";
+"Gender"="性别";
+"Email"="邮箱";
+"Address"="地址";
+"Company"="公司";
+"SocialAccount"="社交账号";
+"Modify"="修改";
+"JoinChatroom"="进入聊天室...";
+"JoinChatroomFailure"="进入聊天室失败";
+"NotAllowTemporarySession"="管理员关闭了群组私聊权限";
+"ChatWithSubscriber"="与订阅者私聊";
+"Call"="呼叫";
+"PhoneNumberHint"="我猜%@是一个电话号码";
+"CopyNumber"="复制号码";
+"Warning"="警告";
+"NetworkError"="网络错误";
+"Copy"="复制";
+"Forward"="转发";
+"Recall"="撤回";
+"Recalling"="撤回中...";
+"Complain"="投诉";
+"RecallFailure"="撤回失败";
+"TypingHint"="对方正在输入...";
+"RecordingHint"="对方正在录音...";
+"PhotographingHint"="对方正在拍照...";
+"GetLocationHint"="对方正在选取位置...";
+"SelectingFileHint"="对方正在选取文件...";
+"WelcomeJoinChatroomHint"="欢迎 %@ 加入聊天室";
+"LeaveChatroomHint"="%@ 离开了聊天室";

+ 1 - 1
wfuikit/WFChatUIKit/Vendor/ChatInputBar/WFCUChatInputBar.m

@@ -945,7 +945,7 @@
         UIActionSheet *actionSheet =
         [[UIActionSheet alloc] initWithTitle:nil
                                     delegate:self
-                           cancelButtonTitle:@"取消"
+                           cancelButtonTitle:WFCString(@"Cancel")
                       destructiveButtonTitle:@"视频"
                            otherButtonTitles:@"音频", nil];
         [actionSheet showInView:self.parentView];

+ 1 - 1
wfuikit/WFChatUIKit/Vendor/ChatInputBar/WFCULocationViewController.m

@@ -53,7 +53,7 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     self.navigationItem.title = @"位置";
-    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonItemStylePlain target:self action:@selector(dismiss:)];
+    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:WFCString(@"Cancel") style:UIBarButtonItemStylePlain target:self action:@selector(dismiss:)];
     
     
     if (_locationManager) {

+ 2 - 2
wfuikit/WFChatUIKit/Vendor/ChatInputBar/WFCUPluginBoardView.m

@@ -86,7 +86,7 @@
     if (!_pluginItems) {
         if (self.hasVoip) {
             _pluginItems = [@[
-                              [[PluginItem alloc] initWithTitle:@"相册" image:[UIImage imageNamed:@"chat_input_plugin_album"] tag:1],
+                              [[PluginItem alloc] initWithTitle:WFCString(@"Album") image:[UIImage imageNamed:@"chat_input_plugin_album"] tag:1],
                               [[PluginItem alloc] initWithTitle:@"拍摄" image:[UIImage imageNamed:@"chat_input_plugin_camera"] tag:2],
                               [[PluginItem alloc] initWithTitle:@"位置" image:[UIImage imageNamed:@"chat_input_plugin_location"] tag:3],
 #if WFCU_SUPPORT_VOIP
@@ -96,7 +96,7 @@
                               ] mutableCopy];
         } else {
             _pluginItems = [@[
-                              [[PluginItem alloc] initWithTitle:@"相册" image:[UIImage imageNamed:@"chat_input_plugin_album"] tag:1],
+                              [[PluginItem alloc] initWithTitle:WFCString(@"Album") image:[UIImage imageNamed:@"chat_input_plugin_album"] tag:1],
                               [[PluginItem alloc] initWithTitle:@"拍摄" image:[UIImage imageNamed:@"chat_input_plugin_camera"] tag:2],
                               [[PluginItem alloc] initWithTitle:@"位置" image:[UIImage imageNamed:@"chat_input_plugin_location"] tag:3],
                               [[PluginItem alloc] initWithTitle:@"文件" image:[UIImage imageNamed:@"chat_input_plugin_file"] tag:5]

+ 2 - 2
wfuikit/WFChatUIKit/Vendor/ChatInputBar/WFCUSelectFileViewController.m

@@ -25,7 +25,7 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     
-    UIBarButtonItem *cancel = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonItemStyleDone target:self action:@selector(onCancel:)];
+    UIBarButtonItem *cancel = [[UIBarButtonItem alloc] initWithTitle:WFCString(@"Cancel") style:UIBarButtonItemStyleDone target:self action:@selector(onCancel:)];
     self.navigationItem.leftBarButtonItem = cancel;
     
     UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc]init];
@@ -165,7 +165,7 @@
 
             [weakSelf.fileCV reloadData];
         }];
-        UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
+        UIAlertAction *action2 = [UIAlertAction actionWithTitle:WFCString(@"Cancel") style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
 
         }];
         

+ 1 - 1
wfuikit/WFChatUIKit/Vendor/KZSmallVideoRecorder/KZVideoSupport.m

@@ -35,7 +35,7 @@
     
     _cancelBtn = [UIButton buttonWithType:UIButtonTypeCustom];
     _cancelBtn.frame = CGRectMake(10, 22, 50, 40);
-    [_cancelBtn setTitle:@"取消" forState:UIControlStateNormal];
+    [_cancelBtn setTitle:WFCString(@"Cancel") forState:UIControlStateNormal];
     [_cancelBtn addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
     [_cancelBtn setTitleColor:kzThemeTineColor forState:UIControlStateNormal];
     _cancelBtn.alpha = 0.8;