alchemy_i18n 1.0.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +72 -0
  3. data/README.md +9 -42
  4. data/app/assets/javascripts/alchemy_i18n/de.js +2 -2
  5. data/app/assets/javascripts/alchemy_i18n/es.js +1 -2
  6. data/app/assets/javascripts/alchemy_i18n/fr.js +1 -2
  7. data/app/assets/javascripts/alchemy_i18n/it.js +1 -2
  8. data/app/assets/javascripts/alchemy_i18n/nl.js +1 -2
  9. data/app/assets/javascripts/alchemy_i18n/ru.js +1 -2
  10. data/app/assets/javascripts/alchemy_i18n/zh-CN.js +1 -2
  11. data/lib/alchemy_i18n/version.rb +1 -1
  12. data/lib/generators/alchemy_i18n/install/install_generator.rb +87 -0
  13. data/{config/locales → locales}/alchemy.de.yml +57 -1
  14. data/{config/locales → locales}/alchemy.es.yml +33 -0
  15. data/{config/locales → locales}/alchemy.fr.yml +15 -0
  16. data/{config/locales → locales}/alchemy.it.yml +28 -0
  17. data/{config/locales → locales}/alchemy.nl.yml +28 -0
  18. data/{config/locales → locales}/alchemy.pl.yml +13 -0
  19. data/{config/locales → locales}/alchemy.ru.yml +13 -0
  20. data/{config/locales → locales}/alchemy.zh-CN.yml +12 -0
  21. data/{vendor/assets/javascripts/tinymce/langs → locales/tinymce}/de.js +0 -0
  22. data/{vendor/assets/javascripts/tinymce/langs → locales/tinymce}/es.js +0 -0
  23. data/{vendor/assets/javascripts/tinymce/langs → locales/tinymce}/fr.js +0 -0
  24. data/{vendor/assets/javascripts/tinymce/langs → locales/tinymce}/it.js +0 -0
  25. data/{vendor/assets/javascripts/tinymce/langs → locales/tinymce}/nl.js +0 -0
  26. data/{vendor/assets/javascripts/tinymce/langs → locales/tinymce}/ru.js +0 -0
  27. data/{vendor/assets/javascripts/tinymce/langs → locales/tinymce}/zh-CN.js +0 -0
  28. data/vendor/assets/javascripts/select2_locale_de.js +18 -0
  29. data/vendor/assets/javascripts/select2_locale_es.js +19 -0
  30. data/vendor/assets/javascripts/select2_locale_fr.js +18 -0
  31. data/vendor/assets/javascripts/select2_locale_it.js +17 -0
  32. data/vendor/assets/javascripts/select2_locale_nl.js +17 -0
  33. data/vendor/assets/javascripts/select2_locale_ru.js +23 -0
  34. data/vendor/assets/javascripts/select2_locale_zh-CN.js +16 -0
  35. metadata +62 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e5127659cafcec370434ec27e694bf09c5d2b772153eec9fc83485b5f39df42
4
- data.tar.gz: e6af13a6487f5802d614f18869ec1a2cdbb802c9e53424b3a1af3082447f6b8b
3
+ metadata.gz: e0511304cdb42bb1421be612bddedcdb268134b0a561f70698b509d77c21ca96
4
+ data.tar.gz: efcaad8cdca39141fa0ea5b274e9cab9182592d2277c3dd9959308f38fcfe00a
5
5
  SHA512:
