refinerycms-i18n 2.0.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +27 -9
  3. data/Gemfile +17 -7
  4. data/Rakefile +2 -0
  5. data/app/assets/images/refinery/icons/flags/ko.png +0 -0
  6. data/app/assets/images/refinery/icons/flags/{ua.png → uk.png} +0 -0
  7. data/lib/generators/refinery/i18n_generator.rb +2 -1
  8. data/lib/generators/refinery/templates/config/initializers/refinery/i18n.rb.erb +0 -2
  9. data/lib/refinery/i18n-filter.rb +4 -4
  10. data/lib/refinery/i18n.rb +10 -6
  11. data/lib/refinery/i18n/configuration.rb +10 -2
  12. data/lib/refinery/i18n/engine.rb +20 -18
  13. data/refinerycms-i18n.gemspec +8 -6
  14. data/script/rails +5 -0
  15. data/spec/{requests → features}/dashboard_locale_picker_spec.rb +2 -2
  16. data/spec/spec_helper.rb +20 -46
  17. data/spec/support/refinery/i18n/set_defaults.rb +17 -0
  18. metadata +25 -97
  19. data/config/locales/ar.yml +0 -124
  20. data/config/locales/bg.yml +0 -280
  21. data/config/locales/bn-IN.yml +0 -183
  22. data/config/locales/bs.yml +0 -117
  23. data/config/locales/ca.yml +0 -170
  24. data/config/locales/cs.rb +0 -168
  25. data/config/locales/cy.yml +0 -181
  26. data/config/locales/da.yml +0 -195
  27. data/config/locales/de-AT.yml +0 -154
  28. data/config/locales/de-CH.yml +0 -154
  29. data/config/locales/de.yml +0 -193
  30. data/config/locales/dsb.yml +0 -185
  31. data/config/locales/el.yml +0 -133
  32. data/config/locales/en-AU.yml +0 -180
  33. data/config/locales/en-GB.yml +0 -210
  34. data/config/locales/en-US.yml +0 -182
  35. data/config/locales/eo.yml +0 -182
  36. data/config/locales/es-AR.yml +0 -177
  37. data/config/locales/es-CO.yml +0 -179
  38. data/config/locales/es-MX.yml +0 -186
  39. data/config/locales/es-PE.yml +0 -124
  40. data/config/locales/es.yml +0 -285
  41. data/config/locales/et.yml +0 -187
  42. data/config/locales/eu.yml +0 -264
  43. data/config/locales/fa.yml +0 -143
  44. data/config/locales/fi.yml +0 -155
  45. data/config/locales/fr-CA.yml +0 -187
  46. data/config/locales/fr-CH.yml +0 -184
  47. data/config/locales/fr.yml +0 -182
  48. data/config/locales/fun/en-AU.rb +0 -105
  49. data/config/locales/fun/gibberish.rb +0 -109
  50. data/config/locales/fur.yml +0 -144
  51. data/config/locales/gl-ES.yml +0 -196
  52. data/config/locales/gsw-CH.yml +0 -182
  53. data/config/locales/he.yml +0 -106
  54. data/config/locales/hi-IN.yml +0 -181
  55. data/config/locales/hi.yml +0 -181
  56. data/config/locales/hr.yml +0 -119
  57. data/config/locales/hsb.yml +0 -193
  58. data/config/locales/hu.yml +0 -147
  59. data/config/locales/id.yml +0 -142
  60. data/config/locales/is.yml +0 -145
  61. data/config/locales/it.yml +0 -198
  62. data/config/locales/ja.yml +0 -191
  63. data/config/locales/ko.yml +0 -186
  64. data/config/locales/lo.yml +0 -204
  65. data/config/locales/lt.yml +0 -144
  66. data/config/locales/lv.yml +0 -181
  67. data/config/locales/mk.yml +0 -118
  68. data/config/locales/mn.yml +0 -159
  69. data/config/locales/nb.yml +0 -140
  70. data/config/locales/nl.yml +0 -186
  71. data/config/locales/nn.yml +0 -99
  72. data/config/locales/pl.yml +0 -193
  73. data/config/locales/pt-BR.yml +0 -208
  74. data/config/locales/pt-PT.yml +0 -190
  75. data/config/locales/rm.yml +0 -137
  76. data/config/locales/ro.yml +0 -155
  77. data/config/locales/ru.yml +0 -213
  78. data/config/locales/sk.yml +0 -195
  79. data/config/locales/sl.yml +0 -193
  80. data/config/locales/sr-Latn.yml +0 -119
  81. data/config/locales/sr.yml +0 -119
  82. data/config/locales/sv.yml +0 -244
  83. data/config/locales/sw.yml +0 -182
  84. data/config/locales/th.rb +0 -200
  85. data/config/locales/tr.yml +0 -142
  86. data/config/locales/uk.yml +0 -240
  87. data/config/locales/vi.yml +0 -201
  88. data/config/locales/zh-CN.yml +0 -210
  89. data/config/locales/zh-TW.yml +0 -210
  90. data/lib/gemspec.rb +0 -29
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9f3cc913b0e9ae54c7e114a610b2f7ba25c66ce7
4
+ data.tar.gz: a99c91f97d16ece099057864ccdfffe125da92f6
5
+ SHA512:
6
+ metadata.gz: 38d9ace175d27ca988b29b2248994f1a986bd6f3a1f3aebf5001c39152bb1c27fcad762fd01bd6279d308ef7489453db7c88792cb7c339cfb2c09448038e2316
7
+ data.tar.gz: 3070b164f87a116dc689bd2fe9da46042885b0dc20cff7d6ba175df0817a2c9fcb79b98246c97c6aff9af1c55fa4a8345eb6d5faaed072bab8c0f79edc59c17f
data/.travis.yml CHANGED
@@ -1,17 +1,35 @@
1
+ language: ruby
2
+ before_install:
3
+ - 'if [[ "$TRAVIS_RUBY_VERSION" =~ "jruby" ]] ; then gem update --system ; fi'
4
+ - gem install bundler
5
+ install:
6
+ - bundle install --without development
1
7
  before_script:
