locomotivecms_builder 1.0.0.alpha1
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/.gitignore +31 -0
- data/Gemfile +8 -0
- data/LICENSE.txt +22 -0
- data/README.md +68 -0
- data/Rakefile +47 -0
- data/TODO +57 -0
- data/bin/builder +9 -0
- data/generators/blank/Gemfile.tt +20 -0
- data/generators/blank/app/content_types/.empty_directory +1 -0
- data/generators/blank/app/views/pages/404.liquid +11 -0
- data/generators/blank/app/views/pages/index.liquid +19 -0
- data/generators/blank/app/views/snippets/.empty_directory +1 -0
- data/generators/blank/config/deploy.yml +12 -0
- data/generators/blank/config/site.yml.tt +16 -0
- data/generators/blank/config/translations.yml +8 -0
- data/generators/blank/config.ru +3 -0
- data/generators/blank/data/.empty_directory +1 -0
- data/generators/blank/public/fonts/.empty_directory +1 -0
- data/generators/blank/public/images/.empty_directory +1 -0
- data/generators/blank/public/javascripts/.empty_directory +1 -0
- data/generators/blank/public/samples/.empty_directory +1 -0
- data/generators/blank/public/stylesheets/.empty_directory +1 -0
- data/generators/bootstrap/Gemfile.tt +20 -0
- data/generators/bootstrap/app/content_types/.empty_directory +1 -0
- data/generators/bootstrap/app/views/pages/404.liquid +13 -0
- data/generators/bootstrap/app/views/pages/404.liquid.haml +10 -0
- data/generators/bootstrap/app/views/pages/index.liquid +85 -0
- data/generators/bootstrap/app/views/pages/index.liquid.haml +72 -0
- data/generators/bootstrap/app/views/snippets/footer.liquid +3 -0
- data/generators/bootstrap/app/views/snippets/footer.liquid.haml +2 -0
- data/generators/bootstrap/config/deploy.yml +12 -0
- data/generators/bootstrap/config/site.yml.tt +16 -0
- data/generators/bootstrap/config/translations.yml +8 -0
- data/generators/bootstrap/config.ru +3 -0
- data/generators/bootstrap/data/.empty_directory +1 -0
- data/generators/bootstrap/public/fonts/FontAwesome.otf +0 -0
- data/generators/bootstrap/public/fonts/font-awesome-ie7.min.css +23 -0
- data/generators/bootstrap/public/fonts/font-awesome.css +469 -0
- data/generators/bootstrap/public/fonts/font-awesome.min.css +34 -0
- data/generators/bootstrap/public/fonts/fontawesome-webfont.eot +0 -0
- data/generators/bootstrap/public/fonts/fontawesome-webfont.ttf +0 -0
- data/generators/bootstrap/public/fonts/fontawesome-webfont.woff +0 -0
- data/generators/bootstrap/public/javascripts/bootstrap.js +2159 -0
- data/generators/bootstrap/public/javascripts/bootstrap.min.js +6 -0
- data/generators/bootstrap/public/samples/.empty_directory +1 -0
- data/generators/bootstrap/public/stylesheets/application.css.scss +39 -0
- data/generators/bootstrap/public/stylesheets/bootstrap-responsive.css +1092 -0
- data/generators/bootstrap/public/stylesheets/bootstrap-responsive.min.css +9 -0
- data/generators/bootstrap/public/stylesheets/bootstrap.css +5652 -0
- data/generators/bootstrap/public/stylesheets/bootstrap.min.css +726 -0
- data/generators/content_type/app/content_types/%name%.yml.tt +58 -0
- data/generators/content_type/data/%name%.yml.tt +24 -0
- data/generators/page/template.liquid.haml.tt +35 -0
- data/generators/page/template.liquid.tt +1 -0
- data/generators/snippet/template.liquid.haml.tt +4 -0
- data/generators/snippet/template.liquid.tt +4 -0
- data/lib/locomotive/builder/cli.rb +225 -0
- data/lib/locomotive/builder/exceptions.rb +17 -0
- data/lib/locomotive/builder/generators/content_type.rb +47 -0
- data/lib/locomotive/builder/generators/page.rb +57 -0
- data/lib/locomotive/builder/generators/site/base.rb +30 -0
- data/lib/locomotive/builder/generators/site/blank.rb +23 -0
- data/lib/locomotive/builder/generators/site/bootstrap.rb +35 -0
- data/lib/locomotive/builder/generators/site.rb +97 -0
- data/lib/locomotive/builder/generators/snippet.rb +54 -0
- data/lib/locomotive/builder/liquid/drops/base.rb +44 -0
- data/lib/locomotive/builder/liquid/drops/content_entry.rb +48 -0
- data/lib/locomotive/builder/liquid/drops/content_types.rb +121 -0
- data/lib/locomotive/builder/liquid/drops/page.rb +36 -0
- data/lib/locomotive/builder/liquid/drops/site.rb +21 -0
- data/lib/locomotive/builder/liquid/errors.rb +7 -0
- data/lib/locomotive/builder/liquid/filters/date.rb +98 -0
- data/lib/locomotive/builder/liquid/filters/html.rb +154 -0
- data/lib/locomotive/builder/liquid/filters/misc.rb +28 -0
- data/lib/locomotive/builder/liquid/filters/resize.rb +18 -0
- data/lib/locomotive/builder/liquid/filters/text.rb +50 -0
- data/lib/locomotive/builder/liquid/filters/translate.rb +24 -0
- data/lib/locomotive/builder/liquid/patches.rb +47 -0
- data/lib/locomotive/builder/liquid/tags/consume.rb +58 -0
- data/lib/locomotive/builder/liquid/tags/csrf.rb +34 -0
- data/lib/locomotive/builder/liquid/tags/editable/base.rb +46 -0
- data/lib/locomotive/builder/liquid/tags/editable/control.rb +19 -0
- data/lib/locomotive/builder/liquid/tags/editable/file.rb +15 -0
- data/lib/locomotive/builder/liquid/tags/editable/long_text.rb +15 -0
- data/lib/locomotive/builder/liquid/tags/editable/short_text.rb +15 -0
- data/lib/locomotive/builder/liquid/tags/editable.rb +5 -0
- data/lib/locomotive/builder/liquid/tags/extends.rb +25 -0
- data/lib/locomotive/builder/liquid/tags/google_analytics.rb +28 -0
- data/lib/locomotive/builder/liquid/tags/inline_editor.rb +16 -0
- data/lib/locomotive/builder/liquid/tags/locale_switcher.rb +180 -0
- data/lib/locomotive/builder/liquid/tags/nav.rb +167 -0
- data/lib/locomotive/builder/liquid/tags/paginate.rb +105 -0
- data/lib/locomotive/builder/liquid/tags/seo.rb +74 -0
- data/lib/locomotive/builder/liquid/tags/snippet.rb +42 -0
- data/lib/locomotive/builder/liquid/tags/with_scope.rb +43 -0
- data/lib/locomotive/builder/liquid.rb +19 -0
- data/lib/locomotive/builder/listen.rb +48 -0
- data/lib/locomotive/builder/misc/core_ext.rb +29 -0
- data/lib/locomotive/builder/misc/dragonfly.rb +82 -0
- data/lib/locomotive/builder/misc/httparty.rb +47 -0
- data/lib/locomotive/builder/misc/i18n.rb +2 -0
- data/lib/locomotive/builder/misc/will_paginate.rb +16 -0
- data/lib/locomotive/builder/misc.rb +5 -0
- data/lib/locomotive/builder/server/dynamic_assets.rb +31 -0
- data/lib/locomotive/builder/server/entry_submission.rb +116 -0
- data/lib/locomotive/builder/server/favicon.rb +17 -0
- data/lib/locomotive/builder/server/locale.rb +42 -0
- data/lib/locomotive/builder/server/middleware.rb +54 -0
- data/lib/locomotive/builder/server/not_found.rb +18 -0
- data/lib/locomotive/builder/server/page.rb +59 -0
- data/lib/locomotive/builder/server/path.rb +34 -0
- data/lib/locomotive/builder/server/renderer.rb +105 -0
- data/lib/locomotive/builder/server/templatized_page.rb +32 -0
- data/lib/locomotive/builder/server.rb +78 -0
- data/lib/locomotive/builder/standalone_server.rb +33 -0
- data/lib/locomotive/builder/version.rb +5 -0
- data/lib/locomotive/builder.rb +167 -0
- data/locales/de.yml +143 -0
- data/locales/en.yml +164 -0
- data/locales/es.yml +119 -0
- data/locales/et.yml +140 -0
- data/locales/fr.yml +133 -0
- data/locales/it.yml +141 -0
- data/locales/nb.yml +177 -0
- data/locales/nl.yml +148 -0
- data/locales/pl.yml +189 -0
- data/locales/pt-BR.yml +125 -0
- data/locales/ru.yml +210 -0
- data/locomotivecms_builder.gemspec +42 -0
- data/spec/integration/cassettes/pull.yml +590 -0
- data/spec/integration/cassettes/push.yml +775 -0
- data/spec/integration/integration_helper.rb +15 -0
- data/spec/integration/server_spec.rb +37 -0
- data/spec/integration/sites_spec.rb +27 -0
- data/spec/spec_helper.rb +12 -0
- data/spec/support/helpers.rb +13 -0
- metadata +468 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
require 'locomotive/builder/version'
|
|
2
|
+
require 'locomotive/builder/exceptions'
|
|
3
|
+
|
|
4
|
+
module Locomotive
|
|
5
|
+
module Builder
|
|
6
|
+
|
|
7
|
+
# Create a site from a site generator.
|
|
8
|
+
#
|
|
9
|
+
# @param [ String ] name The name of the site (underscored)
|
|
10
|
+
# @param [ String ] path The destination path of the site
|
|
11
|
+
# @param [ Object ] generator The wrapping class of the generator itself
|
|
12
|
+
#
|
|
13
|
+
def self.init(name, path, generator)
|
|
14
|
+
generator.klass.start [name, path]
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Start the thin server which serves the LocomotiveCMS site from the system.
|
|
18
|
+
#
|
|
19
|
+
# @param [ String ] path The path of the site
|
|
20
|
+
# @param [ Hash ] options The options for the thin server (host, port)
|
|
21
|
+
#
|
|
22
|
+
def self.serve(path, options)
|
|
23
|
+
if reader = self.require_mounter(path, true)
|
|
24
|
+
Bundler.require 'misc'
|
|
25
|
+
|
|
26
|
+
require 'thin'
|
|
27
|
+
require 'locomotive/builder/server'
|
|
28
|
+
|
|
29
|
+
server = Thin::Server.new(options[:host], options[:port], Locomotive::Builder::Server.new(reader))
|
|
30
|
+
server.threaded = true # TODO: make it an option ?
|
|
31
|
+
server.start
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Generate components for the LocomotiveCMS site such as content types, snippets, pages.
|
|
36
|
+
#
|
|
37
|
+
# @param [ Symbol ] name The name of the generator
|
|
38
|
+
# @param [ Array ] *args The arguments for the generator
|
|
39
|
+
#
|
|
40
|
+
def self.generate(name, *args)
|
|
41
|
+
Bundler.require 'misc'
|
|
42
|
+
|
|
43
|
+
lib = "locomotive/builder/generators/#{name}"
|
|
44
|
+
require lib
|
|
45
|
+
|
|
46
|
+
generator = lib.camelize.constantize.new(args, {}, {})
|
|
47
|
+
generator.invoke_all
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Push a site to a remote LocomotiveCMS engine described
|
|
51
|
+
# by the config/deploy.yml file of the site and for a specific environment.
|
|
52
|
+
#
|
|
53
|
+
# @param [ String ] path The path of the site
|
|
54
|
+
# @param [ Hash ] connection_info The information to get connected to the remote site
|
|
55
|
+
# @param [ Hash ] options The options passed to the push process
|
|
56
|
+
#
|
|
57
|
+
def self.push(path, connection_info, options = {})
|
|
58
|
+
if reader = self.require_mounter(path, true)
|
|
59
|
+
Bundler.require 'misc'
|
|
60
|
+
|
|
61
|
+
writer = Locomotive::Mounter::Writer::Api.instance
|
|
62
|
+
|
|
63
|
+
connection_info['uri'] = "#{connection_info.delete('host')}/locomotive/api"
|
|
64
|
+
|
|
65
|
+
_options = { mounting_point: reader.mounting_point, console: true }.merge(options).symbolize_keys
|
|
66
|
+
_options[:only] = _options.delete(:resources)
|
|
67
|
+
|
|
68
|
+
writer.run!(_options.merge(connection_info))
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Pull a site from a remote LocomotiveCMS engine described
|
|
73
|
+
# by the config/deploy.yml file of the site and for a specific environment.
|
|
74
|
+
#
|
|
75
|
+
# @param [ String ] path The path of the site
|
|
76
|
+
# @param [ Hash ] connection_info The information to get connected to the remote site
|
|
77
|
+
# @param [ Hash ] options The options passed to the pull process
|
|
78
|
+
#
|
|
79
|
+
def self.pull(path, connection_info, options = {})
|
|
80
|
+
self.require_mounter(path)
|
|
81
|
+
|
|
82
|
+
Bundler.require 'misc'
|
|
83
|
+
|
|
84
|
+
connection_info['uri'] = "#{connection_info.delete('host')}/locomotive/api"
|
|
85
|
+
|
|
86
|
+
_options = { console: true }.merge(options)
|
|
87
|
+
_options[:only] = _options.delete(:resources)
|
|
88
|
+
|
|
89
|
+
reader = Locomotive::Mounter::Reader::Api.instance
|
|
90
|
+
reader.run!(_options.merge(connection_info))
|
|
91
|
+
|
|
92
|
+
# writer = Locomotive::Mounter::Writer::FileSystem.instance
|
|
93
|
+
# writer.run!(mounting_point: reader.mounting_point, target_path: path)
|
|
94
|
+
rescue Exception => e
|
|
95
|
+
puts e.backtrace
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def self.clone(path, connection_info, options = {})
|
|
99
|
+
if File.exists?(path)
|
|
100
|
+
puts "Path already exists. If it's an existing site, you might want to pull instead of clone."
|
|
101
|
+
return false
|
|
102
|
+
end
|
|
103
|
+
require 'locomotive/mounter'
|
|
104
|
+
|
|
105
|
+
connection_info['uri'] = "#{connection_info.delete('host')}/locomotive/api"
|
|
106
|
+
|
|
107
|
+
_options = options.dup
|
|
108
|
+
_options[:only] = _options.delete(:resources)
|
|
109
|
+
|
|
110
|
+
reader = Locomotive::Mounter::Reader::Api.instance
|
|
111
|
+
reader.run!(_options.merge(connection_info))
|
|
112
|
+
|
|
113
|
+
writer = Locomotive::Mounter::Writer::FileSystem.instance
|
|
114
|
+
writer.run!(mounting_point: reader.mounting_point, target_path: path)
|
|
115
|
+
# rescue Exception => e
|
|
116
|
+
# puts e.backtrace
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Destroy a remote site
|
|
120
|
+
#
|
|
121
|
+
# @param [ String ] path The path of the site
|
|
122
|
+
# @param [ Hash ] connection_info The information to get connected to the remote site
|
|
123
|
+
# @param [ Hash ] options The options passed to the push process
|
|
124
|
+
#
|
|
125
|
+
def self.destroy(path, connection_info, options = {})
|
|
126
|
+
self.require_mounter(path)
|
|
127
|
+
|
|
128
|
+
connection_info['uri'] = "#{connection_info.delete('host')}/locomotive/api"
|
|
129
|
+
|
|
130
|
+
Locomotive::Mounter::EngineApi.set_token connection_info.symbolize_keys
|
|
131
|
+
Locomotive::Mounter::EngineApi.delete('/current_site.json')
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
# Load the Locomotive::Mounter lib and set it up (logger, ...etc).
|
|
135
|
+
# If the second parameter is set to true, then the method builds
|
|
136
|
+
# an instance of the reader from the path passed in first parameter.
|
|
137
|
+
#
|
|
138
|
+
# @param [ String ] path The path to the local site
|
|
139
|
+
# @param [ Boolean ] get_reader Tell if it builds an instance of the reader.
|
|
140
|
+
#
|
|
141
|
+
# @param [ Object ] An instance of the reader is the get_reader parameter has been set.
|
|
142
|
+
#
|
|
143
|
+
def self.require_mounter(path, get_reader = false)
|
|
144
|
+
require 'locomotive/mounter'
|
|
145
|
+
|
|
146
|
+
logfile = File.join(path, 'log', 'mounter.log')
|
|
147
|
+
FileUtils.mkdir_p(File.dirname(logfile))
|
|
148
|
+
|
|
149
|
+
Locomotive::Mounter.logger = ::Logger.new(logfile).tap do |log|
|
|
150
|
+
log.level = Logger::DEBUG
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# begin
|
|
154
|
+
if get_reader
|
|
155
|
+
reader = Locomotive::Mounter::Reader::FileSystem.instance
|
|
156
|
+
reader.run!(path: path)
|
|
157
|
+
reader
|
|
158
|
+
end
|
|
159
|
+
# rescue Exception => e
|
|
160
|
+
# Locomotive::Mounter.logger.error e.backtrace
|
|
161
|
+
# raise Locomotive::Builder::MounterException.new "Unable to read the local LocomotiveCMS site: #{e.message}\nPlease check the logs file (#{path}/log/mounter.log)"
|
|
162
|
+
# end if get_reader
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
end
|
|
167
|
+
end
|
data/locales/de.yml
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
de:
|
|
2
|
+
errors:
|
|
3
|
+
messages:
|
|
4
|
+
blank: "leer"
|
|
5
|
+
|
|
6
|
+
pagination:
|
|
7
|
+
previous: "« Zurück"
|
|
8
|
+
next: "Vor »"
|
|
9
|
+
|
|
10
|
+
date:
|
|
11
|
+
formats:
|
|
12
|
+
default: "%d.%m.%Y"
|
|
13
|
+
short: "%e %b"
|
|
14
|
+
long: "%e %B %Y"
|
|
15
|
+
long_ordinal: "%e %B %Y"
|
|
16
|
+
only_day: "%e"
|
|
17
|
+
|
|
18
|
+
day_names: [Sonntag, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag]
|
|
19
|
+
abbr_day_names: [So, Mo, Di, Mi, Do, Fr, Sa]
|
|
20
|
+
month_names: [~, Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
|
|
21
|
+
abbr_month_names: [~, Jan., Feb., Mär., Apr., Mai, Juni, Juli, Aug., Sept., Okt., Nov., Dez.]
|
|
22
|
+
order: [ day, month, year ]
|
|
23
|
+
|
|
24
|
+
pagination:
|
|
25
|
+
previous: "« Zurück"
|
|
26
|
+
next: "Vor »"
|
|
27
|
+
|
|
28
|
+
time:
|
|
29
|
+
formats:
|
|
30
|
+
default: "%d %B %Y %H:%M"
|
|
31
|
+
time: "%H:%M"
|
|
32
|
+
short: "%d %b %H:%M"
|
|
33
|
+
long: "%A %d %B %Y %H:%M:%S %Z"
|
|
34
|
+
long_ordinal: "%A %d %B %Y %H:%M:%S %Z"
|
|
35
|
+
only_second: "%S"
|
|
36
|
+
am: 'vormittags'
|
|
37
|
+
pm: 'nachmittags'
|
|
38
|
+
|
|
39
|
+
datetime:
|
|
40
|
+
distance_in_words:
|
|
41
|
+
half_a_minute: 'eine halbe Minute'
|
|
42
|
+
less_than_x_seconds:
|
|
43
|
+
one: 'weniger als eine Sekunde'
|
|
44
|
+
other: 'weniger als %{count} Sekunden'
|
|
45
|
+
x_seconds:
|
|
46
|
+
one: 'eine Sekunde'
|
|
47
|
+
other: '%{count} Sekunden'
|
|
48
|
+
less_than_x_minutes:
|
|
49
|
+
one: 'weniger als eine Minute'
|
|
50
|
+
other: 'weniger als %{count} Minuten'
|
|
51
|
+
x_minutes:
|
|
52
|
+
one: 'eine Minute'
|
|
53
|
+
other: '%{count} Minuten'
|
|
54
|
+
about_x_hours:
|
|
55
|
+
one: 'etwa eine Stunde'
|
|
56
|
+
other: 'etwa %{count} Stunden'
|
|
57
|
+
x_days:
|
|
58
|
+
one: 'ein Tag'
|
|
59
|
+
other: '%{count} Tage'
|
|
60
|
+
about_x_months:
|
|
61
|
+
one: 'etwa ein Monat'
|
|
62
|
+
other: 'etwa %{count} Monate'
|
|
63
|
+
x_months:
|
|
64
|
+
one: 'ein Monat'
|
|
65
|
+
other: '%{count} Monate'
|
|
66
|
+
almost_x_years:
|
|
67
|
+
one: 'fast ein Jahr'
|
|
68
|
+
other: 'fast %{count} Jahre'
|
|
69
|
+
about_x_years:
|
|
70
|
+
one: 'etwa ein Jahr'
|
|
71
|
+
other: 'etwa %{count} Jahre'
|
|
72
|
+
over_x_years:
|
|
73
|
+
one: 'mehr als ein Jahr'
|
|
74
|
+
other: 'mehr als %{count} Jahre'
|
|
75
|
+
prompts:
|
|
76
|
+
second: "Sekunden"
|
|
77
|
+
minute: "Minuten"
|
|
78
|
+
hour: "Stunden"
|
|
79
|
+
day: "Tag"
|
|
80
|
+
month: "Monat"
|
|
81
|
+
year: "Jahr"
|
|
82
|
+
|
|
83
|
+
number:
|
|
84
|
+
format:
|
|
85
|
+
precision: 2
|
|
86
|
+
separator: ','
|
|
87
|
+
delimiter: '.'
|
|
88
|
+
significant: false
|
|
89
|
+
strip_insignificant_zeros: false
|
|
90
|
+
currency:
|
|
91
|
+
format:
|
|
92
|
+
unit: '€'
|
|
93
|
+
format: '%n%u'
|
|
94
|
+
separator: ","
|
|
95
|
+
delimiter: ""
|
|
96
|
+
precision: 2
|
|
97
|
+
significant: false
|
|
98
|
+
strip_insignificant_zeros: false
|
|
99
|
+
percentage:
|
|
100
|
+
format:
|
|
101
|
+
delimiter: ""
|
|
102
|
+
precision:
|
|
103
|
+
format:
|
|
104
|
+
delimiter: ""
|
|
105
|
+
human:
|
|
106
|
+
format:
|
|
107
|
+
delimiter: ""
|
|
108
|
+
precision: 1
|
|
109
|
+
significant: true
|
|
110
|
+
strip_insignificant_zeros: true
|
|
111
|
+
storage_units:
|
|
112
|
+
# Storage units output formatting.
|
|
113
|
+
# %u is the storage unit, %n is the number (default: 2 MB)
|
|
114
|
+
format: "%n %u"
|
|
115
|
+
units:
|
|
116
|
+
byte:
|
|
117
|
+
one: "Byte"
|
|
118
|
+
other: "Bytes"
|
|
119
|
+
kb: "KB"
|
|
120
|
+
mb: "MB"
|
|
121
|
+
gb: "GB"
|
|
122
|
+
tb: "TB"
|
|
123
|
+
decimal_units:
|
|
124
|
+
format: "%n %u"
|
|
125
|
+
units:
|
|
126
|
+
unit: ""
|
|
127
|
+
thousand: Tausend
|
|
128
|
+
million: Millionen
|
|
129
|
+
billion:
|
|
130
|
+
one: Milliarde
|
|
131
|
+
others: Milliarden
|
|
132
|
+
trillion: Billionen
|
|
133
|
+
quadrillion:
|
|
134
|
+
one: Billiarde
|
|
135
|
+
others: Billiarden
|
|
136
|
+
|
|
137
|
+
support:
|
|
138
|
+
array:
|
|
139
|
+
sentence_connector: 'und'
|
|
140
|
+
skip_last_comma: true
|
|
141
|
+
words_connector: ", "
|
|
142
|
+
two_words_connector: " und "
|
|
143
|
+
last_word_connector: " und "
|
data/locales/en.yml
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
en:
|
|
2
|
+
errors:
|
|
3
|
+
messages:
|
|
4
|
+
blank: "can't not blank"
|
|
5
|
+
|
|
6
|
+
pagination:
|
|
7
|
+
previous: "« Previous"
|
|
8
|
+
next: "Next »"
|
|
9
|
+
|
|
10
|
+
date:
|
|
11
|
+
abbr_day_names:
|
|
12
|
+
- Sun
|
|
13
|
+
- Mon
|
|
14
|
+
- Tue
|
|
15
|
+
- Wed
|
|
16
|
+
- Thu
|
|
17
|
+
- Fri
|
|
18
|
+
- Sat
|
|
19
|
+
abbr_month_names:
|
|
20
|
+
-
|
|
21
|
+
- Jan
|
|
22
|
+
- Feb
|
|
23
|
+
- Mar
|
|
24
|
+
- Apr
|
|
25
|
+
- May
|
|
26
|
+
- Jun
|
|
27
|
+
- Jul
|
|
28
|
+
- Aug
|
|
29
|
+
- Sep
|
|
30
|
+
- Oct
|
|
31
|
+
- Nov
|
|
32
|
+
- Dec
|
|
33
|
+
day_names:
|
|
34
|
+
- Sunday
|
|
35
|
+
- Monday
|
|
36
|
+
- Tuesday
|
|
37
|
+
- Wednesday
|
|
38
|
+
- Thursday
|
|
39
|
+
- Friday
|
|
40
|
+
- Saturday
|
|
41
|
+
formats:
|
|
42
|
+
default: ! '%Y-%m-%d'
|
|
43
|
+
long: ! '%B %d, %Y'
|
|
44
|
+
short: ! '%b %d'
|
|
45
|
+
month_names:
|
|
46
|
+
-
|
|
47
|
+
- January
|
|
48
|
+
- February
|
|
49
|
+
- March
|
|
50
|
+
- April
|
|
51
|
+
- May
|
|
52
|
+
- June
|
|
53
|
+
- July
|
|
54
|
+
- August
|
|
55
|
+
- September
|
|
56
|
+
- October
|
|
57
|
+
- November
|
|
58
|
+
- December
|
|
59
|
+
order:
|
|
60
|
+
- :year
|
|
61
|
+
- :month
|
|
62
|
+
- :day
|
|
63
|
+
datetime:
|
|
64
|
+
distance_in_words:
|
|
65
|
+
about_x_hours:
|
|
66
|
+
one: about 1 hour
|
|
67
|
+
other: about %{count} hours
|
|
68
|
+
about_x_months:
|
|
69
|
+
one: about 1 month
|
|
70
|
+
other: about %{count} months
|
|
71
|
+
about_x_years:
|
|
72
|
+
one: about 1 year
|
|
73
|
+
other: about %{count} years
|
|
74
|
+
almost_x_years:
|
|
75
|
+
one: almost 1 year
|
|
76
|
+
other: almost %{count} years
|
|
77
|
+
half_a_minute: half a minute
|
|
78
|
+
less_than_x_minutes:
|
|
79
|
+
one: less than a minute
|
|
80
|
+
other: less than %{count} minutes
|
|
81
|
+
less_than_x_seconds:
|
|
82
|
+
one: less than 1 second
|
|
83
|
+
other: less than %{count} seconds
|
|
84
|
+
over_x_years:
|
|
85
|
+
one: over 1 year
|
|
86
|
+
other: over %{count} years
|
|
87
|
+
x_days:
|
|
88
|
+
one: 1 day
|
|
89
|
+
other: ! '%{count} days'
|
|
90
|
+
x_minutes:
|
|
91
|
+
one: 1 minute
|
|
92
|
+
other: ! '%{count} minutes'
|
|
93
|
+
x_months:
|
|
94
|
+
one: 1 month
|
|
95
|
+
other: ! '%{count} months'
|
|
96
|
+
x_seconds:
|
|
97
|
+
one: 1 second
|
|
98
|
+
other: ! '%{count} seconds'
|
|
99
|
+
prompts:
|
|
100
|
+
day: Day
|
|
101
|
+
hour: Hour
|
|
102
|
+
minute: Minute
|
|
103
|
+
month: Month
|
|
104
|
+
second: Seconds
|
|
105
|
+
year: Year
|
|
106
|
+
number:
|
|
107
|
+
currency:
|
|
108
|
+
format:
|
|
109
|
+
delimiter: ! ','
|
|
110
|
+
format: ! '%u%n'
|
|
111
|
+
precision: 2
|
|
112
|
+
separator: .
|
|
113
|
+
significant: false
|
|
114
|
+
strip_insignificant_zeros: false
|
|
115
|
+
unit: $
|
|
116
|
+
format:
|
|
117
|
+
delimiter: ! ','
|
|
118
|
+
precision: 3
|
|
119
|
+
separator: .
|
|
120
|
+
significant: false
|
|
121
|
+
strip_insignificant_zeros: false
|
|
122
|
+
human:
|
|
123
|
+
decimal_units:
|
|
124
|
+
format: ! '%n %u'
|
|
125
|
+
units:
|
|
126
|
+
billion: Billion
|
|
127
|
+
million: Million
|
|
128
|
+
quadrillion: Quadrillion
|
|
129
|
+
thousand: Thousand
|
|
130
|
+
trillion: Trillion
|
|
131
|
+
unit: ''
|
|
132
|
+
format:
|
|
133
|
+
delimiter: ''
|
|
134
|
+
precision: 3
|
|
135
|
+
significant: true
|
|
136
|
+
strip_insignificant_zeros: true
|
|
137
|
+
storage_units:
|
|
138
|
+
format: ! '%n %u'
|
|
139
|
+
units:
|
|
140
|
+
byte:
|
|
141
|
+
one: Byte
|
|
142
|
+
other: Bytes
|
|
143
|
+
gb: GB
|
|
144
|
+
kb: KB
|
|
145
|
+
mb: MB
|
|
146
|
+
tb: TB
|
|
147
|
+
percentage:
|
|
148
|
+
format:
|
|
149
|
+
delimiter: ''
|
|
150
|
+
precision:
|
|
151
|
+
format:
|
|
152
|
+
delimiter: ''
|
|
153
|
+
support:
|
|
154
|
+
array:
|
|
155
|
+
last_word_connector: ! ', and '
|
|
156
|
+
two_words_connector: ! ' and '
|
|
157
|
+
words_connector: ! ', '
|
|
158
|
+
time:
|
|
159
|
+
am: am
|
|
160
|
+
formats:
|
|
161
|
+
default: ! '%a, %d %b %Y %H:%M:%S %z'
|
|
162
|
+
long: ! '%B %d, %Y %H:%M'
|
|
163
|
+
short: ! '%d %b %H:%M'
|
|
164
|
+
pm: pm
|
data/locales/es.yml
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
es:
|
|
2
|
+
errors:
|
|
3
|
+
messages:
|
|
4
|
+
blank: "no puede estar en blanco"
|
|
5
|
+
|
|
6
|
+
pagination:
|
|
7
|
+
previous: "« Anterior"
|
|
8
|
+
next: "Siguiente »"
|
|
9
|
+
|
|
10
|
+
date:
|
|
11
|
+
formats:
|
|
12
|
+
default: "%d/%m/%Y"
|
|
13
|
+
short: "%e-%b"
|
|
14
|
+
long: "%e-%B-%Y"
|
|
15
|
+
long_ordinal: "%e de %B de %Y"
|
|
16
|
+
only_day: "%e"
|
|
17
|
+
|
|
18
|
+
day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
|
|
19
|
+
abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
|
|
20
|
+
month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
|
|
21
|
+
abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
|
|
22
|
+
order: [ year, month, day ]
|
|
23
|
+
|
|
24
|
+
time:
|
|
25
|
+
formats:
|
|
26
|
+
default: "%A, %d de %B de %Y %H:%M:%S %z"
|
|
27
|
+
time: "%H:%M"
|
|
28
|
+
short: "%d de %b %H:%M"
|
|
29
|
+
long: "%d de %B de %Y %H:%M"
|
|
30
|
+
long_ordinal: "%A %d %B %Y %H:%M:%S %Z"
|
|
31
|
+
only_second: "%S"
|
|
32
|
+
am: "am"
|
|
33
|
+
pm: "pm"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
datetime:
|
|
37
|
+
distance_in_words:
|
|
38
|
+
half_a_minute: "medio minuto"
|
|
39
|
+
less_than_x_seconds:
|
|
40
|
+
one: "menos de 1 segundo"
|
|
41
|
+
other: "menos de %{count} segundos"
|
|
42
|
+
x_seconds:
|
|
43
|
+
one: "1 segundo"
|
|
44
|
+
other: "%{count} segundos"
|
|
45
|
+
less_than_x_minutes:
|
|
46
|
+
one: "menos de 1 minuto"
|
|
47
|
+
other: "menos de %{count} minutos"
|
|
48
|
+
x_minutes:
|
|
49
|
+
one: "1 minuto"
|
|
50
|
+
other: "%{count} minutos"
|
|
51
|
+
about_x_hours:
|
|
52
|
+
one: "alrededor de 1 hora"
|
|
53
|
+
other: "alrededor de %{count} horas"
|
|
54
|
+
x_days:
|
|
55
|
+
one: "1 día"
|
|
56
|
+
other: "%{count} días"
|
|
57
|
+
about_x_months:
|
|
58
|
+
one: "alrededor de 1 mes"
|
|
59
|
+
other: "alrededor de %{count} meses"
|
|
60
|
+
x_months:
|
|
61
|
+
one: "1 mes"
|
|
62
|
+
other: "%{count} meses"
|
|
63
|
+
about_x_years:
|
|
64
|
+
one: "alrededor de 1 año"
|
|
65
|
+
other: "alrededor de %{count} años"
|
|
66
|
+
over_x_years:
|
|
67
|
+
one: "más de 1 año"
|
|
68
|
+
other: "más de %{count} años"
|
|
69
|
+
almost_x_years:
|
|
70
|
+
one: "casi 1 año"
|
|
71
|
+
other: "casi %{count} años"
|
|
72
|
+
prompts:
|
|
73
|
+
year: "Año"
|
|
74
|
+
month: "Mes"
|
|
75
|
+
day: "Día"
|
|
76
|
+
hour: "Hora"
|
|
77
|
+
minute: "Minuto"
|
|
78
|
+
second: "Segundo"
|
|
79
|
+
|
|
80
|
+
number:
|
|
81
|
+
format:
|
|
82
|
+
separator: ","
|
|
83
|
+
delimiter: "."
|
|
84
|
+
precision: 3
|
|
85
|
+
currency:
|
|
86
|
+
format:
|
|
87
|
+
format: "%n %u"
|
|
88
|
+
unit: "€"
|
|
89
|
+
separator: ","
|
|
90
|
+
delimiter: "."
|
|
91
|
+
precision: 2
|
|
92
|
+
percentage:
|
|
93
|
+
format:
|
|
94
|
+
delimiter: ""
|
|
95
|
+
precision:
|
|
96
|
+
format:
|
|
97
|
+
delimiter: ""
|
|
98
|
+
human:
|
|
99
|
+
format:
|
|
100
|
+
delimiter: ""
|
|
101
|
+
precision: 1
|
|
102
|
+
storage_units:
|
|
103
|
+
format: "%n %u"
|
|
104
|
+
units:
|
|
105
|
+
byte:
|
|
106
|
+
one: "Byte"
|
|
107
|
+
other: "Bytes"
|
|
108
|
+
kb: "KB"
|
|
109
|
+
mb: "MB"
|
|
110
|
+
gb: "GB"
|
|
111
|
+
tb: "TB"
|
|
112
|
+
|
|
113
|
+
support:
|
|
114
|
+
array:
|
|
115
|
+
sentence_connector: 'y'
|
|
116
|
+
skip_last_comma: true
|
|
117
|
+
words_connector: ", "
|
|
118
|
+
two_words_connector: " y "
|
|
119
|
+
last_word_connector: " y "
|