6
- metadata.gz: 3d050aaf4102afa790a32dc31f77a4b58c99cd3ba38d8b02826aed1cb35b82758e0394ffcfff637785b0902a05873686258da980d2b1250e2858ff06919b7447
7
- data.tar.gz: a50fa6e1ece3974246d6e548dd414250940da554d1dfb97884ea73e0cad5a6af16e3aaf17c0a6fb90f80ee2f99e4508034c37c34d248eb7f93ad55a0094df3de
6
+ metadata.gz: 877644b98fd10bb540ae0fa2acdcf06a8a3e611831e78258f17917bf01bfe35754e62b3aea804dac13ede0a58bf2479ee652ede5c83a1a83b9b7a2c15d22538a
7
+ data.tar.gz: 2f8d1179b17608fde74c1af7cc20282bc581d18cf58328dbf1ee47e150a7d7e976c8b7f5b1cdea7e685fa123b572e69b375042a0eeabd7581b2dcccf670b67c7
data/CHANGELOG.md ADDED
@@ -0,0 +1,72 @@
1
+ # Changelog
2
+
3
+ ## [v2.2.0](https://github.com/AlchemyCMS/alchemy_i18n/tree/v2.2.0) (2021-10-26)
4
+
5
+ [Full Changelog](https://github.com/AlchemyCMS/alchemy_i18n/compare/v2.1.0...v2.2.0)
6
+
7
+ **Closed issues:**
8
+
9
+ - Missing file alchemy.translations [\#32](https://github.com/AlchemyCMS/alchemy_i18n/issues/32)
10
+
11
+ **Merged pull requests:**
12
+
13
+ - Alchemy v5 compatibility [\#34](https://github.com/AlchemyCMS/alchemy_i18n/pull/34) ([afdev82](https://github.com/afdev82))
14
+ - Add select2 locales [\#31](https://github.com/AlchemyCMS/alchemy_i18n/pull/31) ([tvdeyen](https://github.com/tvdeyen))
15
+ - Added Dutch translation for menu-functionality. [\#29](https://github.com/AlchemyCMS/alchemy_i18n/pull/29) ([bjornconstructors](https://github.com/bjornconstructors))
16
+ - IT translations for new menus entry [\#26](https://github.com/AlchemyCMS/alchemy_i18n/pull/26) ([juryghidinelli](https://github.com/juryghidinelli))
17
+
18
+ ## [v2.1.0](https://github.com/AlchemyCMS/alchemy_i18n/tree/v2.1.0) (2020-07-20)
19
+
20
+ [Full Changelog](https://github.com/AlchemyCMS/alchemy_i18n/compare/v2.0.0...v2.1.0)
21
+
22
+ **Merged pull requests:**
23
+
24
+ - Copy Flatpickr translations in generator [\#28](https://github.com/AlchemyCMS/alchemy_i18n/pull/28) ([mamhoff](https://github.com/mamhoff))
25
+ - Install Generator: Copy JS translations [\#27](https://github.com/AlchemyCMS/alchemy_i18n/pull/27) ([mamhoff](https://github.com/mamhoff))
26
+ - Fix tinymce sprockets include in generator [\#25](https://github.com/AlchemyCMS/alchemy_i18n/pull/25) ([mamhoff](https://github.com/mamhoff))
27
+ - Add translations for menu names [\#24](https://github.com/AlchemyCMS/alchemy_i18n/pull/24) ([mamhoff](https://github.com/mamhoff))
28
+
29
+ ## [v2.0.0](https://github.com/AlchemyCMS/alchemy_i18n/tree/v2.0.0) (2019-12-29)
30
+
31
+ [Full Changelog](https://github.com/AlchemyCMS/alchemy_i18n/compare/v1.1.0...v2.0.0)
32
+
33
+ **Merged pull requests:**
34
+
35
+ - Add demo content translations from core [\#22](https://github.com/AlchemyCMS/alchemy_i18n/pull/22) ([tvdeyen](https://github.com/tvdeyen))
36
+ - Add a install generator [\#21](https://github.com/AlchemyCMS/alchemy_i18n/pull/21) ([tvdeyen](https://github.com/tvdeyen))
37
+
38
+ ## [v1.1.0](https://github.com/AlchemyCMS/alchemy_i18n/tree/v1.1.0) (2019-12-29)
39
+
40
+ [Full Changelog](https://github.com/AlchemyCMS/alchemy_i18n/compare/v1.0.0...v1.1.0)
41
+
42
+ **Merged pull requests:**
43
+
44
+ - Add German translations for page select [\#19](https://github.com/AlchemyCMS/alchemy_i18n/pull/19) ([tvdeyen](https://github.com/tvdeyen))
45
+ - Add German translations for menus and nodes [\#18](https://github.com/AlchemyCMS/alchemy_i18n/pull/18) ([tvdeyen](https://github.com/tvdeyen))
46
+ - Add add\_nested\_element key [\#16](https://github.com/AlchemyCMS/alchemy_i18n/pull/16) ([tvdeyen](https://github.com/tvdeyen))
47
+ - Prepare release [\#15](https://github.com/AlchemyCMS/alchemy_i18n/pull/15) ([tvdeyen](https://github.com/tvdeyen))
48
+
49
+ ## [v1.0.0](https://github.com/AlchemyCMS/alchemy_i18n/tree/v1.0.0) (2019-04-17)
50
+
51
+ [Full Changelog](https://github.com/AlchemyCMS/alchemy_i18n/compare/e1a898c9fcdd2865f5a1c0510f8f96f5f03d734c...v1.0.0)
52
+
53
+ **Merged pull requests:**
54
+
55
+ - Remove Gemfile.lock [\#14](https://github.com/AlchemyCMS/alchemy_i18n/pull/14) ([tvdeyen](https://github.com/tvdeyen))
56
+ - Add date column translations [\#13](https://github.com/AlchemyCMS/alchemy_i18n/pull/13) ([tvdeyen](https://github.com/tvdeyen))
57
+ - Add translations for Flatpickr.js [\#12](https://github.com/AlchemyCMS/alchemy_i18n/pull/12) ([mamhoff](https://github.com/mamhoff))
58
+ - Include all necessary files in gemspec [\#11](https://github.com/AlchemyCMS/alchemy_i18n/pull/11) ([tvdeyen](https://github.com/tvdeyen))
59
+ - Fix the localeapp config [\#10](https://github.com/AlchemyCMS/alchemy_i18n/pull/10) ([tvdeyen](https://github.com/tvdeyen))
60
+ - Fix the polish translation file [\#9](https://github.com/AlchemyCMS/alchemy_i18n/pull/9) ([tvdeyen](https://github.com/tvdeyen))
61
+ - Add localeapp config [\#8](https://github.com/AlchemyCMS/alchemy_i18n/pull/8) ([tvdeyen](https://github.com/tvdeyen))
62
+ - Add Alchemy Devise translations [\#7](https://github.com/AlchemyCMS/alchemy_i18n/pull/7) ([tvdeyen](https://github.com/tvdeyen))
63
+ - Add simplified Chinese translation [\#6](https://github.com/AlchemyCMS/alchemy_i18n/pull/6) ([tvdeyen](https://github.com/tvdeyen))
64
+ - Add select2 translation instructions [\#5](https://github.com/AlchemyCMS/alchemy_i18n/pull/5) ([tvdeyen](https://github.com/tvdeyen))
65
+ - Add JS translations [\#4](https://github.com/AlchemyCMS/alchemy_i18n/pull/4) ([tvdeyen](https://github.com/tvdeyen))
66
+ - Add simple form translations [\#3](https://github.com/AlchemyCMS/alchemy_i18n/pull/3) ([tvdeyen](https://github.com/tvdeyen))
67
+ - Move Kaminari pagination translations into alchemy scope [\#2](https://github.com/AlchemyCMS/alchemy_i18n/pull/2) ([tvdeyen](https://github.com/tvdeyen))
68
+ - Typo error [\#1](https://github.com/AlchemyCMS/alchemy_i18n/pull/1) ([juryghidinelli](https://github.com/juryghidinelli))
69
+
70
+
71
+
72
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/README.md CHANGED
@@ -1,54 +1,21 @@
1
- # AlchemyCMS Translation Files
1
+ # AlchemyCMS Translations
2
2
 
3
- Translations files for AlchemyCMS 4.1 and above.
3
+ Translations files for AlchemyCMS 4.4 and above.
4
4
 
5
- ## Usage
5
+ ## Installation
6
6
 
7
- The recommended way of adding Alchemy translations is to [download the translation files](https://github.com/AlchemyCMS/alchemy_i18n/tree/master/config/locales) you need
8
- and save them into your apps `config/locales` folder.
7
+ Add this Gem to your `Gemfile` and run the install generator
9
8
 
10
- Alternatively you could add this gem into your apps `Gemfile`, but then you will add all supported translations into the `I18n.load_path`
11
- which will raise the consumed runtime memory and increase the app start up time.
12
-
13
- ### Backend javascript translations
14
-
15
- [Download the Javascript translation files](https://github.com/AlchemyCMS/alchemy_i18n/tree/master/app/assets/javascripts/alchemy_i18n) you need
16
- and save them into your apps `vendor/assets/javascripts/alchemy_i18n` folder.
17
-
18
- Require each js locale you need to your `vendor/assets/javascripts/alchemy/admin/all.js` file
19
-
20
- ```js
21
- //= require alchemy_i18n/de
22
- //= require alchemy_i18n/fr
23
- //= require select2_locale_de
24
- //= require select2_locale_fr
25
- //= require flatpickr/de
26
- //= require flatpickr/fr
27
9
  ```
28
-
29
- Or require all js translations at once by adding (**not recommended**)
30
-
31
- ```js
32
- //= require alchemy_i18n
10
+ bin/rails g alchemy_i18n:install
33
11
  ```
34
12
 
35
- ### Rails translations
13
+ Pass the locales you want to generate files for with the `--locales` option.
14
+ Seperate multiple locales by space.
36
15
 
37
- This gem only provides translations for Alchemy itself. If you also need translations for ActiveSupport features (like `to_sentence` or `number_with_currency`, etc.)
38
- you should [download the Rails translation files](https://github.com/svenfuchs/rails-i18n/tree/master/rails/locale) and save them into your apps `config/locales` folder.
39
-
40
- Alternatively you could add the `rails-i18n` gem into your apps `Gemfile`, but then you will add all supported translations into the `I18n.load_path`
41
- which will raise the consumed runtime memory and increase the app start up time.
42
-
43
- ### Russian translations
44
-
45
- If you want to use Russian translation and have better i18n support, you should put:
46
-
47
- ```ruby
48
- gem 'russian', '~> 0.6.0'
49
16
  ```
50
-
51
- or a gem with similar functionality into your apps `Gemfile`.
17
+ bin/rails g alchemy_i18n:install --locales=de it es
18
+ ```
52
19
 
53
20
  ---
54
21
 
@@ -1,5 +1,4 @@
1
- //= require alchemy/alchemy.translations
2
-
1
+ Alchemy.translations = Alchemy.translations || {};
3
2
  Alchemy.translations.de = {
4
3
  allowed_chars: 'von %{count} Zeichen',
5
4
  cancel: 'Abbrechen',
@@ -12,6 +11,7 @@ Alchemy.translations.de = {
12
11
  page_dirty_notice: 'Sie haben ungesicherte Änderungen auf der Seite. Diese gehen verloren, wenn Sie fortfahren.',
13
12
  page_found: 'Seite gefunden',
14
13
  pages_found: 'Seiten gefunden',
14
+ 'Search page': 'Seite wählen',
15
15
  url_validation_failed: 'Die URL hat kein gültiges Format.',
16
16
  warning: 'Achtung!',
17
17
  'File is too large': 'Datei ist zu groß.',
@@ -1,5 +1,4 @@
1
- //= require alchemy/alchemy.translations
2
-
1
+ Alchemy.translations = Alchemy.translations || {};
3
2
  Alchemy.translations.es = {
4
3
  allowed_chars: 'de %{count} caracteres',
5
4
  cancel: 'Cancelar',
@@ -1,5 +1,4 @@
1
- //= require alchemy/alchemy.translations
2
-
1
+ Alchemy.translations = Alchemy.translations || {};
3
2
  Alchemy.translations.fr = {
4
3
  allowed_chars: 'von %{count} signes',
5
4
  cancel: 'abandonner',
@@ -1,5 +1,4 @@
1
- //= require alchemy/alchemy.translations
2
-
1
+ Alchemy.translations = Alchemy.translations || {};
3
2
  Alchemy.translations.it = {
4
3
  allowed_chars: 'di %{count} caratteri',
5
4
  cancel: 'Annulla',
@@ -1,5 +1,4 @@
1
- //= require alchemy/alchemy.translations
2
-
1
+ Alchemy.translations = Alchemy.translations || {};
3
2
  Alchemy.translations.nl = {
4
3
  allowed_chars: 'of %{count} chars',
5
4
  cancel: 'Annuleren',
@@ -1,5 +1,4 @@
1
- //= require alchemy/alchemy.translations
2
-
1
+ Alchemy.translations = Alchemy.translations || {};
3
2
  Alchemy.translations.ru = {
4
3
  allowed_chars: '%{count} знаков',
5
4
  cancel: 'Отмена',
@@ -1,5 +1,4 @@
1
- //= require alchemy/alchemy.translations
2
-
1
+ Alchemy.translations = Alchemy.translations || {};
3
2
  Alchemy.translations['zh-CN'] = {
4
3
  allowed_chars: '%{count} 个字符',
5
4
  cancel: '取消',
@@ -1,3 +1,3 @@
1
1
  module AlchemyI18n
2
- VERSION = '1.0.0'
2
+ VERSION = '2.2.0'
3
3
  end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails'
4
+ require 'alchemy/i18n'
5
+
6
+ module AlchemyI18n
7
+ module Generators
8
+ class InstallGenerator < ::Rails::Generators::Base
9
+ desc "Installs Alchemy locales into your App."
10
+
11
+ def self.description
12
+ locales = Alchemy::I18n.available_locales.reject { |l| l == :en }.to_sentence
13
+ "Available locales are #{locales}"
14
+ end
15
+
16
+ class_option :locales,
17
+ type: :array,
18
+ default: [],
19
+ desc: "Locales to generate files for. #{description}"
20
+
21
+ source_root AlchemyI18n::Engine.root
22
+
23
+ def copy_locales
24
+ locales.each do |locale|
25
+ yml_filename = "alchemy.#{locale}.yml"
26
+ copy_file File.join('locales', yml_filename), Rails.root.join('config', 'locales', yml_filename)
27
+ js_filename = "#{locale}.js"
28
+ copy_file File.join('app', 'assets', 'javascripts', 'alchemy_i18n', js_filename), Rails.root.join('vendor', 'assets', 'javascripts', 'alchemy_i18n', js_filename)
29
+ copy_file File.join('vendor', 'assets', 'javascripts', 'flatpickr', js_filename), Rails.root.join('vendor', 'assets', 'javascripts', 'flatpickr', js_filename)
30
+ end
31
+ end
32
+
33
+ def append_assets
34
+ locales.each do |locale|
35
+ append_file 'vendor/assets/javascripts/alchemy/admin/all.js', <<~ASSETS
36
+ //= require alchemy_i18n/#{locale}
37
+ //= require select2_locale_#{locale}
38
+ //= require flatpickr/#{locale}
39
+ ASSETS
40
+ end
41
+ end
42
+
43
+ def copy_tinymce_locales
44
+ locales.each do |locale|
45
+ copy_file File.join("locales", "tinymce", "#{locale}.js"),
46
+ Rails.root.join('vendor', 'assets', 'javascripts', 'tinymce', 'langs', "#{locale}.js")
47
+ end
48
+ end
49
+
50
+ def append_manifest
51
+ locales.each do |locale|
52
+ append_file 'app/assets/config/manifest.js', <<~MANIFEST
53
+ //= link tinymce/langs/#{locale}.js
54
+ MANIFEST
55
+ end
56
+ end
57
+
58
+ def add_rails_i18n
59
+ environment do
60
+ "config.i18n.available_locales = #{locales.map(&:to_sym).inspect}"
61
+ end
62
+ end
63
+
64
+ def add_russian_gem
65
+ if locales.include?('ru')
66
+ gem 'russian', '~> 0.6'
67
+ end
68
+ end
69
+
70
+ private
71
+
72
+ def locales
73
+ @_locales ||= begin
74
+ options[:locales].presence || ask_locales.split(' ')
75
+ end
76
+ end
77
+
78
+ def ask_locales
79
+ ask <<~LOCALES
80
+ Which locales should we generate files for?
81
+ #{self.class.description}
82
+ (seperate multiple locales with space):
83
+ LOCALES
84
+ end
85
+ end
86
+ end
87
+ end
@@ -6,6 +6,20 @@ de:
6
6
  # All translations used in Alchemy CMS are inside this alchemy namespace.
7
7
  alchemy:
8
8
 
9
+ # == Translations for menu names
10
+ # Just use the menu name like defined inside the config/alchemy/menus.yml file and translate it.
11
+ # We're providing main and footer menu here as a convenience.
12
+ # Example:
13
+ #
14
+ # de:
15
+ # alchemy:
16
+ # menu_names:
17
+ # sidebar_menu: Seitenleistenmenü
18
+ #
19
+ menu_names:
20
+ main_menu: Hauptmenü
21
+ footer_menut: Footermenü
22
+
9
23
  # == Translations for page_layout names
10
24
  # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
11
25
  #
@@ -18,6 +32,7 @@ de:
18
32
  # search: Suche
19
33
  #
20
34
  page_layout_names:
35
+ index: Startseite
21
36
 
22
37
  # == Translations for element names
23
38
  # Just use the elements name like defined inside the config/alchemy/elements.yml file and translate it.
@@ -31,6 +46,7 @@ de:
31
46
  # contactform: Kontaktformular
32
47
  #
33
48
  element_names:
49
+ article: Artikel
34
50
 
35
51
  # == Translated names for contents in elements.
36
52
  # Used for the content editor label inside the element editor view (The elements window)
@@ -50,6 +66,9 @@ de:
50
66
  # show_caption: Zeige Bildunterschrift
51
67
  #
52
68
  content_names:
69
+ headline: Überschrift
70
+ text: Text
71
+ picture: Bild
53
72
 
54
73
  # === Translations for content validations
55
74
  # Used when a user did not enter (correct) values to the content field.
@@ -73,10 +92,23 @@ de:
73
92
  invalid: '%{field} hat das falsche Format'
74
93
  taken: '%{field} wurde schon benutzt'
75
94
 
95
+ # Hint texts for contents
96
+ content_hints:
97
+ headline: "Dies ist ein einzeiliger unformatierter Text"
98
+ picture: "Bilder werden in der Bibliothek gespeichert. Ein Bild kann mehrfach einem Element zugewiesen werden. Auch ein Bildauswahlwerkzeug ist in Alchemy integriert."
99
+ text: "Dies ist ein formatierbarer Textblock. Die Einstellungen des Editors können angepasst werden. Siehe http://guides.alchemy-cms.com/stable/customize_tinymce.html"
100
+
101
+ # Default texts for new contents created
76
102
  default_content_texts:
103
+ article_headline: "Willkommen auf Ihrer Alchemy Seite"
104
+ article_text: '<p>Als erstes sollte man sich mit der Struktur von Alchemy vertraut machen. <a class="external" href="http://guides.alchemy-cms.com/stable/alchemy_approach.html" target="_blank" data-link-target="blank">Mehr dazu in den Guidelines</a>.</p><p>Die wichtigsten beiden Dinge die man über Alchemy wissen muss sind Elemente und Seitentypen.</p><p><span style="text-decoration: underline;"><strong>Elemente:</strong></span></p><p>Mit Alchemy kann man eine Seite in Inhaltsbereiche aufteilen, Elemente. Diese Elemente werden aus verschiedenen Grundtypen (Essenzen) zusammengesetzt. Die Essenzen sind:</p><ul><li>EssenceText - <em>Eine Zeile Text</em></li><li>EssenceRichtext - <em>Ein TinyMCE basierter formatierter Textblock</em></li><li>EssencePicture - <em>Ein Verweis auf ein Bild</em></li><li>EssenceHtml - <em>HTML Code</em></li><li>EssenceSelect - <em>Eine Auswahl an Werten</em></li><li>EssenceBoolean - <em>Eine Checkbox</em></li></ul><p>Elemente werden in einer YAML Datei definiert: <strong>config/alchemy/elements.yml</strong></p><p><a class="external" href="http://guides.alchemy-cms.com/stable/elements.html" target="_blank" data-link-target="blank">Mehr über Elemente und wie sie definiert werden, kann in den Guidelines nachgelesen werden.</a></p><p><span style="text-decoration: underline;"><strong>Seitentypen:</strong></span></p><p>Es können verschiedene Seitentypen definiert werden. Diesen können Elemente zugewiesen und ihr Verhalten definiert werden.</p><p>Seitentypen werden ein einer YAML Datei definiert: <strong>config/alchemy/page_layouts.yml</strong></p><p><a class="external" href="http://guides.alchemy-cms.com/stable/page_layouts.html" target="_blank" data-link-target="blank">Mehr über das Erstellen von Seitentypen kann in den Guidelines nachgelesen werden.</a></p>'
77
105
  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
106
  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
107
 
108
+ # Hint texts for elements
109
+ element_hints:
110
+ article: "Dies ist ein Hinweistext für das Artikel Element. Dieser Text kann in der `config/locales/alchemy.de.yml` Datei angepasst werden."
111
+
80
112
  essence_pictures:
81
113
  css_classes:
82
114
  left: 'Links vom Text'
@@ -160,6 +192,7 @@ de:
160
192
  site:
161
193
  aliases: Weitere Domains bitte mit Leerzeichen oder Leerzeile getrennt angeben.
162
194
 
195
+ add_nested_element: "%{name} hinzufügen"
163
196
  anchor: 'Sprungmarke'
164
197
  attribute_fixed: Dieser Wert ist für diesen Seitentyp nicht veränderbar
165
198
  back: 'zurück'
@@ -326,6 +359,8 @@ de:
326
359
  confirm_to_delete_image: "Wollen Sie dieses Bild wirklich löschen?"
327
360
  confirm_to_delete_image_from_server: "Wollen Sie dieses Bild wirklich vom Server löschen?"
328
361
  confirm_to_delete_images_from_server: "Wollen Sie diese Bilder wirklich vom Server löschen?"
362
+ confirm_to_delete_menu: "Wollen Sie dieses Menü wirklich löschen?"
363
+ confirm_to_delete_node: "Wollen Sie diesen Menü-Eintrag wirklich entfernen?"
329
364
  confirm_to_delete_page: "Wollen Sie diese Seite wirklich löschen? Alle Inhalte (auch die aus dem Papierkorb) gehen dabei unwiderruflich verloren!"
330
365
  content_essence_not_found: "Essenz wurde nicht gefunden"
331
366
  content_not_found: "Das Feld für diesen Inhalt ist nicht vorhanden."
@@ -342,11 +377,15 @@ de:
342
377
  "Create site": "Eine neue Website erstellen"
343
378
  create_language_tree_heading: "Einen leeren Sprachbaum erstellen"
344
379
  create_page: "Eine Unterseite anlegen"
380
+ create_menu: "Ein Menü erstellen"
381
+ create_node: "Einen Menü-Eintrag hinzufügen"
345
382
  currently_edited_by: "Wird bearbeitet von"
346
383
  cut_element: "Element ausschneiden"
347
384
  delete_file: "Datei vom Server löschen"
348
385
  delete_image: "Bild löschen."
349
386
  delete_language: "Sprache löschen"
387
+ delete_menu: "Menü löschen"
388
+ delete_node: "Menü-Eintrag entfernen"
350
389
  delete_page: "Seite löschen"
351
390
  delete_tag: 'Tag löschen'
352
391
  document: "Dokument"
@@ -357,6 +396,8 @@ de:
357
396
  edit_file_properties: "Dateieigenschaften bearbeiten"
358
397
  edit_image_properties: "Bildeigenschaften bearbeiten"
359
398
  edit_language: "Sprache bearbeiten"
399
+ edit_menu: "Menü bearbeiten"
400
+ edit_node: "Menü-Eintrag ändern"
360
401
  edit_page: "Seite bearbeiten"
361
402
  edit_page_properties: "Seiteneigenschaften bearbeiten"
362
403
  edit_tag: 'Tag bearbeiten'
@@ -398,7 +439,7 @@ de:
398
439
  image_name: "Name"
399
440
  image_title: "Titel-Tag"
400
441
  internal_link_headline: "Wählen Sie eine Seite zum Verlinken aus."
401
- internal_link_page_elements_explanation: "Zusätzlich können Sie rechts neben der jeweiligen Seite auf 'Elemente anzeigen' klicken, um eine Sprungmarke zu einem Element dieser Seite zu erstellen."
442
+ internal_link_page_elements_explanation: "Zusätzlich können Sie eine Sprungmarke zu einem Element der gewählten Seite setzen."
402
443
  internal_link_page_anchors_explanation: "Alternativ können Sie auch eine Sprungmarke innerhalb der aktuellen Seite erstellen."
403
444
  "item copied to clipboard": "%{name} wurde in die Zwischenablage kopiert."
404
445
  "item moved to clipboard": "%{name} wurde in die Zwischenablage bewegt."
@@ -413,6 +454,7 @@ de:
413
454
  legacy_url_info_text: "Ein Verweis ist eine Weiterleitung einer alten URL auf die aktuelle URL dieser Seite. Diese Weiterleitung findet mit einem <a href='https://support.google.com/webmasters/answer/93633' target='_blank'>301-Status-Code</a> statt."
414
455
  link_image: "Bild verlinken"
415
456
  link_overlay_tab_label:
457
+ anchor: Sprungmarke
416
458
  contactform: "Kontaktformular"
417
459
  external: "Extern"
418
460
  file: "Datei"
@@ -425,6 +467,7 @@ de:
425
467
  male: "Herr"
426
468
  me: 'Ich'
427
469
  medium_thumbnails: "mittlere Miniaturbilder"
470
+ menu: Menü
428
471
  meta_data: "Meta Daten"
429
472
  meta_description: "Meta Beschreibung"
430
473
  meta_keywords: "Meta Tags"
@@ -435,6 +478,7 @@ de:
435
478
  languages: "Sprachen"
436
479
  layoutpages: "Globale Seiten"
437
480
  library: "Bibliothek"
481
+ menus: "Menüs"
438
482
  pages: "Seiten"
439
483
  tags: "Tags"
440
484
  sites: "Websites"
@@ -443,6 +487,7 @@ de:
443
487
  name: "Name"
444
488
  names: "Namen"
445
489
  navigation_name: "Navigationsname"
490
+ node_url_hint: "Beginnen Sie die URL bitte mit einem Slash (/) oder verwenden Sie eine URL mit Protokoll (zB. https:)"
446
491
  no_image_for_cropper_found: "Es wurde kein Bild gefunden. Bitte speichern Sie zuerst das Element."
447
492
  no: "Nein"
448
493
  "no pages": "Keine Seiten"
@@ -456,6 +501,7 @@ de:
456
501
  "not a valid image": "Keine valide Bilddatei."
457
502
  "or": 'oder'
458
503
  or_replace_it_with_an_existing_tag: 'Oder Sie ersetzen es durch ein vorhandenes Tag'
504
+ page: Seite
459
505
  "Page created": "Seite '%{name}' wurde erstellt."
460
506
  page_for_links:
461
507
  choose_page: "%{name} wählen"
@@ -531,6 +577,8 @@ de:
531
577
  saved_link: "Link wurde gespeichert."
532
578
  search: "suchen"
533
579
  search_engines: "Suchmaschinen"
580
+ search_page: Seite wählen
581
+ Select a page first: Zuerst eine Seite wählen
534
582
  select_element: "Element wählen"
535
583
  seperate_tags_with_comma: 'Mehrere Tags mit Komma trennen.'
536
584
  show_element_content: "Element ausklappen"
@@ -728,6 +776,9 @@ de:
728
776
  alchemy/language:
729
777
  one: "Sprache"
730
778
  other: "Sprachen"
779
+ alchemy/node:
780
+ one: "Menü-Eintrag"
781
+ other: "Menü-Einträge"
731
782
  alchemy/page:
732
783
  one: "Seite"
733
784
  other: "Seiten"
@@ -787,6 +838,11 @@ de:
787
838
  code: ISO-Code
788
839
  alchemy/legacy_page_url:
789
840
  urlname: "URL-Pfad"
841
+ alchemy/node:
842
+ url: URL
843
+ title: Link-Titel
844
+ nofollow: Suchmaschinen den Link nicht folgen lassen
845
+ external: Link in neuem Tab/Fenster öffnen
790
846
  alchemy/page:
791
847
  created_at: "Erstellt am"
792
848
  language: "Sprache"
@@ -6,6 +6,20 @@ es:
6
6
  # All translations used in Alchemy CMS are inside this alchemy namespace.
7
7
  alchemy:
8
8
 
9
+ # == Translations for menu names
10
+ # Just use the menu name like defined inside the config/alchemy/menus.yml file and translate it.
11
+ # We're providing main and footer menu here as a convenience.
12
+ # Example:
13
+ #
14
+ # de:
15
+ # alchemy:
16
+ # menu_names:
17
+ # sidebar_menu: Menú de barra lateral
18
+ #
19
+ menu_names:
20
+ main_menu: Menú principal
21
+ footer_menut: Menú de pie de página
22
+
9
23
  # == Translations for page_layout names
10
24
  # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
11
25
  #
@@ -18,6 +32,7 @@ es:
18
32
  # search: Buscar
19
33
  #
20
34
  page_layout_names:
35
+ index: Inicio
21
36
 
22
37
  # == Translations for element names
23
38
  # Just use the elements name like defined inside the config/alchemy/elements.yml file and translate it.
@@ -31,6 +46,7 @@ es:
31
46
  # contactform: Contact form
32
47
  #
33
48
  element_names:
49
+ article: Artículo
34
50
 
35
51
  # == Translated names for contents in elements.
36
52
  # Used for the content editor label inside the element editor view (The elements window)
@@ -50,6 +66,9 @@ es:
50
66
  # show_caption: Subtítulo de programa
51
67
  #
52
68
  content_names:
69
+ headline: Titular
70
+ text: Texto
71
+ picture: Imagen
53
72
 
54
73
  # === Translations for content validations
55
74
  # Used when a user did not enter (correct) values to the content field.
@@ -73,10 +92,23 @@ es:
73
92
  invalid: '%{field} tiene un formato incorrecto '
74
93
  taken: '%{field} ya está en uso'
75
94
 
95
+ # Hint texts for contents
96
+ content_hints:
97
+ headline: "Esta es una sencilla linea de texto sin formato"
98
+ picture: "Las imágenes se almacenan en la librería. Puedes asignar una imagen varias veces en tu sitio. Alchemy tiene una herramienta de recorte de imagen integrada."
99
+ text: "Este es un bloque de texto enriquecido mediante el editor TinyMCE. Puedes cambiar la configuración del editor. Ver http://guides.alchemy-cms.com/stable/customize_tinymce.html"
100
+
101
+ # Default texts for new contents created
76
102
  default_content_texts:
103
+ article_headline: "Bienvenido a tu primera página de Alchemy CMS"
104
+ article_text: '<p><strong>Como empezar.</strong></p><p>Lo primero de todo deberías leer sobre Alchemy y su arquitectura en las <a class="external" href="http://guides.alchemy-cms.com/stable/alchemy_approach.html" target="_blank" data-link-target="blank">guías</a>.</p><p>Las cosas más importantes que debes saber sobre Alchemy son elementos (<i>elements</i>) y disposiciones de página (<i>page layouts</i>).</p><p><span style="text-decoration: underline;"><strong>Elementos:</strong></span></p><p>Con Alchemy puedes dividir las páginas en partes de contenido, elementos. Estos elementos se pueden definir mediante varios tipos de contenido básicos: esencias (<i>essences</i>). Las esencias básicas son:</p><ul><li>EssenceText - <em>Un única línea de texto</em></li><li>EssenceRichtext - <em>Un bloque de texto formateado mediante TinyMCE</em></li><li>EssencePicture - <em>Una referencia a una imagen</em></li><li>EssenceHtml - <em>Código HTML empotrado</em></li><li>EssenceSelect - <em>Una selección de valores</em></li><li>EssenceBoolean - <em>Una casilla de verificación</em></li></ul><p>Los elementos se definen en el fichero YAML <strong>config/alchemy/elements.yml</strong></p><p><a class="external" href="http://guides.alchemy-cms.com/stable/elements.html" target="_blank" data-link-target="blank">Lee más sobre elementos y cómo definirlos en las guías.</a></p><p><span style="text-decoration: underline;"><strong>Tipos de página:</strong></span></p><p>Puedes definir varios tipos de páginas, llamados disposiciones de páginas (<i>page layouts</i>). Puedes asignar elementos a las disposiciones de páginas y controlar cómo se comportan los elementos y una página con una disposición concreta.</p><p>Las disposiciones de páginas se definen en el fichero YAML <strong>config/alchemy/page_layouts.yml</strong></p><p><a class="external" href="http://guides.alchemy-cms.com/stable/page_layouts.html" target="_blank" data-link-target="blank">Lee más sobre definir disposiciones de páginas en las guías.</a></p>'
77
105
  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
106
  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
107
 
108
+ # Hint texts for elements
109
+ element_hints:
110
+ article: "Este es el texto de ayuda del elemento artículo. Puedes cambiar este texto en `config/locales/alchemy.en.yml`. Siéntete libre de cambiarlo a tu gusto, es tuyo."
111
+
80
112
  essence_pictures:
81
113
  css_classes:
82
114
  left: 'A la izquierda'
@@ -159,6 +191,7 @@ es:
159
191
  site:
160
192
  aliases: Por favor separa con espacios o en una nueva línea los dominios adicionales.
161
193
 
194
+ add_nested_element: "Add %{name}"
162
195
  anchor: 'Ancla'
163
196
  attribute_fixed: Este atributo no se puede cambiar
164
197
  back: 'Atras'
@@ -6,6 +6,20 @@ fr:
6
6
  # All translations used in Alchemy CMS are inside this alchemy namespace.
7
7
  alchemy:
8
8
 
9
+ # == Translations for menu names
10
+ # Just use the menu name like defined inside the config/alchemy/menus.yml file and translate it.
11
+ # We're providing main and footer menu here as a convenience.
12
+ # Example:
13
+ #
14
+ # de:
15
+ # alchemy:
16
+ # menu_names:
17
+ # sidebar_menu: Menu latéral
18
+ #
19
+ menu_names:
20
+ main_menu: Menu principal
21
+ footer_menut: Menu de bas de page
22
+
9
23
  # == Translations for page_layout names
10
24
  # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
11
25
  #
@@ -174,6 +188,7 @@ fr:
174
188
  site:
175
189
  aliases: "S'il vous plaît indiquer Autres domaines séparés par des espaces ou ligne blanche."
176
190
 
191
+ add_nested_element: "Add %{name}"
177
192
  anchor: 'ancre'
178
193
  attribute_fixed: La valeur ne peut être modifiée
179
194
  back: 'arrière'
@@ -6,6 +6,20 @@ it:
6
6
  # All translations used in Alchemy CMS are inside this alchemy namespace.
7
7
  alchemy:
8
8
 
9
+ # == Translations for menu names
10
+ # Just use the menu name like defined inside the config/alchemy/menus.yml file and translate it.
11
+ # We're providing main and footer menu here as a convenience.
12
+ # Example:
13
+ #
14
+ # de:
15
+ # alchemy:
16
+ # menu_names:
17
+ # sidebar_menu: Side bar menu (?)
18
+ #
19
+ menu_names:
20
+ main_menu: Menu principale
21
+ footer_menut: Menu footer
22
+
9
23
  # == Translations for page_layout names
10
24
  # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
11
25
  #
@@ -160,6 +174,7 @@ it:
160
174
  site:
161
175
  aliases: Separa i domini aggiuntivi con uno spazio od un ritorno a capo.
162
176
 
177
+ add_nested_element: "Add %{name}"
163
178
  anchor: 'Collegamento'
164
179
  attribute_fixed: Il valore non può essere modificato
165
180
  back: 'indietro'
@@ -323,6 +338,8 @@ it:
323
338
  confirm_to_delete_image: "Vuoi veramente eliminare questa immagine dal server?"
324
339
  confirm_to_delete_image_from_server: "Vuoi veramente eliminare questa immagine dal server?"
325
340
  confirm_to_delete_images_from_server: "Vuoi veramente eliminare queste immagini dal server?"
341
+ confirm_to_delete_menu: "Vuoi veramente eliminare questo menu?"
342
+ confirm_to_delete_node: "Vuoi veramente eliminare questo nodo?"
326
343
  confirm_to_delete_page: "Vuoi eliminare veramente questa pagina? I suoi elementi andranno persi!"
327
344
  content_essence_not_found: "Essenza del contenuto non trovata"
328
345
  content_not_found: "Campo per il contenuto non trovato."
@@ -332,6 +349,8 @@ it:
332
349
  copy_page: "Copia pagina"
333
350
  "Could not delete Pictures": "Impossibile eliminare le Immagini"
334
351
  copy_language_tree_heading: "Copia struttura delle pagine"
352
+ create_menu: "Aggiungi un menu"
353
+ create_node: "Aggiungi un nodo al menu"
335
354
  country_code_placeholder: 'ad es. US (opzionale)'
336
355
  country_code_foot_note: "È necessario configurare un codice nazione solo se vuoi supportare diverse nazioni con la stessa lingua."
337
356
  create: "crea"
@@ -344,6 +363,8 @@ it:
344
363
  delete_file: "Elimina questo file dal server."
345
364
  delete_image: "Elimina quest'immagine"
346
365
  delete_language: "Elimina questa lingua"
366
+ delete_menu: "Cancella il menu"
367
+ delete_node: "Cancella il nodo di menu"
347
368
  delete_page: "Elimina questa pagina"
348
369
  delete_tag: 'Elimina tag'
349
370
  document: "File"
@@ -355,6 +376,8 @@ it:
355
376
  edit_image_properties: "Modifica le proprietà dell'immagine."
356
377
  edit_language: "Modifica lingua"
357
378
  edit_page: "Modifica questa pagina"
379
+ edit_menu: "Modifica il menu"
380
+ edit_node: "Modifica il nodo di menu"
358
381
  edit_page_properties: "Modifica proprietà pagina"
359
382
  edit_tag: 'Modifica tag'
360
383
  edit_selected_pictures: "Modifica le immagini selezionate"
@@ -421,6 +444,7 @@ it:
421
444
  male: "Maschio"
422
445
  me: "Me"
423
446
  medium_thumbnails: "Thumbnail di meda dimensione"
447
+ menu: Menu
424
448
  meta_data: "Meta-Data"
425
449
  meta_description: "Meta-Description"
426
450
  meta_keywords: "Meta-Keywords"
@@ -431,6 +455,7 @@ it:
431
455
  languages: "Lingue"
432
456
  layoutpages: "Pagine Globali"
433
457
  library: "Libreria"
458
+ menus: "Menus"
434
459
  pages: "Pagine"
435
460
  tags: "Tags"
436
461
  sites: "Siti"
@@ -709,6 +734,9 @@ it:
709
734
  alchemy/language:
710
735
  one: "Lingua"
711
736
  other: "Lingue"
737
+ alchemy/node:
738
+ one: "Nodo Menu"
739
+ other: "Nodi Menu"
712
740
  alchemy/page:
713
741
  one: "Pagina"
714
742
  other: "Pagine"
@@ -6,6 +6,20 @@ nl:
6
6
  # All translations used in Alchemy CMS are inside this alchemy namespace.
7
7
  alchemy:
8
8
 
9
+ # == Translations for menu names
10
+ # Just use the menu name like defined inside the config/alchemy/menus.yml file and translate it.
11
+ # We're providing main and footer menu here as a convenience.
12
+ # Example:
13
+ #
14
+ # de:
15
+ # alchemy:
16
+ # menu_names:
17
+ # sidebar_menu: Side bar menu (?)
18
+ #
19
+ menu_names:
20
+ main_menu: Hoofdmenu
21
+ footer_menu: Menu footer
22
+
9
23
  # == Translations for page_layout names
10
24
  # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
11
25
  #
@@ -159,6 +173,7 @@ nl:
159
173
  site:
160
174
  aliases: Specificeer andere domeinen gescheiden met witte ruimte of lege regel
161
175
 
176
+ add_nested_element: "Add %{name}"
162
177
  anchor: 'Anchor'
163
178
  attribute_fixed: Waarde kan niet worden gewijzigd
164
179
  back: 'back'
@@ -319,6 +334,8 @@ nl:
319
334
  confirm_to_delete_image: "Afbeelding van de server verwijderen?"
320
335
  confirm_to_delete_image_from_server: "Afbeelding van de server verwijderen?"
321
336
  confirm_to_delete_images_from_server: "Afbeeldingen van de server verwijderen?"
337
+ confirm_to_delete_menu: "Menu-item zeker verwijderen?"
338
+ confirm_to_delete_node: "Menu-item zeker verwijderen?"
322
339
  confirm_to_delete_page: "Deze pagina verwijderen? Alle inhoud gaat verloren."
323
340
  content_essence_not_found: "Content essence is niet gevonden"
324
341
  content_not_found: "Veld voor content is niet aanwezig"
@@ -335,6 +352,8 @@ nl:
335
352
  "Create site": "Nieuwe site maken"
336
353
  create_language_tree_heading: "Nieuwe lege boomstructuur voor taal maken"
337
354
  create_page: "Nieuwe subpagina maken"
355
+ create_menu: "Nieuw menu maken"
356
+ create_node: "Nieuw menu-item maken"
338
357
  currently_edited_by: "Deze pagina is vergrendeld door"
339
358
  cut_element: "Element knippen"
340
359
  delete_file: "Bestand van de server verwijderen"
@@ -342,6 +361,8 @@ nl:
342
361
  delete_language: "Deze taal verwijderen"
343
362
  delete_page: "Deze pagina verwijderen"
344
363
  delete_tag: 'Tag wissen'
364
+ delete_menu: "Menu verwijderen"
365
+ delete_node: "Menu-item verwijderen"
345
366
  document: "Bestand"
346
367
  download_csv: "CSV downloaden"
347
368
  download_file: "Bestand '%{filename}' downloaden"
@@ -354,6 +375,8 @@ nl:
354
375
  edit_page_properties: "Eigenschappen van de pagina aanpassen"
355
376
  edit_tag: 'Tag bewerken'
356
377
  edit_selected_pictures: "Geselecteerde afbeeldingen aanpassen"
378
+ edit_menu: "Menu bewerken"
379
+ edit_node: "Menu-item bewerken"
357
380
  element_editor_not_found: "Foutmelding in het element"
358
381
  element_of_type: "Element"
359
382
  element_saved: "Opgeslagen element."
@@ -420,7 +443,9 @@ nl:
420
443
  meta_data: "Meta-Data"
421
444
  meta_description: "Meta-Description"
422
445
  meta_keywords: "Meta-Keywords"
446
+ menu: "Menu"
423
447
  modules:
448
+ menus: "Menus"
424
449
  attachments: "Bestanden"
425
450
  dashboard: "Dashboard"
426
451
  pictures: "Afbeeldingen"
@@ -764,6 +789,9 @@ nl:
764
789
  public: "Publiek"
765
790
  locale: Localization
766
791
  code: ISO Code
792
+ alchemy/node:
793
+ one: "Menu-item"
794
+ other: "Menu-items"
767
795
  alchemy/legacy_page_url:
768
796
  urlname: "URL pad"
769
797
  alchemy/page:
@@ -6,6 +6,18 @@ pl:
6
6
  # All translations used in Alchemy CMS are inside this alchemy namespace.
7
7
  alchemy:
8
8
 
9
+ # == Translations for menu names
10
+ # Just use the menu name like defined inside the config/alchemy/menus.yml file and translate it.
11
+ # We're providing main and footer menu here as a convenience.
12
+ # Example:
13
+ #
14
+ # de:
15
+ # alchemy:
16
+ # menu_names:
17
+ # sidebar_menu: Side bar menu (?)
18
+ #
19
+ menu_names:
20
+
9
21
  # == Translations for page_layout names
10
22
  # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
11
23
  #
@@ -159,6 +171,7 @@ pl:
159
171
  site:
160
172
  aliases: Please separate additional domains with spaces or new lines.
161
173
 
174
+ add_nested_element: "Add %{name}"
162
175
  anchor: 'Anchor'
163
176
  attribute_fixed: Value can't be changed for this page type
164
177
  back: 'back'
@@ -6,6 +6,18 @@ ru:
6
6
  # All translations used in Alchemy CMS are inside this alchemy namespace.
7
7
  alchemy:
8
8
 
9
+ # == Translations for menu names
10
+ # Just use the menu name like defined inside the config/alchemy/menus.yml file and translate it.
11
+ # We're providing main and footer menu here as a convenience.
12
+ # Example:
13
+ #
14
+ # de:
15
+ # alchemy:
16
+ # menu_names:
17
+ # sidebar_menu: Seitenleistenmenü
18
+ #
19
+ menu_names:
20
+
9
21
  # == Translations for page_layout names
10
22
  # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
11
23
  #
@@ -159,6 +171,7 @@ ru:
159
171
  site:
160
172
  aliases: Разделяйте дополнительные домены с помощью пробелов или переходом на новую строку.
161
173
 
174
+ add_nested_element: "Add %{name}"
162
175
  anchor: 'Анкор'
163
176
  attribute_fixed: Значение не может быть изменен
164
177
  back: 'назад'
@@ -5,6 +5,17 @@ zh-CN:
5
5
  # = Alchemy Translations
6
6
  # All translations used in Alchemy CMS are inside this alchemy namespace.
7
7
  alchemy:
8
+ # == Translations for menu names
9
+ # Just use the menu name like defined inside the config/alchemy/menus.yml file and translate it.
10
+ # We're providing main and footer menu here as a convenience.
11
+ # Example:
12
+ #
13
+ # de:
14
+ # alchemy:
15
+ # menu_names:
16
+ # sidebar_menu: Side bar menu (?)
17
+ #
18
+ menu_names:
8
19
 
9
20
  # == Translations for page_layout names
10
21
  # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
@@ -175,6 +186,7 @@ zh-CN:
175
186
  site:
176
187
  aliases: 请用空格或换行符分隔额外域名。
177
188
 
189
+ add_nested_element: "Add %{name}"
178
190
  anchor: '锚点'
179
191
  attribute_fixed: 针对这种页面类型,不能改变值
180
192
  back: '返回'
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Select2 German translation
3
+ */
4
+ (function ($) {
5
+ "use strict";
6
+
7
+ $.fn.select2.locales['de'] = {
8
+ formatNoMatches: function () { return "Keine Übereinstimmungen gefunden"; },
9
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "Bitte " + n + " Zeichen mehr eingeben"; },
10
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "Bitte " + n + " Zeichen weniger eingeben"; },
11
+ formatSelectionTooBig: function (limit) { return "Sie können nur " + limit + " Eintr" + (limit === 1 ? "ag" : "äge") + " auswählen"; },
12
+ formatLoadMore: function (pageNumber) { return "Lade mehr Ergebnisse…"; },
13
+ formatSearching: function () { return "Suche…"; },
14
+ formatMatches: function (matches) { return matches + " Ergebnis " + (matches > 1 ? "se" : "") + " verfügbar, zum Navigieren die Hoch-/Runter-Pfeiltasten verwenden."; }
15
+ };
16
+
17
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['de']);
18
+ })(jQuery);
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Select2 Spanish translation
3
+ */
4
+ (function ($) {
5
+ "use strict";
6
+
7
+ $.fn.select2.locales['es'] = {
8
+ formatMatches: function (matches) { if (matches === 1) { return "Un resultado disponible, presione enter para seleccionarlo."; } return matches + " resultados disponibles, use las teclas de dirección para navegar."; },
9
+ formatNoMatches: function () { return "No se encontraron resultados"; },
10
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "Por favor, introduzca " + n + " car" + (n == 1? "ácter" : "acteres"); },
11
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "Por favor, elimine " + n + " car" + (n == 1? "ácter" : "acteres"); },
12
+ formatSelectionTooBig: function (limit) { return "Sólo puede seleccionar " + limit + " elemento" + (limit == 1 ? "" : "s"); },
13
+ formatLoadMore: function (pageNumber) { return "Cargando más resultados…"; },
14
+ formatSearching: function () { return "Buscando…"; },
15
+ formatAjaxError: function() { return "La carga falló"; }
16
+ };
17
+
18
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['es']);
19
+ })(jQuery);
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Select2 French translation
3
+ */
4
+ (function ($) {
5
+ "use strict";
6
+
7
+ $.fn.select2.locales['fr'] = {
8
+ formatMatches: function (matches) { return matches + " résultats sont disponibles, utilisez les flèches haut et bas pour naviguer."; },
9
+ formatNoMatches: function () { return "Aucun résultat trouvé"; },
10
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "Saisissez " + n + " caractère" + (n == 1? "" : "s") + " supplémentaire" + (n == 1? "" : "s") ; },
11
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "Supprimez " + n + " caractère" + (n == 1? "" : "s"); },
12
+ formatSelectionTooBig: function (limit) { return "Vous pouvez seulement sélectionner " + limit + " élément" + (limit == 1 ? "" : "s"); },
13
+ formatLoadMore: function (pageNumber) { return "Chargement de résultats supplémentaires…"; },
14
+ formatSearching: function () { return "Recherche en cours…"; }
15
+ };
16
+
17
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['fr']);
18
+ })(jQuery);
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Select2 Italian translation
3
+ */
4
+ (function ($) {
5
+ "use strict";
6
+
7
+ $.fn.select2.locales['it'] = {
8
+ formatNoMatches: function () { return "Nessuna corrispondenza trovata"; },
9
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "Inserisci ancora " + n + " caratter" + (n == 1? "e" : "i"); },
10
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "Inserisci " + n + " caratter" + (n == 1? "e" : "i") + " in meno"; },
11
+ formatSelectionTooBig: function (limit) { return "Puoi selezionare solo " + limit + " element" + (limit == 1 ? "o" : "i"); },
12
+ formatLoadMore: function (pageNumber) { return "Caricamento in corso…"; },
13
+ formatSearching: function () { return "Ricerca…"; }
14
+ };
15
+
16
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['it']);
17
+ })(jQuery);
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Select2 Dutch translation
3
+ */
4
+ (function ($) {
5
+ "use strict";
6
+
7
+ $.fn.select2.locales['nl'] = {
8
+ formatNoMatches: function () { return "Geen resultaten gevonden"; },
9
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "Vul nog " + n + " karakter" + (n == 1? "" : "s") + " in"; },
10
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "Haal " + n + " karakter" + (n == 1? "" : "s") + " weg"; },
11
+ formatSelectionTooBig: function (limit) { return "Maximaal " + limit + " item" + (limit == 1 ? "" : "s") + " toegestaan"; },
12
+ formatLoadMore: function (pageNumber) { return "Meer resultaten laden…"; },
13
+ formatSearching: function () { return "Zoeken…"; }
14
+ };
15
+
16
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['nl']);
17
+ })(jQuery);
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Select2 Russian translation.
3
+ *
4
+ * @author Uriy Efremochkin <efremochkin@uriy.me>
5
+ */
6
+ (function ($) {
7
+ "use strict";
8
+
9
+ $.fn.select2.locales['ru'] = {
10
+ formatNoMatches: function () { return "Совпадений не найдено"; },
11
+ formatInputTooShort: function (input, min) { return "Пожалуйста, введите еще хотя бы" + character(min - input.length); },
12
+ formatInputTooLong: function (input, max) { return "Пожалуйста, введите на" + character(input.length - max) + " меньше"; },
13
+ formatSelectionTooBig: function (limit) { return "Вы можете выбрать не более " + limit + " элемент" + (limit%10 == 1 && limit%100 != 11 ? "а" : "ов"); },
14
+ formatLoadMore: function (pageNumber) { return "Загрузка данных…"; },
15
+ formatSearching: function () { return "Поиск…"; }
16
+ };
17
+
18
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['ru']);
19
+
20
+ function character (n) {
21
+ return " " + n + " символ" + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 20) ? n%10 > 1 ? "a" : "" : "ов");
22
+ }
23
+ })(jQuery);
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Select2 Chinese translation
3
+ */
4
+ (function ($) {
5
+ "use strict";
6
+ $.fn.select2.locales['zh-CN'] = {
7
+ formatNoMatches: function () { return "没有找到匹配项"; },
8
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "请再输入" + n + "个字符";},
9
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "请删掉" + n + "个字符";},
10
+ formatSelectionTooBig: function (limit) { return "你只能选择最多" + limit + "项"; },
11
+ formatLoadMore: function (pageNumber) { return "加载结果中…"; },
12
+ formatSearching: function () { return "搜索中…"; }
13
+ };
14
+
15
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['zh-CN']);
16
+ })(jQuery);
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_i18n
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-17 00:00:00.000000000 Z
11
+ date: 2021-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: alchemy_cms
@@ -16,20 +16,48 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.0.beta
19
+ version: 4.4.0.a
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '5.0'
22
+ version: '6.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 4.1.0.beta
29
+ version: 4.4.0.a
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '5.0'
32
+ version: '6.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: rails-i18n
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: github_changelog_generator
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
33
61
  description: Translation files for AlchemyCMS
34
62
  email:
35
63
  - thomas@vondeyen.com
@@ -37,6 +65,7 @@ executables: []
37
65
  extensions: []
38
66
  extra_rdoc_files: []
39
67
  files:
68
+ - CHANGELOG.md
40
69
  - LICENSE
41
70
  - README.md
42
71
  - app/assets/javascripts/alchemy_i18n.js
@@ -47,17 +76,25 @@ files:
47
76
  - app/assets/javascripts/alchemy_i18n/nl.js
48
77
  - app/assets/javascripts/alchemy_i18n/ru.js
49
78
  - app/assets/javascripts/alchemy_i18n/zh-CN.js
50
- - config/locales/alchemy.de.yml
51
- - config/locales/alchemy.es.yml
52
- - config/locales/alchemy.fr.yml
53
- - config/locales/alchemy.it.yml
54
- - config/locales/alchemy.nl.yml
55
- - config/locales/alchemy.pl.yml
56
- - config/locales/alchemy.ru.yml
57
- - config/locales/alchemy.zh-CN.yml
58
79
  - lib/alchemy_i18n.rb
59
80
  - lib/alchemy_i18n/engine.rb
60
81
  - lib/alchemy_i18n/version.rb
82
+ - lib/generators/alchemy_i18n/install/install_generator.rb
83
+ - locales/alchemy.de.yml
84
+ - locales/alchemy.es.yml
85
+ - locales/alchemy.fr.yml
86
+ - locales/alchemy.it.yml
87
+ - locales/alchemy.nl.yml
88
+ - locales/alchemy.pl.yml
89
+ - locales/alchemy.ru.yml
90
+ - locales/alchemy.zh-CN.yml
91
+ - locales/tinymce/de.js
92
+ - locales/tinymce/es.js
93
+ - locales/tinymce/fr.js
94
+ - locales/tinymce/it.js
95
+ - locales/tinymce/nl.js
96
+ - locales/tinymce/ru.js
97
+ - locales/tinymce/zh-CN.js
61
98
  - vendor/assets/javascripts/flatpickr/de.js
62
99
  - vendor/assets/javascripts/flatpickr/es.js
63
100
  - vendor/assets/javascripts/flatpickr/fr.js
@@ -66,18 +103,18 @@ files:
66
103
  - vendor/assets/javascripts/flatpickr/pl.js
67
104
  - vendor/assets/javascripts/flatpickr/ru.js
68
105
  - vendor/assets/javascripts/flatpickr/zh.js
69
- - vendor/assets/javascripts/tinymce/langs/de.js
70
- - vendor/assets/javascripts/tinymce/langs/es.js
71
- - vendor/assets/javascripts/tinymce/langs/fr.js
72
- - vendor/assets/javascripts/tinymce/langs/it.js
73
- - vendor/assets/javascripts/tinymce/langs/nl.js
74
- - vendor/assets/javascripts/tinymce/langs/ru.js
75
- - vendor/assets/javascripts/tinymce/langs/zh-CN.js
106
+ - vendor/assets/javascripts/select2_locale_de.js
107
+ - vendor/assets/javascripts/select2_locale_es.js
108
+ - vendor/assets/javascripts/select2_locale_fr.js
109
+ - vendor/assets/javascripts/select2_locale_it.js
110
+ - vendor/assets/javascripts/select2_locale_nl.js
111
+ - vendor/assets/javascripts/select2_locale_ru.js
112
+ - vendor/assets/javascripts/select2_locale_zh-CN.js
76
113
  homepage: https://alchemy-cms.com
77
114
  licenses:
78
115
  - MIT
79
116
  metadata: {}
80
- post_install_message:
117
+ post_install_message:
81
118
  rdoc_options: []
82
119
  require_paths:
83
120
  - lib
@@ -92,8 +129,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
129
  - !ruby/object:Gem::Version
93
130
  version: '0'
94
131
  requirements: []
95
- rubygems_version: 3.0.3
96
- signing_key:
132
+ rubygems_version: 3.2.26
133
+ signing_key:
97
134
  specification_version: 4
98
135
  summary: AlchemyCMS translation files
99
136
  test_files: []