2017-04-20 36 views
0

我與本地化的文件工作等基本語言,目前我有兩個語言英語 - 開發語言,另一種是波斯(FA-IR) 所以我的基本語言是英語現在即如果我設備具有西班牙語言,如果將用英語執行。的iOS迅速如何改變非英語

現在我想改變我的基本語言英語波斯語。

+0

您可以在基本字符串文件中添加的,而不是英語波斯語翻譯。 – KKRocks

+0

如果我改變了它會改變只串無法查看像LTR-> RTL –

+0

您需要手動管理爲每種語言方向。 – KKRocks

回答

0

你可以改變你的字符串路徑如下

目標C

NSString *path = [[NSBundle mainBundle ] pathForResource:@"en" ofType:@"lproj"]; // in place of "en" you can change put your locale code. 
    NSBundle *bundle = [NSBundle bundleWithPath:path] ; 
    NSString *string = [bundle localizedStringForKey:key value:@"" table:nil]; 

斯威夫特3

 let bundle = Bundle.main 
     bundle.path(forResource: "en" as String, ofType: "lproj")// in place of "en" you can change put your locale code. 
     let string = bundle.localizedString(forKey: key, value: "", table: nil) 
0

它將調用之前的任何代碼的執行

轉到AppDelegate中和去除@UIApplicationMain

創建新雨燕文件main.swift

添加以下代碼

import Foundation 
import UIKit 

let langCultureCode: String = LanguageCode.dutch 
let defaults = UserDefaults.standard 
defaults.set([langCultureCode], forKey: appleLanguages) 
defaults.synchronize() 

UIApplicationMain(
CommandLine.argc, 
UnsafeMutableRawPointer(CommandLine.unsafeArgv) 
    .bindMemory(
     to: UnsafeMutablePointer<Int8>.self, 
     capacity: Int(CommandLine.argc)), 
nil, 
NSStringFromClass(AppDelegate.self) 
) 

let appleLanguages  = "AppleLanguages" 

static let dutch   = "nl-US" 
+0

Thask爲您的答覆。但是,這並不會改變從LTR-> RTL.When我認爲我打開應用程序再次它很好地工作。你有任何解決方案?如果有用https://useyourloaf.com/blog/natural-text-alignment-for-rtl-languages/ –

+0

看到這 –