Localization — mahiyyəti, məzmunun dil və regiona uyğunlaşdırılması

Müəllif: IT Sectr Dərc olunub: 2026-02-26 Oxuma vaxtı: 7 dəq

Localization (lokallaşdırma, l10n) — mobil tətbiq məzmununun hədəf auditoriyanın dilinə, regionuna və mədəni xüsusiyyətlərinə uyğunlaşdırılması. Beynəlmilləşdirmədən (i18n) fərqli olaraq, burada kod tərcüməyə hazırlanır, lokallaşdırma isə sətirlərin tərcüməsi, tarixlərin, rəqəmlərin və valyutaların formatlaşdırılması, şəkillərin seçilməsi və yerli normaların nəzərə alınması prosesidir. iOS-da tərcümələr Localizable.strings-də (hər dil üçün .lproj qovluqları), Android-də isə values-ru, values-de və digər resurs qovluqlarında saxlanılır. Ətraflı — Android lokallaşdırma rəhbərliyində.

Əsas məqamlar

  • Localization (l10n) — tətbiq məzmununun konkret dil və regiona tərcüməsi və uyğunlaşdırılması
  • Localizable.strings — hər dil üçün "açar" = "tərcümə" cütlərini ehtiva edən iOS faylı
  • values-ru — Rus dili üçün resursları olan Android qovluğu (strings.xml)
  • Regional uyğunlaşdırma — tarixlər, rəqəmlər, şəkillər, rənglər, hüquqi tələblər ölkələrə görə fərqlənir
  • Mədəni xüsusiyyətlər — rənglər, ikonlar, jestlər və nümunələr yerli normalara uyğun olmalıdır

Localization (l10n) nədir və i18n-dən nə ilə fərqlənir?

Localization (qısaca l10n — "l" və "n" arasında 10 hərf) — tətbiqin konkret dil və regiona uyğunlaşdırılması prosesidir. i18n memarlıq təməlidirsə, l10n onun məzmunudur. i18n tərcüməni mümkün edir, l10n isə onu həyata keçirir. Lokallaşdırmaya daxildir: interfeysin bütün mətnlərinin tərcüməsi, tarix və rəqəm formatlarının uyğunlaşdırılması, mədəni həssas məzmunlu şəkillərin dəyişdirilməsi, hüquqi mətnlərin (məxfilik siyasəti, EULA) korreksiyası, ödəniş sistemlərinin regiona uyğun qurulması və hədəf cihazlarda sınaqdan keçirilməsi.

Biznes gəlirliliyi — lokallaşdırma birbaşa konversiyaya təsir edir. CSA Research (2023) məlumatlarına görə, istifadəçilərin 76%-i ana dilində olan tətbiqlərdə almağa üstünlük verir, 40%-i isə heç vaxt xarici dildə almır. Pərakəndə tətbiqi üçün yapon dilinə lokallaşdırma konversiyanı orta hesabla 150% artırır (Google, 2022). Lokallaşdırılmış tətbiqlər regional App Store və Google Play-də regional ASO (hədef dildə açar sözlər) sayəsində 2–3 dəfə çox organik quraşdırma alır.

i18n vs l10n — eyni prosesin iki tərəfi. i18n: sətirlərin resurslara çıxarılması, RTL dəstəyi, rəqəmlərin formatlaşdırılması. Proqramçılar tərəfindən bir dəfə edilir. l10n: sətirlərin tərcüməsi, məzmunun uyğunlaşdırılması, yerli sınaq. Hər lokallaşdırma üçün tərcüməçilər və QA tərəfindən dəfələrlə edilir. IT Sectr-də hər yeni dil üçün sprint vaxtının 20–30%-ni lokallaşdırmaya ayırırıq — bura tərcümə, rəy, cihazlarda sınaq və səhvlərin düzəldilməsi daxildir.

iOS-da lokallaşdırma: Localizable.strings və Base Internationalization

Localizable.strings — iOS-da tərcümələrin saxlanması üçün əsas fayl. Hər lokallaşdırmanın öz .lproj qovluğu var: en.lproj/Localizable.strings, ru.lproj/Localizable.strings, de.lproj/Localizable.strings. Format: "key" = "value"; (nöqtəli vergül ilə). Apple Base Internationalization-dan istifadə edir: Storyboard və XIB bir dəfə yaradılır (Base.lproj), interfeys sətirləri isə hər dil üçün Localizable.strings-ə ixrac edilir. Bu, hər lokallaşdırma üçün XIB surətlərinin yaradılmasına ehtiyacı aradan qaldırır.

