Localization — esensya, pag-adapt ng nilalaman sa wika at rehiyon

May-akda: IT Sectr Nai-publish: 2026-02-26 Oras ng pagbabasa: 7 min

Localization (lokalisasyon, l10n) — pag-adapt ng nilalaman ng mobile app sa wika, rehiyon, at mga katangiang pangkultura ng target na madla. Hindi tulad ng internasyonalisasyon (i18n), kung saan inihahanda ang code para sa pagsasalin, ang lokalisasyon ay ang mismong proseso ng pagsasalin ng mga string, pag-format ng mga petsa, numero, at pera, pagpili ng mga larawan, at pagsasaalang-alang ng mga lokal na pamantayan. Sa iOS, ang mga pagsasalin ay nakaimbak sa Localizable.strings (mga folder na .lproj para sa bawat wika), sa Android — sa values-ru, values-de, at iba pang direktoryo ng mapagkukunan. Higit pa — sa gabay ng Android sa lokalisasyon.

Mga Pangunahing Punto

  • Localization (l10n) — pagsasalin at pag-adapt ng nilalaman ng app sa isang partikular na wika at rehiyon
  • Localizable.strings — iOS file na naglalaman ng mga pares na "susi" = "pagsasalin" para sa bawat wika
  • values-ru — direktoryo ng Android na may mga mapagkukunan para sa wikang Ruso (strings.xml)
  • Pag-adapt sa rehiyon — mga petsa, numero, larawan, kulay, legal na kinakailangan ay naiiba sa bawat bansa
  • Mga katangiang pangkultura — mga kulay, icon, kilos, at halimbawa ay dapat tumugma sa mga lokal na pamantayan

Ano ang Localization (l10n) at paano ito naiiba sa i18n?

Localization (pinaikling l10n — 10 letra sa pagitan ng "l" at "n") — ay ang proseso ng pag-adapt ng app sa isang partikular na wika at rehiyon. Kung ang i18n ay ang arkitekturang pundasyon, ang l10n ay ang nilalaman. Ginagawang posible ng i18n ang pagsasalin, isinasagawa ito ng l10n. Kasama sa lokalisasyon: pagsasalin ng lahat ng teksto ng interface, pag-adapt ng mga format ng petsa at numero, pagpapalit ng mga larawang may sensitibong kultural na nilalaman, pagwawasto ng mga legal na teksto (patakaran sa privacy, EULA), pagsasaayos ng mga sistema ng pagbabayad para sa rehiyon, at pagsubok sa mga target na device.

Pagkakakitaan ng negosyo — direktang nakakaapekto ang lokalisasyon sa conversion. Ayon sa CSA Research (2023), 76% ng mga user ay mas gustong bumili sa mga app sa kanilang sariling wika, at 40% ay hindi kailanman bumibili sa banyagang wika. Ang lokalisasyon sa Japanese para sa isang retail app ay nagpapataas ng conversion sa average na 150% (Google, 2022). Ang mga lokalisadong app ay nakakakuha ng 2–3 beses na mas maraming organikong pag-install sa rehiyonal na App Store at Google Play dahil sa rehiyonal na ASO (mga keyword sa target na wika).

i18n vs l10n — dalawang panig ng iisang proseso. i18n: pag-extract ng mga string sa mga mapagkukunan, suporta sa RTL, pag-format ng numero. Ginagawa nang isang beses ng mga developer. l10n: pagsasalin ng mga string, pag-adapt ng nilalaman, lokal na pagsubok. Ginagawa nang maraming beses ng mga tagasalin at QA para sa bawat lokalisasyon. Sa IT Sectr naglalaan kami ng 20–30% ng oras ng sprint para sa lokalisasyon ng bawat bagong wika — kasama rito ang pagsasalin, pagsusuri, pagsubok sa mga device, at pag-aayos ng mga bug.

Lokalisasyon sa iOS: Localizable.strings at Base Internationalization

Localizable.strings — ang pangunahing file para sa pag-iimbak ng mga pagsasalin sa iOS. Bawat lokalisasyon ay may sariling folder na .lproj: en.lproj/Localizable.strings, ru.lproj/Localizable.strings, de.lproj/Localizable.strings. Format: "susi" = "halaga"; (may tuldok-kuwit). Gumagamit ang Apple ng Base Internationalization: Ang Storyboard at XIB ay nilikha nang isang beses (Base.lproj), at ang mga string ng interface ay ini-export sa Localizable.strings para sa bawat wika. Inaalis nito ang pangangailangan na gumawa ng mga kopya ng XIB para sa bawat lokalisasyon.

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

