alchemy_cms 3.0.2 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +5 -2
  3. data/README.md +29 -17
  4. data/Rakefile +1 -1
  5. data/alchemy_cms.gemspec +3 -3
  6. data/app/assets/javascripts/alchemy/alchemy.js +1 -0
  7. data/app/assets/javascripts/alchemy/alchemy.translations.js.coffee +43 -1
  8. data/app/assets/stylesheets/alchemy/_mixins.scss +1 -2
  9. data/app/assets/stylesheets/alchemy/buttons.scss +5 -0
  10. data/app/assets/stylesheets/alchemy/dialogs.scss +0 -1
  11. data/app/assets/stylesheets/alchemy/frame.scss +12 -9
  12. data/app/controllers/alchemy/admin/elements_controller.rb +10 -9
  13. data/app/models/alchemy/element.rb +1 -1
  14. data/app/views/alchemy/admin/pictures/info.html.erb +3 -2
  15. data/app/views/alchemy/admin/tags/edit.html.erb +1 -1
  16. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +1 -6
  17. data/app/views/alchemy/messages/contact_form_mail.es.text.erb +12 -0
  18. data/app/views/layouts/alchemy/admin.html.erb +2 -0
  19. data/config/locales/alchemy.en.yml +1 -0
  20. data/config/locales/alchemy.es.yml +958 -0
  21. data/config/locales/alchemy.ru.yml +837 -0
  22. data/config/locales/simple_form.es.yml +6 -0
  23. data/config/locales/simple_form.ru.yml +25 -0
  24. data/lib/alchemy/version.rb +1 -2
  25. data/lib/rails/generators/alchemy/scaffold/files/alchemy.es.yml +31 -0
  26. data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +1 -0
  27. data/spec/controllers/admin/elements_controller_spec.rb +44 -26
  28. data/spec/models/element_spec.rb +11 -0
  29. data/spec/models/page_spec.rb +6 -4
  30. data/vendor/assets/javascripts/tinymce/langs/es.js +197 -0
  31. data/vendor/assets/javascripts/tinymce/langs/ru.js +197 -0
  32. metadata +25 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2bab31bb3ea923d47cdd096c29f4e389df529859
4
- data.tar.gz: 72aba254bc066b4eb4f54dc1e8c40abdfca35278
3
+ metadata.gz: cda5be7267deaae5e113d0a626d74d6f3a18c269
4
+ data.tar.gz: 04e31e50bc6f7d66932cc15dcbee595a2a15eebe
5
5
  SHA512:
6
- metadata.gz: 590ccca504b3fb42b370d11d2316fd2b748a71659d9294e13bf889fa6c47c260fd77fc0d613deac628c1d1cdc49e00af80aa7bdf9c95a496deba311b4582a10b
7
- data.tar.gz: 6a220a27a0d560964e0be33eb649675187d3bc06c008779ef16cb2dac013698393abd6a174283a78992808243117ce23c087d9793a8a2400062a486e6bb3bd97
6
+ metadata.gz: 20760cb152ca71cfc3180bb3afd08d3ed3390e6e9cac648c78135c6bf85bf3c67655ed75423c9c7685af69f70d8f6ac7e012d5667aa60d8da53646487f815c10
7
+ data.tar.gz: 79f024717ee68637c13f7eaee22af24f387b0d03c6eb131b5938e1f24e339788a2979599725dec6fc89496d803eab6c5841c60dc95119516a6676763d0a9ab9e
@@ -1,4 +1,6 @@
1
1
  language: ruby
2
+ sudo: false
3
+ cache: bundler
2
4
  rvm:
3
5
  - 1.9.3
4
6
  - 2.0.0
@@ -6,11 +8,12 @@ rvm:
6
8
  branches:
7
9
  only:
8
10
  - 3.0-stable
9
- script: rake
11
+ before_script: 'bundle exec rake alchemy:spec:prepare'
12
+ script: 'bundle exec rspec'
10
13
  env:
11
14
  - DB=mysql
12
15
  - DB=postgresql
13
- - RAILS_VERSION=4.1.1
16
+ - RAILS_VERSION=4.0.12
14
17
  notifications:
15
18
  irc:
16
19
  on_success: change