swift
// en.lproj/Localizable.strings
// "settings.title" = "Settings";
// "profile.greeting" = "Hello, %@!";
// "items.count" = "%d item(s)";

// ru.lproj/Localizable.strings
// "settings.title" = "Parametrlər";
// "profile.greeting" = "Salam, %@!";
// "items.count" = "%d əd.";

// Sətirin açar ilə yüklənməsi
navigationItem.title = NSLocalizedString(
    "settings.title",
    comment: "Parametrlər ekranının başlığı"
)

// Parametrli sətir
let name = "Anna"
greetingLabel.text = String.localizedStringWithFormat(
    NSLocalizedString("profile.greeting", comment: ""), name
)

// XLIFF idxalı (Xcode → Editor → Import Localizations)
// Tərcüməçinin işindən sonra .lproj fayllarını avtomatik yeniləyir

Base Internationalization — Apple-ın yanaşması, burada interfeys (Storyboard, XIB) Base.lproj-də bir dəfə yaradılır. Dil əlavə edilərkən Xcode Base-dən sətirləri XLIFF faylına ixrac edir. Tərcüməçi XLIFF-i tərcümə edir. İdxaldan sonra Xcode tərcümə edilmiş sətirlərlə .lproj yaradır. Üstünlük: hər dil üçün XIB-i dublikat etmək lazım deyil. Məhdudiyyət: RTL dilləri (ərəb, ivrit) üçün güzgü layoutu olan ayrıca XIB tələb oluna bilər.

InfoPlist.strings və metadata lokallaşdırılması

InfoPlist.strings — tətbiq adının (CFBundleDisplayName), kamera/mikrofon icazələrinin (NSCameraUsageDescription) və Info.plist-dən digər dəyərlərin lokallaşdırılması üçün fayl. .lproj-də yaradılır: ru.lproj/InfoPlist.strings. Format: CFBundleDisplayName = "Mənim tətbiqim"; NSCameraUsageDescription = "Tətbiqin şəkil çəkmək üçün kameraya girişi lazımdır";. InfoPlist.strings lokallaşdırılmadıqda sistem dialoqları ingilis dilində olacaq.

Android-də lokallaşdırma: values-ru, lokallaşdırılmış resurslar

Android resursları lokallaşdırma üçün qovluq adlarında kvalifikatorlar (qualifiers) vasitəsilə təşkil edilir. Rus dili üçün — res/values-ru/, alman dili üçün — res/values-de/, Braziliya portuqal dili üçün — res/values-pt-rBR/. Android 160-dan çox lokallaşdırmanı dəstəkləyir. Sistem cihazın dilinə əsasən avtomatik resursları seçir (Locale.getDefault()). Dəqiq lokallaşdırma yoxdursa — values/ (əsas lokallaşdırma, adətən en) resursları istifadə olunur.

kotlin
// res/values/strings.xml (əsas — ingilis)
<string name="settings_title">Settings</string>
<string name="greeting">Hello, %s!</string>

// res/values-ru/strings.xml (rus)
<string name="settings_title">Parametrlər</string>
<string name="greeting">Salam, %s!</string>

// res/values-de/strings.xml (alman)
<string name="settings_title">Einstellungen</string>
<string name="greeting">Hallo, %s!</string>

// Kotlin — bütün dillər üçün vahid kod
textView.text = getString(R.string.settings_title)

// Parametrli sətir
val greeting = getString(R.string.greeting, userName)

// Lokallaşdırılmış şəkillər
// res/drawable-ru/flag.png — rus versiyası üçün bayraq
// res/drawable/flag.png — standart bayraq

// Maketlərin lokallaşdırılması (RTL dilləri üçün)
// res/layout-ar/activity_main.xml — ərəb versiyası

Təkcə sətirlərin yox, həm də digər resursların lokallaşdırılması — Android şəkilləri (res/drawable-ru/), rəngləri (res/values-ru/colors.xml), ölçüləri (res/values-ru/dimens.xml), animasiyaları, menyuları və hətta bütün layoutları lokallaşdırmağa imkan verir. Müxtəlif söz uzunluğuna malik dillər üçün (alman dili ingilis dilindən 30–40% uzundur) artırılmış düymə eni ilə lokallaşdırılmış dimens.xml istifadə edin. Fərqli rəng simvolikası olan regionlar üçün (ağ — Çində yas) — lokallaşdırılmış colors.xml.

