Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
i18n & l10n
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Mikhail Kashkin
May 20, 2015
Technology
0
120
i18n & l10n
Интернационализация и локализация сайтов и приложений
Mikhail Kashkin
May 20, 2015
Tweet
Share
More Decks by Mikhail Kashkin
See All by Mikhail Kashkin
Python Blockchain Development
xen
1
67
Получение, обработка и визуализация открытых данных
xen
0
200
Data-driven marketing
xen
0
140
Flask API backend
xen
3
430
PechaKucha Днепропетровск
xen
0
60
Other Decks in Technology
See All in Technology
実践 Datadog MCP Server
nulabinc
PRO
2
190
Everything Claude Code を眺める
oikon48
4
3.5k
OCHaCafe S11 #2 コンテナ時代の次の一手:Wasm 最前線
oracle4engineer
PRO
2
130
It’s “Time” to use Temporal
sajikix
1
130
プラットフォームエンジニアリングはAI時代の開発者をどう救うのか
jacopen
4
1.4k
ナレッジワーク IT情報系キャリア研究セッション資料(情報処理学会 第88回全国大会 )
kworkdev
PRO
0
190
JAWS DAYS 2026 楽しく学ぼう!ストレージ 入門
yoshiki0705
2
180
オレ達はAWS管理をやりたいんじゃない!開発の生産性を爆アゲしたいんだ!!
wkm2
4
530
猫でもわかるKiro CLI(AI 駆動開発への道編)
kentapapa
0
200
今のWordPress の制作手法ってなにがあんねん?(改) / What’s the Deal with WordPress Development These Days?
tbshiki
0
450
ランサムウエア対策してますか?やられた時の対策は本当にできてますか?AWSでのリスク分析と対応フローの泥臭いお話。
hootaki
0
130
OSC仙台プレ勉強会 AlmaLinuxとは
koedoyoshida
0
170
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
110
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
470
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
150
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
86
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
220
Become a Pro
speakerdeck
PRO
31
5.8k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
160
Transcript
i18n&l10n Mikhail Kashkin, 2015
Поддержка языков Для ПО, сайтов, интерфейсов
• i18n и l10n — нумеронимы • internationalization (i18n), процесс
подготовки ПО к возможности локализации • localisation (l10n), процесс адаптации к локальному рынку
Процесс подготовки • Разметка текста который будет переводиться • Использование
технологий • Работа с текстом • Адаптация ПО
Gettext • 20 лет назад люди уже знали об этой
проблеме • На текущий день это стандарт для *Nix систем • Вокруг .po и .pot файлов есть готовая инфраструктура
Форматы • .POT — Portable Object Template files. Главные шаблоны
• .PO — Portable Object files. Файлы переводов удобные для обработки • .MO — Machine Object files. Скомпилированные файлы переводов, финальная форма хранения • Domain — msgid объединенные в одну логическую группу
Разметка строк в Jinja2
Python
Работа с утилитами
.pot
Перевод https://gist.github.com/xen/3ce7d597f53515facaf1
Poedit
https://www.transifex.com/
ru/LC_MESSAGES/ messages.po
Особые случаи • Динамический контент • Множественные формы • Дата,
время, валюта • Базовый язык (fallback language) • Ленивые переводы (lazy translation)
Динамический контент
Множественные формы
Дата, время, валюта http://babel.pocoo.org/docs/api/dates/
Базовый язык
Lazy translation
Пример web проекта https://github.com/xen/flask-project-template
Собственный опыт • Сложно понять контекст • RTL повод пересмотреть
бюджеты на интерфейсы в 2 раза • Конечная стоимость всегда была выше чем планировалось • История Plone (если будет время)
Вопросы