alchemy_cms 3.1.0.beta1 → 3.1.0.beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +4 -2
  4. data/README.md +9 -1
  5. data/alchemy_cms.gemspec +24 -13
  6. data/app/assets/javascripts/alchemy/alchemy.autocomplete.js.coffee +1 -1
  7. data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +1 -1
  8. data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +9 -0
  9. data/app/assets/javascripts/alchemy/alchemy.js +4 -0
  10. data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +3 -2
  11. data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +2 -0
  12. data/app/assets/javascripts/alchemy/alchemy.translations.js.coffee +43 -1
  13. data/app/assets/stylesheets/alchemy/_mixins.scss +1 -2
  14. data/app/assets/stylesheets/alchemy/archive.scss +1 -1
  15. data/app/assets/stylesheets/alchemy/base.scss +18 -1
  16. data/app/assets/stylesheets/alchemy/buttons.scss +5 -0
  17. data/app/assets/stylesheets/alchemy/dialogs.scss +0 -1
  18. data/app/assets/stylesheets/alchemy/frame.scss +17 -10
  19. data/app/assets/stylesheets/alchemy/menubar.css.scss +3 -0
  20. data/app/assets/stylesheets/alchemy/tables.scss +30 -8
  21. data/app/controllers/alchemy/admin/attachments_controller.rb +9 -1
  22. data/app/controllers/alchemy/admin/essence_files_controller.rb +3 -4
  23. data/app/controllers/alchemy/pages_controller.rb +20 -2
  24. data/app/models/alchemy/content.rb +2 -1
  25. data/app/models/alchemy/element.rb +1 -1
  26. data/app/views/alchemy/admin/attachments/_files_list.html.erb +22 -18
  27. data/app/views/alchemy/admin/attachments/index.html.erb +1 -1
  28. data/app/views/alchemy/admin/languages/_table.html.erb +29 -25
  29. data/app/views/alchemy/admin/languages/index.html.erb +1 -1
  30. data/app/views/alchemy/admin/pictures/info.html.erb +3 -2
  31. data/app/views/alchemy/admin/resources/_table.html.erb +17 -13
  32. data/app/views/alchemy/admin/resources/index.html.erb +1 -1
  33. data/app/views/alchemy/admin/sites/index.html.erb +1 -1
  34. data/app/views/alchemy/admin/tags/edit.html.erb +1 -1
  35. data/app/views/alchemy/admin/tags/index.html.erb +14 -10
  36. data/app/views/alchemy/essences/_essence_file_editor.html.erb +20 -24
  37. data/app/views/alchemy/messages/contact_form_mail.es.text.erb +12 -0
  38. data/app/views/layouts/alchemy/admin.html.erb +2 -0
  39. data/bin/alchemy +58 -26
  40. data/config/locales/alchemy.en.yml +2 -1
  41. data/config/locales/alchemy.es.yml +958 -0
  42. data/config/locales/alchemy.fr.yml +1 -1
  43. data/config/locales/alchemy.ru.yml +837 -0
  44. data/config/locales/simple_form.es.yml +6 -0
  45. data/config/locales/simple_form.ru.yml +25 -0
  46. data/lib/alchemy/engine.rb +11 -0
  47. data/lib/alchemy/essence.rb +12 -1
  48. data/lib/alchemy/resources_helper.rb +3 -1
  49. data/lib/alchemy/test_support/essence_shared_examples.rb +37 -0
  50. data/lib/alchemy/test_support/factories.rb +2 -0
  51. data/lib/alchemy/version.rb +1 -1
  52. data/lib/rails/generators/alchemy/module/templates/module_config.rb.tt +4 -2
  53. data/lib/rails/generators/alchemy/scaffold/files/alchemy.es.yml +31 -0
  54. data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +1 -0
  55. data/lib/rails/templates/alchemy.rb +2 -0
  56. data/lib/tasks/alchemy/install.rake +11 -7
  57. data/spec/controllers/admin/attachments_controller_spec.rb +21 -0
  58. data/spec/controllers/admin/essence_files_controller_spec.rb +13 -12
  59. data/spec/controllers/alchemy/api/contents_controller_spec.rb +4 -4
  60. data/spec/controllers/attachments_controller_spec.rb +18 -0
  61. data/spec/controllers/pages_controller_spec.rb +20 -3
  62. data/spec/dummy/db/migrate/20121026104128_create_events.rb +2 -0
  63. data/spec/dummy/db/schema.rb +5 -3
  64. data/spec/features/admin/resources_integration_spec.rb +5 -0
  65. data/spec/features/page_feature_spec.rb +20 -0
  66. data/spec/models/content_spec.rb +24 -2
  67. data/spec/models/element_spec.rb +11 -0
  68. data/spec/views/essences/essence_file_editor_spec.rb +61 -0
  69. data/vendor/assets/javascripts/jquery_plugins/jquery.floatThead.min.js +3 -0
  70. data/vendor/assets/javascripts/tinymce/langs/es.js +197 -0
  71. data/vendor/assets/javascripts/tinymce/langs/ru.js +197 -0
  72. metadata +53 -38
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # encoding: UTF-8
3
- gem 'rails', '~> 4.0'
3
+ gem 'rails', '~> 4.1.0'
4
4
 
5
5
  require 'rails/version'
6
6
  require "thor"
@@ -21,16 +21,27 @@ class AlchemyInstaller < Thor
21
21
  method_option :database, type: :string, aliases: "-d", desc: "Type of database to use for this project. Default sqlite."
22
22
  def new(project)
23
23
  @application = project.downcase.strip.gsub(/ /, '_')