Cihazda lokallaşdırmanın yoxlanılması

Sınaq — cihazın dilini hədəf dilinə Parametrlər → Sistem → Dil vasitəsilə dəyişin. Yoxlayın: bütün sətirlər tərcümə olunub, tarixlər düzgün formatlaşdırılıb, rəqəmlər düzgün ayırıcı ilə göstərilir, şəkillər regiona uyğundur, layout uzun sətirlərdə "pozulmur". Avtomatlaşdırma üçün Espresso ilə LocaleTestRule (Android Testing Library) istifadə edin — bu, dili əl ilə dəyişmədən müxtəlif lokallaşdırmalarla testləri işə salmağa imkan verir.

Mədəni uyğunlaşdırma: mətndən başqa nə tərcümə edilməlidir

Mədəni xüsusiyyətlər — lokallaşdırma təkcə sətirlərin tərcüməsi ilə məhdudlaşmır. Rəng simvolikası fərqlənir: qırmızı — Çində uğur, ABŞ-da təhlükə, CAR-da yas. Ağ — Avropada təmizlik, Çində yas. Jestli ikonlar: baş barmaq yuxarı — ABŞ-da pozitiv, Yaxın Şərqdə təhqir. İnsan şəkilləri: ərəb ölkələrində çimərlik geyimli qadın şəkilləri yolverilməzdir. Dini simvollar: xaç, aypara, Davud ulduzu yalnız müvafiq kontekstdə istifadə edilməlidir.

Hüquqi tələblər — hər ölkənin rəqəmsal məhsullar haqqında öz qanunları var. GDPR (AB) — cookies və məlumatların emalı üçün məcburi razılıq. CCPA (Kaliforniya) — məlumatların silinməsi hüququ. Şəxsi məlumatlar haqqında qanun (Rusiya, 152-FZ) — məlumatların RF serverlərində saxlanması. LGPD (Braziliya) — GDPR analoqu. Ödənişlər: Çində Alipay/WeChat Pay, Hindistanda — UPI, Braziliyada — Boleto və PIX lazımdır. Lokallaşdırmaya başlamazdan əvvəl region üçün ödəniş şlüzünü qurun.

AspektABŞÇinBƏƏAlmaniya
Ödəniş sistemiApple Pay, kartlarAlipay, WeChat PayKartlar, Apple PayPayPal, Giropay
Brend rəngləriİstənilənQırmızı — uğurYaşıl — islamQara/sarı
Sosial şəbəkələrInstagram, XWeChat, DouyinWhatsApp, XWhatsApp, X
TarixMM/dd/yyyyyyyy/MM/dddd/MM/yyyydd.MM.yyyy
Məlumat qanunuCCPAPIPLPDPLGDPR

Nümunələr və məzmun — nümunələri regiona uyğunlaşdırın. Alman lokallaşdırması üçün metrik sistemdən (kq, km), Amerika üçün — imperial sistemdən (lb, mi) istifadə edin. Telefon nömrələri, poçt indeksləri, ünvanlar — fərqli formatlaşdırılır. Valyuta nümunələri: Yaponiyada ¥1000, ABŞ-da $9.99, Rusiyada 999 ₽. Yemək, geyim, interyer şəkilləri regional standartlara uyğun olmalıdır. IT Sectr-də mədəni uyğunlaşmanı yoxlamaq üçün yerli məsləhətçilər işə götürməyi tövsiyə edirik.

Lokallaşdırma prosesi: alətlər, tərcüməçilər, CI/CD

Lokallaşdırma alətləri — peşəkar platformalar prosesi avtomatlaşdırır: Lokalise, Crowdin, POEditor, Smartling, Phrase. Onlar repozitoriya ilə inteqrasiya olunur, avtomatik yeni sətirləri idxal edir, dəyişiklikləri izləyir (Delta updates — yalnız dəyişdirilmiş sətirlər tərcümə olunur), Translation Memory (TM — əvvəllər tərcümə edilmiş ifadələrin saxlanması) və Glossary (terminlər lüğəti) təmin edir. Peşəkar tərcümənin orta qiyməti: söz başına $0.08–0.15 (dildən asılı olaraq).