data/README.md CHANGED
@@ -1,11 +1,11 @@
1
- ![Alchemy CMS](http://alchemy-cms.com/assets/alchemy_logo.svg)
2
-
3
- [![Gem Version](https://badge.fury.io/rb/alchemy_cms.png)](http://badge.fury.io/rb/alchemy_cms)
4
- [![Build Status](https://travis-ci.org/magiclabs/alchemy_cms.svg?branch=3.0-stable)](https://travis-ci.org/magiclabs/alchemy_cms) [![Code Climate](https://codeclimate.com/github/magiclabs/alchemy_cms.png)](https://codeclimate.com/github/magiclabs/alchemy_cms) [![Coverage Status](https://coveralls.io/repos/magiclabs/alchemy_cms/badge.png?branch=3.0-stable)](https://coveralls.io/r/magiclabs/alchemy_cms?branch=3.0-stable)
1
+ [![Gem Version](https://badge.fury.io/rb/alchemy_cms.svg)](http://badge.fury.io/rb/alchemy_cms)
2
+ [![Build Status](https://travis-ci.org/AlchemyCMS/alchemy_cms.svg?branch=3.0-stable)](https://travis-ci.org/AlchemyCMS/alchemy_cms) [![Code Climate](https://codeclimate.com/github/AlchemyCMS/alchemy_cms.svg)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms) [![Coverage Status](https://img.shields.io/coveralls/AlchemyCMS/alchemy_cms.svg)](https://coveralls.io/r/AlchemyCMS/alchemy_cms?branch=3.0-stable)
5
3
 
6
4
  About
7
5
  -----
8
6
 
7
+ ![Alchemy CMS](http://alchemy-cms.com/assets/alchemy_logo.svg)
8
+
9
9
  Alchemy is the most powerful, userfriendly and flexible Rails CMS.
10
10
 
11
11
  Read more on the [website](http://alchemy-cms.com) and in the [guidelines](http://guides.alchemy-cms.com).
@@ -34,25 +34,37 @@ Rails Version
34
34
 
35
35
  **This version of Alchemy CMS runs with Rails 4 (including 4.1)**
36
36
 
37
- If you are looking for a Rails 3.2 compatible version check the [2.8-stable branch](https://github.com/magiclabs/alchemy_cms/tree/2.8-stable).
37
+ If you are looking for a Rails 3.2 compatible version check the [2.8-stable branch](https://github.com/AlchemyCMS/alchemy_cms/tree/2.8-stable).
38
38
 
39
- If you are looking for a Rails 3.1 compatible version check the [2.1-stable branch](https://github.com/magiclabs/alchemy_cms/tree/2.1-stable).
39
+ If you are looking for a Rails 3.1 compatible version check the [2.1-stable branch](https://github.com/AlchemyCMS/alchemy_cms/tree/2.1-stable).
40
40
 
41
- If you are looking for a Rails 3.0 compatible version check the [2.0-stable branch](https://github.com/magiclabs/alchemy_cms/tree/2.0-stable).
41
+ If you are looking for a Rails 3.0 compatible version check the [2.0-stable branch](https://github.com/AlchemyCMS/alchemy_cms/tree/2.0-stable).
42
42
 
43
- If you are looking for a Rails 2.3 compatible version check the [1.6-stable branch](https://github.com/magiclabs/alchemy_cms/tree/1.6-stable).
43
+ If you are looking for a Rails 2.3 compatible version check the [1.6-stable branch](https://github.com/AlchemyCMS/alchemy_cms/tree/1.6-stable).
44
44
 
45
45
  Ruby Version
46
46
  ------------
47
47
 
48
48
  Alchemy runs with Ruby >= 1.9.3 (including Ruby 2.0 and 2.1).
49
49
 
50
- For a Ruby 1.8.7 compatible version use the [2.3-stable branch](https://github.com/magiclabs/alchemy_cms/tree/2.3-stable).
50
+ For a Ruby 1.8.7 compatible version use the [2.3-stable branch](https://github.com/AlchemyCMS/alchemy_cms/tree/2.3-stable).
51
51
 
52
52
 
53
53
  Installation
54
54
  ------------
55
55
 
56
+ ### Translation requirements
57
+
58
+ #### Russian:
59
+
60
+ If you want to use Russian translation and have better i18n support, you should put:
61
+
62
+ gem 'russian', '~> 0.6.0'
63
+
64
+ or similar in functionality gem into your Gemfile before running:
65
+
66
+ bundle install
67
+
56
68
  ### As a standalone project
57
69
 
58
70
  #### 1. Use the installer:
@@ -81,7 +93,7 @@ Open `http://localhost:3000` and follow the on screen instructions.
81
93
 
82
94
  In your App's Gemfile:
83
95
 
84
- gem 'alchemy_cms', github: 'magiclabs/alchemy_cms', branch: '3.0-stable'
96
+ gem 'alchemy_cms', github: 'AlchemyCMS/alchemy_cms', branch: '3.0-stable'
85
97
 
86
98
  #### 2. Install Alchemy into your app:
87
99
 
@@ -92,7 +104,7 @@ Run in terminal:
92
104
 
93
105
  ### Authentication User Model
94
106
 
95
- With Version 3.0 we extracted the Alchemy user model [into its own gem](https://github.com/magiclabs/alchemy-devise).
107
+ With Version 3.0 we extracted the Alchemy user model [into its own gem](https://github.com/AlchemyCMS/alchemy-devise).
96
108
 
97
109
  In order to get the former Alchemy user model back, add the following gem into your Gemfile:
98
110
 
@@ -187,14 +199,14 @@ Tips
187
199
  -----
188
200
 
189
201
  - Read the guidelines: http://guides.alchemy-cms.com.
190
- - Read the documentation: http://rubydoc.info/github/magiclabs/alchemy_cms
202
+ - Read the documentation: http://rubydoc.info/github/AlchemyCMS/alchemy_cms
191
203
  - Ask the community: http://groups.google.com/group/alchemy-cms
192
204
 
193
205
 
194
206
  Getting Help
195
207
  ------------
196
208
 
197
- * If you have bugs, please use the [issue tracker on Github](https://github.com/magiclabs/alchemy_cms/issues).
209
+ * If you have bugs, please use the [issue tracker on Github](https://github.com/AlchemyCMS/alchemy_cms/issues).
198
210
  * For Q&A and general usage, please use the [User Group](http://groups.google.com/group/alchemy-cms) or the IRC channel.
199
211
  * New features should be discussed on our [Trello Board](https://trello.com/alchemycms). *PLEASE* don't use the Github issues for new features.
200
212
 
@@ -204,9 +216,9 @@ Resources
204
216
 
205
217
  * Homepage: <http://alchemy-cms.com>
206
218
  * Live-Demo: <http://demo.alchemy-cms.com> (user: demo, password: demo123)
207
- * API Documentation: <http://rubydoc.info/github/magiclabs/alchemy_cms>
208
- * Issue-Tracker: <https://github.com/magiclabs/alchemy_cms/issues>
209
- * Sourcecode: <https://github.com/magiclabs/alchemy_cms>
219
+ * API Documentation: <http://rubydoc.info/github/AlchemyCMS/alchemy_cms>
220
+ * Issue-Tracker: <https://github.com/AlchemyCMS/alchemy_cms/issues>
221
+ * Sourcecode: <https://github.com/AlchemyCMS/alchemy_cms>
210
222
  * User Group: <http://groups.google.com/group/alchemy-cms>
211
223
  * IRC Channel: #alchemy_cms on irc.freenode.net
212
224
  * Discussion Board: <https://trello.com/alchemycms>
@@ -223,4 +235,4 @@ Authors
223
235
  License
224
236
  -------
225
237
 
226
- * BSD: <https://raw.github.com/magiclabs/alchemy_cms/master/LICENSE>
238
+ * BSD: <https://raw.github.com/AlchemyCMS/alchemy_cms/master/LICENSE>
data/Rakefile CHANGED
@@ -41,7 +41,7 @@ namespace :alchemy do
41
41
 
42
42
  desc "Prepares database for testing Alchemy"
43
43
  task :prepare do
44
- system 'cd spec/dummy && RAILS_ENV=test bundle exec rake db:drop db:create db:migrate:reset && cd -'
44
+ system 'cd spec/dummy && RAILS_ENV=test bundle exec rake db:setup && cd -'
45
45
  end
46
46
 
47
47
  end
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
19
19
  gem.executables = 'alchemy'
20
20
  gem.require_paths = ['lib']
21
21
 
22
- gem.add_runtime_dependency 'rails', '>= 4.0', '< 5.0'
22
+ gem.add_runtime_dependency 'rails', '>= 4.0', '< 4.2'
23
23
  gem.add_runtime_dependency 'actionpack-page_caching', '~> 1.0.0'
24
24
  gem.add_runtime_dependency 'awesome_nested_set', '~> 3.0.0.rc.2'
25
25
  gem.add_runtime_dependency 'acts-as-taggable-on', '~> 3.1'
@@ -36,12 +36,12 @@ Gem::Specification.new do |gem|
36
36
  gem.add_runtime_dependency 'coffee-rails', '~> 4.0.0'
37
37
  gem.add_runtime_dependency 'compass-rails', '~> 1.1.2'
38
38
  gem.add_runtime_dependency 'sassy-buttons', '~> 0.2.6'
39
- gem.add_runtime_dependency 'select2-rails', '~> 3.4'
39
+ gem.add_runtime_dependency 'select2-rails', '>= 3.5.9.1', '< 4.0'
40
40
  gem.add_runtime_dependency 'tvdeyen-handles_sortable_columns', '~> 0.1.5'
41
41
  gem.add_runtime_dependency 'spinner.rb'
42
42
  gem.add_runtime_dependency 'turbolinks', '~> 2.0'
43
43
  gem.add_runtime_dependency 'non-stupid-digest-assets', '~> 1.0.3'
44
- gem.add_runtime_dependency 'active_model_serializers', '>= 0.8.1', '< 0.10.0'
44
+ gem.add_runtime_dependency 'active_model_serializers', '>= 0.8.1', '< 0.9.1'
45
45
  gem.add_runtime_dependency 'request_store', '~> 1.1.0'
46
46
 
47
47
  gem.add_development_dependency 'rspec-rails', '~> 2.0'
@@ -16,6 +16,7 @@
16
16
  //= require requestAnimationFrame
17
17
  //= require select2
18
18
  //= require select2_locale_de
19
+ //= require select2_locale_ru
19
20
  //= require alchemy/alchemy.base
20
21
  //= require alchemy/alchemy.autocomplete
21
22
  //= require alchemy/alchemy.browser
@@ -87,4 +87,46 @@ Alchemy.translations =
87
87
  'File is too small': 'Le fichier est trop petit.'
88
88
  'File type not allowed': 'Type de document non autorisé.'
89
89
  'Maximum number of files exceeded': 'Le nombre maximum de fichiers est atteint.'
90
- 'Uploaded bytes exceed file size': 'Taille de fichier maximale autorisée atteint.'
90
+ 'Uploaded bytes exceed file size': 'Taille de fichier maximale autorisée atteint.'
91
+
92
+ # Russian
93
+ ru:
94
+ allowed_chars: '%{count} знаков'
95
+ cancel: 'Отмена'
96
+ cancelled: 'Отменено'
97
+ click_to_edit: 'нажмите, чтобы редактировать'
98
+ complete: 'Завершено'
99
+ element_dirty_notice: 'Для этого элемента есть несохраненные изменения. Вы действительно хотите их сбросить?'
100
+ help: 'Помощь'
101
+ ok: 'Ок'
102
+ page_dirty_notice: 'На странице есть несохраненные изменения. Если вы продолжите, то они пропадут.'
103
+ page_found: 'Страница найдена'
104
+ pages_found: 'Страницы найдены'
105
+ url_validation_failed: 'Адрес (URL) имеет неверный формат.'
106
+ warning: 'Внимание!'
107
+ 'File is too large': 'Файл слишком большой'
108
+ 'File is too small': 'Файл слишком маленький'
109
+ 'File type not allowed': 'Этот тип файла не разрешен'
110
+ 'Maximum number of files exceeded': 'Исчерпано максимальное количество файлов.'
111
+ 'Uploaded bytes exceed file size': 'Превышен максимальный размер файла'
112
+
113
+ # Spanish
114
+ es:
115
+ allowed_chars: 'de %{count} caracteres'
116
+ cancel: 'Cancelar'
117
+ cancelled: 'Cancelado'
118
+ click_to_edit: 'Pulsar para editar'
119
+ complete: 'Completado'
120
+ element_dirty_notice: 'Este elemento tiene cambios sin guardar. ¿Realmente quieres plegarlo?'
121
+ help: 'Ayuda'
122
+ ok: 'Aceptar'
123
+ page_dirty_notice: 'Tienes cambios sin guardar en esta página. Si continúas se perderán.'
124
+ page_found: 'Página encontrada'
125
+ pages_found: 'Páginas encontradas'
126
+ url_validation_failed: 'La url no tiene un formato válido.'
127
+ warning: '¡Atención!'
128
+ 'File is too large': 'El archivo es demasiado grande'
129
+ 'File is too small': 'El archivo es demasiado pequeño'
130
+ 'File type not allowed': 'El tipo de archivo no está permitido'
131
+ 'Maximum number of files exceeded': 'Número máximo de archivos excedido.'
132
+ 'Uploaded bytes exceed file size': 'Los bytes subidos exceden el tamaño del archivo'
@@ -1,8 +1,7 @@
1
1
  @mixin default-focus-style {
2
2
  border-color: $blue;
3
- @include box-shadow(0 0 2px 2px $blue);
3
+ @include box-shadow(0 0 1px 2px $blue);
4
4
  outline: none;
5
- @include transition(all 0.25s ease-in-out);
6
5
 
7
6
  &::-moz-focus-inner {
8
7
  border: none !important;
@@ -196,6 +196,11 @@ button.icon_button {
196
196
  border: $default-border;
197
197
  padding: 2px;
198
198
  @extend %rounded-border;
199
+
200
+ &:focus {
201
+ border: 0;
202
+ padding: 3px;
203
+ }
199
204
  }
200
205
 
201
206
  .select2-container {
@@ -48,7 +48,6 @@
48
48
  .alchemy-dialog {
49
49
  position: relative;
50
50
  max-width: 100%;
51
- max-height: 100%;
52
51
  display: inline-block;
53
52
  vertical-align: middle;
54
53
  text-align: left;
@@ -122,12 +122,12 @@ div#overlay_text_box {
122
122
  left: 0;
123
123
  text-align: center;
124
124
  width: 65px;
125
- padding-top: 4px;
126
- padding-bottom: 8px;
127
125
  background: $light-blue;
128
126
 
129
127
  a {
130
128
  display: block;
129
+ padding-top: 4px;
130
+ padding-bottom: 8px;
131
131
 
132
132
  &:hover {
133
133
  text-decoration: none;
@@ -197,20 +197,22 @@ div#user_info {
197
197
  text-shadow: 0px 1px 1px #FFFFFF;
198
198
  @extend .disable-user-select;
199
199
  cursor: default;
200
- line-height: 22px;
200
+ line-height: 27px;
201
201
  float: left;
202
202
  @extend .top-rounded-border;
203
203
  border: $default-border;
204
204
  border-bottom-style: none;
205
205
  height: 24px;
206
206
  margin-right: 1px;
207
+
208
+ .page_name {
209
+ position: relative;
210
+ bottom: 2px;
211
+ }
207
212
  }
208
213
 
209
214
  .page_name {
210
- position: relative;
211
215
  margin-right: $default-margin;
212
- line-height: 27px;
213
- bottom: 2px;
214
216
  }
215
217
 
216
218
  .page_language {
@@ -228,7 +230,6 @@ div#user_info {
228
230
 
229
231
  .subnavi_tab {
230
232
  float: left;
231
- padding: 0px 8px;
232
233
  line-height: 21px;
233
234
  height: 23px;
234
235
  text-shadow: #fff 0 0px 4px;
@@ -257,9 +258,7 @@ div#user_info {
257
258
  }
258
259
 
259
260
  &.active {
260
- float: left;
261
261
  position: relative;
262
- padding: 0px 8px;
263
262
  height: 24px;
264
263
  color: $text-color;
265
264
  background-color: $medium-gray;
@@ -268,6 +267,10 @@ div#user_info {
268
267
  cursor: default;
269
268
  z-index: 10;
270
269
  }
270
+
271
+ > a {
272
+ padding: 0px 8px;
273
+ }
271
274
  }
272
275
  }
273
276
 
@@ -84,16 +84,17 @@ module Alchemy
84
84
  end
85
85
 
86
86
  def order
87
- @trashed_elements = []
88
- params[:element_ids].each do |element_id|
89
- element = Element.find(element_id)
90
- if element.trashed?
91
- element.page_id = params[:page_id]
92
- element.cell_id = params[:cell_id]
93
- element.insert_at
94
- @trashed_elements << element
87
+ @trashed_elements = Element.trashed.where(id: params[:element_ids]).pluck(:id)
88
+ Element.transaction do
89
+ params[:element_ids].each_with_index do |element_id, idx|
90
+ # Ensure to set page_id and cell_id to the current page and
91
+ # cell because of trashed elements could still have old values
92
+ Element.where(id: element_id).update_all(
93
+ page_id: params[:page_id],
94
+ cell_id: params[:cell_id],
95
+ position: idx + 1
96
+ )
95
97
  end
96
- element.move_to_bottom
97
98
  end
98
99
  end
99
100
 
@@ -361,7 +361,7 @@ module Alchemy
361
361
  "fields.#{content_name}.#{error}".to_sym,
362
362
  "errors.#{error}".to_sym
363
363
  ],
364
- field: Content.translated_label_for(content_name)
364
+ field: Content.translated_label_for(content_name, name)
365
365
  )
366
366
  end
367
367
  end
@@ -25,8 +25,9 @@
25
25
  <ul>
26
26
  <% essence_pictures.group_by(&:element).each do |element, essence_pictures| %>
27
27
  <li class="<%= cycle('even', 'odd') %>">
28
- <%= link_to element.display_name_with_preview_text, edit_admin_page_path(page, :anchor => "element_#{element.id}") %> in
29
- <%= essence_pictures.collect { |e| e.content.name_for_label }.to_sentence %>
28
+ <% page_link = link_to element.display_name_with_preview_text, edit_admin_page_path(page, :anchor => "element_#{element.id}") %>
29
+ <% pictures = essence_pictures.collect { |e| e.content.name_for_label }.to_sentence %>
30
+ <%= _t(:pictures_in_page, :page => page_link, :pictures => pictures) %>
30
31
  </li>
31
32
  <% end %>
32
33
  </ul>
@@ -11,7 +11,7 @@
11
11
  <%= _t(:or_replace_it_with_an_existing_tag) %>
12
12
  <% end %>
13
13
  <div class="input tags">
14
- <label class="control-label">Tags</label>
14
+ <label class="control-label"><%= _t('Tags') %></label>
15
15
  <div class="control_group" id="tags_tag_list">
16
16
  <%= js_filter_field '#tag_list li' %>
17
17
  <ul id="tag_list" class="tags">
@@ -1,11 +1,6 @@
1
1
  <div id="<%= content.dom_id %>" class="essence_picture_editor<%= ' dragable_picture' if options[:dragable] %><%= ' content_editor' unless options[:grouped] %>">
2
2
  <% unless options[:grouped] %>
3
- <label>
4
- <% if content.has_hint? %>
5
- <%= render_hint_for(content) %>
6
- <% end %>
7
- <%= render_content_name(content) %>
8
- </label>
3
+ <%= label_and_remove_link(content) %>
9
4
  <% end %>
10
5
  <div class="picture_thumbnail">
11
6
  <span class="picture_tool delete">
@@ -0,0 +1,12 @@
1
+ <%= @message.message %>
2
+
3
+ --
4
+
5
+ Remitente:
6
+
7
+ <%= Alchemy::I18n.t(@message.salutation, scope: 'contactform.labels') %> <%= @message.firstname %> <%= @message.lastname %>
8
+ <%= @message.address %>
9
+ <%= @message.zip %> <%= @message.city %>
10
+
11
+ Teléfono: <%= @message.phone %>
12
+ Correo electrónico: <%= @message.email %>
@@ -92,6 +92,8 @@
92
92
  <script>
93
93
  // Store current locale for javascript translations.
94
94
  Alchemy.locale = '<%= ::I18n.locale %>';
95
+ // Setting the correct locale for select2 dropdown replacement.
96
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['<%= ::I18n.locale %>']);
95
97
  </script>
96
98
  <%= yield(:javascripts) %>
97
99
  </body>
@@ -501,6 +501,7 @@ en:
501
501
  last_upload: "from last upload"
502
502
  recent: "that where recently uploaded"
503
503
  without_tag: "without tag"
504
+ pictures_in_page: "%{page} in %{pictures}"
504
505
  place_link: "Link text"
505
506
  player_version: "Flash Player version"
506
507
  "please enter subject and mail address": "Please enter recipient and subject."
@@ -0,0 +1,958 @@
1
+ # encoding: UTF-8
2
+
3
+ es:
4
+
5
+ # = Alchemy Translations
6
+ # All translations used in Alchemy CMS are inside this alchemy namespace.
7
+ alchemy:
8
+
9
+ # == Translations for page_layout names
10
+ # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
11
+ #
12
+ # Example:
13
+ #
14
+ # es:
15
+ # alchemy:
16
+ # page_layout_names:
17
+ # contact: Contacto
18
+ # search: Buscar
19
+ #
20
+ page_layout_names:
21
+
22
+ # == Translations for element names
23
+ # Just use the elements name like defined inside the config/alchemy/elements.yml file and translate it.
24
+ #
25
+ # Example:
26
+ #
27
+ # es:
28
+ # alchemy:
29
+ # element_names:
30
+ # article: Article
31
+ # contactform: Contact form
32
+ #
33
+ element_names:
34
+
35
+ # == Translated names for contents in elements.
36
+ # Used for the content editor label inside the element editor view (The elements window)
37
+ #
38
+ # Tip: You can translate content names globally for all contents of this name, or specificly for an element.
39
+ # To do so, just place the content_name under the element name
40
+ #
41
+ # Example:
42
+ #
43
+ # es:
44
+ # alchemy:
45
+ # content_names:
46
+ # headline: Titular
47
+ # news_article:
48
+ # headline: Titular de noticia
49
+ # image_caption: Subtítulo
50
+ # show_caption: Subtítulo de programa
51
+ #
52
+ content_names:
53
+
54
+ # === Translations for content validations
55
+ # Used when a user did not enter (correct) values to the content field.
56
+ #
57
+ # Tip: You can define the validation messages translations different for each element and content
58
+ #
59
+ # Example:
60
+ #
61
+ # es:
62
+ # alchemy:
63
+ # content_validations:
64
+ # contactform:
65
+ # success_page:
66
+ # blank: 'Por favor elige una página para mostrar.'
67
+ # mail_to:
68
+ # blank: 'Por favor proporciona una dirección de correo donde entregar las consultas de contacto.'
69
+ #
70
+ content_validations:
71
+ errors:
72
+ blank: "%{field} no puede estar en blanco"
73
+ invalid: '%{field} tiene un formato incorrecto '
74
+ taken: '%{field} ya está en uso'
75
+
76
+ default_content_texts:
77
+ lorem: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
78
+ corporate_lorem: "Appropriately enable sustainable growth strategies vis-a-vis holistic materials. Energistically orchestrate open-source e-tailers vis-a-vis plug-and-play best practices. Uniquely plagiarize client-centric opportunities whereas plug-and-play ideas. Distinctively reconceptualize backward-compatible partnerships vis-a-vis reliable total linkage. Interactively fabricate highly efficient networks for clicks-and-mortar content. Collaboratively reconceptualize holistic markets via 2.0 architectures."
79
+
80
+ essence_pictures:
81
+ css_classes:
82
+ left: 'A la izquierda'
83
+ right: 'A la derecha'
84
+ no_float: 'Encima'
85
+
86
+ # == Contactform translations
87
+ contactform:
88
+ labels:
89
+ salutation: 'Tratamiento'
90
+ choose: 'Por favor elige'
91
+ mr: 'Sr.'
92
+ mrs: 'Sra.'
93
+ firstname: 'Nombre'
94
+ lastname: 'Apellido'
95
+ address: 'Calle / Nº'
96
+ zip: 'Código Postal / Ciudad'
97
+ phone: 'Teléfono'
98
+ email: 'Correo'
99
+ message: 'Mensaje'
100
+ send: 'Enviar'
101
+ mandatory_fields: '* Campo obligatorio.'
102
+ # The flash message shown after successfully sending the message.
103
+ messages:
104
+ success: 'Su mensaje se ha enviado con éxito.'
105
+
106
+ # == Translated language names for translation select
107
+ translations:
108
+ de: 'DE'
109
+ en: 'EN'
110
+ nl: 'NL'
111
+ fr: 'FR'
112
+ es: 'ES'
113
+
114
+ # == User roles translations
115
+ user_roles:
116
+ registered: "Registrado"
117
+ member: "Miembro"
118
+ author: "Autor"
119
+ editor: "Editor"
120
+ admin: "Administrador"
121
+
122
+ # == Mime Types translations
123
+ # These are human readable mime types used for the document-type row in archive files.
124
+ mime_types:
125
+ audio/mp4: 'Audio MP4'
126
+ application/msword: 'Documento de Word'
127
+ application/rtf: 'Documento RTF'
128
+ audio/mpeg: 'Audio MP3'
129
+ text/plain: 'Documento de texto'
130
+ video/mp4: 'Video MP4'
131
+ video/mpeg: 'Video MPEG'
132
+ application/pdf: 'Documento PDF'
133
+ application/x-flash-video: 'Video de Flash'
134
+ video/x-flv: 'Video de Flash'
135
+ application/x-shockwave-flash: 'Video de Flash'
136
+ application/zip: 'Archivo ZIP'
137
+ application/x-rar: 'Archivo RAR'
138
+ application/vnd:
139
+ ms-excel: 'Documento Excel'
140
+ video/quicktime: 'Video de Quicktime'
141
+ image/x-psd: 'Archivo de Photoshop'
142
+ image/gif: 'Imagen GIF'
143
+ image/png: 'Imagen PNG'
144
+ image/jpeg: 'Imagen JPG'
145
+ video/x-msvideo: 'Video AVI'
146
+ video/x-ms-wmv: 'Windows Media Video'
147
+ image/tiff: 'Imagen TIFF'
148
+ 'text/x-vcard': 'vCard'
149
+ application/vcard: 'vCard'
150
+
151
+ link_target_options:
152
+ default: Misma ventana
153
+ blank: Nueva ventana / pestaña
154
+ overlay: Capa superpuesta
155
+
156
+ resource_help_texts:
157
+ site:
158
+ aliases: Por favor separa con espacios o en una nueva línea los dominios adicionales.
159
+
160
+ anchor: 'Ancla'
161
+ back: 'Atras'
162
+ create_tree_as_new_language: "Crear %{language} como nuevo árbol de idioma"
163
+ "Active Pages": "Páginas activas"
164
+ "Add global page": "Añadir página global"
165
+ "Add page link": "Añadir redirección"
166
+ "Adobe Website": "Sitio web de Adobe"
167
+ "Alchemy is open software and itself uses open software and free resources:": "Alchemy es un software abierto que utiliza software abierto y recursos libres:"
168
+ "Alchemy is up to date": 'Alchemy está actualizado'
169
+ 'An error happened': 'Ha ocurrido un error'
170
+ "Change password": "Cambiar contraseña"
171
+ "Choose page": "Elige una página"
172
+ "Cleared trash": "Papelera vacíada"
173
+ "Clear selection": "Limpiar selección"
174
+ "Forgot your password?": "¿Olvidaste la contraseña?"
175
+ "Clipboard": "Portapapeles"
176
+ "Confirm new password": "Confirmar nueva contraseña"
177
+ "Copy": "Copiar"
178
+ "Could not load Adobe Flash® Plugin!": "No se pudo cargar el plugin de Adobe Flash Player!"
179
+ "Currently locked pages": "Páginas actualmente bloqueadas"
180
+ "Default language has to be public": "El idioma por defecto tiene que ser público"
181
+ "Delete image": "Eliminar imagen"
182
+ "Do you really want to clear the clipboard?": "¿Deseas realmente vaciar el portapapeles?"
183
+ "Do you really want to clear the trash?": "¿Deseas realmente vaciar la papelera?"
184
+ "Do you really want to delete this content?": "¿Deseas realmente eliminar este contenido?"
185
+ "Drag an element over to the element window to restore it": "Arrastra un elemento a la ventana de elementos para restaurarlo"
186
+ "Edit Picturemask": "Editar máscara de la imagen"
187
+ "Edit image": "Editar imagen"
188
+ "Edit multiple pictures": "Editar multiples imágenes"
189
+ "Elements": "Elementos"
190
+ "Element trashed": "Elementos eliminados"
191
+ "Error with the Flash® Uploader!": "Error con Flash Uploader!"
192
+ "Excerpt": "Extracto"
193
+ "File uploaded succesfully": "Archivo %{name} subido correctamente"
194
+ "File successfully updated": "Archivo actualizado correctamente"
195
+ "File upload error": "Error al subir archivo: %{error}"
196
+ "File deleted successfully": "%{name} se ha eliminado"
197
+ "Filter": Filtrar
198
+ "Filter by tag": "Filtrar por etiqueta"
199
+ "Flush page cache": "Vaciar cache de páginas"
200
+ "Flush picture cache": "Vaciar cache de imagenes"
201
+ "Global shortcuts": "Comandos globales"
202
+ "Hide childpages": "Ocultar páginas hijas"
203
+ "Hide Elements": "Ocultar elementos"
204
+ "If you have any problems using the Flash uploader you can switch to": "Si tienes cualquier problema usando Flash uploader, puedes cambiar a %{link}"
205
+ "Image missing": "Imagen perdida"
206
+ "Image size": "Tamaño de las imágenes"
207
+ "Language successfully created": "Idioma creado correctamente."
208
+ "Language successfully removed": "Idioma eliminado correctamente."
209
+ "Language successfully updated": "Idioma actualizado correctamente."
210
+ "Language tree": "Árbol de idiomas"
211
+ "Layout default": "Según diseño"
212
+ "Library shortcuts": "Comandos de la librería"
213
+ "Logged in as": "Conectado como"
214
+ "Mandatory": "Campos obligatorios"
215
+ "Name": "Nombre"
216
+ "New": "Nuevo"
217
+ "New Element": "Nuevo elemento"
218
+ "New page": "Nueva página"
219
+ "No page links for this page found": "No hay redirecciones para esta página"
220
+ "New password": "Nueva contraseña"
221
+ "New Tag": "Nueva etiqueta"
222
+ "New Tag Created": "Nueva etiqueta creada"
223
+ "No": "No"
224
+ "No items in your clipboard": "Sin artículos en el portapapeles"
225
+ "No Tags found": "No se han encontrado etiquetas"
226
+ "None": "Ninguno"
227
+ "Open Link in": "Abrir enlace en"
228
+ "Page": "Página"
229
+ "Page edit shortcuts": "Comandos de edición de página"
230
+ "Page deleted": "%{name} eliminada"
231
+ "Page saved": "%{name} guardada"
232
+ "Page cache flushed": "Cache de páginas vaciada"
233
+ "Pages order saved": "Orden de las páginas guardado"
234
+ "Password": "Contraseña"
235
+ "Password reset": "Restablecer contraseña"
236
+ "Paste from clipboard": "Pegar del portapapeles"
237
+ "Picture infos": "Detalles de la imagen"
238
+ "Picture uploaded succesfully": "Imagen %{name} subida correctamente"
239
+ "Picture validation error": "Error al cargar %{name}"
240
+ "Picture renamed successfully": "Imagen renombrada correctamente de %{from} a %{to}"
241
+ "Picture deleted successfully": "Imagen %{name} eliminada correctamente"
242
+ "Pictures updated successfully": "Imágenes actualizadas correctamente"
243
+ "Picture cache flushed": "Cache de imágenes vaciada"
244
+ "Please Signup": "Por favor inicia sesión para editar tu web."
245
+ "Please choose": "Por favor selecciona"
246
+ "Please enter a new password": "Por favor introduce una nueva contraseña."
247
+ "Please enter your email address": "Por favor introduce tu dirección de email."
248
+ "Please log in": "Por favor inicia sesión."
249
+ "Please seperate the tags with commata": "* Por favor separa las etiquetas con comas."
250
+ "Properties": "Propiedades"
251
+ "Publish page": "Publicar página"
252
+ "Read the License": "Leer la Licencia"
253
+ "Redirects to": "Redirige a"
254
+ "Reload Preview": "Recargar vista previa"
255
+ "Remove item from clipboard": "Quitar elemento del portapapeles"
256
+ "Remove tag filter": "Quitar filtro de etiquetas"
257
+ "Remove this content": "Quitar este contenido"
258
+ "Reset Imagemask": "Reiniciar máscara de imagen"
259
+ "Reset password instructions": "Instrucciones para restablecer la contraseña"
260
+ "Select all": "Seleccionar todo"
261
+ "Select an content": "Seleccionar contenido"
262
+ "Select style": "Seleccionar estilo"
263
+ "Send reset instructions": "Enviar instrucciones para restablecer"
264
+ "Show Elements": "Mostrar elementos"
265
+ "Show childpages": "Mostrar páginas hijas"
266
+ "Show clipboard": "Mostrar portapapeles"
267
+ "Show picture infos": "Mostrar información de la imagen"
268
+ "Show trash": "Mostrar papelera"
269
+ "Site successfully created": "Sitio web creado correctamente."
270
+ "Site successfully removed": "Sitio web eliminado correctamente."
271
+ "Site successfully updated": "Sitio web actualizado correctamente."
272
+ "Size": "Tamaño"
273
+ "Sort pages": "Ordenar páginas"
274
+ "Successfully added content": "%{content} añadido correctamente"
275
+ "Successfully deleted content": "%{content} eliminado correctamente"
276
+ "Successfully saved content position": "Posición del contenido guardada correctamente"
277
+ "Tags": "Etiquetas"
278
+ "These pictures could not be deleted, because they were in use": "Estas imágenes no se pueden eliminar porque están en uso: %{names}"
279
+ "This page is locked": "Esta página está actualmente bloqueada por %{name}"
280
+ "Title": "Título"
281
+ "Trash": "Papelera"
282
+ "User created": "%{name} usuario creado"
283
+ "User deleted": "%{name} usuario eliminado"
284
+ "User updated": "%{name} usuario actualizado"
285
+ "Validation failed": "Fallo de validación"
286
+ "Version": "Versión"
287
+ "View File": "Ver archivo"
288
+ "Visit page": "Visitar página"
289
+ "Warning!": "¡Atención!"
290
+ content_description_missing: "Atención: Falta la descripción del contenido. Por favor comprueba el archivo elements.yml"
291
+ element_description_missing: "¡Atención! Falta la descripción. Por favor comprueba tu archivo elements.yml."
292
+ "Welcome to Alchemy": "Bienvenido a Alchemy"
293
+ "Who else is online": "Quien más está conectado"
294
+ "Yes": "Sí"
295
+ "You are not authorized": "No estas autorizado"
296
+ "You are about to edit many pictures at once": "Vas a editar %{length} imágenes a la vez"
297
+ element_dirty_close_window_notice: "Tienes elementos sin guardar. ¿Realmente quieres cerrar la ventana de elementos?"
298
+ "You may upload files with following extensions": "Puedes subir %{file_types_description} con las siguientes extensiones: %{file_types}"
299
+ "You may upload any file": "Puedes cargar cualquier archivo"
300
+ "Your last login was on": "Tu última conexión fue el %{time}."
301
+ "Your last updated pages": "Tus últimas páginas actualizadas"
302
+ "Your trash is empty": "La papelera está vacía"
303
+ above: "Encima"
304
+ add: "Añadir"
305
+ "add new content": "Añadir nuevo contenido"
306
+ add_image_to_element: "Añadir una imagen"
307
+ align_in_text: "Alineación de texto"
308
+ all: "Todo"
309
+ all_pictures: "Todas las imágenes"
310
+ apply: "Aplicar"
311
+ assign_file: "Asignar un archivo"
312
+ assign_file_from_archive: "Asigna un archivo de tu librería"
313
+ assign_image: "Asignar una imagen"
314
+ attachment_filename_notice: "* Por favor no uses ningún caracter especial para el nombre del archivo."
315
+ auto_play: "Reproducir video después de cargar"
316
+ big_thumbnails: "Miniaturas grandes"
317
+ browse: "examinar"
318
+ cancel: "cancelar"
319
+ cannot_delete_picture_notice: "No se puede eliminar %{name}, porque sigue en uso."
320
+ choose_element_as_target: "Por favor elige un elemento como destino"
321
+ choose_element_to_link: "Por favor elige un elemento"
322
+ choose_file_to_link: "Por favor elige un archivo para enlazar"
323
+ "clear clipboard": "vaciar portapapeles"
324
+ "clear trash": "vaciar papelera"
325
+ click_to_show_all: "Pulsa para mostrar todo de nuevo."
326
+ confirm_to_delete_file: "¿Realmente desea eliminar este archivo del servidor?"
327
+ confirm_to_delete_image: "¿Realmente desea eliminar esta imagen del servidor?"
328
+ confirm_to_delete_image_from_server: "¿Realmente desea eliminar esta imagen del servidor?"
329
+ confirm_to_delete_images_from_server: "¿Realmente desea eliminar estas imágenes del servidor?"
330
+ confirm_to_delete_page: "¿Realmente desea eliminar esta página? ¡Todos los elementos se perderán!"
331
+ content_essence_not_found: "Esencia del contenido no encontrada"
332
+ content_not_found: "Campo para el contenido no presente."
333
+ content_validations_headline: "Por favor compruebe los campos marcados abajo"
334
+ copy: "copiar"
335
+ copy_element: "Copiar este elemento"
336
+ copy_page: "Copiar página"
337
+ "Could not delete Pictures": "No se puede eliminar las imágenes"
338
+ copy_language_tree_heading: "Copiar árbol de páginas"
339
+ country_code_placeholder: 'i.e. es (opcional)'
340
+ country_code_foot_note: "Solo es necesario establecer un código de país si desea establecer cada país con su idioma."
341
+ create: "Crear"
342
+ "Create language": "Crear un nuevo idioma"
343
+ "Create site": "Crear un nuevo sitio"
344
+ create_language_tree_heading: "Crear árbol de idioma vacío"
345
+ create_page: "Crear una nueva sub-página"
346
+ currently_edited_by: "Esta página está bloqueada por"
347
+ cut_element: "Cortar este elemento."
348
+ delete_file: "Eliminar este archivo del servidor."
349
+ delete_image: "Eliminar esta imagen"
350
+ delete_language: "Eliminar este idioma"
351
+ delete_page: "Eliminar esta página"
352
+ delete_tag: 'Eliminar etiqueta'
353
+ document: "Archivo"
354
+ documents: "archivos"
355
+ download_csv: "Descargar CSV"
356
+ download_file: "Descargar archivo '%{filename}'"
357
+ do_you_really_want_to_delete_this_tag?: "¿Deseas realmente eliminar esta etiqueta?"
358
+ drag_to_sort: "Arrastra para ordenar las imágenes"
359
+ edit_file_properties: "Editar propiedades del archivo."
360
+ edit_image_properties: "Editar propiedades de la imagen."
361
+ edit_language: "Editar idioma"
362
+ edit_page: "Editar página"
363
+ edit_page_properties: "Editar propiedades de la página"
364
+ edit_tag: 'Editar etiquetas'
365
+ edit_selected_pictures: "Editar imágenes seleccionadas"
366
+ element_editor_not_found: "Error dentro de este elemento"
367
+ element_of_type: "Elemento"
368
+ element_saved: "Elemento guardado."
369
+ enter_external_link: "Por favor introduce la URL con la que quieres enlazar"
370
+ explain_cropping: "<p>Mueve el marco y cambia el tamaño para ajustar la sección de la imagen.</p><p>Pulsa en aplicar cuando estes satisfecho.</p>"
371
+ explain_publishing: "Publicar la página y eliminar la versión cacheada del servidor."
372
+ explain_sitemap_dragndrop_sorting: "Consejo: Arrastra las páginas desde el icono para ordenarlas."
373
+ explain_unlocking: "Dejar la página y desbloquearla para otros usuarios."
374
+ explain_upload:
375
+ footnote: "¡AVISO! Presiona el botón CTRL (CMD en Mac) mientras pulsas en %{name} con el ratón para subir múltiples %{name} de una vez."
376
+ intro: "Así es como funciona la subida de %{name}"
377
+ step1: "Pulsa en el botón 'Examinar' y navega hasta tu carpeta de %{name}"
378
+ step2: "Selecciona todos l@s %{name} que quieres subir"
379
+ step3: "Pulsa en el botón 'abrir'. ¡La subida comienza!"
380
+ dragndrop: "También puedes arrastrar los archivos desde tu ordenador sobre el área que hay debajo."
381
+ external_link_notice_1: "Por favor introduce la URL completa con http:// o un protocolo similar."
382
+ external_link_notice_2: "Para enlazar a una ruta de tu sitio web, empieza con una /."
383
+ female: "Femenino"
384
+ file: "Archivo"
385
+ file_rename_error: "Error renombrando el archivo."
386
+ files: "archivos"
387
+ from_at: "Por %{by} el %{at}"
388
+ height: "Altura"
389
+ help:
390
+ shortcuts:
391
+ "Open help window": "Abrir ventana de ayuda"
392
+ "Close current dialog": "Cerrar el diálogo actual"
393
+ "Open logout dialog": "Abrir diálogo de cierre de sesión"
394
+ "Focus search field": "Foco sobre el campo de búsqueda"
395
+ "Create a new record": "Crear un nuevo registro"
396
+ "Show page infos": "Mostrar información de la página"
397
+ "Create new element": "Crear nuevo elemento"
398
+ "Edit page properties": "Editar propiedades de la página"
399
+ "Reload the preview": "Recargar la vista previa"
400
+ "Leave the page": "Salir de la página"
401
+ "Open upload form": "Abrir formulario de subida"
402
+ "Select all pictures": "Seleccionar todas las imágenes"
403
+ hide_element_content: "Ocultar los contenidos del elemento."
404
+ dashboard: "Pizarra"
405
+ image_alt_tag: "Alt-tag"
406
+ image_caption: "Subtítulo"
407
+ image_name: "Nombre"
408
+ image_title: "Titulo-tag"
409
+ images: "imágenes"
410
+ internal_link_headline: "Escoge una página para enlazar."
411
+ internal_link_page_elements_explanation: "Además, puedes pulsar a la derecha de una página en 'Mostrar elementos' para enlazar a un ancla de un elemento de esa página."
412
+ internal_link_page_anchors_explanation: "También puedes enlazar a un ancla de la página actual."
413
+ "item copied to clipboard": "%{name} ha sido copiado al portapapeles"
414
+ "item moved to clipboard": "%{name} ha sido movido al portapapeles"
415
+ "item removed from clipboard": "%{name} ha sido eliminado del portapapeles"
416
+ javascript_disabled_headline: "¡Javascript está deshabilitado!"
417
+ javascript_disabled_text: "Alchemy necesita Javascript para funcionar correctamente. Por favor habilítalo en las opciones de tu navegador."
418
+ language_code_placeholder: 'i.e. es'
419
+ language_does_not_exist: "Este árbol de idioma no existe"
420
+ language_pages_copied: "El árbol de idioma fue copiado correctamente."
421
+ last_upload_only: "Solo última subida"
422
+ left: "Izquierda"
423
+ legacy_url_info_text: "Un enlace es una redirección de una vieja URL a la URL actual de esta página. Esta redirección ocurre con un <a href='https://support.google.com/webmasters/answer/93633' target='_blank'>código de estado 301</a>."
424
+ link_image: "Enlazar esta imagen."
425
+ link_overlay_tab_label:
426
+ contactform: "Formulario de contacto"
427
+ external: "Externo"
428
+ file: "Archivo"
429
+ internal: "Interno"
430
+ link_title: "Título del enlace"
431
+ login: "iniciar sesión"
432
+ logout: "Cerrar sesión"
433
+ mail_to: "Para"
434
+ main_content: "Contenido principal"
435
+ male: "Masculino"
436
+ me: "Yo"
437
+ medium_thumbnails: "Miniaturas medianas"
438
+ meta_data: "Metadatos"
439
+ meta_description: "Meta-Descripción"
440
+ meta_keywords: "Meta-Palabras clave"
441
+ modules:
442
+ attachments: "Archivos"
443
+ dashboard: "Pizarra"
444
+ pictures: "Imágenes"
445
+ languages: "Idiomas"
446
+ layoutpages: "Páginas globales"
447
+ library: "Librería"
448
+ pages: "Páginas"
449
+ tags: "Etiquetas"
450
+ sites: "Sitios"
451
+ user_sessions: "Login"
452
+ name: "Nombre"
453
+ names: "Nombres"
454
+ navigation_name: "Nombre de navegación"
455
+ no_image_for_cropper_found: "Imagen no encontrada. Por favor guarda el elemento primero."
456
+ no: "No"
457
+ "no pages": "Sin páginas"
458
+ "no users": "Sin usuarios"
459
+ no_default_language_found: "No se encontró idioma por defecto."
460
+ no_element_given: "Ningún elemento dado."
461
+ no_files_in_archive: "No tienes ningún documento en tu archivo."
462
+ no_images_in_archive: "No tienes ninguna imagen en tu archivo."
463
+ no_more_elements_to_add: "No hay más elementos disponibles."
464
+ no_search_results: "Tu búsqueda no produjo ningún resultado."
465
+ "not a valid image": "no es una imagen válida."
466
+ "or": 'o'
467
+ or_replace_it_with_an_existing_tag: 'O reemplázala con una etiqueta existente'
468
+ "Page created": "Página: '%{name}' creada."
469
+ page_for_links:
470
+ choose_page: "Elige %{name}"
471
+ page_infos: 'Información de la página'
472
+ page_layout_changed_notice: "La página tipo ha cambiado. Los elementos no permitidos en el nuevo tipo han sido movidos a la papelera."
473
+ page_properties: "Propiedades de la página"
474
+ page_public: "publicada"
475
+ page_published: "Página publicada"
476
+ page_restricted: "restringida"
477
+ page_states:
478
+ visible:
479
+ "true": "Página visible en el menú."
480
+ "false": "Página no visible en el menú."
481
+ public:
482
+ "true": "La página está publicada."
483
+ "false": "La página no se está publicando."
484
+ locked:
485
+ "true": "La página se está editando en este momento."
486
+ "false": ""
487
+ restricted:
488
+ "true": "La página está restringida."
489
+ "false": "La página no está restringida."
490
+ page_status: "Estado"
491
+ page_title: "Título"
492
+ page_type: "Tipo"
493
+ page_visible_in_navigation: "Visible en el menú"
494
+ page_was_created: "Creada"
495
+ page_was_updated: "Actualizada"
496
+ pages:
497
+ update:
498
+ comma_seperated: "Separado por comas"
499
+ password: "Contraseña"
500
+ paste: "Pegar"
501
+ picture_gallery_editor: 'Imágenes'
502
+ picture_library:
503
+ filter:
504
+ last_upload: "desde la última subida"
505
+ recent: "que se subieron recientemente"
506
+ without_tag: "sin etiquetas"
507
+ pictures_in_page: "%{page} en %{pictures}"
508
+ place_link: "Enlazar texto"
509
+ player_version: "Versión de Flash Player"
510
+ "please enter subject and mail address": "Por favor rellene el destinatario y el asunto."
511
+ please_confirm: "Por favor confirmar"
512
+ please_wait: "Por favor espere"
513
+ position_in_text: "Posición"
514
+ preview_size: "Tamaño de vista previa"
515
+ preview_sizes:
516
+ '240': '240px (teléfono pequeño)'
517
+ '320': '320px (iPhone)'
518
+ '480': '480px (tablet pequeña)'
519
+ '768': '768px (iPad - Vertical)'
520
+ '1024': '1024px (iPad - Horizontal)'
521
+ '1280': '1280px (Escritorio)'
522
+ recently_uploaded_only: 'Sólo subido recientemente'
523
+ "regular method": "Método regular"
524
+ remove: "Eliminar"
525
+ rename_file: "Renombrar este archivo."
526
+ rename: "Renombrar"
527
+ replace: Reemplazar
528
+ 'Replaced Tag': "La etiqueta '%{old_tag}' fue reemplazada por '%{new_tag}'"
529
+ resources:
530
+ relation_select:
531
+ blank: '- nada -'
532
+ right: "Derecha"
533
+ robot_follow: "robot puede seguir enlaces."
534
+ robot_index: "permitir indexar al robot."
535
+ save: "Guardar"
536
+ "save order": "Guardar orden"
537
+ saved_link: "Enlace guardado."
538
+ search: "buscar"
539
+ search_engines: "Motores de búsqueda"
540
+ select_element: "Seleccionar elemento"
541
+ seperate_tags_with_comma: "Separar etiquetas con comas"
542
+ show_element_content: "Mostrar contenido de este elemento."
543
+ show_elements_from_page: "Mostrar todos los elementos de esta página"
544
+ show_eq: "Mostrar EQ"
545
+ show_navigation: "Mostrar en navegación"
546
+ show_page_in_sitemap: "Mostar página en mapa del sitio."
547
+ signup_mail_delivery_error: 'El correo de registro no se pudo enviar. Por favor revisa tu configuración de correo.'
548
+ small_thumbnails: "Miniaturas pequeñas"
549
+ subject: "Asunto"
550
+ successfully_added_element: "Nuevo elemento añadido correctamente."
551
+ successfully_deleted_tag: "Etiqueta eliminada correctamente"
552
+ successfully_restored_element: "Elemento restaurado correctamente."
553
+ successfully_saved_element_position: "Posición del elemento actualizada correctamente."
554
+ successfully_updated_tag: "Etiqueta actualizada correctamente"
555
+ swap_image: "Cambiar imagen"
556
+ insert_image: "Insertar imagen"
557
+ tag_list: Etiquetas
558
+ tags_get_created_if_used_the_first_time: 'Se crearán las etiquetas usadas por primera vez.'
559
+ this_picture_is_used_on_these_pages: "Esta imagen se utiliza en las siguientes páginas"
560
+ title: "Título"
561
+ to_alchemy: "Ir a Alchemy"
562
+ "trash element": "Poner el elemento en la papelera"
563
+ unknown: "desconocido"
564
+ unlink: "Eliminar enlace de esta imagen."
565
+ unlock_page: "Salir de la página"
566
+ unlocked_page: "Página %{name} desbloqueada."
567
+ upload_file: "Subir archivo(s)"
568
+ upload_image: "Subir imagen(es)"
569
+ url_name: "URL-Nombre"
570
+ visible: "visible"
571
+ want_to_create_new_language: "¿Quieres crear un árbol de idioma vacío?"
572
+ want_to_make_copy_of_existing_language: "¿Quieres copiar un árbol de idioma existente?"
573
+ "We need at least one default.": "Debe existir un idioma por defecto."
574
+ welcome_note: "Bienvenido %{name}"
575
+ welcome_back_note: "Bienvenido de nuevo %{name}"
576
+ welcome_please_identify_notice: "¡Bienvenido! Por favor identifícate."
577
+ width: "Ancho"
578
+ without_tag: "Sin etiquetas"
579
+ you_can_rename_this_tag: "Puedes renombrar esta etiqueta"
580
+ zoom_image: "Ampliar esta imagen"
581
+ "Leave Alchemy": "Salir de Alchemy"
582
+ leave: "salir"
583
+ "You are about to leave Alchemy": "Vas a salir de Alchemy"
584
+ "Do you want to": "Quieres"
585
+ "stay logged in": "permanecer conectado"
586
+ "or to completely": "o finalmente"
587
+ "Are you sure?": "¿Estás seguro?"
588
+ "Create": "Crear"
589
+ "Edit": "Editar"
590
+ "Delete": "Eliminar"
591
+ "Succesfully created": "Creado correctamente"
592
+ "Succesfully updated": "Actualizado correctamente"
593
+ "Succesfully removed": "Eliminado correctamente"
594
+ "Nothing found": "No se encontró nada."
595
+ "Or drag files over here": "O arrastra archivos sobre esta caja"
596
+ complete: 'Completado'
597
+ "Update available": 'Actualización disponible'
598
+ "Update status unavailable": 'Estado de actualización no disponible'
599
+ "Uploading": "Subiendo"
600
+
601
+ # END of Alchemy translation
602
+
603
+ # == Rails translations
604
+ # Below are Rails specific translations for date, time, number, currency, error messages and so on.
605
+ date:
606
+ formats:
607
+ default: '%d/%m/%Y'
608
+ datepicker: '%d/%m/%Y'
609
+ long: '%d de %B de %Y'
610
+ short: '%d de %b'
611
+ only_day: "%e"
612
+ day_names: [domingo, lunes, martes, miércoles, jueves, viernes, sábado]
613
+ abbr_day_names: [dom, lun, mar, mié, jue, vie, sáb]
614
+ month_names: [~, enero, febrero, marzo, abril, mayo, junio, julio, agosto, septiembre, octubre, noviembre, diciembre]
615
+ abbr_month_names: [~, ene, feb, mar, abr, may, jun, jul, ago, sep, oct, nov, dic]
616
+ order:
617
+ - :day
618
+ - :month
619
+ - :year
620
+ time:
621
+ am: am
622
+ pm: pm
623
+ formats:
624
+ default: '%d de %B de %Y %H:%M'
625
+ short: '%d de %b %H:%M'
626
+ long: '%A, %d de %B de %Y %H:%M:%S %z'
627
+ page_status: "%d/%m/%Y %H:%M"
628
+ date: "%d/%m/%Y"
629
+ datepicker: "%d/%m/%Y"
630
+ time: "%H:%M"
631
+ support:
632
+ array:
633
+ last_word_connector: ', y '
634
+ two_words_connector: ' y '
635
+ words_connector: ', '
636
+
637
+ number:
638
+ # Used in number_with_delimiter()
639
+ # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
640
+ format:
641
+ delimiter: .
642
+ precision: 3
643
+ separator: ','
644
+ significant: false
645
+ strip_insignificant_zeros: false
646
+
647
+ # Used in number_to_currency()
648
+ currency:
649
+ format:
650
+ delimiter: .
651
+ format: '%n %u'
652
+ precision: 2
653
+ separator: ','
654
+ significant: false
655
+ strip_insignificant_zeros: false
656
+ unit: €
657
+
658
+ # Used in number_to_percentage()
659
+ percentage:
660
+ format:
661
+ delimiter: ''
662
+
663
+ # Used in number_to_precision()
664
+ precision:
665
+ format:
666
+ delimiter: ''
667
+
668
+ # Used in number_to_human_size()
669
+ human:
670
+ format:
671
+ delimiter: ''
672
+ precision: 1
673
+ significant: true
674
+ strip_insignificant_zeros: true
675
+ decimal_units:
676
+ format: '%n %u'
677
+ units:
678
+ billion: mil millones
679
+ million: millón
680
+ quadrillion: mil billones
681
+ thousand: mil
682
+ trillion: billón
683
+ unit: ''
684
+ storage_units:
685
+ format: '%n %u'
686
+ units:
687
+ byte:
688
+ one: Byte
689
+ other: Bytes
690
+ gb: GB
691
+ kb: KB
692
+ mb: MB
693
+ tb: TB
694
+
695
+ # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
696
+ datetime:
697
+ distance_in_words:
698
+ about_x_hours:
699
+ one: alrededor de 1 hora
700
+ other: alrededor de %{count} horas
701
+ about_x_months:
702
+ one: alrededor de 1 mes
703
+ other: alrededor de %{count} meses
704
+ about_x_years:
705
+ one: alrededor de 1 año
706
+ other: alrededor de %{count} años
707
+ almost_x_years:
708
+ one: casi 1 año
709
+ other: casi %{count} años
710
+ half_a_minute: medio minuto
711
+ less_than_x_minutes:
712
+ one: menos de 1 minuto
713
+ other: menos de %{count} minutos
714
+ less_than_x_seconds:
715
+ one: menos de 1 segundo
716
+ other: menos de %{count} segundos
717
+ over_x_years:
718
+ one: más de 1 año
719
+ other: más de %{count} años
720
+ x_days:
721
+ one: 1 día
722
+ other: '%{count} días'
723
+ x_minutes:
724
+ one: 1 minuto
725
+ other: '%{count} minutos'
726
+ x_months:
727
+ one: 1 mes
728
+ other: '%{count} meses'
729
+ x_seconds:
730
+ one: 1 segundo
731
+ other: '%{count} segundos'
732
+ prompts:
733
+ day: Día
734
+ hour: Hora
735
+ minute: Minutos
736
+ month: Mes
737
+ second: Segundos
738
+ year: Año
739
+
740
+ helpers:
741
+ select:
742
+ prompt: Por favor seleccione
743
+ submit:
744
+ create: Crear %{model}
745
+ submit: Guardar %{model}
746
+ update: Actualizar %{model}
747
+
748
+ errors: &errors
749
+ format: '%{attribute} %{message}'
750
+ template:
751
+ header: "Falló la validación"
752
+ body: 'Por favor revisa el formulario y comprueba los errores:'
753
+
754
+ messages:
755
+ accepted: debe ser aceptado
756
+ blank: no puede estar en blanco
757
+ confirmation: no coincide
758
+ empty: no puede estar vacío
759
+ equal_to: debe ser igual a %{count}
760
+ even: debe ser par
761
+ exclusion: está reservado
762
+ greater_than: debe ser mayor que %{count}
763
+ greater_than_or_equal_to: debe ser mayor que o igual a %{count}
764
+ inclusion: no está incluido en la lista
765
+ invalid: no es válido
766
+ less_than: debe ser menor que %{count}
767
+ less_than_or_equal_to: debe ser menor que o igual a %{count}
768
+ not_a_number: no es un número
769
+ not_an_integer: debe ser un entero
770
+ odd: debe ser impar
771
+ record_invalid: 'La validación falló: %{errors}'
772
+ taken: ya está en uso
773
+ too_long: es demasiado largo (%{count} caracteres máximo)
774
+ too_short: es demasiado corto (%{count} caracteres mínimo)
775
+ wrong_length: no tiene la longitud correcta (%{count} caracteres exactos)
776
+ models:
777
+ alchemy/content:
778
+ attributes:
779
+ name:
780
+ taken: 'ya está en uso en este elemento.'
781
+ essence:
782
+ validation_failed: 'La validación falló.'
783
+ alchemy/element:
784
+ attributes:
785
+ name:
786
+ blank: "^Por favor elige un elemento."
787
+ alchemy/language:
788
+ attributes:
789
+ language_code:
790
+ invalid: '^El formato del código de lenguaje no es válido. Por favor usa exactamente 2 letras minúsculas.'
791
+ taken: 'ya está en uso para este código de país.'
792
+ alchemy/page:
793
+ attributes:
794
+ name:
795
+ blank: "^Por favor introduce un nombre."
796
+ page_layout:
797
+ blank: "^Por favor elige un tipo de página."
798
+ urlname:
799
+ too_short: "^La ruta URL es demasiado corta (3 caracteres mímino)."
800
+ taken: "^Ruta URL ya en uso."
801
+ exclusion: "^Ruta URL reservada."
802
+ alchemy/picture:
803
+ attributes:
804
+ image_file:
805
+ blank: "Por favor adjunta una imagen."
806
+
807
+ activemodel:
808
+ models:
809
+ alchemy/message:
810
+ one: Mensaje
811
+ other: Mensajes
812
+
813
+ attributes:
814
+ alchemy/message:
815
+ salutation: 'Saludo'
816
+ firstname: 'Nombre'
817
+ lastname: 'Apellido'
818
+ address: 'Calle / Nº'
819
+ zip: 'Código Postal'
820
+ city: Ciudad
821
+ phone: 'Teléfono'
822
+ email: 'Correo'
823
+ message: 'Mensaje'
824
+
825
+ errors:
826
+ <<: *errors
827
+
828
+ # Translations for active record database models and error messages.
829
+ activerecord:
830
+
831
+ models:
832
+ acts_as_taggable_on/tag:
833
+ one: Etiqueta
834
+ other: Etiquetas
835
+
836
+ alchemy/attachment:
837
+ one: Archivo
838
+ other: Archivos
839
+
840
+ alchemy/element:
841
+ one: "Elemento"
842
+ other: "Elementos"
843
+
844
+ alchemy/legacy_page_url:
845
+ one: "Enlace"
846
+ other: "Enlaces"
847
+
848
+ alchemy/language:
849
+ one: "Idioma"
850
+ other: "Idiomas"
851
+
852
+ alchemy/page:
853
+ one: "Página"
854
+ other: "Páginas"
855
+
856
+ alchemy/site:
857
+ one: Sitio
858
+ other: Sitios
859
+
860
+ alchemy/picture:
861
+ one: Imagen
862
+ other: Imágenes
863
+
864
+ attributes:
865
+
866
+ acts_as_taggable_on/tag:
867
+ taggings_types: Usado por
868
+ taggings_count: Contador de uso
869
+ name: Nombre
870
+
871
+ alchemy/attachment:
872
+ file_mime_type: Tipo de archivo
873
+ created_at: "Creado por"
874
+ file_name: Nombre del archivo
875
+ name: Nombre
876
+ file_size: Tamaño del archivo
877
+ tag_list: Etiquetas
878
+
879
+ alchemy/element:
880
+ display_name: "Nombre"
881
+ name: "Nombre"
882
+ public: "visible"
883
+ tag_list: Etiquetas
884
+
885
+ alchemy/essence_file:
886
+ css_class: Estilo
887
+
888
+ alchemy/essence_picture:
889
+ caption: "Subtítulo"
890
+ title: "Título"
891
+ alt_tag: "Texto alternativo"
892
+ link: Enlace
893
+ link_class_name: "Clase CSS del enlace"
894
+ link_title: Título del enlace
895
+ css_class: Estilo
896
+ link_target: Destino del enlace
897
+ render_size: Mostrar a tamaño
898
+ crop_from: Cortar de
899
+ crop_size: Tamaño de recorte
900
+ picture_id: Bild
901
+
902
+ alchemy/language:
903
+ country_code: "Código de país"
904
+ language_code: "Código de idioma"
905
+ default: "Por defecto"
906
+ frontpage_name: "Nombre de la primera página"
907
+ name: "Nombre"
908
+ page_layout: "Tipo de la primera página"
909
+ public: "Pública"
910
+
911
+ alchemy/legacy_page_url:
912
+ urlname: "Ruta URL"
913
+
914
+ alchemy/page:
915
+ created_at: "Creado por"
916
+ language: "Idioma"
917
+ locked: "Esta página esta bloqueada por otro usuario."
918
+ locked_by: "bloqueada por"
919
+ meta_description: "Descripción"
920
+ meta_keywords: "Palabras clave"
921
+ name: "Nombre"
922
+ page_layout: "Tipo de página"
923
+ public: "pública"
924
+ restricted: "restringida"
925
+ robot_follow: "robot puede seguir enlaces"
926
+ robot_index: "permitir indexar al robot"
927
+ sitemap: "visible en mapa del sitio"
928
+ tag_list: Etiquetas
929
+ title: "Título"
930
+ updated_at: "Actualizado por"
931
+ urlname: "Ruta URL"
932
+ visible: "visible en la navegación"
933
+
934
+ alchemy/picture:
935
+ image_file_name: "Nombre del archivo"
936
+ image_file_height: "Altura"
937
+ image_file_width: "Anchura"
938
+ image_file_dimensions: "Dimensiones"
939
+ image_file_size: "Tamaño del archivo"
940
+ name: "Nombre"
941
+ tag_list: Etiquetas
942
+
943
+ alchemy/site:
944
+ name: "Nombre"
945
+ host: "Dominio primario"
946
+ public: "Público"
947
+ aliases: "Alias de dominio"
948
+ redirect_to_primary_host: "Redirigir al dominio primario"
949
+
950
+ errors:
951
+ <<: *errors
952
+
953
+ views:
954
+ pagination:
955
+ first: "Primera página"
956
+ previous_page: "Página anterior"
957
+ next_page: "Pagina siguiente"
958
+ last: "Última página"