decidim-term_customizer 0.16.6 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/decidim/term_customizer/admin/translations_admin_bulk.js.es6 +113 -0
- data/app/commands/decidim/term_customizer/admin/destroy_translations.rb +40 -0
- data/app/commands/decidim/term_customizer/admin/import_set_translations.rb +139 -0
- data/app/controllers/decidim/term_customizer/admin/translation_sets_controller.rb +11 -0
- data/app/controllers/decidim/term_customizer/admin/translations_controller.rb +23 -0
- data/app/controllers/decidim/term_customizer/admin/translations_destroys_controller.rb +54 -0
- data/app/forms/decidim/term_customizer/admin/translations_destroy_form.rb +46 -0
- data/app/forms/decidim/term_customizer/admin/translations_import_form.rb +48 -0
- data/app/helpers/decidim/term_customizer/admin/translations_helper.rb +21 -0
- data/app/jobs/decidim/term_customizer/admin/export_job.rb +19 -0
- data/app/permissions/decidim/term_customizer/admin/permissions.rb +11 -1
- data/app/views/decidim/term_customizer/admin/add_translations/index.html.erb +26 -6
- data/app/views/decidim/term_customizer/admin/translation_sets/_form.html.erb +25 -1
- data/app/views/decidim/term_customizer/admin/translation_sets/index.html.erb +39 -33
- data/app/views/decidim/term_customizer/admin/translations/_export_dropdown.html.erb +8 -0
- data/app/views/decidim/term_customizer/admin/translations/_form.html.erb +27 -1
- data/app/views/decidim/term_customizer/admin/translations/bulk_actions/_destroy.html.erb +13 -0
- data/app/views/decidim/term_customizer/admin/translations/bulk_actions/_dropdown.html.erb +26 -0
- data/app/views/decidim/term_customizer/admin/translations/index.html.erb +66 -38
- data/app/views/decidim/term_customizer/admin/translations/new_import.html.erb +40 -0
- data/app/views/decidim/term_customizer/admin/translations_destroys/new.html.erb +36 -0
- data/config/locales/ca.yml +72 -26
- data/config/locales/en.yml +109 -26
- data/config/locales/es.yml +72 -26
- data/config/locales/fi.yml +72 -26
- data/config/locales/fr.yml +72 -26
- data/config/locales/sv.yml +72 -26
- data/lib/decidim/term_customizer.rb +4 -0
- data/lib/decidim/term_customizer/admin_engine.rb +11 -1
- data/lib/decidim/term_customizer/import.rb +12 -0
- data/lib/decidim/term_customizer/import/importer.rb +69 -0
- data/lib/decidim/term_customizer/import/importer_factory.rb +17 -0
- data/lib/decidim/term_customizer/import/parser.rb +49 -0
- data/lib/decidim/term_customizer/import/readers.rb +39 -0
- data/lib/decidim/term_customizer/import/readers/base.rb +36 -0
- data/lib/decidim/term_customizer/import/readers/csv.rb +23 -0
- data/lib/decidim/term_customizer/import/readers/json.rb +25 -0
- data/lib/decidim/term_customizer/import/readers/xls.rb +25 -0
- data/lib/decidim/term_customizer/translation_import_collection.rb +71 -0
- data/lib/decidim/term_customizer/translation_parser.rb +13 -0
- data/lib/decidim/term_customizer/translation_serializer.rb +28 -0
- data/lib/decidim/term_customizer/version.rb +2 -2
- metadata +39 -14
@@ -0,0 +1,40 @@
|
|
1
|
+
<%= decidim_form_for(@import, url: import_translation_set_translations_path(set), class: "form grid-container") do |form| %>
|
2
|
+
<div class="card">
|
3
|
+
<div class="card-divider">
|
4
|
+
<h2 class="card-title flex--sbc">
|
5
|
+
<div>
|
6
|
+
<%= link_to t("decidim.term_customizer.menu.term_customizer"), root_path %>
|
7
|
+
>
|
8
|
+
<%= link_to translated_attribute(set.name), translation_set_translations_path(set) %>
|
9
|
+
>
|
10
|
+
<%= t "translations.new_import.title", scope: "decidim.term_customizer.admin" %>
|
11
|
+
</div>
|
12
|
+
|
13
|
+
<div class="flex--cc flex-gap--1">
|
14
|
+
<div id="js-other-actions-wrapper">
|
15
|
+
<%= link_to t("actions.back", scope: "decidim.term_customizer.admin"), translation_set_translations_path(set), class: "button hollow tiny button--simple" %>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</h2>
|
19
|
+
</div>
|
20
|
+
<div class="card-section">
|
21
|
+
<div class="grid-x">
|
22
|
+
<div class="cell">
|
23
|
+
<fieldset>
|
24
|
+
<legend>
|
25
|
+
<%= t(".file_legend", valid_mime_types: mime_types).html_safe %>
|
26
|
+
<br />
|
27
|
+
<%= t(".zip_hint") %>
|
28
|
+
</legend>
|
29
|
+
<div class="row column">
|
30
|
+
<%= form.upload :file, optional: false %>
|
31
|
+
</div>
|
32
|
+
</fieldset>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
<div class="grid-x align-center mt-sm">
|
38
|
+
<%= form.submit t(".start_import") %>
|
39
|
+
</div>
|
40
|
+
<% end -%>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<%= decidim_form_for(@form, url: translation_set_translations_destroy_path(set), method: :delete, html: { class: "form translation-sets-form edit_translation translation_form_admin" }) do |f| %>
|
2
|
+
<div class="card">
|
3
|
+
<div class="card-divider">
|
4
|
+
<h2 class="card-title flex--sbc">
|
5
|
+
<div>
|
6
|
+
<%= link_to t("decidim.term_customizer.menu.term_customizer"), root_path %>
|
7
|
+
>
|
8
|
+
<%= link_to translated_attribute(set.name), translation_set_translations_path(set) %>
|
9
|
+
>
|
10
|
+
<%= t ".title" %>
|
11
|
+
</div>
|
12
|
+
|
13
|
+
<div class="flex--cc flex-gap--1">
|
14
|
+
<div id="js-other-actions-wrapper">
|
15
|
+
<%= link_to t("actions.back", scope: "decidim.term_customizer.admin"), translation_set_translations_path(set), class: "button hollow tiny button--simple" %>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</h2>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<div class="card-section">
|
22
|
+
<ul>
|
23
|
+
<% @form.translations_current.each do |translation| %>
|
24
|
+
<li>
|
25
|
+
<%= hidden_field_tag "translation_ids[]", translation.id %>
|
26
|
+
<%= translation.key %>
|
27
|
+
</li>
|
28
|
+
<% end %>
|
29
|
+
</ul>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div class="button--double form-general-submit">
|
34
|
+
<%= f.submit t(".destroy") %>
|
35
|
+
</div>
|
36
|
+
<% end %>
|
data/config/locales/ca.yml
CHANGED
@@ -10,72 +10,118 @@ ca:
|
|
10
10
|
value: Terme personalitzat
|
11
11
|
translation_set:
|
12
12
|
name: Nom
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
add_multiple_translations: Afegir múltiples
|
17
|
-
back: Enrere
|
18
|
-
clear_cache: Clear cache
|
19
|
-
new_translation_set: Nou set/joc de traducció
|
20
|
-
new_translation: Nova traducció
|
13
|
+
translations_import:
|
14
|
+
file: Import file
|
15
|
+
errors:
|
21
16
|
models:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
key: Clau de traducció
|
28
|
-
original_term: Terme original
|
29
|
-
term: Terme personalitzat
|
30
|
-
titles:
|
31
|
-
translation_sets: Sets/Jocs de traducció
|
32
|
-
translations: Traduccions
|
17
|
+
translations_import:
|
18
|
+
attributes:
|
19
|
+
file:
|
20
|
+
invalid_mime_type: 'Invalid file type. Accepted formats are: %{valid_mime_types}'
|
21
|
+
decidim:
|
33
22
|
term_customizer:
|
34
23
|
admin:
|
24
|
+
actions:
|
25
|
+
add_multiple_translations: Afegir múltiples
|
26
|
+
back: Enrere
|
27
|
+
cancel: Cancel
|
28
|
+
clear_cache: Clear cache
|
29
|
+
help: Help
|
30
|
+
import: Import
|
31
|
+
new_translation: Nova traducció
|
32
|
+
new_translation_set: Nou set/joc de traducció
|
35
33
|
add_translations:
|
36
34
|
index:
|
37
35
|
add: Afegir
|
36
|
+
help_html: <p>Start by typing a couple of letters appearing in the term that you want to change in the search panel. Wait for few seconds and a list of all translations matching your search will be displayed below the search field. Click the translations in that list that you want to change. They will appear below the search field in the list of translations to be added.</p> <p>Once you have added all the translations that you want to change, click the "%{button_name}" button at the bottom of the screen.</p>
|
37
|
+
help_title: How to search for translations?
|
38
38
|
search: Buscar
|
39
39
|
caches:
|
40
40
|
clear:
|
41
41
|
success: Cache cleared successfully
|
42
|
+
models:
|
43
|
+
translation_sets:
|
44
|
+
fields:
|
45
|
+
name: Nom
|
46
|
+
translations:
|
47
|
+
fields:
|
48
|
+
key: Clau de traducció
|
49
|
+
original_term: Terme original
|
50
|
+
term: Terme personalitzat
|
51
|
+
titles:
|
52
|
+
add_multiple_translations: Afegir múltiples
|
53
|
+
translation_sets: Sets/Jocs de traducció
|
54
|
+
translations: Traduccions
|
42
55
|
translation_sets:
|
43
56
|
constraint_fields:
|
44
57
|
constraint: Obligatori
|
45
58
|
remove: Eliminar
|
46
59
|
create:
|
47
|
-
success: Traducció creada amb èxit
|
48
60
|
error: Error en crear la traducció
|
61
|
+
success: Traducció creada amb èxit
|
49
62
|
destroy:
|
50
63
|
success: La traducció ha estat esborrada amb èxit.
|
51
64
|
edit:
|
52
|
-
title: Set/Joc de traducció
|
53
65
|
save: Guardar
|
66
|
+
title: Set/Joc de traducció
|
54
67
|
form:
|
55
68
|
add_constraint: Afegir restricció
|
56
|
-
|
69
|
+
constraint_help_html: <p>Constraints are specific rules that allow you to apply the customizations in a set to a specific context.</p> <p>In case you do not define any constraint rules, the customizations in this set will apply to the whole application. On the other hand, if you want the customizations in this set to apply only to a specific process, select "Participatory processes" as the participatory space type and the target process as the participatory space. Furthermore, you can also apply the customizations to a specific component by defining the component for the constraint.</p> <p>If you define multiple constraints, the customizations will apply in all of those.</p>
|
70
|
+
constraint_help_title: What are constraints?
|
71
|
+
help_html: <p>A translation set is a "container" that holds the translations for a specific context you want to customize.</p> <p>Translation sets help you to organize your customizations and apply them to different contexts. This allows you to customize the same translation differently in different contexts.</p> <p>For example, if you want to customize a button with the term "Add" differently for different participatory processes, you can create separate translation sets for both processes and apply the set to those processes using the constraints.</p>
|
72
|
+
help_title: What is a translation set?
|
73
|
+
title: Translation set.
|
74
|
+
index:
|
75
|
+
no_records_html: <p>No translation sets available.</p> <p>Start by adding a translation set from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
|
57
76
|
new:
|
58
77
|
create: Crear
|
59
78
|
title: Sets/Jocs de traduccions
|
60
79
|
update:
|
61
|
-
success: Set/Joc de traducció actualitzada amb èxit
|
62
80
|
error: Error en l'actualització de la traducció
|
81
|
+
success: Set/Joc de traducció actualitzada amb èxit
|
63
82
|
translations:
|
64
83
|
create:
|
65
|
-
success: Traducció creada amb èxit
|
66
84
|
error: Error en crear la traducció
|
85
|
+
success: Traducció creada amb èxit
|
67
86
|
destroy:
|
68
87
|
success: La traducció ha estat esborrada amb èxit
|
69
88
|
edit:
|
70
|
-
title: Traducció
|
71
89
|
save: Guardar
|
90
|
+
title: Traducció
|
72
91
|
form:
|
92
|
+
help_html: <p>A translation key is a technical reference to the translation to be translatated. This is not the term you want to change but the technical key that refers to that translation.</p> <p>For example, if you want to change the term <em>"Processes"</em> in the top menu, you would use the key <em>"decidim.menu.processes"</em>.</p> <p><a href="https://guides.rubyonrails.org/i18n.html" target="_blank"> Read more about Rails Internationalization</a>.</p>
|
93
|
+
help_title: What is translation key?
|
94
|
+
term_help_html: "<p>The customized term is the final word you want to appear in the UI instead of the original term. Obviously, the customized term can differ for each enabled language.</p>"
|
95
|
+
term_help_title: What is customized term?
|
73
96
|
title: Traducció
|
97
|
+
import:
|
98
|
+
error: Error importing translations
|
99
|
+
success: Translations successfully imported.
|
100
|
+
index:
|
101
|
+
actions: Actions
|
102
|
+
no_records_html: <p>No translations available in this set.</p> <p>Start by adding translations to this set. The easiest way is to use the "<a href="%{add_multiple_link}">%{button_name}</a>" button where you can search translations with the same terms that you see in the UI.</p>
|
103
|
+
selected: selected
|
74
104
|
new:
|
75
105
|
create: Crear
|
76
106
|
title: Traduccions
|
107
|
+
new_import:
|
108
|
+
accepted_mime_types:
|
109
|
+
csv: CSV
|
110
|
+
json: JSON
|
111
|
+
xls: XLS
|
112
|
+
file_legend: 'Add an import file that will be parsed for translations. Suported formats are: %{valid_mime_types}'
|
113
|
+
start_import: Start import
|
114
|
+
title: Import translations
|
115
|
+
zip_hint: You can also upload the ZIP file from the translations export.
|
77
116
|
update:
|
78
|
-
success: Traducció actualitzada amb èxit.
|
79
117
|
error: Error en l'actualització de la traducció.
|
118
|
+
success: Traducció actualitzada amb èxit.
|
119
|
+
translations_destroys:
|
120
|
+
destroy:
|
121
|
+
error: Error deleting translations.
|
122
|
+
success: Translations successfully deleted.
|
123
|
+
new:
|
124
|
+
destroy: Delete
|
125
|
+
title: Translations delete
|
80
126
|
menu:
|
81
127
|
term_customizer: Personalització de termes
|
data/config/locales/en.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
en:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -10,72 +11,154 @@ en:
|
|
10
11
|
value: Customized term
|
11
12
|
translation_set:
|
12
13
|
name: Name
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
add_multiple_translations: Add multiple
|
17
|
-
back: Back
|
18
|
-
clear_cache: Clear cache
|
19
|
-
new_translation_set: New translation set
|
20
|
-
new_translation: New translation
|
14
|
+
translations_import:
|
15
|
+
file: Import file
|
16
|
+
errors:
|
21
17
|
models:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
key: Translation key
|
28
|
-
original_term: Original term
|
29
|
-
term: Customized term
|
30
|
-
titles:
|
31
|
-
translation_sets: Translation sets
|
32
|
-
translations: Translations
|
18
|
+
translations_import:
|
19
|
+
attributes:
|
20
|
+
file:
|
21
|
+
invalid_mime_type: 'Invalid file type. Accepted formats are: %{valid_mime_types}'
|
22
|
+
decidim:
|
33
23
|
term_customizer:
|
34
24
|
admin:
|
25
|
+
actions:
|
26
|
+
add_multiple_translations: Add multiple
|
27
|
+
back: Back
|
28
|
+
cancel: Cancel
|
29
|
+
clear_cache: Clear cache
|
30
|
+
help: Help
|
31
|
+
import: Import
|
32
|
+
new_translation: New translation
|
33
|
+
new_translation_set: New translation set
|
35
34
|
add_translations:
|
36
35
|
index:
|
37
36
|
add: Add
|
37
|
+
help_html: <p>Start by typing a couple of letters appearing in the term
|
38
|
+
that you want to change in the search panel. Wait for few seconds and
|
39
|
+
a list of all translations matching your search will be displayed below
|
40
|
+
the search field. Click the translations in that list that you want
|
41
|
+
to change. They will appear below the search field in the list of translations
|
42
|
+
to be added.</p> <p>Once you have added all the translations that you
|
43
|
+
want to change, click the "%{button_name}" button at the bottom of the
|
44
|
+
screen.</p>
|
45
|
+
help_title: How to search for translations?
|
38
46
|
search: Search
|
39
47
|
caches:
|
40
48
|
clear:
|
41
49
|
success: Cache cleared successfully
|
50
|
+
models:
|
51
|
+
translation_sets:
|
52
|
+
fields:
|
53
|
+
name: Name
|
54
|
+
translations:
|
55
|
+
fields:
|
56
|
+
key: Translation key
|
57
|
+
original_term: Original term
|
58
|
+
term: Customized term
|
59
|
+
titles:
|
60
|
+
add_multiple_translations: Add multiple
|
61
|
+
translation_sets: Translation sets
|
62
|
+
translations: Translations
|
42
63
|
translation_sets:
|
43
64
|
constraint_fields:
|
44
65
|
constraint: Constraint
|
45
66
|
remove: Remove
|
46
67
|
create:
|
47
|
-
success: Translation set successfully created.
|
48
68
|
error: Error creating translation set.
|
69
|
+
success: Translation set successfully created.
|
49
70
|
destroy:
|
50
71
|
success: Translation set successfully deleted.
|
51
72
|
edit:
|
52
|
-
title: Translation set
|
53
73
|
save: Save
|
74
|
+
title: Translation set
|
54
75
|
form:
|
55
76
|
add_constraint: Add constraint
|
56
|
-
|
77
|
+
constraint_help_html: <p>Constraints are specific rules that allow you
|
78
|
+
to apply the customizations in a set to a specific context.</p> <p>In
|
79
|
+
case you do not define any constraint rules, the customizations in this
|
80
|
+
set will apply to the whole application. On the other hand, if you want
|
81
|
+
the customizations in this set to apply only to a specific process,
|
82
|
+
select "Participatory processes" as the participatory space type and
|
83
|
+
the target process as the participatory space. Furthermore, you can
|
84
|
+
also apply the customizations to a specific component by defining the
|
85
|
+
component for the constraint.</p> <p>If you define multiple constraints,
|
86
|
+
the customizations will apply in all of those.</p>
|
87
|
+
constraint_help_title: What are constraints?
|
88
|
+
help_html: <p>A translation set is a "container" that holds the translations
|
89
|
+
for a specific context you want to customize.</p> <p>Translation sets
|
90
|
+
help you to organize your customizations and apply them to different
|
91
|
+
contexts. This allows you to customize the same translation differently
|
92
|
+
in different contexts.</p> <p>For example, if you want to customize
|
93
|
+
a button with the term "Add" differently for different participatory
|
94
|
+
processes, you can create separate translation sets for both processes
|
95
|
+
and apply the set to those processes using the constraints.</p>
|
96
|
+
help_title: What is a translation set?
|
97
|
+
title: Translation set.
|
98
|
+
index:
|
99
|
+
no_records_html: <p>No translation sets available.</p> <p>Start by adding
|
100
|
+
a translation set from the "<a href="%{new_set_link}">%{button_name}</a>"
|
101
|
+
button.</p>
|
57
102
|
new:
|
58
103
|
create: Create
|
59
104
|
title: Translation sets
|
60
105
|
update:
|
61
|
-
success: Translation set successfully updated.
|
62
106
|
error: Error updating translation set.
|
107
|
+
success: Translation set successfully updated.
|
63
108
|
translations:
|
64
109
|
create:
|
65
|
-
success: Translation successfully created.
|
66
110
|
error: Error creating translation.
|
111
|
+
success: Translation successfully created.
|
67
112
|
destroy:
|
68
113
|
success: Translation successfully deleted.
|
69
114
|
edit:
|
70
|
-
title: Translation
|
71
115
|
save: Save
|
116
|
+
title: Translation
|
72
117
|
form:
|
118
|
+
help_html: <p>A translation key is a technical reference to the translation
|
119
|
+
to be translatated. This is not the term you want to change but the
|
120
|
+
technical key that refers to that translation.</p> <p>For example, if
|
121
|
+
you want to change the term <em>"Processes"</em> in the top menu, you
|
122
|
+
would use the key <em>"decidim.menu.processes"</em>.</p> <p><a href="https://guides.rubyonrails.org/i18n.html"
|
123
|
+
target="_blank"> Read more about Rails Internationalization</a>.</p>
|
124
|
+
help_title: What is translation key?
|
125
|
+
term_help_html: "<p>The customized term is the final word you want to
|
126
|
+
appear in the UI instead of the original term. Obviously, the customized
|
127
|
+
term can differ for each enabled language.</p>"
|
128
|
+
term_help_title: What is customized term?
|
73
129
|
title: Translation
|
130
|
+
import:
|
131
|
+
error: Error importing translations
|
132
|
+
success: Translations successfully imported.
|
133
|
+
index:
|
134
|
+
actions: Actions
|
135
|
+
no_records_html: <p>No translations available in this set.</p> <p>Start
|
136
|
+
by adding translations to this set. The easiest way is to use the "<a
|
137
|
+
href="%{add_multiple_link}">%{button_name}</a>" button where you can
|
138
|
+
search translations with the same terms that you see in the UI.</p>
|
139
|
+
selected: selected
|
74
140
|
new:
|
75
141
|
create: Create
|
76
142
|
title: Translations
|
143
|
+
new_import:
|
144
|
+
accepted_mime_types:
|
145
|
+
csv: CSV
|
146
|
+
json: JSON
|
147
|
+
xls: XLS
|
148
|
+
file_legend: 'Add an import file that will be parsed for translations.
|
149
|
+
Suported formats are: %{valid_mime_types}'
|
150
|
+
start_import: Start import
|
151
|
+
title: Import translations
|
152
|
+
zip_hint: You can also upload the ZIP file from the translations export.
|
77
153
|
update:
|
78
|
-
success: Translation successfully updated.
|
79
154
|
error: Error updating translation.
|
155
|
+
success: Translation successfully updated.
|
156
|
+
translations_destroys:
|
157
|
+
destroy:
|
158
|
+
error: Error deleting translations.
|
159
|
+
success: Translations successfully deleted.
|
160
|
+
new:
|
161
|
+
destroy: Delete
|
162
|
+
title: Translations delete
|
80
163
|
menu:
|
81
164
|
term_customizer: Term customizer
|
data/config/locales/es.yml
CHANGED
@@ -10,72 +10,118 @@ es:
|
|
10
10
|
value: Valor personalizado
|
11
11
|
translation_set:
|
12
12
|
name: Nombre
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
add_multiple_translations: Agregar varios
|
17
|
-
back: Volver
|
18
|
-
clear_cache: Clear cache
|
19
|
-
new_translation_set: Nuevo grupo de traducciones
|
20
|
-
new_translation: Nueva traducción
|
13
|
+
translations_import:
|
14
|
+
file: Import file
|
15
|
+
errors:
|
21
16
|
models:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
key: Llave de traducción
|
28
|
-
original_term: Valor original
|
29
|
-
term: Valor personalizado
|
30
|
-
titles:
|
31
|
-
translation_sets: Grupo de traducciones
|
32
|
-
translations: Traducciones
|
17
|
+
translations_import:
|
18
|
+
attributes:
|
19
|
+
file:
|
20
|
+
invalid_mime_type: 'Invalid file type. Accepted formats are: %{valid_mime_types}'
|
21
|
+
decidim:
|
33
22
|
term_customizer:
|
34
23
|
admin:
|
24
|
+
actions:
|
25
|
+
add_multiple_translations: Agregar varios
|
26
|
+
back: Volver
|
27
|
+
cancel: Cancel
|
28
|
+
clear_cache: Clear cache
|
29
|
+
help: Help
|
30
|
+
import: Import
|
31
|
+
new_translation: Nueva traducción
|
32
|
+
new_translation_set: Nuevo grupo de traducciones
|
35
33
|
add_translations:
|
36
34
|
index:
|
37
35
|
add: Añadir
|
36
|
+
help_html: <p>Start by typing a couple of letters appearing in the term that you want to change in the search panel. Wait for few seconds and a list of all translations matching your search will be displayed below the search field. Click the translations in that list that you want to change. They will appear below the search field in the list of translations to be added.</p> <p>Once you have added all the translations that you want to change, click the "%{button_name}" button at the bottom of the screen.</p>
|
37
|
+
help_title: How to search for translations?
|
38
38
|
search: Buscar
|
39
39
|
caches:
|
40
40
|
clear:
|
41
41
|
success: Cache cleared successfully
|
42
|
+
models:
|
43
|
+
translation_sets:
|
44
|
+
fields:
|
45
|
+
name: Nombre
|
46
|
+
translations:
|
47
|
+
fields:
|
48
|
+
key: Llave de traducción
|
49
|
+
original_term: Valor original
|
50
|
+
term: Valor personalizado
|
51
|
+
titles:
|
52
|
+
add_multiple_translations: Agregar varios
|
53
|
+
translation_sets: Grupo de traducciones
|
54
|
+
translations: Traducciones
|
42
55
|
translation_sets:
|
43
56
|
constraint_fields:
|
44
57
|
constraint: Ámbito
|
45
58
|
remove: Eliminar
|
46
59
|
create:
|
47
|
-
success: Gurpo de tranducciones creado exitosamente.
|
48
60
|
error: Error creando el grupo de traducciones.
|
61
|
+
success: Gurpo de tranducciones creado exitosamente.
|
49
62
|
destroy:
|
50
63
|
success: El grupo de traducciones ha sido creado exitosamente.
|
51
64
|
edit:
|
52
|
-
title: Grupo de traducciones
|
53
65
|
save: Guardar
|
66
|
+
title: Grupo de traducciones
|
54
67
|
form:
|
55
68
|
add_constraint: Agregar ámbito
|
56
|
-
|
69
|
+
constraint_help_html: <p>Constraints are specific rules that allow you to apply the customizations in a set to a specific context.</p> <p>In case you do not define any constraint rules, the customizations in this set will apply to the whole application. On the other hand, if you want the customizations in this set to apply only to a specific process, select "Participatory processes" as the participatory space type and the target process as the participatory space. Furthermore, you can also apply the customizations to a specific component by defining the component for the constraint.</p> <p>If you define multiple constraints, the customizations will apply in all of those.</p>
|
70
|
+
constraint_help_title: What are constraints?
|
71
|
+
help_html: <p>A translation set is a "container" that holds the translations for a specific context you want to customize.</p> <p>Translation sets help you to organize your customizations and apply them to different contexts. This allows you to customize the same translation differently in different contexts.</p> <p>For example, if you want to customize a button with the term "Add" differently for different participatory processes, you can create separate translation sets for both processes and apply the set to those processes using the constraints.</p>
|
72
|
+
help_title: What is a translation set?
|
73
|
+
title: Translation set.
|
74
|
+
index:
|
75
|
+
no_records_html: <p>No translation sets available.</p> <p>Start by adding a translation set from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
|
57
76
|
new:
|
58
77
|
create: Crear
|
59
78
|
title: Grupo de traducciones
|
60
79
|
update:
|
61
|
-
success: Grupo de tranducciones actualizado exitosamente.
|
62
80
|
error: Error actualizando el grupo de traducciones.
|
81
|
+
success: Grupo de tranducciones actualizado exitosamente.
|
63
82
|
translations:
|
64
83
|
create:
|
65
|
-
success: Traducción creada exitosamente.
|
66
84
|
error: Error creando la traducción.
|
85
|
+
success: Traducción creada exitosamente.
|
67
86
|
destroy:
|
68
87
|
success: Traducción eliminada exitosamente.
|
69
88
|
edit:
|
70
|
-
title: Traducción
|
71
89
|
save: Guardar
|
90
|
+
title: Traducción
|
72
91
|
form:
|
92
|
+
help_html: <p>A translation key is a technical reference to the translation to be translatated. This is not the term you want to change but the technical key that refers to that translation.</p> <p>For example, if you want to change the term <em>"Processes"</em> in the top menu, you would use the key <em>"decidim.menu.processes"</em>.</p> <p><a href="https://guides.rubyonrails.org/i18n.html" target="_blank"> Read more about Rails Internationalization</a>.</p>
|
93
|
+
help_title: What is translation key?
|
94
|
+
term_help_html: "<p>The customized term is the final word you want to appear in the UI instead of the original term. Obviously, the customized term can differ for each enabled language.</p>"
|
95
|
+
term_help_title: What is customized term?
|
73
96
|
title: Traducción
|
97
|
+
import:
|
98
|
+
error: Error importing translations
|
99
|
+
success: Translations successfully imported.
|
100
|
+
index:
|
101
|
+
actions: Actions
|
102
|
+
no_records_html: <p>No translations available in this set.</p> <p>Start by adding translations to this set. The easiest way is to use the "<a href="%{add_multiple_link}">%{button_name}</a>" button where you can search translations with the same terms that you see in the UI.</p>
|
103
|
+
selected: selected
|
74
104
|
new:
|
75
105
|
create: Crear
|
76
106
|
title: Traducciones
|
107
|
+
new_import:
|
108
|
+
accepted_mime_types:
|
109
|
+
csv: CSV
|
110
|
+
json: JSON
|
111
|
+
xls: XLS
|
112
|
+
file_legend: 'Add an import file that will be parsed for translations. Suported formats are: %{valid_mime_types}'
|
113
|
+
start_import: Start import
|
114
|
+
title: Import translations
|
115
|
+
zip_hint: You can also upload the ZIP file from the translations export.
|
77
116
|
update:
|
78
|
-
success: Traducción actualizada exitosamente.
|
79
117
|
error: Error actualizando la traducción.
|
118
|
+
success: Traducción actualizada exitosamente.
|
119
|
+
translations_destroys:
|
120
|
+
destroy:
|
121
|
+
error: Error deleting translations.
|
122
|
+
success: Translations successfully deleted.
|
123
|
+
new:
|
124
|
+
destroy: Delete
|
125
|
+
title: Translations delete
|
80
126
|
menu:
|
81
127
|
term_customizer: Personalización de términos
|