Add a plugin for Russian localization, make it be loaded first.
This commit is contained in:
parent
ef82c90f57
commit
52ef7720d8
0
.openshift/markers/force_clean_build
Normal file
0
.openshift/markers/force_clean_build
Normal file
1
Gemfile
1
Gemfile
@ -1,6 +1,7 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gem 'jekyll', '~> 2.1.0'
|
||||
gem 'i18n'
|
||||
gem 'therubyracer'
|
||||
|
||||
group :development do
|
||||
|
@ -31,6 +31,7 @@ GEM
|
||||
guard (~> 2.0)
|
||||
multi_json (~> 1.8)
|
||||
http_parser.rb (0.6.0)
|
||||
i18n (0.6.9)
|
||||
jekyll (2.1.0)
|
||||
classifier (~> 1.3)
|
||||
colorator (~> 0.1)
|
||||
@ -97,5 +98,6 @@ PLATFORMS
|
||||
|
||||
DEPENDENCIES
|
||||
guard-livereload
|
||||
i18n
|
||||
jekyll (~> 2.1.0)
|
||||
therubyracer
|
||||
|
250
_locales/ru.yml
Normal file
250
_locales/ru.yml
Normal file
@ -0,0 +1,250 @@
|
||||
ru:
|
||||
date:
|
||||
abbr_day_names:
|
||||
- Вс
|
||||
- Пн
|
||||
- Вт
|
||||
- Ср
|
||||
- Чт
|
||||
- Пт
|
||||
- Сб
|
||||
abbr_month_names:
|
||||
-
|
||||
- янв.
|
||||
- февр.
|
||||
- марта
|
||||
- апр.
|
||||
- мая
|
||||
- июня
|
||||
- июля
|
||||
- авг.
|
||||
- сент.
|
||||
- окт.
|
||||
- нояб.
|
||||
- дек.
|
||||
day_names:
|
||||
- воскресенье
|
||||
- понедельник
|
||||
- вторник
|
||||
- среда
|
||||
- четверг
|
||||
- пятница
|
||||
- суббота
|
||||
formats:
|
||||
default: ! '%d.%m.%Y'
|
||||
long: ! '%d %B %Y'
|
||||
short: ! '%d %b'
|
||||
month_names:
|
||||
-
|
||||
- января
|
||||
- февраля
|
||||
- марта
|
||||
- апреля
|
||||
- мая
|
||||
- июня
|
||||
- июля
|
||||
- августа
|
||||
- сентября
|
||||
- октября
|
||||
- ноября
|
||||
- декабря
|
||||
order:
|
||||
- :day
|
||||
- :month
|
||||
- :year
|
||||
datetime:
|
||||
distance_in_words:
|
||||
about_x_hours:
|
||||
few: около %{count} часов
|
||||
many: около %{count} часов
|
||||
one: около %{count} часа
|
||||
other: около %{count} часа
|
||||
about_x_months:
|
||||
few: около %{count} месяцев
|
||||
many: около %{count} месяцев
|
||||
one: около %{count} месяца
|
||||
other: около %{count} месяца
|
||||
about_x_years:
|
||||
few: около %{count} лет
|
||||
many: около %{count} лет
|
||||
one: около %{count} года
|
||||
other: около %{count} лет
|
||||
almost_x_years:
|
||||
one: почти 1 год
|
||||
few: почти %{count} года
|
||||
many: почти %{count} лет
|
||||
other: почти %{count} лет
|
||||
half_a_minute: меньше минуты
|
||||
less_than_x_minutes:
|
||||
few: меньше %{count} минут
|
||||
many: меньше %{count} минут
|
||||
one: меньше %{count} минуты
|
||||
other: меньше %{count} минуты
|
||||
less_than_x_seconds:
|
||||
few: меньше %{count} секунд
|
||||
many: меньше %{count} секунд
|
||||
one: меньше %{count} секунды
|
||||
other: меньше %{count} секунды
|
||||
over_x_years:
|
||||
few: больше %{count} лет
|
||||
many: больше %{count} лет
|
||||
one: больше %{count} года
|
||||
other: больше %{count} лет
|
||||
x_days:
|
||||
few: ! '%{count} дня'
|
||||
many: ! '%{count} дней'
|
||||
one: ! '%{count} день'
|
||||
other: ! '%{count} дня'
|
||||
x_minutes:
|
||||
few: ! '%{count} минуты'
|
||||
many: ! '%{count} минут'
|
||||
one: ! '%{count} минуту'
|
||||
other: ! '%{count} минуты'
|
||||
x_months:
|
||||
few: ! '%{count} месяца'
|
||||
many: ! '%{count} месяцев'
|
||||
one: ! '%{count} месяц'
|
||||
other: ! '%{count} месяца'
|
||||
x_seconds:
|
||||
few: ! '%{count} секунды'
|
||||
many: ! '%{count} секунд'
|
||||
one: ! '%{count} секундy'
|
||||
other: ! '%{count} секунды'
|
||||
prompts:
|
||||
day: День
|
||||
hour: Часов
|
||||
minute: Минут
|
||||
month: Месяц
|
||||
second: Секунд
|
||||
year: Год
|
||||
errors: &errors
|
||||
format: ! '%{attribute} %{message}'
|
||||
messages:
|
||||
accepted: нужно подтвердить
|
||||
blank: не может быть пустым
|
||||
confirmation: не совпадает с подтверждением
|
||||
empty: не может быть пустым
|
||||
equal_to: может иметь лишь значение, равное %{count}
|
||||
even: может иметь лишь нечетное значение
|
||||
exclusion: имеет зарезервированное значение
|
||||
greater_than: может иметь значение большее %{count}
|
||||
greater_than_or_equal_to: может иметь значение большее или равное %{count}
|
||||
inclusion: имеет непредусмотренное значение
|
||||
invalid: имеет неверное значение
|
||||
less_than: может иметь значение меньшее чем %{count}
|
||||
less_than_or_equal_to: может иметь значение меньшее или равное %{count}
|
||||
not_a_number: не является числом
|
||||
not_an_integer: не является целым числом
|
||||
odd: может иметь лишь четное значение
|
||||
record_invalid: ! 'Возникли ошибки: %{errors}'
|
||||
taken: уже существует
|
||||
too_long:
|
||||
few: слишком большой длины (не может быть больше чем %{count} символа)
|
||||
many: слишком большой длины (не может быть больше чем %{count} символов)
|
||||
one: слишком большой длины (не может быть больше чем %{count} символ)
|
||||
other: слишком большой длины (не может быть больше чем %{count} символа)
|
||||
too_short:
|
||||
few: недостаточной длины (не может быть меньше %{count} символов)
|
||||
many: недостаточной длины (не может быть меньше %{count} символов)
|
||||
one: недостаточной длины (не может быть меньше %{count} символа)
|
||||
other: недостаточной длины (не может быть меньше %{count} символа)
|
||||
wrong_length:
|
||||
few: неверной длины (может быть длиной ровно %{count} символа)
|
||||
many: неверной длины (может быть длиной ровно %{count} символов)
|
||||
one: неверной длины (может быть длиной ровно %{count} символ)
|
||||
other: неверной длины (может быть длиной ровно %{count} символа)
|
||||
template:
|
||||
body: ! 'Проблемы возникли со следующими полями:'
|
||||
header:
|
||||
few: ! '%{model}: сохранение не удалось из-за %{count} ошибок'
|
||||
many: ! '%{model}: сохранение не удалось из-за %{count} ошибок'
|
||||
one: ! '%{model}: сохранение не удалось из-за %{count} ошибки'
|
||||
other: ! '%{model}: сохранение не удалось из-за %{count} ошибки'
|
||||
helpers:
|
||||
select:
|
||||
prompt: ! 'Выберите: '
|
||||
submit:
|
||||
create: Создать %{model}
|
||||
submit: Сохранить %{model}
|
||||
update: Сохранить %{model}
|
||||
number:
|
||||
currency:
|
||||
format:
|
||||
delimiter: ! ' '
|
||||
format: ! '%n %u'
|
||||
precision: 2
|
||||
separator: ','
|
||||
significant: false
|
||||
strip_insignificant_zeros: false
|
||||
unit: руб.
|
||||
format:
|
||||
delimiter: ! ' '
|
||||
precision: 3
|
||||
separator: ','
|
||||
significant: false
|
||||
strip_insignificant_zeros: false
|
||||
human:
|
||||
decimal_units:
|
||||
format: ! '%n %u'
|
||||
units:
|
||||
billion:
|
||||
few: миллиардов
|
||||
many: миллиардов
|
||||
one: миллиард
|
||||
other: миллиардов
|
||||
million:
|
||||
few: миллионов
|
||||
many: миллионов
|
||||
one: миллион
|
||||
other: миллионов
|
||||
quadrillion:
|
||||
few: квадриллионов
|
||||
many: квадриллионов
|
||||
one: квадриллион
|
||||
other: квадриллионов
|
||||
thousand:
|
||||
few: тысяч
|
||||
many: тысяч
|
||||
one: тысяча
|
||||
other: тысяч
|
||||
trillion:
|
||||
few: триллионов
|
||||
many: триллионов
|
||||
one: триллион
|
||||
other: триллионов
|
||||
unit: ''
|
||||
format:
|
||||
delimiter: ''
|
||||
precision: 1
|
||||
significant: false
|
||||
strip_insignificant_zeros: false
|
||||
storage_units:
|
||||
format: ! '%n %u'
|
||||
units:
|
||||
byte:
|
||||
few: байта
|
||||
many: байт
|
||||
one: байт
|
||||
other: байта
|
||||
gb: ГБ
|
||||
kb: КБ
|
||||
mb: МБ
|
||||
tb: ТБ
|
||||
percentage:
|
||||
format:
|
||||
delimiter: ''
|
||||
precision:
|
||||
format:
|
||||
delimiter: ''
|
||||
support:
|
||||
array:
|
||||
last_word_connector: ! ' и '
|
||||
two_words_connector: ! ' и '
|
||||
words_connector: ! ', '
|
||||
time:
|
||||
am: утра
|
||||
formats:
|
||||
default: ! '%a, %d %b %Y, %H:%M:%S %z'
|
||||
long: ! '%d %B %Y, %H:%M'
|
||||
short: ! '%d %b, %H:%M'
|
||||
pm: вечера
|
27
_plugins/1-i18n_filter.rb
Normal file
27
_plugins/1-i18n_filter.rb
Normal file
@ -0,0 +1,27 @@
|
||||
require 'i18n'
|
||||
|
||||
LOCALE = :ru # set your locale
|
||||
|
||||
# Create folder "_locales" and put some locale file from
|
||||
# https://github.com/svenfuchs/rails-i18n/tree/master/rails/locale
|
||||
module Jekyll
|
||||
module I18nFilter
|
||||
# Example:
|
||||
# {{ post.date | localize: "%d.%m.%Y" }}
|
||||
# {{ post.date | localize: ":short" }}
|
||||
def localize(input, format=nil)
|
||||
load_translations
|
||||
format = (format =~ /^:(\w+)/) ? $1.to_sym : format
|
||||
I18n.l input, :format => format
|
||||
end
|
||||
|
||||
def load_translations
|
||||
unless I18n::backend.instance_variable_get(:@translations)
|
||||
I18n.backend.load_translations Dir[File.join(File.dirname(__FILE__), '../_locales/*.yml')]
|
||||
I18n.locale = LOCALE
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Liquid::Template.register_filter(Jekyll::I18nFilter)
|
Loading…
Reference in New Issue
Block a user