J'ai créé cette mini traduction de mots de l'anglais à l'espagnol. Les mots lus à partir d'un Localizable.strings et récupère les mots "cat" = "gato" en utilisant NSLocalizedString. Pour l'instant, il ne lit qu'un mot de la chaîne, je voudrais savoir s'il existe un moyen de récupérer plusieurs mots de Localizable.string, par exemple, "the" + "cat" = "el gato"Swift: lire plusieurs mots de la chaîne Localizable
var myEnglishArray = [String]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.translateTextField.delegate = self
picker.delegate = self
picker.dataSource = self
//var myEnglishArray = [String]()
if let URL = NSBundle.mainBundle().URLForResource("englishArray", withExtension: "plist") {
if let englishFromPlist = NSArray(contentsOfURL: URL) as? [String] {
for myEnglish in englishFromPlist {
myEnglishArray.append(myEnglish)
}
}
}
}
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 myEnglishArray.indices {
if myEnglishArray[transIndex] == emptyString!.lowercaseString {
//englishArray
//translateLabel.text = "\(spanishArray[transIndex])"
translateLabel.text = NSLocalizedString(emptyString!.lowercaseString, comment:"")
print(emptyString)
return
}
}
}
ce travail serait si l'utilisateur tape "the" et "cat" dans le champ de texte et affiche la valeur de clé "el gato" en utilisant Localization.strings. ne cherchez pas l'application à être en espagnol mais juste ce qui est à l'intérieur du champ de texte lire plusieurs chaînes @NickCatib – Miguel
bien oui, vous pouvez définir des valeurs comme "le chat" = "el gato" ;, lorsque vous appelez pour la clé "le chat "vous obtiendrez correspondant en espagnol. La question est - voulez-vous avoir une certaine quantité de noms traduisibles? Si vous voulez avoir un nombre de noms presque illimité, vous pouvez utiliser https://cloud.google.com/translate/docs/ainsi (la question est vous obtiendrez la traduction correcte à chaque fois :)) – Miknash
J'ai défini des valeurs comme "le chien" = "el perro" mais je suppose qu'il n'y a aucun moyen qu'il peut ramasser des mots différents de la liste un par un par exemple, c'est ma liste, "le" = "el", "chat" = "gato", "chien" = "perro". quand les utilisateurs entrent dans la clé "le chien" il cherchera les mots dans la liste et sortira tous les mots ensemble "le chien", "le chat" @NickCatib – Miguel