8
+ - "sh -e /etc/init.d/xvfb start"
2
9
  - "bundle exec rake refinery:testing:dummy_app > /dev/null"
3
- script: "bundle exec rspec ./spec"
10
+ script:
11
+ - "DISPLAY=:99.0 bundle exec rspec spec"
4
12
  notifications:
5
- email:
6
- - parndt@gmail.com
7
- - ugis.ozolss@gmail.com
13
+ email: true
14
+ irc:
15
+ use_notice: true
16
+ skip_join: true
17
+ channels:
18
+ - "irc.freenode.org#refinerycms"
19
+ campfire:
20
+ on_success: always
21
+ on_failure: always
22
+ rooms:
23
+ - secure: "JaX+Ckvdd2wqL2bD6t8PHvMDBHxWBlCrkBKPcDKxV0t0DOwzzzwxMryVqcRi\nPsmM/zvmWFATDyRmivhNOpu4lRg9RytSroxZ9nkmbLDqjCyEAZ6tv4yZXME/\nPaxPwmfwgS9g8TKjj3lSWS7rEpqqg0D5S0XIfIHrj6KB6LUmFHc="
8
24
  env:
9
- - DB=sqlite3
25
+ - DB=postgresql
26
+ - DB=mysql
10
27
  matrix:
11
28
  allow_failures:
12
- - rvm: rbx
29
+ - rvm: rbx-19mode
30
+ - rvm: jruby-19mode
13
31
  rvm:
14
- - 1.8.7
32
+ - 2.0.0
15
33
  - 1.9.3
16
- - rbx
17
- - jruby
34
+ - rbx-19mode
35
+ - jruby-19mode
data/Gemfile CHANGED
@@ -1,8 +1,8 @@
1
- source 'http://rubygems.org'
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- git 'git://github.com/resolve/refinerycms.git', :branch => '2-0-stable' do
5
+ git 'git://github.com/refinery/refinerycms.git', :branch => 'master' do
6
6
  gem 'refinerycms'
7
7
 
8
8
  group :development, :test do
@@ -13,9 +13,22 @@ end
13
13
  group :development, :test do
14
14
  require 'rbconfig'
15
15
 