Proses — (1) Proqramçı i18n açarlarını koda əlavə edir, repozitoriya göndərir. (2) CI/CD (GitHub Actions / GitLab CI) avtomatik yeni açarları lokallaşdırma platformasına göndərir. (3) Tərcüməçilər bildiriş alır, tərcümə edir, saxlayır. (4) Tərcümə edilmiş fayllar avtomatik repozitoriyada PR yaradır. (5) QA cihazlarda lokallaşdırmanı yoxlayır. (6) Buraxılış. Bir lokallaşdırma üçün dövr: 2–5 iş günü (həcmdən asılı olaraq). 10 lokallaşdırma üçün: tərcüməçilərin paralel işi ilə 5–15 gün.

Machine Translation + Human Review — müasir standart. Neyron şəbəkə tərcüməsi (DeepL, Google Translate, GPT-4) məşhur dil cütləri üçün 80–90% keyfiyyət verir. İnsan-tərcüməçi yoxlayır: terminologiya, kontekst (sözlər müxtəlif ekranlarda fərqli mənalar daşıya bilər), mədəni uyğunlaşma. IT Sectr-də hibrid yanaşmadan istifadə edirik: ML tərcümə + ana dili danışanın rəyi. Kritik sətirlər (hüquqi, ödəniş) üçün — yalnız peşəkar tərcüməçi. Qənaət: keyfiyyəti qoruyarkən xərclərin 60%-ə qədəri.

Tez-tez verilən suallar

Lokallaşdırma beynəlmilləşdirmədən nə ilə fərqlənir?

Beynəlmilləşdirmə — kodun tərcüməyə hazırlanması (sətirlərin çıxarılması, RTL, formatlaşdırma). Lokallaşdırma — tərcümə və mədəni uyğunlaşma. i18n proqramçı tərəfindən bir dəfə, l10n isə tərcüməçi tərəfindən hər dil üçün edilir. i18n olmadan l10n — tətbiq tərcüməyə hazırdır, lakin tərcümə olunmayıb. l10n olmadan i18n — hər dil üçün kodu yenidən yazmaq lazımdır.

iOS-da tərcümələr harada saxlanılır?

Localizable.strings fayllarında .lproj qovluqları daxilində. Hər dil üçün: en.lproj (ingilis), ru.lproj (rus), de.lproj (alman). Format: "key" = "value";. Cəm üçün — Localizable.stringsdict. Tətbiq parametrləri (CFBundleDisplayName) — InfoPlist.strings-də. Xcode .lproj-i Base Internationalization vasitəsilə idarə edir.

Android-də values-ru nədir?

values-ru — Rus dili üçün Android resurs qovluğu. Tərcümələrlə strings.xml ehtiva edir. Digər dillər üçün də eyni: values-de (alman), values-fr (fransız). Android sistem dilinə əsasən resursları seçir. values-ru tapılmazsa — values/ (əsas dil, adətən ingilis) istifadə olunur.

Müxtəlif regionlar üçün tarixləri necə formatlaşdırmaq olar?

Həmişə Locale API istifadə edin. iOS: DateFormatter.locale = Locale(identifier: locale). Android: DateFormat.getDateInstance(DateFormat.SHORT, locale). Rusiya: 31.12.2024. ABŞ: 12/31/2024. Yaponiya: 2024/12/31. Heç vaxt sabit format təyin etməyin — hər ölkənin öz standartları var. Tarix daxil etmək üçün UIDatePicker / DatePicker istifadə edin.

Qlobal tətbiq üçün neçə lokallaşdırma lazımdır?

Qlobal əhatə üçün 10–15 dil kifayətdir: ingilis, ispan, fransız, alman, yapon, çin, koreya, portuqal, rus, italyan, ərəb. Regional üçün — 1–2 dil. Hər əlavə lokallaşdırma müvafiq regionda organik quraşdırmaları 5–15% artırır. App Store minimum ingilis lokallaşdırması tələb edir.

Xülasə

  • Localization (l10n) — məzmunun konkret dil və regiona tərcüməsi və mədəni uyğunlaşdırılması
  • iOS — .lproj qovluqlarında Localizable.strings, Base Internationalization, InfoPlist.strings
  • Android — values-ru/strings.xml, qualifiers vasitəsilə lokallaşdırılmış drawable və layout
  • Mədəni uyğunlaşdırma — rənglər, ikonlar, jestlər, ödəniş sistemləri, hüquqi tələblər
  • Proses — CI/CD → lokallaşdırma platforması → tərcüməçi → QA → buraxılış (dil üçün 2–5 gün)
  • Hybrid approach — ML tərcümə (DeepL, GPT) + ana dili danışanın rəyi 60% qənaət üçün
  • Gəlirlilik — istifadəçilərin 76%-i yalnız ana dilində alır (CSA Research, 2023)

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun