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
100
i18n & l10n
Интернационализация и локализация сайтов и приложений
Mikhail Kashkin
May 20, 2015
Tweet
Share
More Decks by Mikhail Kashkin
See All by Mikhail Kashkin
Python Blockchain Development
xen
1
58
Получение, обработка и визуализация открытых данных
xen
0
160
Data-driven marketing
xen
0
120
Flask API backend
xen
3
360
PechaKucha Днепропетровск
xen
0
48
Other Decks in Technology
See All in Technology
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
現代CSSフレームワークの内部実装とその仕組み
poteboy
8
3.6k
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
0
140
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
120
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.7k
反実仮想機械学習とは何か
usaito
PRO
11
4.6k
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
150
Hands-on Gemini, the Google DeepMind LLM
meteatamel
1
110
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
640
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
520
元インフラエンジニアに成る / Human Resources to Human Relations
bobtani
4
910
Featured
See All Featured
KATA
mclloyd
15
12k
GraphQLとの向き合い方2022年版
quramy
32
12k
Done Done
chrislema
178
15k
Why Our Code Smells
bkeepers
PRO
331
56k
Music & Morning Musume
bryan
41
5.6k
Fireside Chat
paigeccino
21
2.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Six Lessons from altMBA
skipperchong
21
3k
Rails Girls Zürich Keynote
gr2m
91
13k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
How to train your dragon (web standard)
notwaldorf
73
5.2k
Building Your Own Lightsaber
phodgson
99
5.7k
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 (если будет время)
Вопросы