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
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
190
Data-driven marketing
xen
0
140
Flask API backend
xen
3
420
PechaKucha Днепропетровск
xen
0
60
Other Decks in Technology
See All in Technology
AWS監視を「もっと楽する」ために
uechishingo
0
160
AI に「学ばせ、調べさせ、作らせる」。Auth0 開発を加速させる7つの実践的アプローチ
scova0731
0
330
さくらのクラウドでのシークレット管理を考える/tamachi.sre#2
fujiwara3
1
200
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
1.6k
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
6.8k
アウトプットはいいぞ / output_iizo
uhooi
0
130
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
Databricks Free Editionで始めるLakeflow SDP
taka_aki
0
150
SOC2は、取った瞬間よりその後が面白い
3flower
0
120
Master Dataグループ紹介資料
sansan33
PRO
1
4.2k
手軽に作れる電卓を作って イベントソーシングに親しもう CQRS+ESカンファレンス2026
akinoriakatsuka
0
480
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
1
170
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
44
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Spectacular Lies of Maps
axbom
PRO
1
440
Exploring anti-patterns in Rails
aemeredith
2
230
The Language of Interfaces
destraynor
162
26k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
290
Facilitating Awesome Meetings
lara
57
6.7k
Statistics for Hackers
jakevdp
799
230k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
250
The browser strikes back
jonoalderson
0
320
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 (если будет время)
Вопросы