跳到主要內容
JobCannon
全部技能

Localization & Internationalization (i18n)

⬢ 層級 3領域
中等
薪資影響
4 個月
學習時長
中等
難度
1
職業
一覽

Localization (i18n) is the discipline of adapting software for international audiences: text translation, right-to-left layouts, date/time/currency formatting per locale, cultural design adaptation. Career path: Practitioner (string externalization, react-intl, $90-120k) → Localization Engineer (TMS workflows, ICU MessageFormat, RTL, pluralization rules, $120-155k) → Internationalization Lead (market selection, cultural adaptation, payment methods, compliance, $155-200k+). Tools: i18next, react-intl, FormatJS, Lokalise, Phrase. Opens access to 75% non-English internet. Airbnb 50%+ revenue outside US. Stripe supports 135+ currencies.

什麼是 Localization & Internationalization (i18n)

Build multi-language, multi-region products. Translation, locale-aware formatting, cultural adaptation. Essential for global products (Stripe, Airbnb, Shopify). Learning Curve: Medium (technical + cultural awareness)

🔧 工具與生態
i18nextreact-intlFormatJSICU MessageFormatCrowdinLokalisePhraseSmartlingTransifexLinguiWeblate

💰 各地區薪資

地區初級中級高級
USA$95,000$140,000$185,000
UK£55,000£85,000£120,000
EU€60,000€95,000€135,000
CANADACA$100,000CA$145,000CA$190,000

🎯 使用 Localization & Internationalization (i18n) 的職業

❓ 常見問題

When should I start internationalization, at launch or after?
Start before launch if you plan global from day one. Build i18n from the beginning (string externalization, locale detection) at near-zero cost. Retrofitting is 5-10x harder: hardcoded strings scattered across components, RTL forgotten, pluralization rules ignored. Plan for i18n in your architecture, even if you don't ship other languages immediately.
What are the biggest RTL (Arabic, Hebrew) gotchas?
RTL is more than flipping layouts: text direction, number placement, currency symbols ($ after number in RTL), form field ordering, table column reversal, icon mirroring (arrows, checkmarks). Pseudo-localization testing is crucial, many apps only flip the layout and leave numbers/icons broken. Use CSS `direction: rtl` + logical properties (`margin-inline-start` not `margin-left`). Test with actual RTL languages, not just a reversed English string.
How do plural rules work across languages?
English: singular (1 item) vs plural (0, 2+ items). But Russian has 3 forms (1, 2-4, 5+ items). Arabic has 6 plural forms. ICU MessageFormat handles this: `{count, plural, one {1 item} other {# items}}`. Most i18n libraries (i18next, react-intl) use ICU plurals. Never write custom plural logic, it's locale-dependent and breaks.
Machine translation (Google Translate, DeepL) vs human translators, when do I use which?
Machine translation is 80% good for high-traffic, simple content (help text, buttons, notifications). Human translation is mandatory for brand voice, marketing copy, legal/compliance docs, culturally-sensitive content. Hybrid approach: MT for first draft + human review (cheaper than from-scratch). Test MT quality on 50-word samples before committing to full rollout.
Locale switcher UX, where should it live?
Footer or settings, never the hero. Most users don't switch languages frequently. Provide a fallback (detect browser language + allow manual override). Sticky choice across sessions via localStorage or user profile. Never auto-switch based on IP alone, VPN + expat users = wrong locale. Use hreflang to signal locale variants to search engines.
Currency and number formatting, how granular should it be?
Use Intl.NumberFormat (JavaScript) or locale libraries, never hardcode. US: 1,234.56. Germany: 1.234,56. India: 12,34,567. Currency symbols vary too: $USD, £GBP, €EUR (varies by country), ₹INR, ¥CNY/JPY. Don't just swap the symbol, use locale-aware Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).
SEO with multiple languages, how do I structure URLs and headers?
Use hreflang in HTML head and XML sitemap to signal alternate language versions: <link rel="alternate" hreflang="es" href="https://example.com/es/page"/>. Structure URLs by language: /en/page, /es/page, /fr/page (subdirectory) or subdomains (en.example.com). Each language version gets its own language tag in HTML (<html lang="es">). Don't mix languages on one page. Google Search Console: verify each language variant separately.

不確定這項技能適不適合你?

做一下職業匹配,我們會推薦合適的方向。

找到最適合我的技能 →

找到理想的職業方向

在 2,521 個職業中進行技能匹配。免費。

免費做職業匹配 →