16
- gem 'sqlite3', :platform => [:ruby, :mswin, :mingw]
16
+ # Database Configuration
17
+ unless ENV['TRAVIS']
18
+ gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
19
+ gem 'sqlite3', :platform => :ruby
20
+ end
17
21
 
18
- gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
22
+ if !ENV['TRAVIS'] || ENV['DB'] == 'mysql'
23
+ gem 'activerecord-jdbcmysql-adapter', :platform => :jruby
24
+ gem 'jdbc-mysql', '= 5.1.13', :platform => :jruby
25
+ gem 'mysql2', :platform => :ruby
26
+ end
27
+
28
+ if !ENV['TRAVIS'] || ENV['DB'] == 'postgresql'
29
+ gem 'activerecord-jdbcpostgresql-adapter', :platform => :jruby
30
+ gem 'pg', :platform => :ruby
31
+ end
19
32
 
20
33
  platforms :mswin, :mingw do
21
34
  gem 'win32console'
@@ -24,9 +37,6 @@ group :development, :test do
24
37
  end
25
38
 
26
39
  platforms :ruby do
27
- gem 'spork', '0.9.0.rc9'
28
- gem 'guard-spork'
29
-
30
40
  unless ENV['TRAVIS']
31
41
  if RbConfig::CONFIG['target_os'] =~ /darwin/i
32
42
  gem 'rb-fsevent', '>= 0.3.9'
data/Rakefile CHANGED
@@ -17,3 +17,5 @@ Refinery::Testing::Railtie.load_tasks
17
17
  Refinery::Testing::Railtie.load_dummy_tasks(ENGINE_PATH)
18
18
 
19
19
  load File.expand_path('../tasks/rspec.rake', __FILE__)
20
+
21
+ task :default => :spec
@@ -3,7 +3,8 @@ module Refinery
3
3
  source_root File.expand_path('../templates', __FILE__)
4
4
 
5
5
  def generate_refinery_i18n_initializer
6
- template "config/initializers/refinery/i18n.rb.erb", File.join(destination_root, "config", "initializers", "refinery", "i18n.rb")
6
+ template "config/initializers/refinery/i18n.rb.erb",
7
+ File.join(destination_root, "config", "initializers", "refinery", "i18n.rb")
7
8
  end
8
9
 
9
10
  end
@@ -1,8 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  Refinery::I18n.configure do |config|
4
- # config.enabled = <%= Refinery::I18n.config.enabled.inspect %>
5
-
6
4
  # config.default_locale = <%= Refinery::I18n.config.default_locale.inspect %>
7
5
 
8
6
  # config.current_locale = <%= Refinery::I18n.config.current_locale.inspect %>
@@ -2,7 +2,7 @@ module RoutingFilter
2
2
  class RefineryLocales < Filter
3
3
 
4
4
  def around_recognize(path, env, &block)
