decidim-design 0.28.3 → 0.29.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/app/helpers/decidim/design/activities_helper.rb +23 -23
  3. data/app/helpers/decidim/design/address_helper.rb +45 -20
  4. data/app/helpers/decidim/design/announcement_helper.rb +45 -21
  5. data/app/helpers/decidim/design/application_helper.rb +28 -9
  6. data/app/helpers/decidim/design/author_helper.rb +57 -35
  7. data/app/helpers/decidim/design/buttons_helper.rb +67 -11
  8. data/app/helpers/decidim/design/cards_helper.rb +504 -64
  9. data/app/helpers/decidim/design/colors_helper.rb +33 -29
  10. data/app/helpers/decidim/design/follow_helper.rb +6 -17
  11. data/app/helpers/decidim/design/report_helper.rb +6 -13
  12. data/app/helpers/decidim/design/share_helper.rb +6 -13
  13. data/app/helpers/decidim/design/tab_panels_helper.rb +57 -13
  14. data/app/helpers/decidim/design/typography_helper.rb +4 -3
  15. data/app/packs/entrypoints/decidim_design.js +1 -0
  16. data/app/packs/stylesheets/_datepicker.scss +9 -0
  17. data/app/packs/stylesheets/design.scss +6 -0
  18. data/app/views/decidim/design/components/accordions.html.erb +19 -17
  19. data/app/views/decidim/design/components/activities/_static-activities.html.erb +1 -1
  20. data/app/views/decidim/design/components/activities/_static-activity.html.erb +1 -1
  21. data/app/views/decidim/design/components/activities.html.erb +1 -1
  22. data/app/views/decidim/design/components/address.html.erb +1 -1
  23. data/app/views/decidim/design/components/announcement.html.erb +1 -1
  24. data/app/views/decidim/design/components/author.html.erb +1 -1
  25. data/app/views/decidim/design/components/buttons.html.erb +2 -2
  26. data/app/views/decidim/design/components/cards/_static-card-l-extra-data-2.html.erb +1 -1
  27. data/app/views/decidim/design/components/cards/_static-card-l-image.html.erb +1 -1
  28. data/app/views/decidim/design/components/cards/_static-card-l.html.erb +1 -1
  29. data/app/views/decidim/design/components/cards.html.erb +1 -1
  30. data/app/views/decidim/design/components/dialogs.html.erb +21 -21
  31. data/app/views/decidim/design/components/dropdowns.html.erb +14 -14
  32. data/app/views/decidim/design/components/follow.html.erb +1 -1
  33. data/app/views/decidim/design/components/forms.html.erb +35 -21
  34. data/app/views/decidim/design/components/report.html.erb +1 -1
  35. data/app/views/decidim/design/components/share.html.erb +1 -1
  36. data/app/views/decidim/design/components/tab_panels.html.erb +1 -1
  37. data/app/views/decidim/design/components/tooltips.html.erb +104 -0
  38. data/app/views/decidim/design/foundations/accessibility.html.erb +41 -41
  39. data/app/views/decidim/design/foundations/color.html.erb +6 -3
  40. data/app/views/decidim/design/foundations/iconography.html.erb +4 -3
  41. data/app/views/decidim/design/foundations/layout.html.erb +31 -30
  42. data/app/views/decidim/design/foundations/typography.html.erb +2 -2
  43. data/app/views/decidim/design/home/index.html.erb +6 -6
  44. data/app/views/decidim/design/shared/_cell_call_textarea.html.erb +5 -0
  45. data/app/views/decidim/design/shared/_cell_snippet.html.erb +1 -3
  46. data/app/views/decidim/design/shared/_cell_table.html.erb +12 -0
  47. data/app/views/decidim/design/shared/_table.html.erb +1 -1
  48. data/config/locales/am-ET.yml +1 -0
  49. data/config/locales/ar.yml +7 -0
  50. data/config/locales/bg.yml +309 -0
  51. data/config/locales/ca.yml +309 -0
  52. data/config/locales/cs.yml +258 -0
  53. data/config/locales/da.yml +1 -0
  54. data/config/locales/de.yml +309 -0
  55. data/config/locales/el.yml +1 -0
  56. data/config/locales/en.yml +309 -0
  57. data/config/locales/eo.yml +1 -0
  58. data/config/locales/es-MX.yml +309 -0
  59. data/config/locales/es-PY.yml +309 -0
  60. data/config/locales/es.yml +309 -0
  61. data/config/locales/et.yml +1 -0
  62. data/config/locales/eu.yml +309 -0
  63. data/config/locales/fa-IR.yml +1 -0
  64. data/config/locales/fi-plain.yml +309 -0
  65. data/config/locales/fi.yml +309 -0
  66. data/config/locales/fr-CA.yml +309 -0
  67. data/config/locales/fr.yml +309 -0
  68. data/config/locales/ga-IE.yml +1 -0
  69. data/config/locales/gl.yml +1 -0
  70. data/config/locales/gn-PY.yml +1 -0
  71. data/config/locales/he-IL.yml +1 -0
  72. data/config/locales/hr.yml +1 -0
  73. data/config/locales/hu.yml +1 -0
  74. data/config/locales/id-ID.yml +1 -0
  75. data/config/locales/is-IS.yml +1 -0
  76. data/config/locales/it.yml +1 -0
  77. data/config/locales/ja.yml +309 -0
  78. data/config/locales/ka-GE.yml +1 -0
  79. data/config/locales/kaa.yml +1 -0
  80. data/config/locales/ko.yml +1 -0
  81. data/config/locales/lb.yml +1 -0
  82. data/config/locales/lo-LA.yml +1 -0
  83. data/config/locales/lt.yml +1 -0
  84. data/config/locales/lv.yml +1 -0
  85. data/config/locales/mt.yml +1 -0
  86. data/config/locales/nl.yml +1 -0
  87. data/config/locales/no.yml +9 -0
  88. data/config/locales/oc-FR.yml +1 -0
  89. data/config/locales/om-ET.yml +1 -0
  90. data/config/locales/pl.yml +309 -0
  91. data/config/locales/pt-BR.yml +1 -0
  92. data/config/locales/pt.yml +1 -0
  93. data/config/locales/ro-RO.yml +45 -0
  94. data/config/locales/ru.yml +1 -0
  95. data/config/locales/si-LK.yml +1 -0
  96. data/config/locales/sk.yml +1 -0
  97. data/config/locales/sl.yml +1 -0
  98. data/config/locales/so-SO.yml +1 -0
  99. data/config/locales/sq-AL.yml +1 -0
  100. data/config/locales/sr-CS.yml +1 -0
  101. data/config/locales/sv.yml +1 -0
  102. data/config/locales/sw-KE.yml +1 -0
  103. data/config/locales/th-TH.yml +1 -0
  104. data/config/locales/ti-ER.yml +1 -0
  105. data/config/locales/tr-TR.yml +78 -0
  106. data/config/locales/uk.yml +1 -0
  107. data/config/locales/val-ES.yml +1 -0
  108. data/config/locales/vi.yml +1 -0
  109. data/config/locales/zh-CN.yml +1 -0
  110. data/config/locales/zh-TW.yml +1 -0
  111. data/decidim-design.gemspec +1 -1
  112. data/lib/decidim/design/version.rb +1 -1
  113. metadata +77 -18
  114. data/app/views/decidim/design/components/address/_static-address-online.html.erb +0 -26
  115. data/app/views/decidim/design/components/address/_static-address-person.html.erb +0 -25
  116. data/app/views/decidim/design/components/author/_static-avatar.html.erb +0 -38
  117. data/app/views/decidim/design/components/author/_static-compact.html.erb +0 -46
  118. data/app/views/decidim/design/components/author/_static-default.html.erb +0 -35
  119. data/app/views/decidim/design/components/follow/_static-follow-default.html.erb +0 -4
  120. data/app/views/decidim/design/components/follow/_static-follow-unfollow.html.erb +0 -4
  121. data/app/views/decidim/design/components/report/_static-report.html.erb +0 -34
