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
180
Data-driven marketing
xen
0
140
Flask API backend
xen
3
400
PechaKucha Днепропетровск
xen
0
56
Other Decks in Technology
See All in Technology
20250612_GitHubを使いこなすためにソニーの開発現場が取り組んでいるプラクティス.pdf
osakiy8
1
640
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
140
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.4k
AIコーディング新時代を生き残るための試行錯誤 / AI Coding Survival Guide
tomohisa
9
12k
現場で役立つAPIデザイン
nagix
1
250
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
4
1.4k
OCI Oracle Database Services新機能アップデート(2025/03-2025/05)
oracle4engineer
PRO
1
110
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
390
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
370
ゆるSRE #11 LT
okaru
1
570
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
2.1k
メルカリにおけるデータアナリティクス AI エージェント「Socrates」と ADK 活用事例
na0
16
8.9k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
130
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
470
A Tale of Four Properties
chriscoyier
159
23k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Documentation Writing (for coders)
carmenintech
71
4.9k
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 (если будет время)
Вопросы