我在英语和西班牙语单词之间创建了这个小翻译。如果用户输入了#34;猫#34;它将打印" el gato"通过检查索引号。我想知道是否有任何方法可以从包含更多单词的文件中读取。
档案1(英文) 文件2(西班牙文)
文件1将检查"你好"在文件2" Hola"并打印正确的翻译
import UIKit
class translateViewController: UIViewController {
@IBOutlet weak var translateTextField: UITextField!
@IBOutlet weak var translateButton: UIButton!
@IBOutlet weak var translateLabel: UILabel!
var englishArray: [String] = ["the cat", "the dog", "hello", ]
var spanishArray: [String] = ["el gato", "el perro", "hola"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func translateButtonTapped(sender: UIButton) {
let emptyString = self.translateTextField.text
if (emptyString!.isEmpty) {
print("please enter a word")
}
for transIndex in englishArray.indices {
if englishArray[transIndex] == emptyString!.lowercaseString {
translateLabel.text = "\(spanishArray[transIndex])"
print(transIndex)
return
}
}
}
}
答案 0 :(得分:0)
编辑:抱歉..完全错过了#34; swift"提到。我必须喝醉了:
在数组中添加更多单词,或者如果您想要进行归档,我认为您不需要2个文件......如果您存储像
hello = hola
然后执行一些字符串处理来检查=
之前的单词如果匹配,请在=
之后打印单词
或者更容易的方式......
您可以存储
等字词 Hello
Hola
The cat
El gato
然后这样做(有点伪代码)......
while(reader.hasNextline())
{
if (reader.readline().Equals(input_word)) // read the first line and check if it matches the input word
{
System.out.println(reader.readline()); // print translated word which on the next line
break;
}
reader.readline(); // If it doesn't matches then skip the spanish translation on the next line
}
答案 1 :(得分:0)
为此目的推荐的方法是Localizable.strings
和NSLocalizedString()
Localizable.strings
例如,使用键/值对填充字符串文件(即使在Swift中,包含分号的语法也是必需的。)
"the cat" = "el gato";
"the dog" = "el perro";
"hello" = "hola";
使用NSLocalizedString()
translateLabel.text = NSLocalizedString(emptyString!.lowercaseString, comment:"")
NSLocalizedString()
检索键el gato
the cat