@@ -1,31 +1,31 @@
1
1
  <% content_for :heading do %>
2
- Layout
2
+ <%= t(".title") %>
3
3
  <% end %>
4
4
 
5
5
  <% content_for :description do %>
6
- <p>For desktop, Decidim uses a 12 column grid with limited number of templates (grid configurations) for different types of content. The objective is that a given type of content (homepage, list of elements, individual item) has a distinctive layout, so users can understand in which kind of content they are just by the general look of the page.</p>
6
+ <p><%= t(".description_layout_p1") %></p>
7
7
 
8
- <p>These simple rules should be followed when creating new modules or customizing existing ones, so a Decidim site can maintain its consistency.</p>
8
+ <p><%= t(".description_layout_p2") %></p>
9
9
 
10
10
  <ul class="list-disc pl-4">
11
- <li>Homepage (of the site, of an space): full width</li>
12
- <li>List of elements (of spaces, of items inside a space, etc): left aside</li>
13
- <li>Individual item (proposal, blog post): centered, optionally with a right aside</li>
11
+ <li><%= t(".layout_list_1") %></li>
12
+ <li><%= t(".layout_list_2") %></li>
13
+ <li><%= t(".layout_list_3") %></li>
14
14
  </ul>
15
15
  <% end %>
16
16
 
17
17
  <% content_for :toc do %>
18
- <a href="#desktop">Desktop</a>
19
- <a href="#tablet">Tablet</a>
20
- <a href="#mobile">Mobile</a>
21
- <a href="#code">Code</a>
22
- <a href="#breakpoints">Breakpoints</a>
18
+ <a href="#desktop"><%= t(".desktop") %></a>
19
+ <a href="#tablet"><%= t(".tablet") %></a>
20
+ <a href="#mobile"><%= t(".mobile") %></a>
21
+ <a href="#code"><%= t(".code") %></a>
22
+ <a href="#breakpoints"><%= t(".breakpoints") %></a>
23
23
  <% end %>
24
24
 
25
25
  <section id="desktop" class="design__section">
26
- <h2>Desktop <span class="label secondary">lg</span></h2>
26
+ <h2><%= t(".desktop") %> <span class="label">lg</span></h2>
27
27
 
28
- <p>Desktop grid system is composed of 12 flexible columns with a gutter between columns of 16px and left and right margins of 48px</p>
28
+ <p><%= t(".section_p_desktop") %></p>
29
29
 
30
30
  <div class="grid grid-cols-12 gap-4">
31
31
  <% 12.times do %>
@@ -35,9 +35,9 @@
35
35
  </section>
36
36
 
37
37
  <section id="tablet" class="design__section">
38
- <h2>Tablet <span class="label secondary">md</span></h2>
38
+ <h2><%= t(".tablet") %><span class="label">md</span></h2>
39
39
 
40
- <p>Tablet grid system is composed of 8 flexible columns with a gutter between columns of 16px and left and right margins of 24px</p>
40
+ <p><%= t(".section_p_tablet") %></p>
41
41
 
