Magazinul App Store este o piață globală, iar prin localizarea aplicației dvs., utilizatorii din alte țări vor avea mai multe șanse să se descarce și să se bucure de ea. În acest tutorial iOS, vom trece peste modul de localizare a textului în aplicație pentru limbi suplimentare.
Cu excepția cazului în care sunteți fluent în limba în care doriți să traduceți aplicația dvs., este posibil să fiți încurcați în legătură cu cum să faceți acest pas. Există câteva opțiuni diferite pentru traducere. O opțiune este pur și simplu să utilizați Google Translate, un site gratuit de traduceri furnizat de Google. Din păcate, traducerile automate de calculator pot fi departe de a fi perfecte, dar acest lucru poate fi mai bine decât nimic. O altă opțiune este să angajezi un serviciu de traducere. O căutare rapidă pe Internet va arăta că există multe companii disponibile care vor prelua textul din aplicație și îl vor traduce manual în limba dorită. În cele din urmă, puteți încerca să găsiți un prieten sau un asociat fluent în limba țintă și cereți-i să traducă textul aplicației pentru dvs. Rețineți că o persoană care este, de asemenea, familiarizată cu cultura țintă țintă poate fi în măsură să vă ofere traduceri mai exacte decât cineva care are cunoștințe academice numai despre limbă.
Lansați Xcode și faceți clic pe File> New> Project. Faceți clic pe "Aplicație" sub panoul iOS din stânga. Faceți clic pe pictograma "Vizualizare singură aplicație" și apoi pe "Următorul".
În câmpul "Nume produs", introduceți "LocalizationDemo" și introduceți un nume pentru identificatorul companiei dvs., cum ar fi "com.mobiletuts". Alegeți "iPhone" din meniul "Device Family". Debifați "Utilizați Storyboards" și "Includeți testele unităților" și bifați "Utilizați numărarea automată a referințelor". Dați clic pe "Următorul", alegeți o locație pentru a salva proiectul, apoi faceți clic pe "Creați".
Mai întâi, vom adăuga două limbi noi, franceză și spaniolă, în fișierul info.plist al aplicației. Acest lucru informează iTunes despre limbile pe care le acceptă aplicația dvs., ceea ce permite ca limbile suplimentare să fie afișate sub numele aplicației dvs. în App Store. Faceți clic pe "localizationDemo-info.plist". Faceți clic pe ultimul rând al fișierului și faceți clic pe butonul gri plus din prima celulă. Introduceți "Localizări" în noua celulă. Faceți clic pe săgeata din stânga celulei pentru a afișa limba dvs. inițială, în cazul nostru, în limba engleză. Faceți clic pe butonul plus de lângă "Localizări" și adăugați "French" la matrice. Faceți clic din nou pe butonul plus și tastați "Spaniolă".
.siruri de caractere
FişierApoi, vom adăuga un fișier de șiruri pentru a stoca textul nostru localizat. Faceți clic pe Fișier> Nou> Fișier nou.
Alegeți un fișier de resurse pentru iOS Resurse și faceți clic pe "Next". Asigurați-vă că fișierul dvs. este numit "Localizabil" înainte de a da clic pe "Creați".
Faceți clic pe fișierul "Localizable.strings" nou creat și adăugați următorul cod pentru a crea o pereche engleză-cheie de valoare.
"HelloKey" = "Bună ziua";
O pereche cheie-valoare este exact ceea ce se spune, partea stângă a semnalului egal este cheia, iar partea dreaptă este valoarea. Vom folosi cheia într-un minut pentru a accesa valoarea asociată și a le seta ca textul etichetei.
.siruri de caractere
FișiereAcum vom crea fișiere de șiruri de caractere pentru franceză și spaniolă. Faceți clic pe Vizualizare> Utilitare> Afișare inspector fișier. Faceți clic și țineți apăsat butonul plus din partea inferioară a panoului "Localizare". Selectați "French" din meniul derulant și faceți clic din nou pe butonul plus. De această dată selectați "Spaniolă" din meniul derulant.
Observați că "Localizable.strings" are o săgeată expandată lângă ea; faceți clic pe săgeata pentru a vizualiza cele trei limbi, engleză, franceză și spaniolă. Faceți clic pe fișierul de caractere francez și modificați perechea cheie-valoare la codul de mai jos.
"HelloKey" = "Bonjour";
Faceți clic pe fișierul spaniola spaniolă și modificați perechea cheie-valoare la codul următor.
"HelloKey" = "Hola!";
Faceți clic pe fișierul "ViewController.m" și adăugați următorul cod la viewDidLoad
pentru a crea o etichetă al cărei text este setat dintr-un fișier de fișiere localizat.
// obțineți șirul localizat din fișierul corespunzător fișierului NSString * localizedHelloString = NSLocalizedString (@ "HelloKey", @ ""); // crea eticheta - setarea proprietății textului la șirul localizat CGRect localizedLabel_Frame = CGRectMake (20.0f, 40.0f, 280.0f, 44.0f); UILabel * localizedLabel = [[UILabel alocare] initWithFrame: localizedLabel_Frame]; localizedLabel.text = localizedHelloString; localizedLabel.textAlignment = UITextAlignmentCenter; localizedLabel.font = [UIFont boldSystemFontOfSize: 20.0f]; // adăugați eticheta pentru a vizualiza [self.view addSubview: localizedLabel];
Rețineți că am folosit macro-ul NSLocalizedString () pentru a obține valoarea localizată din fișierul de șiruri de caractere corespunzător. Acestea sunt mijloacele pentru setarea textului pe baza setării de limbă a utilizatorului. În mod implicit, NSLocalizedString ()
caută un fișier numit "Localizable.strings". Dacă ați denumit fișierul de fișiere altfel, macroul nu va putea găsi fișierul cu șiruri care conține valoarea localizată.
Faceți clic pe Produs> Executare sau faceți clic pe săgeata Executare din colțul din stânga sus al ferestrei Xcode. Proiectul se bazează pe textul nostru original "Hello".
Faceți clic pe butonul Acasă pentru a părăsi aplicația. Faceți clic pe Setări> General> Internațional> Limbă pentru a accesa setările de limbă.
Alegeți din meniu limba franceză sau spaniolă și reveniți la aplicația LocalizationDemo.
Vedeți că textul sa schimbat în noua limbă.
Dacă aplicația dvs. este greu de text și intenționați să localizați pentru mai multe limbi, este important să păstrați perechile cheie-valoare organizate. Pentru a vedea cum îmi organizez textul, descărcați codul sursă și aruncați o privire asupra fișierelor de șiruri de caractere. Întrebări sau comentarii? Simțiți-vă liber să le lăsați în secțiunea comentarii sau să le trimiteți direct prin Twitter.