[英]Zendesk iOS SDK multilanguage support
有沒有人熟悉Zendesk iOS SDK? 我正在嘗試將此SDK集成到我的iOS應用程序中,並且集成確實完成了,我目前唯一的問題是多語言支持。 當您可以使用以下代碼即時更改語言時,我的應用程序便具有視圖:
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:lang forKey:@"lang"];
[defaults synchronize];
它會成功更改應用程序中的語言,但不會更改Zendesk View。 如何同時更改Zendesk聊天視圖的語言?
謝謝!
答案是用您的自定義類覆蓋ZDCChatStrings捆綁包,並且每當它將調用localizedStringForKey方法調用時,都會從內部翻譯列表中返回翻譯。 碼:
#import "NSBundle+Language.h"
#import <UIKit/UIKit.h>
#import <objc/runtime.h>
@interface CustomBundle : NSBundle
@end
@implementation CustomBundle
- (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)value
table:(NSString *)tableName
{
return NSLocalizedStringFromTable(key, g_appDelegate.lang, key);
}
@end
@implementation NSBundle (Language)
+ (void)registerBundle
{
static dispatch_once_t tempToken;
dispatch_once(&tempToken, ^{
NSBundle *bundle = [NSBundle bundleWithPath: [[NSBundle mainBundle] pathForResource: @"ZDCChatStrings" ofType: @"bundle"]];
object_setClass(bundle, [CustomBundle class]);
});
}
@end
在您的AppDelegate中的某處初始化:
[NSBundle registerBundle];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.