spree_i18n 1.0.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.
- data/README.md +15 -0
- data/config/locales/ca.yml +1207 -0
- data/config/locales/cs-CZ.yml +1206 -0
- data/config/locales/da.yml +1206 -0
- data/config/locales/de-CH.yml +1206 -0
- data/config/locales/de.yml +1206 -0
- data/config/locales/en-AU.yml +1206 -0
- data/config/locales/en-GB.yml +1206 -0
- data/config/locales/en-IN.yml +1206 -0
- data/config/locales/en-NZ.yml +1206 -0
- data/config/locales/es-MX.yml +1206 -0
- data/config/locales/es.yml +1206 -0
- data/config/locales/et.yml +1206 -0
- data/config/locales/fa.yml +1209 -0
- data/config/locales/fi.yml +1206 -0
- data/config/locales/fr.yml +1206 -0
- data/config/locales/il.yml +1206 -0
- data/config/locales/it.yml +1193 -0
- data/config/locales/ja/spree_api.yml +14 -0
- data/config/locales/ja/spree_auth.yml +46 -0
- data/config/locales/ja/spree_core.rb +16 -0
- data/config/locales/ja/spree_core.yml +1071 -0
- data/config/locales/ja/spree_dash.yml +5 -0
- data/config/locales/ja/spree_promo.yml +88 -0
- data/config/locales/ko.yml +1206 -0
- data/config/locales/lt.yml +1206 -0
- data/config/locales/lv.yml +1206 -0
- data/config/locales/nb-NO.yml +1206 -0
- data/config/locales/nl-BE.yml +1206 -0
- data/config/locales/nl.yml +1134 -0
- data/config/locales/pl.yml +1206 -0
- data/config/locales/pt-BR.yml +1206 -0
- data/config/locales/pt-PT.yml +1206 -0
- data/config/locales/ru.yml +1206 -0
- data/config/locales/sk.yml +1206 -0
- data/config/locales/sl-SI.yml +1206 -0
- data/config/locales/sv-SE.yml +1210 -0
- data/config/locales/th.yml +1206 -0
- data/config/locales/uk.yml +1206 -0
- data/config/locales/vn.yml +1206 -0
- data/config/locales/zh-CN.yml +1206 -0
- data/config/locales/zh-TW.yml +1206 -0
- data/default/spree_api.yml +21 -0
- data/default/spree_auth.yml +46 -0
- data/default/spree_core.yml +1123 -0
- data/default/spree_dash.yml +11 -0
- data/default/spree_promo.yml +92 -0
- data/lib/spree/i18n_utils.rb +50 -0
- data/lib/spree_i18n.rb +2 -0
- data/lib/spree_i18n/railtie.rb +24 -0
- data/lib/tasks/i18n.rake +107 -0
- metadata +224 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
en:
|
|
2
|
+
agree_to_terms_of_service: Agree to Terms of Service
|
|
3
|
+
agree_to_privacy_policy: Agree to Privacy Policy
|
|
4
|
+
already_signed_up_for_analytics: You have already signed up for Spree Analytics
|
|
5
|
+
successfully_signed_up_for_analytics: Successfully signed up for Spree Analytics
|
|
6
|
+
analytics_desc_header_1: Spree Analytics
|
|
7
|
+
analytics_desc_header_2: Live analytics integrated into your Spree dashboard
|
|
8
|
+
analytics_desc_list_1: Get live sales information as it happens
|
|
9
|
+
analytics_desc_list_2: Requires only a free Spree account to activate
|
|
10
|
+
analytics_desc_list_3: Absolutely no code to install
|
|
11
|
+
analytics_desc_list_4: It's completely free!
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
en:
|
|
3
|
+
activerecord:
|
|
4
|
+
attributes:
|
|
5
|
+
spree/promotion:
|
|
6
|
+
advertise: Advertise
|
|
7
|
+
code: Code
|
|
8
|
+
description: Description
|
|
9
|
+
event_name: Event Name
|
|
10
|
+
expires_at: Expires At
|
|
11
|
+
name: Name
|
|
12
|
+
path: Path
|
|
13
|
+
starts_at: Starts At
|
|
14
|
+
usage_limit: Usage Limit
|
|
15
|
+
add_action_of_type: Add action of type
|
|
16
|
+
add_rule_of_type: Add rule of type
|
|
17
|
+
back_to_promotions_list: "Back To Promotions List"
|
|
18
|
+
coupon: Coupon
|
|
19
|
+
coupon_code: Coupon code
|
|
20
|
+
coupon_code_applied: The coupon code was successfully applied to your order.
|
|
21
|
+
editing_promotion: Editing Promotion
|
|
22
|
+
events:
|
|
23
|
+
spree:
|
|
24
|
+
checkout:
|
|
25
|
+
coupon_code_added: Coupon code added
|
|
26
|
+
content:
|
|
27
|
+
visited: Visit static content page
|
|
28
|
+
expiry: Expiry
|
|
29
|
+
free_shipping: Free Shipping
|
|
30
|
+
item_total_rule:
|
|
31
|
+
operators:
|
|
32
|
+
gt: greater than
|
|
33
|
+
gte: greater than or equal to
|
|
34
|
+
landing_page_rule:
|
|
35
|
+
path: Path
|
|
36
|
+
new_promotion: New Promotion
|
|
37
|
+
no_rules_added: No rules added
|
|
38
|
+
percent_per_item: Percent Per Item
|
|
39
|
+
product_rule:
|
|
40
|
+
choose_products: Choose products
|
|
41
|
+
label: "Order must contain %{select} of these products"
|
|
42
|
+
match_any: at least one
|
|
43
|
+
match_all: all
|
|
44
|
+
product_source:
|
|
45
|
+
group: From product group
|
|
46
|
+
manual: Manually choose
|
|
47
|
+
promotion_not_found: The coupon code you entered doesn't exist. Please try again.
|
|
48
|
+
promotion: Promotion
|
|
49
|
+
promotion_action: Promotion Action
|
|
50
|
+
promotion_actions: Actions
|
|
51
|
+
promotion_action_types:
|
|
52
|
+
create_adjustment:
|
|
53
|
+
name: Create adjustment
|
|
54
|
+
description: Creates a promotion credit adjustment on the order
|
|
55
|
+
create_line_items:
|
|
56
|
+
name: Create line items
|
|
57
|
+
description: Populates the cart with the specified quantity of variant
|
|
58
|
+
give_store_credit:
|
|
59
|
+
name: Give store credit
|
|
60
|
+
description: Gives the user store credit of the amount specified
|
|
61
|
+
promotion_form:
|
|
62
|
+
match_policies:
|
|
63
|
+
all: Match all of these rules
|
|
64
|
+
any: Match any of these rules
|
|
65
|
+
promotions: Promotions
|
|
66
|
+
promotions_description: Manage offers and coupons with promotions
|
|
67
|
+
promotion_rule: Promotion Rule
|
|
68
|
+
promotion_rule_types:
|
|
69
|
+
first_order:
|
|
70
|
+
name: First order
|
|
71
|
+
description: "Must be the customer's first order"
|
|
72
|
+
item_total:
|
|
73
|
+
name: Item total
|
|
74
|
+
description: Order total meets these criteria
|
|
75
|
+
landing_page:
|
|
76
|
+
name: Landing Page
|
|
77
|
+
description: Customer must have visited the specified page
|
|
78
|
+
product:
|
|
79
|
+
name: Product(s)
|
|
80
|
+
description: Order includes specified product(s)
|
|
81
|
+
user:
|
|
82
|
+
name: User
|
|
83
|
+
description: Available only to the specified users
|
|
84
|
+
user_logged_in:
|
|
85
|
+
name: User Logged In
|
|
86
|
+
description: Available only to logged in users
|
|
87
|
+
rules: Rules
|
|
88
|
+
spree/order:
|
|
89
|
+
coupon_code: Coupon Code
|
|
90
|
+
user_rule:
|
|
91
|
+
choose_users: Choose users
|
|
92
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require 'active_support/core_ext'
|
|
2
|
+
|
|
3
|
+
module Spree
|
|
4
|
+
module I18nUtils
|
|
5
|
+
|
|
6
|
+
# Retrieve comments, translation data in hash form
|
|
7
|
+
def read_file(filename, basename)
|
|
8
|
+
(comments, data) = IO.read(filename).split(/\n#{basename}:\s*\n/) #Add error checking for failed file read?
|
|
9
|
+
return comments, create_hash(data)
|
|
10
|
+
end
|
|
11
|
+
module_function :read_file
|
|
12
|
+
|
|
13
|
+
# Creates hash of translation data
|
|
14
|
+
def create_hash(data)
|
|
15
|
+
words = Hash.new
|
|
16
|
+
return words if !data
|
|
17
|
+
parent = Array.new
|
|
18
|
+
previous_key = 'base'
|
|
19
|
+
data.split("\n").each do |w|
|
|
20
|
+
next if w.strip.blank? || w.strip[0]=='#'
|
|
21
|
+
(key, value) = w.split(':', 2)
|
|
22
|
+
value ||= ''
|
|
23
|
+
shift = (key =~ /\w/)/2 - parent.size #Determine level of current key in comparison to parent array
|
|
24
|
+
key = key.sub(/^\s+/,'')
|
|
25
|
+
parent << previous_key if shift > 0 #If key is child of previous key, add previous key as parent
|
|
26
|
+
(shift*-1).times { parent.pop } if shift < 0 #If key is not related to previous key, remove parent keys
|
|
27
|
+
previous_key = key #Track key in case next key is child of this key
|
|
28
|
+
words[parent.join(':')+':'+key] = value
|
|
29
|
+
end
|
|
30
|
+
words
|
|
31
|
+
end
|
|
32
|
+
module_function :create_hash
|
|
33
|
+
|
|
34
|
+
# Writes to file from translation data hash structure
|
|
35
|
+
def write_file(filename,basename,comments,words,comment_values=true, fallback_values={})
|
|
36
|
+
File.open(filename, "w") do |log|
|
|
37
|
+
log.puts(comments+"\n"+basename+": \n")
|
|
38
|
+
words.sort.each do |k,v|
|
|
39
|
+
keys = k.split(':')
|
|
40
|
+
(keys.size-1).times { keys[keys.size-1] = ' ' + keys[keys.size-1] } #Add indentation for children keys
|
|
41
|
+
value = v.strip
|
|
42
|
+
value = ("#" + value) if comment_values and not value.blank?
|
|
43
|
+
log.puts "#{keys[keys.size-1]}: #{value}\n"
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
module_function :write_file
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
end
|
data/lib/spree_i18n.rb
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module SpreeI18n
|
|
2
|
+
class Railtie < ::Rails::Railtie #:nodoc:
|
|
3
|
+
initializer 'spree-i18n' do |app|
|
|
4
|
+
SpreeI18n::Railtie.instance_eval do
|
|
5
|
+
pattern = pattern_from app.config.i18n.available_locales
|
|
6
|
+
|
|
7
|
+
add("config/locales/#{pattern}/*.{rb,yml}")
|
|
8
|
+
add("config/locales/#{pattern}.{rb,yml}")
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
protected
|
|
13
|
+
|
|
14
|
+
def self.add(pattern)
|
|
15
|
+
files = Dir[File.join(File.dirname(__FILE__), '../..', pattern)]
|
|
16
|
+
I18n.load_path.concat(files)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def self.pattern_from(args)
|
|
20
|
+
array = Array(args || [])
|
|
21
|
+
array.blank? ? '*' : "{#{array.join ','}}"
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
data/lib/tasks/i18n.rake
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
require 'active_support'
|
|
2
|
+
require 'spree/i18n_utils'
|
|
3
|
+
|
|
4
|
+
namespace :spree_i18n do
|
|
5
|
+
|
|
6
|
+
SPREE_MODULES = [ 'api', 'core', 'dash', 'promo' ].freeze
|
|
7
|
+
|
|
8
|
+
desc "Update by retrieving the latest Spree locale files"
|
|
9
|
+
task :update_default do
|
|
10
|
+
puts "Fetching latest Spree locale file to #{locales_dir}"
|
|
11
|
+
require "uri"; require "net/https"
|
|
12
|
+
SPREE_MODULES.each do |mod|
|
|
13
|
+
location = "https://raw.github.com/spree/spree/master/#{mod}/config/locales/en.yml"
|
|
14
|
+
begin
|
|
15
|
+
uri = URI.parse(location)
|
|
16
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
|
17
|
+
http.use_ssl = true
|
|
18
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
|
19
|
+
puts "Getting from #{uri}"
|
|
20
|
+
request = Net::HTTP::Get.new(uri.request_uri)
|
|
21
|
+
case response = http.request(request)
|
|
22
|
+
when Net::HTTPRedirection then location = response['location']
|
|
23
|
+
when Net::HTTPClientError, Net::HTTPServerError then response.error!
|
|
24
|
+
end
|
|
25
|
+
end until Net::HTTPSuccess === response
|
|
26
|
+
|
|
27
|
+
File.open("#{default_dir}/spree_#{mod}.yml", 'w') { |file| file << response.body }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
desc "Syncronize translation files with latest en (adds comments with fallback en value)"
|
|
32
|
+
task :sync do
|
|
33
|
+
puts "Starting syncronization..."
|
|
34
|
+
words = composite_keys
|
|
35
|
+
Dir["#{locales_dir}/*.yml"].each do |filename|
|
|
36
|
+
basename = File.basename(filename, '.yml')
|
|
37
|
+
(comments, other) = Spree::I18nUtils.read_file(filename, basename)
|
|
38
|
+
words.each { |k,v| other[k] ||= "#{words[k]}" } #Initializing hash variable as en fallback if it does not exist
|
|
39
|
+
other.delete_if { |k,v| !words[k] } #Remove if not defined in en locale
|
|
40
|
+
Spree::I18nUtils.write_file(filename, basename, comments, other, false)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
desc "Create a new translation file based on en"
|
|
45
|
+
task :new do
|
|
46
|
+
unless locale = env_locale
|
|
47
|
+
print "You must provide a valid LOCALE value, for example:\nrake spree:i18:new LOCALE=pt-PT\n"
|
|
48
|
+
exit
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
Spree::I18nUtils.write_file "#{locales_dir}/#{locale}.yml", "#{locale}", '---', composite_keys
|
|
52
|
+
print "New locale generated.\n"
|
|
53
|
+
print "Don't forget to also download the rails translation from: http://github.com/svenfuchs/rails-i18n/tree/master/rails/locale\n"
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
desc "Show translation status for all supported locales other than en."
|
|
57
|
+
task :stats do
|
|
58
|
+
words = composite_keys
|
|
59
|
+
words.delete_if { |k,v| !v.match(/\w+/) or v.match(/^#/) }
|
|
60
|
+
|
|
61
|
+
results = ActiveSupport::OrderedHash.new
|
|
62
|
+
locale = ENV['LOCALE'] || ''
|
|
63
|
+
Dir["#{locales_dir}/*.yml"].each do |filename|
|
|
64
|
+
# next unless filename.match('_spree')
|
|
65
|
+
basename = File.basename(filename, '.yml')
|
|
66
|
+
|
|
67
|
+
# next if basename.starts_with?('en')
|
|
68
|
+
(comments, other) = Spree::I18nUtils.read_file(filename, basename)
|
|
69
|
+
other.delete_if { |k,v| !words[k] } #Remove if not defined in en.yml
|
|
70
|
+
other.delete_if { |k,v| !v.match(/\w+/) or v.match(/#/) }
|
|
71
|
+
|
|
72
|
+
translation_status = 100 * (other.values.size / words.values.size.to_f)
|
|
73
|
+
results[basename] = translation_status
|
|
74
|
+
end
|
|
75
|
+
puts "Translation status:"
|
|
76
|
+
results.sort.each do |basename, translation_status|
|
|
77
|
+
puts "#{basename}\t- #{sprintf('%.1f', translation_status)}%"
|
|
78
|
+
end
|
|
79
|
+
puts
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Returns a composite hash of all relevant translation keys from each of the gems
|
|
83
|
+
def composite_keys
|
|
84
|
+
Hash.new.tap do |hash|
|
|
85
|
+
SPREE_MODULES.each do |mod|
|
|
86
|
+
hash.merge! get_translation_keys("spree_#{mod}")
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def get_translation_keys(gem_name)
|
|
92
|
+
(dummy_comments, words) = Spree::I18nUtils.read_file(File.dirname(__FILE__) + "/../../default/#{gem_name}.yml", "en")
|
|
93
|
+
words
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def locales_dir
|
|
97
|
+
File.join File.dirname(__FILE__), "/../../config/locales"
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def default_dir
|
|
101
|
+
File.join File.dirname(__FILE__), "/../../default"
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def env_locale
|
|
105
|
+
ENV['LOCALE'].presence
|
|
106
|
+
end
|
|
107
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: spree_i18n
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
prerelease:
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- Sean Schofield
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2012-11-18 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: spree
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
18
|
+
requirements:
|
|
19
|
+
- - ~>
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '1.1'
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - ~>
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '1.1'
|
|
30
|
+
- !ruby/object:Gem::Dependency
|
|
31
|
+
name: i18n
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
34
|
+
requirements:
|
|
35
|
+
- - ~>
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: '0.5'
|
|
38
|
+
type: :runtime
|
|
39
|
+
prerelease: false
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
42
|
+
requirements:
|
|
43
|
+
- - ~>
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '0.5'
|
|
46
|
+
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: rails
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
none: false
|
|
50
|
+
requirements:
|
|
51
|
+
- - ! '>='
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: 3.0.0
|
|
54
|
+
type: :development
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ! '>='
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 3.0.0
|
|
62
|
+
- !ruby/object:Gem::Dependency
|
|
63
|
+
name: rspec-rails
|
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
|
65
|
+
none: false
|
|
66
|
+
requirements:
|
|
67
|
+
- - ! '>='
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: 2.7.0
|
|
70
|
+
type: :development
|
|
71
|
+
prerelease: false
|
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ! '>='
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: 2.7.0
|
|
78
|
+
- !ruby/object:Gem::Dependency
|
|
79
|
+
name: i18n-spec
|
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
|
81
|
+
none: false
|
|
82
|
+
requirements:
|
|
83
|
+
- - ! '>='
|
|
84
|
+
- !ruby/object:Gem::Version
|
|
85
|
+
version: '0.2'
|
|
86
|
+
type: :development
|
|
87
|
+
prerelease: false
|
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
+
none: false
|
|
90
|
+
requirements:
|
|
91
|
+
- - ! '>='
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: '0.2'
|
|
94
|
+
- !ruby/object:Gem::Dependency
|
|
95
|
+
name: spork
|
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
|
97
|
+
none: false
|
|
98
|
+
requirements:
|
|
99
|
+
- - ~>
|
|
100
|
+
- !ruby/object:Gem::Version
|
|
101
|
+
version: 1.0rc
|
|
102
|
+
type: :development
|
|
103
|
+
prerelease: false
|
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
+
none: false
|
|
106
|
+
requirements:
|
|
107
|
+
- - ~>
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: 1.0rc
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: sqlite3
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
none: false
|
|
114
|
+
requirements:
|
|
115
|
+
- - ~>
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: 1.3.6
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
none: false
|
|
122
|
+
requirements:
|
|
123
|
+
- - ~>
|
|
124
|
+
- !ruby/object:Gem::Version
|
|
125
|
+
version: 1.3.6
|
|
126
|
+
- !ruby/object:Gem::Dependency
|
|
127
|
+
name: i18n-spec
|
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
|
129
|
+
none: false
|
|
130
|
+
requirements:
|
|
131
|
+
- - ! '>='
|
|
132
|
+
- !ruby/object:Gem::Version
|
|
133
|
+
version: '0'
|
|
134
|
+
type: :development
|
|
135
|
+
prerelease: false
|
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
+
none: false
|
|
138
|
+
requirements:
|
|
139
|
+
- - ! '>='
|
|
140
|
+
- !ruby/object:Gem::Version
|
|
141
|
+
version: '0'
|
|
142
|
+
description: Provides locale information for use in Spree.
|
|
143
|
+
email: sean@railsdog.com
|
|
144
|
+
executables: []
|
|
145
|
+
extensions: []
|
|
146
|
+
extra_rdoc_files: []
|
|
147
|
+
files:
|
|
148
|
+
- README.md
|
|
149
|
+
- default/spree_api.yml
|
|
150
|
+
- default/spree_auth.yml
|
|
151
|
+
- default/spree_core.yml
|
|
152
|
+
- default/spree_dash.yml
|
|
153
|
+
- default/spree_promo.yml
|
|
154
|
+
- config/locales/ca.yml
|
|
155
|
+
- config/locales/cs-CZ.yml
|
|
156
|
+
- config/locales/da.yml
|
|
157
|
+
- config/locales/de-CH.yml
|
|
158
|
+
- config/locales/de.yml
|
|
159
|
+
- config/locales/en-AU.yml
|
|
160
|
+
- config/locales/en-GB.yml
|
|
161
|
+
- config/locales/en-IN.yml
|
|
162
|
+
- config/locales/en-NZ.yml
|
|
163
|
+
- config/locales/es-MX.yml
|
|
164
|
+
- config/locales/es.yml
|
|
165
|
+
- config/locales/et.yml
|
|
166
|
+
- config/locales/fa.yml
|
|
167
|
+
- config/locales/fi.yml
|
|
168
|
+
- config/locales/fr.yml
|
|
169
|
+
- config/locales/il.yml
|
|
170
|
+
- config/locales/it.yml
|
|
171
|
+
- config/locales/ja/spree_api.yml
|
|
172
|
+
- config/locales/ja/spree_auth.yml
|
|
173
|
+
- config/locales/ja/spree_core.rb
|
|
174
|
+
- config/locales/ja/spree_core.yml
|
|
175
|
+
- config/locales/ja/spree_dash.yml
|
|
176
|
+
- config/locales/ja/spree_promo.yml
|
|
177
|
+
- config/locales/ko.yml
|
|
178
|
+
- config/locales/lt.yml
|
|
179
|
+
- config/locales/lv.yml
|
|
180
|
+
- config/locales/nb-NO.yml
|
|
181
|
+
- config/locales/nl-BE.yml
|
|
182
|
+
- config/locales/nl.yml
|
|
183
|
+
- config/locales/pl.yml
|
|
184
|
+
- config/locales/pt-BR.yml
|
|
185
|
+
- config/locales/pt-PT.yml
|
|
186
|
+
- config/locales/ru.yml
|
|
187
|
+
- config/locales/sk.yml
|
|
188
|
+
- config/locales/sl-SI.yml
|
|
189
|
+
- config/locales/sv-SE.yml
|
|
190
|
+
- config/locales/th.yml
|
|
191
|
+
- config/locales/uk.yml
|
|
192
|
+
- config/locales/vn.yml
|
|
193
|
+
- config/locales/zh-CN.yml
|
|
194
|
+
- config/locales/zh-TW.yml
|
|
195
|
+
- lib/spree/i18n_utils.rb
|
|
196
|
+
- lib/spree_i18n/railtie.rb
|
|
197
|
+
- lib/spree_i18n.rb
|
|
198
|
+
- lib/tasks/i18n.rake
|
|
199
|
+
homepage: http://spreecommerce.com
|
|
200
|
+
licenses: []
|
|
201
|
+
post_install_message:
|
|
202
|
+
rdoc_options: []
|
|
203
|
+
require_paths:
|
|
204
|
+
- lib
|
|
205
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
206
|
+
none: false
|
|
207
|
+
requirements:
|
|
208
|
+
- - ! '>='
|
|
209
|
+
- !ruby/object:Gem::Version
|
|
210
|
+
version: 1.8.7
|
|
211
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
212
|
+
none: false
|
|
213
|
+
requirements:
|
|
214
|
+
- - ! '>='
|
|
215
|
+
- !ruby/object:Gem::Version
|
|
216
|
+
version: '0'
|
|
217
|
+
requirements:
|
|
218
|
+
- none
|
|
219
|
+
rubyforge_project: spree_i18n
|
|
220
|
+
rubygems_version: 1.8.24
|
|
221
|
+
signing_key:
|
|
222
|
+
specification_version: 3
|
|
223
|
+
summary: Provides locale information for use in Spree.
|
|
224
|
+
test_files: []
|