24
- system("rails _#{rails_version}_ new #{@application} -m #{alchemy_template} -d #{options[:database]} -JT") || exit!(1)
24
+ say welcome_message, :yellow
25
+ say "Step 1: Creating a Rails #{rails_version} application.", :yellow
26
+ say "Please wait...", :yellow
27
+ system("rails _#{rails_version}_ new #{@application} -m #{alchemy_template} -d #{options[:database]} -JT --quiet") || exit!(1)
28
+ say "Successfully created the Rails application!", :green
29
+ say instructions, :yellow
25
30
  if options[:database] == 'mysql' || options[:database] == 'postgresql'
26
31
  create_database_yml(options[:database])
27
32
  end
28
- system("#{rake_cmd} alchemy:install") || exit!(1)
33
+ system("#{rake_cmd} alchemy:install from_binary=true") || exit!(1)
34
+ say "\nStep 3: Installing Alchemy User into Rails app", :yellow
35
+ say "Please wait...", :yellow
29
36
  system("#{rake_cmd} alchemy_devise:install:migrations") || exit!(1)
37
+ say "Done.", :green
38
+ say "\nStep 4: Setting up the database", :yellow
39
+ say "Please wait...", :yellow
30
40
  system("#{rake_cmd} db:migrate") || exit!(1)
41
+ say "Done.", :green
31
42
  cleanup
32
- say "\n## SUCCESSFULLY INSTALLED ALCHEMY CMS\n", :green
33
- say further_instructions
43
+ say "\nSuccessfully installed Alchemy CMS\n", :green
44
+ say further_instructions, :yellow
34
45
  rescue
35
46
  say "\nError while installing Alchemy CMS!\n#{$!}\n", :red
36
47
  end
@@ -42,35 +53,54 @@ class AlchemyInstaller < Thor
42
53
  end
43
54
 
44
55
  def rake_cmd
45
- "cd #{@application} && bin/rake"
56
+ "cd #{@application} && bundle exec rake"
46
57
  end
47
58
 
48
59
  def alchemy_template
49
60
  File.join(File.dirname(__FILE__), '..', 'lib', 'rails', 'templates', 'alchemy.rb')
50
61
  end
51
62
 
63
+ def welcome_message
64
+ <<-MSG
65
+
66
+ ------------------------------------------------------------
67
+ -= Welcome to the Alchemy Standalone Installer =-
68
+ ------------------------------------------------------------
69
+
70
+ Bootstraping a new Alchemy CMS #{Alchemy.version} project for you.
71
+
72
+ MSG
73
+ end
74
+
75
+ def instructions
76
+ <<-INSTRUCTIONS
77
+
78
+ Step 2: Configuration
79
+
80
+ In order to guide you through the installation process we need you to answer some questions.
81
+ INSTRUCTIONS
82
+ end
83
+
52
84
  def further_instructions
53
85
  <<-EOF
54
- :: FURTHER INSTRUCTIONS :::::::::::::::::::::::::::::::::::::::::::::::::
55
- :: ::
56
- :: Change into your app folder: ::
57
- :: ::
58
- :: $ cd #{@application}#{' ' * (63 - @application.length)}::
59
- :: ::
60
- :: Start your local Rails server with: ::
61
- :: ::
62
- :: $ bin/rails server ::
63
- :: ::
64
- :: Open your browser and enter the following URL: ::
65
- :: ::
66
- :: http://localhost:3000/admin ::
67
- :: ::
68
- :: and follow the on screen instructions to complete the installation. ::
69
- :: ::
70
- :: Read more about Alchemy in the guidelines: ::
71
- :: ::
72
- :: http://guides.alchemy-cms.com/ ::
73
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
86
+
87
+ Step 5: Further Instructions
88
+
89
+ Change into your app folder:
90
+
91
+ $ cd #{@application}
92
+
93
+ Start your local Rails server with:
94
+
95
+ $ bin/rails server
96
+
97
+ Open your browser and enter the following URL:
98
+
99
+ http://localhost:3000/admin
100
+
101
+ and follow the on screen instructions to complete the installation.
102
+
103
+ We hope you have fun using Alchemy!
74
104
  EOF
75
105
  end
76
106
 
@@ -96,6 +126,7 @@ GITIGNORE
96
126
  def create_database_yml(type)
97
127
  case type
98
128
  when 'mysql'
129
+ say "- MySQL Database settings", :yellow
99
130
  @db_user_name = ask("\nPlease enter your local mysql username (DEFAULT: root):")
100
131
  @db_user_name = 'root' if @db_user_name.empty?
101
132
  @db_password = ask_password("Please enter the password for #{@db_user_name} (Leave blank for none):")
@@ -104,6 +135,7 @@ GITIGNORE
104
135
  @db_socket = local_standard_socket if @db_socket.empty?
105
136
  file = mysql_yml_file
106
137
  when 'postgresql'
138
+ say "- PostgreSQL Database settings", :yellow
107
139
  @db_user_name = ask("\nPlease enter the local postgresql user name:")
108
140
  @db_password = ask_password("Please enter the password for #{@db_user_name} (Leave blank for none):")
109
141
  file = postgres_yml_file
@@ -268,7 +268,7 @@ en:
268
268
  "Site successfully removed": "Website successfully removed."
269
269
  "Site successfully updated": "Website successfully updated."
270
270
  "Size": "Size"
271
- "Sort pages": "Sort pages"
271
+ "Sort pages": "Reorder pages"
272
272
  "Successfully added content": "Successfully added %{content}"
273
273
  "Successfully deleted content": "Successfully deleted %{content}"
274
274
  "Successfully saved content position": "Successfully saved content position"
@@ -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"