Upcoming SlideShare
Loading in...5
×
 

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

on

  • 2,415 views

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

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

Statistics

Views

Total Views
2,415
Views on SlideShare
2,410
Embed Views
5

Actions

Likes
0
Downloads
2
Comments
0

1 Embed 5

http://www.slideshare.net 5

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • I18n ruby-приложений Ситник Андрей Санкт-Петербург, апрель 2009
  • Меня зовут Андрей Ситник [email_address] , sitnik.ru Разработчик R18n r18n.rubyforge.org
  • О чём речь L10n, l ocalizatio n , локализация перевод приложения на другой язык и адаптация к другой культуре (формат даты, чисел и т. д.) I18n, i nternationalizatio n , интернационализция техническая возможность локализовать программу
  • Из чего состоит
    • Перевод данных
    • Перевод интерфейса
    • Локализация дат и чисел США: Россия: Индия:
    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: Merb: Desktop: Я сам: sinatra-r18n merb_r18n r18n-desktop r18n-core Всё сразу работает «из коробки». Нужно особая настройка — gem r18n-core.
  • Как. 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 %>
  • Советы разработчикам
    • Динамическая вёрстка. Текст на разных языках имеет разную длину.
    • Язык в адресе страницы: / ru /post/super
    • Список других языков в виде ссылок, а не выпадающего списка
  • Советы i18n-гикам
    • Для иврита и арабского желательно менять направление индикаторов и положение меню
    • Используйте веб-сервисы для перевода 99translations.com github.com/newsdesk/translate launchpad.net
  • Главное I18n — это просто, весело и полезно.
  • Вопросы? Rails i18n: R18n: rails-i18n.org r18n.rubyforge.org