42
42
  <div class="grid grid-cols-6 gap-4">
43
43
  <% 6.times do %>
@@ -47,9 +47,9 @@
47
47
  </section>
48
48
 
49
49
  <section id="mobile" class="design__section">
50
- <h2>Mobile <span class="label secondary">sm</span></h2>
50
+ <h2><%= t(".mobile") %> <span class="label">sm</span></h2>
51
51
 
52
- <p>Mobile grid system is composed of 4 flexible columns with a gutter between columns of 16px and left and right margins of 16px. For sizes below 320px this margins are set to 8px</p>
52
+ <p><%= t(".section_p_mobile") %></p>
53
53
 
54
54
  <div class="grid grid-cols-4 gap-4">
55
55
  <% 4.times do %>
@@ -59,17 +59,18 @@
59
59
  </section>
60
60
 
61
61
  <section id="code" class="design__section">
62
- <h2>Code</h2>
62
+ <h2><%= t(".code") %></h2>
63
63
 
64
- <p>When implementing new modules you have some helpers that automatically provides you with the code needed to setup the HTML structure. You should use these helpers instead of directly using div elements with classes, so you maintain consistency.</p>
64
+ <p><%= t(".section_p_code") %></p>
65
65
 
66
- <p>You can find the basic layouts in <a href="https://github.com/decidim/decidim/tree/develop/decidim-core/app/views/layouts/decidim/shared" target="_blank" rel="noopener noreferrer" class="text-secondary underline">https://github.com/decidim/decidim/tree/develop/decidim-core/app/views/layouts/decidim/shared</a></p>
66
+ <% link_section_url = "https://github.com/decidim/decidim/tree/develop/decidim-core/app/views/layouts/decidim/shared" %>
67
+ <p><%= t(".section_p_code_html", link_section_code: link_to(link_section_url, link_section_url, target: "_blank", rel: "noopener noreferrer", class: "text-secondary underline")) %></p>
67
68
 
68
- <h3 class="text-xl">Full width</h3>
69
+ <h3 class="text-xl"><%= t(".full_width") %></h3>
69
70
 
70
- <p>No required</p>
71
+ <p><%= t(".not_required") %></p>
71
72
 
72
- <h3 class="text-xl">Left aside</h3>
73
+ <h3 class="text-xl"><%= t(".left_aside") %></h3>
73
74
 
74
75
  <code class="p-4 rounded block bg-background">
75
76
  &lt;%= render layout: "layouts/decidim/shared/layout_two_col" do %&gt;
@@ -77,7 +78,7 @@
77
78
  &lt;% end %&gt;
78
79
  </code>
79
80
 
80
- <h3 class="text-xl">Right aside</h3>
81
+ <h3 class="text-xl"><%= t(".right_aside") %></h3>
81
82
 
82
83
  <code class="p-4 rounded block bg-background">
83
84
  &lt;%= render layout: "layouts/decidim/shared/layout_two_col", locals: { reverse: true } do %&gt;
@@ -85,7 +86,7 @@
85
86
  &lt;% end %&gt;
86
87
  </code>
87
88
 
88
- <h3 class="text-xl">Centered</h3>
89
+ <h3 class="text-xl"><%= t(".centered") %></h3>
89
90
 
90
91
  <code class="p-4 rounded block bg-background">
91
92
  &lt;%= render layout: "layouts/decidim/shared/layout_center", locals: { columns: 10 } do %&gt;
@@ -93,19 +94,19 @@
93
94
  &lt;% end %&gt;
94
95
  </code>
95
96
 
96
- <p>Being the number of columns 10, 8 or 6.</p>
97
+ <p><%= t(".columns") %></p>
97
98
 
98
99
  </section>
99
100
 
100
101
  <section id="breakpoints" class="design__section">
101
- <h2>Breakpoints</h2>
102
+ <h2><%= t(".breakpoints") %></h2>
102
103
 
103
- <p>To manage the responsive max-width of elements we rely on the default `container` Tailwind class, which states the following breakpoints:</p>
104
+ <p><%= t(".section_p_breakpoints") %></p>
104
105
 
105
106
  <table class="design__table">
106
107
  <thead>
107
- <th>Breakpoint</th>
108
- <th>Properties</th>
108
+ <th><%= t(".breakpoint") %></th>
109
+ <th><%= t(".properties") %></th>
109
110
  </thead>
110
111
  <tbody>
111
112
  <%
@@ -1,9 +1,9 @@
1
1
  <% content_for :heading do %>
2
- Typography
2
+ <%= t(".title") %>
3
3
  <% end %>
4
4
 
5
5
  <% content_for :description do %>
6
- <p>These guidelines summarize how use typography at Decidim, and serve as guardrails for designers to design freely with best typographic practices in mind</p>
6
+ <p><%= t(".description") %></p>
7
7
  <% end %>
8
8
 
9
9
  <% content_for :toc do %>
@@ -1,17 +1,17 @@
1
1
  <% content_for :right_aside do %>
2
2
  <%= link_to "https://github.com/decidim/decidim", target: "_blank", data: { "external-link": "text-only" }, class: "flex items-center justify-end gap-1 font-semibold text-secondary" do %>
3
- <span class="whitespace-nowrap">Source code on GitHub</span>
3
+ <span class="whitespace-nowrap"><%= t(".github_source") %></span>
4
4
  <%= icon "github-fill", class: "flex-none w-3.5 h-3.5 fill-current" %>
5
5
  <% end %>
6
6
  <% end %>
7
7
 
8
8
  <section>