// ru.lproj/Localizable.strings
// "settings.title" = "Mga Setting";
// "profile.greeting" = "Kumusta, %@!";
// "items.count" = "%d piraso.";

// Pag-load ng string ayon sa key
navigationItem.title = NSLocalizedString(
    "settings.title",
    comment: "Pamagat ng screen ng mga setting"
)

// String na may parameter
let name = "Anna"
greetingLabel.text = String.localizedStringWithFormat(
    NSLocalizedString("profile.greeting", comment: ""), name
)

// XLIFF import (Xcode → Editor → Import Localizations)
// Awtomatikong nag-a-update ng mga .lproj file pagkatapos ng trabaho ng tagasalin

Base Internationalization — diskarte ng Apple kung saan ang interface (Storyboard, XIB) ay nilikha nang isang beses sa Base.lproj. Kapag nagdaragdag ng wika, ini-export ng Xcode ang mga string mula sa Base patungo sa isang XLIFF file. Isasalin ng tagasalin ang XLIFF. Pagkatapos ng import, gagawa ang Xcode ng .lproj na may mga isinaling string. Bentahe: hindi na kailangang duplicate ang XIB para sa bawat wika. Limitasyon: para sa mga wikang RTL (Arabic, Hebrew) maaaring kailanganin ang hiwalay na XIB na may mirror na layout.

InfoPlist.strings at lokalisasyon ng metadata

InfoPlist.strings — file para sa lokalisasyon ng pangalan ng app (CFBundleDisplayName), mga pahintulot sa camera/microphone (NSCameraUsageDescription), at iba pang halaga mula sa Info.plist. Nilikha sa .lproj: ru.lproj/InfoPlist.strings. Format: CFBundleDisplayName = "Aking app"; NSCameraUsageDescription = "Kailangan ng app ng access sa camera para kumuha ng mga larawan";. Kung walang lokalisasyon ng InfoPlist.strings, ang mga system dialog ay nasa Ingles.

Lokalisasyon sa Android: values-ru, mga lokalisadong mapagkukunan

Mga mapagkukunan ng Android para sa lokalisasyon ay inorganisa sa pamamagitan ng mga qualifier sa mga pangalan ng direktoryo. Para sa wikang Ruso — res/values-ru/, para sa German — res/values-de/, para sa Brazilian Portuguese — res/values-pt-rBR/. Sinusuportahan ng Android ang higit sa 160 lokalisasyon. Awtomatikong pinipili ng system ang mga mapagkukunan batay sa wika ng device (Locale.getDefault()). Kung walang eksaktong lokalisasyon — ginagamit ang mga mapagkukunan mula sa values/ (base na lokalisasyon, karaniwang en).

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

// res/values-ru/strings.xml (Ruso)
<string name="settings_title">Mga Setting</string>
<string name="greeting">Kumusta, %s!</string>

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

// Kotlin — pare-parehong code para sa lahat ng wika
textView.text = getString(R.string.settings_title)

// String na may parameter
val greeting = getString(R.string.greeting, userName)

// Mga lokalisadong larawan
// res/drawable-ru/flag.png — watawat para sa bersyong Ruso
// res/drawable/flag.png — default na watawat

// Lokalisasyon ng mga layout (para sa mga wikang RTL)
// res/layout-ar/activity_main.xml — bersyong Arabo

Lokalisasyon hindi lamang ng mga string — pinapayagan ng Android ang lokalisasyon ng mga larawan (res/drawable-ru/), mga kulay (res/values-ru/colors.xml), mga sukat (res/values-ru/dimens.xml), mga animation, menu, at maging ang buong layout. Para sa mga wikang may iba't ibang haba ng salita (ang German ay 30–40% mas mahaba kaysa sa Ingles) gumamit ng lokalisadong dimens.xml na may mas malaking lapad ng button. Para sa mga rehiyon na may ibang simbolismo ng kulay (puti — pagluluksa sa China) — lokalisadong colors.xml.

Pagsusuri ng lokalisasyon sa device

