I18n ruby-приложений
Ситник Андрей
Санкт-Петербург, апрель 2009
Меня зовут Андрей Ситник
andrey@sitnik.ru, sitnik.ru
Разработчик R18n
r18n.rubyforge.org
О чём речь
L10n, localization, локализация
перевод приложения на другой язык и
адаптация к другой культуре (формат даты,
чисел и т. д.)
I18n, internationalization, интернационализция
техническая возможность локализовать
программу
Из чего состоит
Перевод данных приложение
●
Перевод интерфейса
●
библиотека
Локализация дат и чисел
●
США: 1,000,000.00
Россия: 1 000 000,00
Индия: 10,00,000,00
Зачем
MVCT: вынос всего текста в отдельный файл
●
Расширение аудитории
●
Родной язык всё равно комфортнее
●
Наш ответ глобализации
●
Как. Rails. 1
Поставить gem russian
●
Выставить язык пользователя:
●
class ApplicationController < …
…
before_filter :set_locale
def set_locale
I18n.locale = params[:locale]
end
end
См. ещё полезные gem’ы: rails-i18n.org/wiki
●
Как. Rails. 2
config/locales/ru.yml
ru:
post:
name: Заметка {{name}}
comments:
one: Один комментарий
few: {{count}} комментария
other: {{count}} комментариев
app/views/post/index.html.erb
<%= t 'post.name', :name => @name %>
t 'post.comments', :count => @count
<%= %>
l @created_at %>
<%=
Как. Ruby. 1
Установите gem
sinatra-r18n
Sinatra:
merb_r18n
Merb:
r18n-desktop
Desktop:
r18n-core
Я сам:
Всё сразу работает «из коробки».
Нужно особая настройка — gem r18n-core.
Советы разработчикам
Динамическая вёрстка. Текст на разных
●
языках имеет разную длину.
Язык в адресе страницы: /ru/post/super
●
Список других языков в виде ссылок, а не
●
выпадающего списка
Советы i18n-гикам
Для иврита и арабского желательно менять
●
направление индикаторов и положение
меню
Используйте веб-сервисы для перевода
●
99translations.com
github.com/newsdesk/translate
launchpad.net
0 comments
Post a comment