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'
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
gem 'jekyll', '~> 2.1.0'
|
gem 'jekyll', '~> 2.1.0'
|
||||||
|
gem 'i18n'
|
||||||
gem 'therubyracer'
|
gem 'therubyracer'
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
|
@ -31,6 +31,7 @@ GEM
|
|||||||
guard (~> 2.0)
|
guard (~> 2.0)
|
||||||
multi_json (~> 1.8)
|
multi_json (~> 1.8)
|
||||||
http_parser.rb (0.6.0)
|
http_parser.rb (0.6.0)
|
||||||
|
i18n (0.6.9)
|
||||||
jekyll (2.1.0)
|
jekyll (2.1.0)
|
||||||
classifier (~> 1.3)
|
classifier (~> 1.3)
|
||||||
colorator (~> 0.1)
|
colorator (~> 0.1)
|
||||||
@ -97,5 +98,6 @@ PLATFORMS
|
|||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
guard-livereload
|
guard-livereload
|
||||||
|
i18n
|
||||||
jekyll (~> 2.1.0)
|
jekyll (~> 2.1.0)
|
||||||
therubyracer
|
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