Pagsubok — ilipat ang wika ng device sa target na wika sa pamamagitan ng Mga Setting → System → Wika. Suriin: lahat ng string ay isinalin, ang mga petsa ay nai-format nang tama, ang mga numero ay ipinapakita na may tamang separator, ang mga larawan ay tumutugma sa rehiyon, ang layout ay hindi "nasira" sa mahabang string. Para sa automation, gamitin ang Espresso na may LocaleTestRule (Android Testing Library) — pinapayagan nitong magpatakbo ng mga pagsubok na may iba't ibang lokalisasyon nang hindi manu-manong nagpapalit ng wika.

Pag-adapt pangkultura: ano ang dapat isalin bukod sa teksto

Mga katangiang pangkultura — ang lokalisasyon ay hindi limitado sa pagsasalin ng mga string. Iba ang simbolismo ng kulay: pula — swerte sa China, panganib sa US, pagluluksa sa South Africa. Puti — kadalisayan sa Europe, pagluluksa sa China. Mga icon na may kilos: thumbs up — positibo sa US, insulto sa Gitnang Silangan. Mga larawan ng tao: sa mga bansang Arabo, hindi katanggap-tanggap ang mga larawan ng kababaihan na naka-swimsuit. Mga simbolo ng relihiyon: krus, gasuklay, Bituin ni David ay dapat gamitin lamang sa angkop na konteksto.

Mga legal na kinakailangan — bawat bansa ay may sariling batas tungkol sa mga digital na produkto. GDPR (EU) — mandatoryong pahintulot para sa cookies at pagproseso ng data. CCPA (California) — karapatang burahin ang data. Batas sa Personal na Data (Russia, 152-FZ) — pag-iimbak ng data sa mga server ng RF. LGPD (Brazil) — analogue ng GDPR. Mga pagbabayad: sa China kailangan ang Alipay/WeChat Pay, sa India — UPI, sa Brazil — Boleto at PIX. I-configure ang payment gateway para sa rehiyon bago simulan ang lokalisasyon.

AspektoUSChinaUAEGermany
Sistema ng pagbabayadApple Pay, cardAlipay, WeChat PayCard, Apple PayPayPal, Giropay
Mga kulay ng tatakKahit anoPula — swerteBerde — IslamItim/dilaw
Social mediaInstagram, XWeChat, DouyinWhatsApp, XWhatsApp, X
PetsaMM/dd/yyyyyyyy/MM/dddd/MM/yyyydd.MM.yyyy
Batas ng dataCCPAPIPLPDPLGDPR

Mga halimbawa at nilalaman — i-adapt ang mga halimbawa sa rehiyon. Para sa German lokalisasyon gamitin ang metric system (kg, km), para sa American — imperial system (lb, mi). Mga numero ng telepono, zip code, address — iba-iba ang format. Mga halimbawa ng pera: ¥1000 sa Japan, $9.99 sa US, 999 ₽ sa Russia. Ang mga larawan ng pagkain, damit, interior ay dapat tumugma sa mga regional standard. Sa IT Sectr inirerekomenda naming kumuha ng mga lokal na consultant para suriin ang pag-adapt pangkultura.

Proseso ng lokalisasyon: mga tool, tagasalin, CI/CD

Mga tool sa lokalisasyon — pinapadali ng mga propesyonal na platform ang proseso: Lokalise, Crowdin, POEditor, Smartling, Phrase. Sila ay nagsasama sa repositoryo, awtomatikong nag-i-import ng mga bagong string, sumusubaybay sa mga pagbabago (Delta updates — tanging ang mga binagong string ang isinasalin), nagbibigay ng Translation Memory (TM — pag-iimbak ng mga naunang isinaling parirala) at Glossary (glosaryo ng mga termino). Average na halaga ng propesyonal na pagsasalin: $0.08–0.15 bawat salita (depende sa wika).

Proseso — (1) Nagdaragdag ang developer ng i18n key sa code, nag-push sa repositoryo. (2) Awtomatikong nagpapadala ang CI/CD (GitHub Actions / GitLab CI) ng mga bagong key sa platform ng lokalisasyon. (3) Ang mga tagasalin ay tumatanggap ng notipikasyon, nagsasalin, nagse-save. (4) Ang mga isinaling file ay awtomatikong gumagawa ng PR sa repositoryo. (5) Sinusuri ng QA ang lokalisasyon sa mga device. (6) Release. Cycle para sa isang lokalisasyon: 2–5 araw ng trabaho (depende sa volume). Para sa 10 lokalisasyon: 5–15 araw na may parallel na trabaho ng mga tagasalin.

