I18n ruby-приложений
-
Upload
railsclub -
Category
Technology
-
view
1.261 -
download
1
description
Transcript of I18n ruby-приложений
![Page 1: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/1.jpg)
I18n ruby-приложений
Ситник АндрейСанкт-Петербург, апрель 2009
![Page 3: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/3.jpg)
О чём речь
L10n, localization, локализацияперевод приложения на другой язык и адаптация к другой культуре (формат даты, чисел и т. д.)
I18n, internationalization, интернационализциятехническая возможность локализовать программу
![Page 4: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/4.jpg)
Из чего состоит● Перевод данных● Перевод интерфейса● Локализация дат и чисел
США:Россия:Индия:
1,000,000.001 000 000,0010,00,000,00
библиотека
приложение
![Page 5: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/5.jpg)
Зачем● MVCT: вынос всего текста в отдельный файл● Расширение аудитории● Родной язык всё равно комфортнее● Наш ответ глобализации
![Page 6: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/6.jpg)
Как. Rails. 1● Поставить gem russian● Выставить язык пользователя:
class ApplicationController < … … before_filter :set_locale def set_locale I18n.locale = params[:locale] endend
● См. ещё полезные gem’ы: rails-i18n.org/wiki
![Page 7: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/7.jpg)
Как. Rails. 2config/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 %>
![Page 8: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/8.jpg)
Как. Ruby. 1
Установите gem
Sinatra:Merb:
Desktop:Я сам:
sinatra-r18nmerb_r18nr18n-desktopr18n-core
Всё сразу работает «из коробки».Нужно особая настройка — gem r18n-core.
![Page 9: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/9.jpg)
Как. 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 %>
![Page 10: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/10.jpg)
Советы разработчикам● Динамическая вёрстка. Текст на разных
языках имеет разную длину.● Язык в адресе страницы: /ru/post/super● Список других языков в виде ссылок, а не
выпадающего списка
![Page 11: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/11.jpg)
Советы i18n-гикам● Для иврита и арабского желательно менять
направление индикаторов и положение меню
● Используйте веб-сервисы для перевода99translations.comgithub.com/newsdesk/translatelaunchpad.net
![Page 12: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/12.jpg)
Главное
I18n — это просто, весело и полезно.
![Page 13: I18n ruby-приложений](https://reader035.fdocuments.net/reader035/viewer/2022081209/54bd17404a795932448b4605/html5/thumbnails/13.jpg)
Вопросы?
Rails i18n:R18n:
rails-i18n.orgr18n.rubyforge.org