9
- <h1 class="text-[72px] leading-[90px] font-bold text-transparent bg-clip-text bg-[linear-gradient(96deg,_var(--primary)_22.02%,_var(--secondary)_44.83%)] after:content-[''] after:block after:w-20 after:h-2 after:mt-1.5 after:bg-primary after:rounded-b-xl">Decidim Design Guide</h1>
9
+ <h1 class="text-[72px] leading-[90px] font-bold text-transparent bg-clip-text bg-[linear-gradient(96deg,_var(--primary)_22.02%,_var(--secondary)_44.83%)] after:content-[''] after:block after:w-20 after:h-2 after:mt-1.5 after:bg-primary after:rounded-b-xl"><%= t(".home_header") %></h1>
10
10
 
11
11
  <div class="text-lg space-y-4 mt-12">
12
- <h2 class="font-semibold">The guide to design all things Decidim</h2>
13
- <p>Welcome to the Decidim Design Guide (DDG). This guide is the resource for designers and developers who need to customize, develop new modules, and integrate new features.</p>
14
- <p>By sharing the principles, philosophy, and rationale behind design decisions we want to empower the community to contribute with consistency so we reach the best participant experience.</p>
15
- <p>At the same time, we document the different UI components and patterns in use, that should be reused or extended.</p>
12
+ <h2 class="font-semibold"><%= t(".decidim_guide") %></h2>
13
+ <p><%= t(".welcome_sentence") %></p>
14
+ <p><%= t(".by_sharing_principles") %></p>
15
+ <p><%= t(".different_ui_components") %></p>
16
16
  </div>
17
17
  </section>
@@ -0,0 +1,5 @@
1
+ <% if call_string.is_a?(Array) %>
2
+ <code><textarea spellcheck="false" rows="<%= 3 * call_string.compact_blank.count %>"><%= call_string.compact_blank.map { |item| "<%= #{item.strip} %\>" }.join("\n") %></textarea></code>
3
+ <% else %>
4
+ <code><textarea spellcheck="false" rows="5"><<%= "%= " %><%= call_string.presence&.strip || "cell(\"#{cell}\", #{args_texts.join(", ")})" %><%= " %" %>></textarea></code>
5
+ <% end %>
@@ -1,6 +1,4 @@
1
1
  <div class="design__section-snippet">
2
2
  <p>Source code on GitHub: <%= link_to(text, url, target: "_blank", rel: "noopener noreferrer") %></p>
3
- <code>
4
- <textarea rows="5"><%= Nokogiri::XML(cell(cell, *args).call, &:noblanks).root %></textarea>
5
- </code>
3
+ <%= render partial: "decidim/design/shared/cell_call_textarea", locals: { cell:, call_string:, args_texts: } %>
6
4
  </div>
@@ -0,0 +1,12 @@
1
+ <%= content_tag :table, local_assigns.slice(:style).merge(class: "design__table") do %>
2
+ <thead>
3
+ <% headings.each do |heading| %>
4
+ <th><%= heading %></th>
5
+ <% end %>
6
+ </thead>
7
+ <tbody>
8
+ <tr>
9
+ <%= render_cell(method: "cell", args: [cell_snippet[:cell], *cell_snippet[:args]]) %>
10
+ </tr>
11
+ </tbody>
12
+ <% end %>
@@ -6,7 +6,7 @@
6
6
  </thead>
7
7
  <tbody>
8
8
  <% items.each do |row| %>
9
- <tr><%= render_row(row) %></tr>
9
+ <tr><%= render_row(row) %></tr>
10
10
  <% end %>
11
11
  </tbody>
12
12
  <% end %>
