I18n ruby-приложений

2,199 views

Published on

Как и зачем делать переводить ваше приложение на несколько языков на примере Rails и R18n.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,199
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

I18n ruby-приложений

  1. 1. I18n ruby-приложенийI18n ruby-приложений Ситник Андрей Санкт-Петербург, апрель 2009
  2. 2. Меня зовут Андрей Ситник andrey@sitnik.ru, sitnik.ru Разработчик R18n r18n.rubyforge.org
  3. 3. О чём речь L10n, localization, локализация перевод приложения на другой язык и адаптация к другой культуре (формат даты, чисел и т. д.) I18n, internationalization, интернационализция техническая возможность локализовать программу
  4. 4. Из чего состоит ● Перевод данных ● Перевод интерфейса ● Локализация дат и чисел США: Россия: Индия: 1,000,000.00 1 000 000,00 10,00,000,00 библиотека приложение
  5. 5. Зачем ● MVCT: вынос всего текста в отдельный файл ● Расширение аудитории ● Родной язык всё равно комфортнее ● Наш ответ глобализации
  6. 6. Как. Rails. 1 ● Поставить gem russian ● Выставить язык пользователя: class ApplicationController < … … before_filter :set_locale def set_locale I18n.locale = params[:locale] end end ● См. ещё полезные gem’ы: rails-i18n.org/wiki
  7. 7. Как. 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 %>
  8. 8. Как. Ruby. 1 Установите gem Sinatra: Merb: Desktop: Я сам: sinatra-r18n merb_r18n r18n-desktop r18n-core Всё сразу работает «из коробки». Нужно особая настройка — gem r18n-core.
  9. 9. Как. Ruby. 2 i18n/ru.yml post: name: Заметка %1 comments: !!pl 1: Один комментарий 2: %1 комментария n: %1 комментариев views/post.html.erb <%= i18n.post.name(@name) %> <%= i18n.post.comments(@count) %> <%= i18n.l @created_at %>
  10. 10. Советы разработчикам ● Динамическая вёрстка. Текст на разных языках имеет разную длину. ● Язык в адресе страницы: /ru/post/super ● Список других языков в виде ссылок, а не выпадающего списка
  11. 11. Советы i18n-гикам ● Для иврита и арабского желательно менять направление индикаторов и положение меню ● Используйте веб-сервисы для перевода 99translations.com github.com/newsdesk/translate launchpad.net
  12. 12. Главное I18n — это просто, весело и полезно.
  13. 13. Вопросы? Rails i18n: R18n: rails-i18n.org r18n.rubyforge.org

×