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
110
i18n & l10n
Интернационализация и локализация сайтов и приложений
Mikhail Kashkin
May 20, 2015
Tweet
Share
More Decks by Mikhail Kashkin
See All by Mikhail Kashkin
Python Blockchain Development
xen
1
61
Получение, обработка и визуализация открытых данных
xen
0
170
Data-driven marketing
xen
0
140
Flask API backend
xen
3
380
PechaKucha Днепропетровск
xen
0
51
Other Decks in Technology
See All in Technology
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
Terraform Stacks入門 #HashiTalks
msato
0
360
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
130
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
180
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
180
AGIについてChatGPTに聞いてみた
blueb
0
130
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
GraphQLとの向き合い方2022年版
quramy
43
13k
Gamification - CAS2011
davidbonilla
80
5k
Building an army of robots
kneath
302
43k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Designing Experiences People Love
moore
138
23k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
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 (если будет время)
Вопросы