Machine Translation + Human Review — modernong standard. Ang pagsasalin ng neural network (DeepL, Google Translate, GPT-4) ay nagbibigay ng 80–90% kalidad para sa mga sikat na pares ng wika. Sinusuri ng tagasalin na tao ang: terminolohiya, konteksto (ang mga salita ay maaaring magkaiba ng kahulugan sa iba't ibang screen), pag-adapt pangkultura. Sa IT Sectr gumagamit kami ng hybrid approach: ML translation + review ng native speaker. Para sa mga kritikal na string (legal, pagbabayad) — tanging propesyonal na tagasalin. Pag-iimpok: hanggang 60% ng gastos habang pinapanatili ang kalidad.

Mga Madalas Itanong

Paano naiiba ang lokalisasyon sa internasyonalisasyon?

Internasyonalisasyon — paghahanda ng code para sa pagsasalin (pag-extract ng string, RTL, pag-format). Lokalisasyon — ang pagsasalin at pag-adapt pangkultura mismo. Ang i18n ay ginagawa ng developer nang isang beses, l10n — ng tagasalin para sa bawat wika. i18n na walang l10n — ang app ay handa nang isalin ngunit hindi isinalin. l10n na walang i18n — kailangang isulat muli ang code para sa bawat wika.

Saan naka-imbak ang mga pagsasalin sa iOS?

Sa mga file na Localizable.strings sa loob ng mga folder na .lproj. Para sa bawat wika: en.lproj (Ingles), ru.lproj (Ruso), de.lproj (German). Format: "susi" = "halaga";. Para sa maramihan — Localizable.stringsdict. Mga setting ng app (CFBundleDisplayName) — sa InfoPlist.strings. Pinamamahalaan ng Xcode ang .lproj sa pamamagitan ng Base Internationalization.

Ano ang values-ru sa Android?

values-ru — direktoryo ng mapagkukunan ng Android para sa wikang Ruso. Naglalaman ng strings.xml na may mga pagsasalin. Pareho para sa iba pang wika: values-de (German), values-fr (Pranses). Pinipili ng Android ang mga mapagkukunan batay sa wika ng system. Kung hindi mahanap ang values-ru — ginagamit ang values/ (base na wika, karaniwang Ingles).

Paano mag-format ng mga petsa para sa iba't ibang rehiyon?

Palaging gamitin ang Locale API. iOS: DateFormatter.locale = Locale(identifier: locale). Android: DateFormat.getDateInstance(DateFormat.SHORT, locale). Russia: 31.12.2024. US: 12/31/2024. Japan: 2024/12/31. Huwag kailanman magtakda ng nakapirming format — bawat bansa ay may sariling standard. Para sa pagpasok ng petsa, gamitin ang UIDatePicker / DatePicker.

Ilang lokalisasyon ang kailangan para sa isang pandaigdigang app?

Para sa pandaigdigang saklaw sapat na ang 10–15 wika: Ingles, Espanyol, Pranses, German, Japanese, Chinese, Korean, Portuguese, Ruso, Italyano, Arabic. Para sa rehiyonal — 1–2 wika. Bawat karagdagang lokalisasyon ay nagpapataas ng organikong pag-install ng 5–15% sa kaukulang rehiyon. Ang App Store ay nangangailangan ng hindi bababa sa Ingles na lokalisasyon.

Buod

  • Localization (l10n) — pagsasalin at pag-adapt pangkultura ng nilalaman sa isang partikular na wika at rehiyon
  • iOS — Localizable.strings sa mga folder na .lproj, Base Internationalization, InfoPlist.strings
  • Android — values-ru/strings.xml, lokalisadong drawable at layout sa pamamagitan ng qualifiers
  • Pag-adapt pangkultura — mga kulay, icon, kilos, sistema ng pagbabayad, legal na kinakailangan
  • Proseso — CI/CD → platform ng lokalisasyon → tagasalin → QA → release (2–5 araw bawat wika)
  • Hybrid approach — ML translation (DeepL, GPT) + review ng native speaker para sa 60% na tipid
  • Pagkakakitaan — 76% ng mga user ay bumibili lamang sa kanilang sariling wika (CSA Research, 2023)

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din