5
- if ::Refinery::I18n.enabled?
5
+ if ::Refinery::I18n.url_filter_enabled?
6
6
  if path =~ %r{^/(#{::Refinery::I18n.locales.keys.join('|')})(/|$)}
7
7
  path.sub! %r(^/(([a-zA-Z\-_])*)(?=/|$)) do
8
8
  ::I18n.locale = $1
@@ -15,7 +15,7 @@ module RoutingFilter
15
15
  end
16
16
 
17
17
  yield.tap do |params|
18
- params[:locale] = ::I18n.locale if ::Refinery::I18n.enabled?
18
+ params[:locale] = ::I18n.locale
19
19
  end
20
20
  end
21
21
 
@@ -24,9 +24,9 @@ module RoutingFilter
24
24
 
25
25
  yield.tap do |result|
26
26
  result = result.is_a?(Array) ? result.first : result
27
- if ::Refinery::I18n.enabled? and
27
+ if ::Refinery::I18n.url_filter_enabled? and
28
28
  locale != ::Refinery::I18n.default_frontend_locale and
29
- result !~ %r{^/(refinery|wymiframe)}
29
+ result !~ %r{^/(#{Refinery::Core.backend_route}|wymiframe)}
30
30
  result.sub!(%r(^(http.?://[^/]*)?(.*))) { "#{$1}/#{locale}#{$2}" }
31
31
  end
32
32
  end
data/lib/refinery/i18n.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # Encoding: UTF-8 <-- required, please leave this in.
2
2
  require 'refinerycms-core'
3
3
  require 'routing-filter'
4
+ require 'rails-i18n'
4
5
 
5
6
  module Refinery
6
7
  autoload :I18nGenerator, 'generators/refinery/i18n_generator'
@@ -14,7 +15,8 @@ module Refinery
14
15
  :en => 'English',
15
16
  :fr => 'Français',
16
17
  :nl => 'Nederlands',
17
- :'pt-BR' => 'Português',
18
+ :pt => 'Português',
19
+ :'pt-BR' => 'Português brasileiro',
18
20
  :da => 'Dansk',
19
21
  :nb => 'Norsk Bokmål',
20
22
  :sl => 'Slovenian',
@@ -25,14 +27,16 @@ module Refinery
25
27
  :ru => 'Русский',
26
28
  :sv => 'Svenska',
27
29
  :pl => 'Polski',
28
- :'zh-CN' => 'Simplified Chinese',
29
- :'zh-TW' => 'Traditional Chinese',
30
+ :'zh-CN' => '简体中文',
31
+ :'zh-TW' => '繁體中文',
30
32
  :el => 'Ελληνικά',
31
33
  :rs => 'Srpski',
32
34
  :cs => 'Česky',
33
35
  :sk => 'Slovenský',
34
36
  :ja => '日本語',
35
- :bg => 'Български'
37
+ :bg => 'Български',
38
+ :hu => 'Hungarian',
39
+ :uk => 'Українська'
36
40
  }
37
41
  end
38
42
 
@@ -46,8 +50,8 @@ module Refinery
46
50
  end
47
51
  end
48
52
 
49
- def enabled?
50
- config.enabled
53
+ def url_filter_enabled?
54
+ config.url_filter_enabled
51
55
  end
52
56
 
53
57
  def has_locale?(locale)
@@ -3,13 +3,21 @@ module Refinery
3
3
  include ActiveSupport::Configurable
4
4
 
5
5
  config_accessor :current_locale, :default_locale, :default_frontend_locale,
6
- :enabled, :frontend_locales, :locales
6
+ :fallbacks_enabled, :frontend_locales, :locales,
7
+ :url_filter_enabled
7
8
 
8
- self.enabled = true
9
9
  self.default_locale = :en
10
10
  self.default_frontend_locale = self.default_locale
11
11
  self.current_locale = self.default_locale
12
+ self.fallbacks_enabled = true
12
13
  self.frontend_locales = [self.default_frontend_locale]
13
14
  self.locales = self.built_in_locales
15
+ self.url_filter_enabled = true
16
+
17
+ def self.frontend_locales
18
+ config.frontend_locales.select do |locale|
19
+ config.locales.keys.include?(locale)
20
+ end
21
+ end
14
22
  end
15
23
  end
@@ -7,32 +7,34 @@ module Refinery
7
7
  end
8
8
 
9
9
  initializer "configure fallbacks" do
10
- require "i18n/backend/fallbacks"
11
- if defined?(::I18n::Backend::Simple) && defined?(::I18n::Backend::Fallbacks)
12
- ::I18n::Backend::Simple.send(:include, ::I18n::Backend::Fallbacks)
10
+ if ::Refinery::I18n.fallbacks_enabled
11
+ require "i18n/backend/fallbacks"
12
+ if defined?(::I18n::Backend::Simple) && defined?(::I18n::Backend::Fallbacks)
13
+ ::I18n::Backend::Simple.send(:include, ::I18n::Backend::Fallbacks)
14
+ end
13
15
  end
14
16
  end
15
17
 
16
18
  config.to_prepare do
17
19
  ::ApplicationController.module_eval do
18
- def default_url_options(options={})
19
- ::Refinery::I18n.enabled? ? { :locale => ::I18n.locale } : {}
20
+ def default_url_options_with_locale
21
+ locale_param=(::Refinery::I18n.config.enabled? && ::I18n.locale != ::Refinery::I18n.default_frontend_locale) ? { :locale => ::I18n.locale } : {}
22
+ default_url_options_without_locale.reverse_merge locale_param
20
23
  end
24
+ alias_method_chain :default_url_options, :locale
21
25
 
22
26
  def find_or_set_locale
23
- if ::Refinery::I18n.enabled?
24
- ::I18n.locale = ::Refinery::I18n.current_frontend_locale
27
+ ::I18n.locale = ::Refinery::I18n.current_frontend_locale
25
28
 
26
- if ::Refinery::I18n.has_locale?(locale = params[:locale].try(:to_sym))
27
- ::I18n.locale = locale
28
- elsif locale.present? and locale != ::Refinery::I18n.default_frontend_locale
29
- params[:locale] = ::I18n.locale = ::Refinery::I18n.default_frontend_locale
30
- redirect_to(params, :notice => "The locale '#{locale}' is not supported.") and return
31
- else
32
- ::I18n.locale = ::Refinery::I18n.default_frontend_locale
33
- end
34
- Thread.current[:globalize_locale] = ::I18n.locale
29
+ if ::Refinery::I18n.has_locale?(locale = params[:locale].try(:to_sym))
30
+ ::I18n.locale = locale
31
+ elsif locale.present? and locale != ::Refinery::I18n.default_frontend_locale
32
+ params[:locale] = ::I18n.locale = ::Refinery::I18n.default_frontend_locale
33
+ redirect_to(params, :notice => "The locale '#{locale}' is not supported.") and return
34
+ else
35
+ ::I18n.locale = ::Refinery::I18n.default_frontend_locale
35
36
  end
37
+ Thread.current[:globalize_locale] = ::I18n.locale
36
38
  end
37
39
 
38
40
  prepend_before_filter :find_or_set_locale
@@ -66,12 +68,12 @@ module Refinery
66
68
  end
67
69
  end
68
70
 
69
- config.after_initialize do
71
+ initializer "register refinery_i18n plugin" do
70
72
  ::Refinery::Plugin.register do |plugin|
71
73
  plugin.name = "refinery_i18n"
72
- plugin.version = %q{2.0.0}
73
74
  plugin.hide_from_menu = true
74
75
  plugin.always_allow_access = true
76
+ plugin.pathname = root
75
77
  end
76
78
  end
77
79
 
@@ -1,17 +1,19 @@
1
+ # encoding: utf-8
2
+
1
3
  Gem::Specification.new do |s|
2
4
  s.name = %q{refinerycms-i18n}
3
- s.version = %q{2.0.2}
5
+ s.version = %q{2.1.0}
4
6
  s.description = %q{i18n logic extracted from Refinery CMS, for Refinery CMS.}
5
- s.date = %q{2012-08-03}
6
7
  s.summary = %q{i18n logic for Refinery CMS.}
7
8
  s.email = %q{info@refinerycms.com}
8
9
  s.homepage = %q{http://refinerycms.com}
9
- s.authors = ['Philip Arndt']
10
+ s.authors = ['Philip Arndt', 'Uģis Ozols']
10
11
  s.require_paths = %w(lib)
11
-
12
- s.add_dependency 'refinerycms-core', '~> 2.0.0'
13
- s.add_dependency 'routing-filter', '>= 0.2.3'
12
+ s.license = %q{MIT}
14
13
 
15
14
  s.files = `git ls-files`.split("\n")
16
15
  s.test_files = `git ls-files -- spec/*`.split("\n")
16
+
17
+ s.add_dependency 'routing-filter', '~> 0.3.0'
18
+ s.add_dependency 'rails-i18n', '~> 0.7.3'
17
19
  end
data/script/rails ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ ENGINE_PATH = File.expand_path('../..', __FILE__)
5
+ load File.expand_path('../../spec/dummy/script/rails', __FILE__)
@@ -2,9 +2,9 @@
2
2
  require "spec_helper"
3
3
 
4
4
  describe "dashboard locale picker" do
5
- login_refinery_user
5
+ refinery_login_with :refinery_user
6
6
 
7
- it "changes language used in backend" do
7
+ it "changes language used in backend", :js => true do
8
8
  visit refinery.admin_dashboard_path
9
9
 
10
10
  page.should have_content("Switch to your website")
data/spec/spec_helper.rb CHANGED
@@ -1,56 +1,30 @@
1
1
  require 'rubygems'
2
2
 
3
- def setup_environment
4
- # Configure Rails Environment
5
- ENV["RAILS_ENV"] ||= 'test'
3
+ # Configure Rails Environment
4
+ ENV["RAILS_ENV"] ||= 'test'
6
5
 
7
- require File.expand_path("../dummy/config/environment", __FILE__)
6
+ require File.expand_path("../dummy/config/environment", __FILE__)
8
7
 
9
- require 'rspec/rails'
10
- require 'capybara/rspec'
11
- require 'factory_girl_rails'
8
+ require 'rspec/rails'
9
+ require 'capybara/rspec'
10
+ require 'factory_girl_rails'
12
11
 
13
- Rails.backtrace_cleaner.remove_silencers!
12
+ Rails.backtrace_cleaner.remove_silencers!
14
13
 
15
- RSpec.configure do |config|
16
- config.mock_with :rspec
17
- config.treat_symbols_as_metadata_keys_with_true_values = true
18
- config.filter_run :focus => true
19
- config.run_all_when_everything_filtered = true
20
- end
21
-
22
- # set javascript driver for capybara
23
- Capybara.javascript_driver = :selenium
24
- end
25
-
26
- def each_run
27
- ActiveSupport::Dependencies.clear
28
-
29
- FactoryGirl.reload
30
-
31
- # Requires supporting files with custom matchers and macros, etc,
32
- # in ./support/ and its subdirectories including factories.
33
- ([Rails.root.to_s] | ::Refinery::Plugins.registered.pathnames).map{|p|
34
- Dir[File.join(p, 'spec', 'support', '**', '*.rb').to_s]
35
- }.flatten.sort.each do |support_file|
36
- require support_file
37
- end
14
+ RSpec.configure do |config|
15
+ config.mock_with :rspec
16
+ config.treat_symbols_as_metadata_keys_with_true_values = true
17
+ config.filter_run :focus => true
18
+ config.run_all_when_everything_filtered = true
38
19
  end
39
20
 
40
- # If spork is available in the Gemfile it'll be used but we don't force it.
41
- unless (begin; require 'spork'; rescue LoadError; nil end).nil?
42
- Spork.prefork do
43
- # Loading more in this block will cause your tests to run faster. However,
44
- # if you change any configuration or code from libraries loaded here, you'll
45
- # need to restart spork for it take effect.
46
- setup_environment
47
- end
21
+ # set javascript driver for capybara
22
+ Capybara.javascript_driver = :selenium
48
23
 
49
- Spork.each_run do
50
- # This code will be run each time you run your specs.
51
- each_run
52
- end
53
- else
54
- setup_environment
55
- each_run
24
+ # Requires supporting files with custom matchers and macros, etc,
25
+ # in ./support/ and its subdirectories including factories.
26
+ ([Rails.root.to_s] | ::Refinery::Plugins.registered.pathnames).map{|p|
27
+ Dir[File.join(p, 'spec', 'support', '**', '*.rb').to_s]
28
+ }.flatten.sort.each do |support_file|
29
+ require support_file
56
30
  end
@@ -0,0 +1,17 @@
1
+ # encoding: utf-8
2
+
3
+ RSpec.configure do |config|
4
+ config.before(:all) do
5
+ Refinery::I18n.configure do |config|
6
+ config.default_locale = :en
7
+
8
+ config.current_locale = :en
9
+
10
+ config.default_frontend_locale = :en
11
+
12
+ config.frontend_locales = [:en]
13
+
14
+ config.locales = {:en=>"English", :fr=>"Français", :nl=>"Nederlands", :"pt-BR"=>"Português", :da=>"Dansk", :nb=>"Norsk Bokmål", :sl=>"Slovenian", :es=>"Español", :it=>"Italiano", :de=>"Deutsch", :lv=>"Latviski", :ru=>"Русский", :sv=>"Svenska", :pl=>"Polski", :"zh-CN"=>"Simplified Chinese", :"zh-TW"=>"Traditional Chinese", :el=>"Ελληνικά", :rs=>"Srpski", :cs=>"Česky", :sk=>"Slovenský", :ja=>"日本語", :bg=>"Български"}
15
+ end
16
+ end
17
+ end