@@ -0,0 +1 @@
1
+ am:
@@ -0,0 +1,7 @@
1
+ ---
2
+ ar:
3
+ decidim:
4
+ design:
5
+ foundations:
6
+ accessibility:
7
+ here_link: هنا
@@ -0,0 +1,309 @@
1
+ ---
2
+ bg:
3
+ decidim:
4
+ design:
5
+ components:
6
+ accordions:
7
+ content_panel: Съдържание на панела
8
+ demo: Демо
9
+ demo_description: В цялото приложение "акордеоните" се използват главно за показване/скриване на съдържание в раздели или за сгъване/разгъване на видими текстове.
10
+ description_accordions_html: '"Акордеоните" са функция на javascript, достъпна благодарение на външна библиотека, наречена %{link_code} a11y-accordion-component.'
11
+ github_source_html: Изходен код в GitHub %{github_link}
12
+ panel: Панел
13
+ title: '"Акордеони"'
14
+ trigger: Задействане
15
+ usage: Употреба
16
+ usage_p: '"Акордеонът" изисква поне три елемента'
17
+ usage_p_1_html: 1. Обвивка <code>div</code>, с атрибута на данните <code>data-component="accordion"</code>, над всички налични задействащи елементи и панели.
18
+ usage_p_2_html: 2. Задействащ елемент, с който потребителят може да действа (като бутон), сочещ към сгъваемия елемент чрез <code>data-controls="panel"</code>, където <i>panel</i> е <code>id </code> на панела.
19
+ usage_p_3_html: 3. Елемент с възможност за скриване, чийто <code>id</code> съвпада със стойността на контролите на данните, към която препраща задействащия елемент.
20
+ activities:
21
+ activities: Активности
22
+ address:
23
+ title: Адрес
24
+ announcement:
25
+ iam_an_announcement: Аз съм известие
26
+ this_is_the_body: Това е основното съдържание
27
+ this_is_the_title: Това е заглавието
28
+ title: Обявление
29
+ author:
30
+ title: Автор
31
+ buttons:
32
+ description_html: 'Бутоните се създават с помощта на различни комбинации от CSS класове: клас <code>button</code>, размер и цвят.'
33
+ title: Бутони
34
+ cards:
35
+ title: Карти
36
+ dialogs:
37
+ dialog_demo_description_html: Диалоговите прозорци или модалните компоненти се имплементират чрез помощника <code>decidim_modal</code>.
38
+ dialogs_description_html: Диалозите са функция на javascript, достъпна благодарение на външна библиотека, наречена <a href="https://github.com/jonathanlevaillant/a11y-dialog-component" target="_blank" rel="noopener noreferrer">a11y-dialog-component </a>.
39
+ tips_description: 'За да покажете сложен модал, съответстващ на стиловете, направете следното маркиране:'
40
+ tips_description_html: Обърнете внимание на <i>data-attributes</i> и <i>ids</i>. Например идентификаторът на <code>[data-dialog-title]</code> започва с <i>dialog-title</i> плюс <i>modal id</i>.
41
+ title: Диалогови прозорци
42
+ usage_description: Един диалогов прозорец изисква два елемента
43
+ usage_description_2_html: 2. Модален елемент, чийто <code>id</code> съвпада с целевата стойност на данните, към която препраща тригерът.
44
+ usage_description_html: 1. Елемент с действие от страна на потребителя с атрибут на данни <code>data-dialog-open="example"</code>, където example е <code>id</code> на модала.
45
+ follow:
46
+ title: Последване
47
+ forms:
48
+ disabled: Деактивирано
49
+ emojis: Емоджита
50
+ emojis_description: Работи само за текстово поле
51
+ errors: Грешки
52
+ errors_description: Не важи за избран
53
+ header_alert: Тази страница идва от наследен изглед. Съдържанието е остаряло.
54
+ help_texts: Помощни текстове
55
+ html_regular_inputs: HTML редовни входни данни
56
+ min_max_length: Мин/Макс дължина
57
+ min_max_length_description: Работи само за input type='text' и текстова област
58
+ multiselect: Мултиселекция
59
+ multiselect_description_html: Мултиселекциите са функция на javascript, достъпна благодарение на външна библиотека, наречена <a href="https://tom-select.js.org/" target="_blank" rel="noopener noreferrer">Tom Select</a>.
60
+ regular_inputs_description: 'Показва само общи типове, пълен наличен списък: дата, datetime-local, имейл, месец, номер, парола, търсене, телефон, текст, час, url, седмица'
61
+ textarea_required: задължителна текстова област
62
+ title: Форми
63
+ report:
64
+ title: Доклад
65
+ share:
66
+ title: Сподели
67
+ tab_panels:
68
+ title: Табове панели
69
+ tooltips:
70
+ demo: Демо
71
+ demo_description: За да работи този компонент, участникът трябва да задържи курсора на мишката върху елемента.
72
+ description: Подсказката е компонент, върху който потребителите могат да задържат курсора на мишката, за да получат допълнителна информация за него.
73
+ github_source_html: Изходен код в GitHub %{github_link}
74
+ title: Подсказка
75
+ usage: Употреба
76
+ usage_p: 'Подсказка изисква използването на помощника `with_tooltip` с три аргумента:'
77
+ usage_p_1_html: 1. Низ със стойността на подсказката. В примера на тази страница е "Hello world".
78
+ usage_p_2_html: 2. Незадължителен клас със символ за мястото, където ще се показва подсказката. Възможните стойности са <code>:top</code>, <code>:bottom</code>, <code>:right</code> или <code>:left</code>.
79
+ usage_p_3_html: 3. Блок с низа, който потребителят трябва да задържи, за да се покаже.
80
+ foundations:
81
+ accessibility:
82
+ accessibility_labels: Етикети за достъпност
83
+ accessibility_labels_paragraph: Когато дефинирате елементи, винаги се уверявайте, че имат смисъл за потребителите на екранни четци.
84
+ accessibility_title: Достъпност
85
+ adjacent_links: Съседни линкове
86
+ adjacent_links_header: Съседни връзки за един и същ ресурс
87
+ adjacent_links_paragraph: Ако един и същ ресурс има множество съседни линкове, сочещи към него, за такива потребители е трудно да прегледат страницата, тъй като може да се наложи да преминат през множество връзки, за да стигнат до следващия ресурс.
88
+ color_contrast: Цветови контраст
89
+ color_contrast_paragraph: Когато създавате потребителски интерфейси или променяте цветовете, винаги се уверявайте, че не нарушавате достъпността с вашите промени. Можете да използвате инструмента за проверка на цветовия контраст, за да се уверите, че вашите цветове имат достатъчен контраст спрямо цвета на фона, на който се показват.
90
+ decidim_follows_html: Civil Power следва <u>Указанията за достъпност на уеб съдържанието (WCAG) 2.1</u>
91
+ dynamic_changes_header: Динамичната функционалност променя контекста на страницата неинтуитивно
92
+ dynamic_changes_paragraph: Промените във формуляра не трябва автоматично да променят контекста на страницата.
93
+ elements_hidden: Елементите са скрити
94
+ elements_hidden_header: Елементи, скрити от API за достъпност
95
+ elements_hidden_paragraph: За да скриете елемент от помощни технологии, използвайте атрибута aria-hidden="true" върху него.
96
+ heading_on: Заглавие на важни раздели
97
+ here_link: тук
98
+ illogical_heading_order: Нелогичен ред на заглавията
99
+ illogical_heading_paragraph: Всяка страница трябва да има логичен ред на заглавията, когато се използват елементите на заглавието <h1>, <h2>, <h3>, <h4>, <h5> и <h6>.
100
+ important_sections_heading: Заглавие на важни раздели
101
+ important_sections_paragraph: Изключително важно е всеки важен раздел на страницата да има заглавие, за да можете по-лесно да разберете какви важни раздели има на страницата, просто като разглеждате заглавията.
102
+ links_and_buttons: Линкове и бутони
103
+ links_and_buttons_paragraph: Елементите (anchor) за "закотвяне" (т.е. линкове) са предназначени да свързват към различни страници или да закотвят позиции в страницата. Ако елементът трябва да, например, отворите някакъв скрит елемент на тази страница, вместо това трябва да използвате елемента <button>.
104
+ see_further_info_html: Вижте допълнителна информация %{link}
105
+ unique_h1: Уникален H1
106
+ unique_h1_paragraph: Всяка страница трябва да има уникално заглавие H1
107
+ use_aria: Използвайте ARIA
108
+ use_aria_header: Използвайте ARIA атрибути, където е възможно
109
+ use_aria_paragraph: Много елементи, които предоставят интерактивна функционалност на уебсайта, изискват ARIA атрибути върху тях, за да бъдат достъпни.
110
+ color:
111
+ color_header: Цвят
112
+ description_p1: Много елементи, които предоставят интерактивна функционалност на уебсайта, изискват ARIA атрибути върху тях, за да бъдат достъпни.
113
+ description_p2_html: Когато персонализирате цветовете си, имайте предвид %{contrast_link}. Можете да проверите контраста по ваш избор с %{checker_link} или други подобни инструменти.
114
+ wcag_compliant_rations: Контрастно съотношение, съвместимо с WCAG 2.1 AA
115
+ wcag_contrast_checker: Проверка на контраста на WebAIM
116
+ iconography:
117
+ description_iconography: Използваме икони, за да подсилим значението на действия, заглавия и др
118
+ description_iconography_html: 'Използваме библиотеката с отворен код Remixicon: %{iconography_link}'
119
+ title: Иконография
120
+ layout:
121
+ breakpoint: Точка на промяна
122
+ breakpoints: Точки на промяна
123
+ centered: Центрирано
124
+ code: Код
125
+ columns: Това е броят на колоните 10, 8 или 6.
126
+ description_layout_p1: За настолен компютър Civil Power използва мрежа от 12 колони с ограничен брой шаблони (конфигурации на мрежата) за различни видове съдържание. Целта е даден тип съдържание (начална страница, списък с елементи, отделен елемент) да има отличително оформление, така че потребителите да могат да разберат в какъв вид съдържание се намират само по общия вид на страницата.
127
+ description_layout_p2: Тези прости правила трябва да се следват, когато създавате нови модули или персонализирате съществуващи, така че сайтът на Civil Power да може да поддържа своята последователност.
128
+ desktop: Desktop
129
+ full_width: Пълна ширина
130
+ layout_list_1: 'Начална страница (на сайта, на пространство): пълна ширина'
131
+ layout_list_2: 'Списък с елементи (на интервали, на елементи в интервал и т.н.): ляво равнение'
132
+ layout_list_3: 'Индивидуален артикул (предложение, публикация в блог): центрирано, по избор с дясно равнение'
133
+ left_aside: Ляво равнение
134
+ mobile: Мобилно
135
+ not_required: Незадължително
136
+ properties: Свойства
137
+ right_aside: Дясно равнение
138
+ section_p_breakpoints: 'За да управляваме адаптивната максимална ширина на елементите, ние разчитаме на класа Tailwind „контейнер“ по подразбиране, който посочва следните точки на промяна:'
139
+ section_p_code: Когато внедрявате нови модули, имате някои помощници, които автоматично ви предоставят кода, необходим за настройка на HTML структурата. Трябва да използвате тези помощници, вместо директно да използвате div елементи с класове, така че да поддържате последователност.
140
+ section_p_code_html: Можете да намерите основните оформления в %{link_section_code}
141
+ section_p_desktop: Desktop мрежовата работна система се състои от 12 "разтегливи" колони с разстояние между колоните от 16px и ляво и дясно поле от 48px
142
+ section_p_mobile: Мобилната мрежова работна система се състои от 4 разтегливи колони с разстояние между колоните от 16px и ляво и дясно поле от 16px. За размери под 320px тези полета са зададени на 8px
143
+ section_p_tablet: Мрежовата работна система на таблета се състои от 8 разтегливи колони с разстояние между колоните от 16px и ляво и дясно поле от 24px
144
+ tablet: Таблет
145
+ title: Оформление
146
+ typography:
147
+ description: Тези насоки обобщават как да използвате типографията в Civil Power и служат като парапети за дизайнерите да проектират свободно, като имат предвид най-добрите типографски практики.
148
+ headings:
149
+ characters: Брой символи на ред
150
+ layout: Колони за оформление
151
+ size: Размер
152
+ title: Типография
153
+ typefaces_description_1: Civil Power използва Source Sans Pro като основен шрифт. Този шрифт поддържа 310 езика
154
+ typefaces_description_2: Тези шрифтове са лицензирани съгласно Open Font License
155
+ helpers:
156
+ accountability: Отговорност
157
+ accountability_cards_html: Използва се от карти <i>Проекти за отчетност</i>. Тази карта изисква активите на модула да се показват правилно, т.е. <code>append_stylesheet_pack_tag \"decidim_accountability\"</code>
158
+ activity: Активност
159
+ address_description: Клетката с адрес получава ресурс и търси геолокализируемите атрибути, за да изобрази конкретно маркиране.
160
+ address_description_2: В зависимост от вида на съдържанието, адресът може да бъде онлайн url. За такива случаи показаната информация е съвсем същата, но оформена така, че да пасне.
161
+ ally_link: a11y-dropdown-component
162
+ argument: Аргумент
163
+ assemblies: Събрания
164
+ assembly_g: Събрание G
165
+ assembly_s: Събрание S
166
+ avatar: Аватар
167
+ avatar_description: Използва се, когато има тесни пространства, където авторът е второстепенна информация.
168
+ background: Фон и граници
169
+ base: База
170
+ block_text: Използвайте блока extra_data
171
+ blog_cards_html: Използвано от <i>Блогове</i> карти
172
+ blogs: Блогове
173
+ budget_card_html: Използва се от карти <i>Бюджетни проекти</i>. Тази карта изисква активите на модула да се показват правилно, т.е. <code>append_stylesheet_pack_tag \"decidim_budgets\"</code>
174
+ budgets: Бюджети
175
+ callout_class: Клас на допълнително описание
176
+ callout_description: Този атрибут прилага статус към съобщението. По подразбиране той използва вторичен цвят.
177
+ card_g: Карта G
178
+ card_l: Карта L
179
+ card_s: Карта S
180
+ collaborative_draft_l: Съвместна чернова L
181
+ colors: Цветове
182
+ compact: Компактно
183
+ compact_description: Тази авторска версия е обичайният начин за идентифициране на създателя на ресурса.
184
+ conference_g: Конференция G
185
+ conference_s: Конференция S
186
+ conferences: Конференции
187
+ context: Контекст
188
+ context_description: Тази клетка показва информация за потребителя. Това е визуална помощ за идентифициране на създателя на ресурса/съдържанието. Задържането на курсора на мишката показва подсказка с допълнителна информация и връзки към неговия профил.
189
+ context_description_2: За ресурси тази клетка се появява под основното заглавие. За друго съдържание се появява до самото съдържание.
190
+ debate_l: Дебат L
191
+ debate_s: Дебат S
192
+ debates: Дебати
193
+ debates_cards_html: Използва се от карти <i>Дебати</i>
194
+ debates_cards_text: Използвайте различен шаблон за блока с изображения
195
+ default: По подразбиране
196
+ default_description: Извикване на клетката без допълнителни аргументи, но на самия потребител.
197
+ demo: Демо
198
+ demo_text: 'Тази клетка получава модел на LastActivity елементи и показва следните елементи:'
199
+ demo_text_2: Използва се от страницата с последната дейност, в блок със съдържание и в падащите менюта.
200
+ description: Описание
201
+ disabled: Деактивирано
202
+ dropdowns: Падащи менюта
203
+ dropdowns_demo_1_description: 'Следният пример няма да бъде забележим на настолен компютър, но на мобилно устройство:'
204
+ dropdowns_demo_description: Падащите менюта се използват в приложението, за да се свият големи, лесни за четене менюта за настолни устройства, но твърде многословни за мобилни устройства.
205
+ dropdowns_demo_description_html: 'Тази функция на javascript е подобрена с малък css чрез именуването: скриваемото съдържание ТРЯБВА ДА ИМА <code>id</code>, започващо с <i>dropdown-menu</i>.'
206
+ dropdowns_description_html: Падащите менюта са функция на javascript, достъпна благодарение на външна библиотека, наречена %{link}.
207
+ dropdowns_usage_1_description: 2. Елемент с възможност за скриване, чийто <code>id</code> съвпада с целевата стойност на данните, към която препраща тригерът.
208
+ dropdowns_usage_description: 'Падащото меню изисква два елемента:'
209
+ dropdowns_usage_description_html: 1. Елемент с възможност за действие от страна на потребителя с атрибутите на данни <code>data-component="dropdown" data-target="dropdown-menu-element"</code>.
210
+ dummy_description: Упростено описание на ресурса
211
+ dummy_title: Упростено заглавие на ресурса
212
+ follow_button: Бутон за следване
213
+ follower_description_html: Уверете се, че частичният <code>decidim/shared/login_modal</code> присъства в DOM. Тази част се поставя в оформлението на приложението, когато потребителят е влязъл.
214
+ form_elements: Елементи на формата
215
+ generic_cards: Общи карти
216
+ grid: Мрежа
217
+ hex_code: Шестнадесетичен код (Hex code)
218
+ highlight: Акцентирано
219
+ highlight_description: Използва се от ресурси, които позволяват акцентиране
220
+ html_tips: HTML съвети
221
+ icons: Икони
222
+ image_and_description: Изображение и описание
223
+ initiative_g: инициатива_g
224
+ initiative_s: iинициатива_s
225
+ initiatives: Инициативи
226
+ list: Списък
227
+ main_colors: Основни цветове
228
+ meeting_l: Среща L
229
+ meeting_s: Среща S
230
+ meetings: Срещи
231
+ meetings_html: Използвано от <i>Срещи</i> карти
232
+ metadata_items: Метадата елементи
233
+ metadata_text: Всеки ресурс дефинира свои собствени елементи от метаданни
234
+ participatory_process_g: Процес за участие G
235
+ participatory_process_group_g: Групa на процеса за участие G
236
+ participatory_process_group_s: Групa на процеса за участие S
237
+ participatory_process_s: Процес за участие S
238
+ participatory_processes: Процеси за участие
239
+ plain_text: Аз съм просто обикновен текст
240
+ plain_text_description: Можете да предоставите като първи аргумент както обикновен текст, така и хеш обект
241
+ plain_text_vs_hash: Oобикновен текст срещу Хаш
242
+ post_g: Пост G
243
+ post_l: Пост L
244
+ post_s: Пост S
245
+ project_l: Проект L
246
+ project_s: Проект S
247
+ proposal_l: Предложение L
248
+ proposal_s: Предложение S
249
+ proposals: Предложения
250
+ report_button: Бутон за докладване
251
+ report_usage_description: Бутонът за докладване стартира модален прозорец за маркиране на текущия ресурс.
252
+ result_l: Резултат L
253
+ rgba_code: RGBA код
254
+ search: Търсене
255
+ send: Изпрати
256
+ share_button: Бутон за споделяне
257
+ share_usage_description_html: Уверете се, че частичният <code>decidim/shared/share_modal</code> присъства в DOM. Тази част се поставя в оформлението на приложението.
258
+ sizes: Размери
259
+ sortition_l: сортировка_l
260
+ sortitions: Сортировки
261
+ source_code: Изходен код
262
+ state: Състояние
263
+ tab_panels_context_description: Този компонент на панела с раздели събира цялото свързано съдържание или други ресурси на основния показан елемент, за да спести вертикално пространство. Щракването върху раздела ще активира създадения панел за показване на съдържанието.
264
+ tab_panels_context_description_html: Основно се използва в рамките на <i>layout_item</i> или <i>layout_center</i>, след основното съдържание на ресурса.
265
+ tab_panels_usage_description: 'Този компонент получава масив от хешове и пренарежда изхода на всеки елемент в структура на панел с раздели. Налични свойства за всеки панел:'
266
+ tab_panels_usage_description_arguments_html: "<strong>args</strong>: <i>Array</i>. Аргументи за предишния метод"
267
+ tab_panels_usage_description_html: "<strong>активирано</strong>: <i>Boolean</i>. Условно изобразяване на раздела"
268
+ tab_panels_usage_description_id_html: "<strong>id</strong>: <i>String</i>. Уникално ID"
269
+ tab_panels_usage_description_rails_html: "<strong>method</strong>: <i>Symbol</i>. Всяка функция, която платформата (ruby on rails) може да интерпретира"
270
+ tab_panels_usage_description_remixicon_html: "<strong>icon</strong>: <i>String</i>. Remixicon key"
271
+ tab_panels_usage_description_tab_html: "<strong>text</strong>: <i>String</i> Заглавие на раздела"
272
+ tailwind: Tailwind name
273
+ text: Текст
274
+ transparent: Прозрачно
275
+ transparent_description: 'В случай на по-тъмен фон:'
276
+ types: Шрифтове
277
+ typography_texts: Типография и текстове
278
+ usage: Употреба
279
+ usage_background_1: Заден фон
280
+ usage_background_2: Избран фон на филтъра на сайдбара
281
+ usage_background_3: Цвят на иконата по подразбиране
282
+ usage_background_4: Линии и разделители
283
+ usage_background_5: Фон на футъра
284
+ usage_background_6: Фон на администраторския изглед
285
+ usage_base_1: Главен навигационен компонент background\nNav менюта в началната страница и началната страница на пространството
286
+ usage_base_2: Основен цвят за линкове и бутони
287
+ usage_base_3: Графични орнаменти и акцент color\nCards и списък с бордър елементи при mouce over
288
+ usage_formelements_1: Фон по подразбиране на входните елементи
289
+ usage_formelements_2: Фон на състоянието на деактивирани входни елементи
290
+ usage_state_1: Известие за успех border\nAlert икона за известие fill\nButton фон на съобщението за успех
291
+ usage_state_2: Рамка на предупредителното съобщение
292
+ usage_state_3: Известие за предупреждение border\nAlert цвят на икона за известие
293
+ usage_typography_1: Заглавия и заглавия на секции
294
+ usage_typography_2: Вграден текст
295
+ usage_typography_3: Текст на тъмен фон
296
+ usage_typography_4: Линкове и бутони
297
+ value: Стойност
298
+ variations: Вариации
299
+ variations_cards_description: Всяка карта ще изглежда различно по отношение на свойствата на показания ресурс. Можете да отмените подобно поведение в конкретната клетка.
300
+ variations_description: Има три различни версии на тази клетка. Всяка по отделно пасва по-добре, според контекста, в който се показва.
301
+ variations_text: По отношение на типа дейност, клетката може да показва различно съдържание, отчитайки отделните ресурси, независимо дали принадлежат към пространство за участие или не, имат автор или не.
302
+ home:
303
+ index:
304
+ by_sharing_principles: Като споделяме принципите, философията и обосновката зад дизайнерските решения, ние искаме да дадем възможност на общността да допринася последователно, за да постигнем най-доброто изживяване на участниците.
305
+ decidim_guide: Ръководство за дизайн на всичко, свързано с Civil Power
306
+ different_ui_components: В същото време ние документираме различните използвани компоненти на потребителския интерфейс и модели, които трябва да бъдат използвани повторно или разширени.
307
+ github_source: Изходен код в GitHub
308
+ home_header: Ръководство за дизайн на Civil Power
309
+ welcome_sentence: Добре дошли в Ръководството за дизайн на Civil Power (CPG). Това ръководство е ресурсът за дизайнери и разработчици, които трябва да персонализират, разработят нови модули и интегрират нови функции.