mumuki-laboratory 9.0.1 → 9.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/mumuki_laboratory/application/certificate.js +17 -0
- data/app/assets/javascripts/mumuki_laboratory/application/codemirror.js +10 -2
- data/app/assets/javascripts/mumuki_laboratory/application/discussions.js +43 -2
- data/app/assets/javascripts/mumuki_laboratory/application/faqs.js +90 -0
- data/app/assets/javascripts/mumuki_laboratory/application/multiple-files.js +7 -0
- data/app/assets/javascripts/mumuki_laboratory/application/organization.js +32 -0
- data/app/assets/javascripts/mumuki_laboratory/application/submissions-store.js +1 -1
- data/app/assets/javascripts/mumuki_laboratory/application/user.js +49 -5
- data/app/assets/stylesheets/mumuki_laboratory/application/_modules.scss +3 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_activity.scss +12 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_certificate.scss +33 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_discussion.scss +14 -2
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_faqs.scss +84 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_terms.scss +3 -2
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_user_menu.scss +30 -2
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_user_profile.scss +1 -0
- data/app/controllers/certificates_controller.rb +28 -0
- data/app/controllers/concerns/with_certificate_render.rb +25 -0
- data/app/controllers/discussions_messages_controller.rb +6 -2
- data/app/controllers/faqs_controller.rb +6 -0
- data/app/controllers/users_controller.rb +17 -0
- data/app/helpers/certificate_helper.rb +13 -0
- data/app/helpers/discussions_helper.rb +5 -1
- data/app/helpers/links_helper.rb +8 -0
- data/app/helpers/menu_bar_helper.rb +14 -10
- data/app/helpers/multiple_file_editor_helper.rb +2 -1
- data/app/helpers/user_activity_helper.rb +48 -0
- data/app/helpers/user_menu_helper.rb +27 -5
- data/app/mailers/application_mailer.rb +0 -1
- data/app/mailers/user_mailer.rb +9 -0
- data/app/views/certificates/_certificate.html.erb +44 -0
- data/app/views/certificates/_download.html.erb +20 -0
- data/app/views/certificates/verify.html.erb +40 -0
- data/app/views/discussions/_description_message.html.erb +1 -1
- data/app/views/discussions/_message.html.erb +1 -1
- data/app/views/discussions/_new_message.html.erb +13 -2
- data/app/views/discussions/new.html.erb +1 -1
- data/app/views/faqs/index.html.erb +20 -0
- data/app/views/layouts/_main.html.erb +4 -0
- data/app/views/layouts/_user_menu.html.erb +13 -16
- data/app/views/layouts/application.html.erb +6 -1
- data/app/views/layouts/exercise_inputs/editors/_code.html.erb +2 -1
- data/app/views/layouts/exercise_inputs/editors/_multiple_files.html.erb +1 -1
- data/app/views/user_mailer/certificate.html.erb +339 -0
- data/app/views/user_mailer/certificate.text.erb +10 -0
- data/app/views/users/_activity_indicator.html.erb +17 -0
- data/app/views/users/activity.html.erb +37 -0
- data/app/views/users/certificates.html.erb +32 -0
- data/config/initializers/inflections.rb +3 -0
- data/config/routes.rb +9 -0
- data/lib/mumuki/laboratory/extensions.rb +1 -0
- data/lib/mumuki/laboratory/extensions/date_and_time.rb +11 -0
- data/lib/mumuki/laboratory/locales/en.yml +20 -1
- data/lib/mumuki/laboratory/locales/es-CL.yml +25 -3
- data/lib/mumuki/laboratory/locales/es.yml +25 -3
- data/lib/mumuki/laboratory/locales/pt.yml +26 -1
- data/lib/mumuki/laboratory/version.rb +1 -1
- data/spec/controllers/certificates_controller_spec.rb +15 -0
- data/spec/controllers/discussions_messages_controller_spec.rb +20 -1
- data/spec/dummy/db/schema.rb +20 -3
- data/spec/features/certificate_programs_flow_spec.rb +17 -0
- data/spec/features/discussion_flow_spec.rb +2 -0
- data/spec/features/menu_bar_spec.rb +20 -0
- data/spec/features/profile_flow_spec.rb +12 -0
- data/spec/features/user_activity_flow_spec.rb +65 -0
- data/spec/helpers/certificate_helper_spec.rb +15 -0
- data/spec/helpers/user_activity_helper_spec.rb +32 -0
- metadata +170 -97
@@ -0,0 +1,17 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-md-12">
|
3
|
+
<h3><%= title %></h3>
|
4
|
+
</div>
|
5
|
+
</div>
|
6
|
+
<div class="row">
|
7
|
+
<% stats.each do |s| %>
|
8
|
+
<div class="col-md-6">
|
9
|
+
<div class="jumbotron mu-user-activity-indicator">
|
10
|
+
<h1>
|
11
|
+
<%= s[:value] %>
|
12
|
+
<p><%= s[:name].downcase %></p>
|
13
|
+
</h1>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<% end %>
|
17
|
+
</div>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<%= content_for :breadcrumbs do %>
|
2
|
+
<%= breadcrumbs_for_my_account %>
|
3
|
+
<% end %>
|
4
|
+
|
5
|
+
<%= render partial: 'layouts/user_menu' %>
|
6
|
+
|
7
|
+
<div class="col-md-9 mu-tab-body">
|
8
|
+
<div class="mu-user-header">
|
9
|
+
<h1><%= t(:activity) %></h1>
|
10
|
+
</div>
|
11
|
+
<div class="col-md-8">
|
12
|
+
<%= render partial: 'activity_indicator',
|
13
|
+
locals: {
|
14
|
+
title: t(:exercises),
|
15
|
+
stats: exercises_activity_stats
|
16
|
+
} %>
|
17
|
+
|
18
|
+
<%= render partial: 'activity_indicator',
|
19
|
+
locals: {
|
20
|
+
title: t(:forum),
|
21
|
+
stats: messages_activity_stats
|
22
|
+
} %>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<div class="col-md-4">
|
26
|
+
<ul class="nav nav-pills nav-stacked mu-user-activity-selector">
|
27
|
+
<li <%= mark_period_if_active nil %>>
|
28
|
+
<%= link_to t(:total), activity_user_path %>
|
29
|
+
</li>
|
30
|
+
<% activity_selector_week_range_for.each do |(week_start, week_end)| %>
|
31
|
+
<li <%= mark_period_if_active week_start %>>
|
32
|
+
<%= link_to t(:week_of, date: l(week_start)), activity_user_path(date_from: week_start, date_to: week_end) %>
|
33
|
+
</li>
|
34
|
+
<% end %>
|
35
|
+
</ul>
|
36
|
+
</div>
|
37
|
+
</div>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<%= content_for :breadcrumbs do %>
|
2
|
+
<%= breadcrumbs_for_my_account %>
|
3
|
+
<% end %>
|
4
|
+
|
5
|
+
<%= render partial: 'layouts/user_menu' %>
|
6
|
+
|
7
|
+
<div class="col-md-9 mu-tab-body">
|
8
|
+
<div class="mu-user-header">
|
9
|
+
<h1><%= t(:certificates) %></h1>
|
10
|
+
</div>
|
11
|
+
<% if @certificates.empty? %>
|
12
|
+
<div class="mu-tab-body">
|
13
|
+
<%= t :certificates_will_be_here %>
|
14
|
+
</div>
|
15
|
+
<% else %>
|
16
|
+
<div class="col-md-12">
|
17
|
+
<div class="mu-list-group">
|
18
|
+
<% @certificates.each do |certificate| %>
|
19
|
+
<span class="mu-list-group-item">
|
20
|
+
<a href="<%= download_certificate_path certificate.code %>" target="_blank"><i class="fas fa-fw fa-download"></i></a>
|
21
|
+
<span class="mu-divider-vertical"></span>
|
22
|
+
<a href="<%= linkedin_post_url certificate %>" target="_blank"><i class="fab fa-fw fa-linkedin"></i></a>
|
23
|
+
<span class="mu-divider-vertical"></span>
|
24
|
+
<a href="<%= verify_certificate_path certificate.code %>" target="_blank">
|
25
|
+
<span class="mu-text-capitalize"><%= certificate.title %> - <%= certificate.description %></span>
|
26
|
+
</a>
|
27
|
+
</span>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
<% end %>
|
32
|
+
</div>
|
data/config/routes.rb
CHANGED
@@ -21,6 +21,7 @@ Rails.application.routes.draw do
|
|
21
21
|
post :question, on: :member
|
22
22
|
end
|
23
23
|
end
|
24
|
+
get '/discussions/messages/preview', to: 'discussions_messages#preview', as: :preview_discussion_message
|
24
25
|
|
25
26
|
resources :exam_registrations, only: [:show]
|
26
27
|
resources :exam_authorization_requests, only: [:show, :create, :update]
|
@@ -65,11 +66,19 @@ Rails.application.routes.draw do
|
|
65
66
|
|
66
67
|
get :messages
|
67
68
|
get :discussions
|
69
|
+
get :activity
|
70
|
+
get :certificates
|
71
|
+
|
68
72
|
end
|
69
73
|
|
74
|
+
resources :faqs, only: [:index]
|
75
|
+
|
70
76
|
resources :messages, only: [:index, :create]
|
71
77
|
get '/messages/errors' => 'messages#errors'
|
72
78
|
|
79
|
+
get 'certificates/verify/:code', to: 'certificates#verify', as: :verify_certificate
|
80
|
+
get 'certificates/download/:code', to: 'certificates#download', as: :download_certificate
|
81
|
+
|
73
82
|
# Routes by slug
|
74
83
|
get '/guides/:organization/:repository' => 'guides#show_transparently', as: :transparent_guide
|
75
84
|
get '/topics/:organization/:repository' => 'topics#show_transparently', as: :transparent_topic
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module DateAndTime
|
2
|
+
module Calculations
|
3
|
+
# Polyfill, already implemented on Rails 5.2
|
4
|
+
# https://api.rubyonrails.org/classes/DateAndTime/Calculations.html#method-i-prev_occurring
|
5
|
+
def prev_occurring(day_of_week)
|
6
|
+
ago = wday - DAYS_INTO_WEEK.fetch(day_of_week)
|
7
|
+
ago += 7 unless ago > 0
|
8
|
+
advance(days: -ago)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -14,6 +14,8 @@ en:
|
|
14
14
|
appendix: Appendix
|
15
15
|
appendix_teaser: Do you want to learn more? <a href="%{link}">Check this chapter's appendix</a>"
|
16
16
|
approved_message: Validated by mentor
|
17
|
+
approved_messages:
|
18
|
+
other: validated
|
17
19
|
are_you_sure: Are you sure you want to %{action}?
|
18
20
|
ask_a_question: Ask a question!
|
19
21
|
ask_community: Ask community for help
|
@@ -33,6 +35,10 @@ en:
|
|
33
35
|
blocked_forum_explanation: Are you in the middle of an exam right now?
|
34
36
|
cancel: Cancel
|
35
37
|
cancel_subscription: Cancel your subscription.
|
38
|
+
certificate: Certificate
|
39
|
+
certificates: Certificates
|
40
|
+
certificates_will_be_here: Your certificates in the organization will appear here.
|
41
|
+
certificate_verified_legend: "<strong>%{full_name}</strong>'s account is verified. Mumuki certifies their successful completion of <strong>%{description}</strong>."
|
36
42
|
chapter: Chapter
|
37
43
|
chapters: Chapters
|
38
44
|
chapter_finished_html: You have finished %{chapter}!
|
@@ -45,6 +51,7 @@ en:
|
|
45
51
|
created_at_asc: Oldest
|
46
52
|
created_at_desc: Newest
|
47
53
|
comment: Comment
|
54
|
+
completed_by: Completed by
|
48
55
|
confirm: Confirm
|
49
56
|
confirm_reset: You are about to restart your exercise. Do you want to proceed?
|
50
57
|
confirm_restart: You are about to delete your progress for this guide. Do you want to proceed?
|
@@ -72,6 +79,7 @@ en:
|
|
72
79
|
dont_leave_us: Don't leave us! Learning is fun. You just have to keep at it.
|
73
80
|
download: Download your solution
|
74
81
|
edit: Edit
|
82
|
+
edit_message: Edit message
|
75
83
|
edit_profile: Edit profile
|
76
84
|
editor_placeholder: "write your solution here..."
|
77
85
|
email: Email
|
@@ -110,6 +118,7 @@ en:
|
|
110
118
|
expected_state: Expected board
|
111
119
|
explain_redirect: You have registered in another organization
|
112
120
|
failed: Oops, something went wrong
|
121
|
+
faqs: FAQs
|
113
122
|
feedback: Feedback
|
114
123
|
female: Female
|
115
124
|
file_exceeds_max_size: "File size should not exceed %{size_kb}kb. Please select another file."
|
@@ -155,6 +164,7 @@ en:
|
|
155
164
|
let_us_know: please let us know!
|
156
165
|
level: Level
|
157
166
|
level_up: Level up!
|
167
|
+
linkedin_profile_button_locale: en_US
|
158
168
|
listen_statement: Listen to the statement
|
159
169
|
loading: Loading
|
160
170
|
load_solution_into_console: Load your solution into the console
|
@@ -169,6 +179,9 @@ en:
|
|
169
179
|
messages: Messages
|
170
180
|
messages_error: Previous messages are unavailable. Please try again later.
|
171
181
|
moderation: Mentoring
|
182
|
+
messages_pluralized:
|
183
|
+
one: Message
|
184
|
+
other: Messages
|
172
185
|
moderator: Mentor
|
173
186
|
more_messages: More
|
174
187
|
my_account: My account
|
@@ -217,6 +230,8 @@ en:
|
|
217
230
|
permissions: Permissions
|
218
231
|
please_fill_profile_data: Please complete your profile data to continue!
|
219
232
|
please_validate: 'Please validate your data before continue:'
|
233
|
+
preview: Preview
|
234
|
+
preview_error: The preview cannot be shown. Check your internet connection or try with a shorter message.
|
220
235
|
previous_exercise: Previous
|
221
236
|
problem_with_exercise: '[Mumuki] Problem with exercise: %{title}'
|
222
237
|
processing_your_solution: We are processing you solution
|
@@ -249,11 +264,13 @@ en:
|
|
249
264
|
skipped_solve_anyway: Solve anyway
|
250
265
|
solution: Solution
|
251
266
|
solved: Solved
|
252
|
-
solved_count: '%{count} solved'
|
253
267
|
solve_doubts: Solve other's doubts
|
254
268
|
solve_more_exercises_to_level_up: Solve <span>number</span> more exercises to advance to the next level.
|
255
269
|
solve_your_doubts: Solve your doubts
|
256
270
|
solve_your_doubts_teaser: Do you have any doubts?
|
271
|
+
solved_count: '%{count} solved'
|
272
|
+
solved_exercises_count: solved
|
273
|
+
solved_exercises_percentage: done
|
257
274
|
something_went_wrong: Something went wrong!
|
258
275
|
sort: Sort
|
259
276
|
sources: Sources
|
@@ -286,6 +303,7 @@ en:
|
|
286
303
|
to_pending_review: Mark as solved
|
287
304
|
to_solved: Mark as solved
|
288
305
|
unauthorized_explanation: You have no permissions for this content. Maybe you logged in with another account.
|
306
|
+
total: Total
|
289
307
|
undo_upvote: Undo upvote
|
290
308
|
unlocked_medal_as_avatar: You earned this medal! You can now choose it as an avatar.
|
291
309
|
unspecified: I'd rather not say
|
@@ -303,6 +321,7 @@ en:
|
|
303
321
|
view_details: View details
|
304
322
|
want_permissions: The next user requires permissions
|
305
323
|
we_miss_you: We miss you!
|
324
|
+
week_of: Week of %{date}
|
306
325
|
welcome: Welcome to %{name}!
|
307
326
|
working: "Working"
|
308
327
|
wrong_answer: The answer is wrong
|
@@ -13,6 +13,9 @@ es-CL:
|
|
13
13
|
appendix_teaser: ¿Quieres saber más? <a href="%{link}">Consulta el apéndice de este capítulo</a>
|
14
14
|
are_you_sure: '¿Estás seguro que quieres %{action}?'
|
15
15
|
ask_a_question: ¡Haz una pregunta!
|
16
|
+
approved_messages:
|
17
|
+
one: validado
|
18
|
+
other: validados
|
16
19
|
ask_community: Pregunta a la comunidad
|
17
20
|
ask_redirect: ¿Quieres que te llevemos ahí?
|
18
21
|
ask_the_first_question: ¡Haz la primera pregunta!
|
@@ -29,6 +32,10 @@ es-CL:
|
|
29
32
|
birthdate: Fecha de nacimiento
|
30
33
|
blocked_forum_explanation: ¿Puede que estés en medio de un examen?
|
31
34
|
cancel_subscription: Cancela tu subscripción.
|
35
|
+
certificate: Certificado
|
36
|
+
certificates: Certificados
|
37
|
+
certificates_will_be_here: Tus certificados en esta organización aparecerán aquí
|
38
|
+
certificate_verified_legend: "La cuenta de <strong>%{full_name}</strong> ha sido verificada. Mumuki certifica que completó el curso de <strong>%{description}.</strong>"
|
32
39
|
chapter: Capítulo
|
33
40
|
chapters: Capítulos
|
34
41
|
chapter_finished_html: ¡Terminaste %{chapter}! ¡Felicitaciones!
|
@@ -42,6 +49,7 @@ es-CL:
|
|
42
49
|
created_at_asc: Antiguas
|
43
50
|
created_at_desc: Nuevas
|
44
51
|
comment: Comentar
|
52
|
+
completed_by: Completado por
|
45
53
|
confirm: Confirmar
|
46
54
|
confirm_reset: Estás por reiniciar tu ejercicio. ¿Quieres continuar?
|
47
55
|
confirm_restart: Estás por borrar tu progreso en esta guía. ¿Quieres continuar?
|
@@ -72,6 +80,7 @@ es-CL:
|
|
72
80
|
dont_leave_us: ¡No nos abandones! Aprender a programar es divertido. Sólo tienes que seguir practicando.
|
73
81
|
download: "Descarga lo que hiciste"
|
74
82
|
edit: Editar
|
83
|
+
edit_message: Editar mensaje
|
75
84
|
editor_placeholder: "...escribe tu solución acá..."
|
76
85
|
email: Email
|
77
86
|
error_description: Esto es lo que se conoce como <span class="error-link">%{error}</span>.
|
@@ -108,6 +117,7 @@ es-CL:
|
|
108
117
|
expected_state: Tablero esperado
|
109
118
|
explain_redirect: Notamos que te registraste en otra organización.
|
110
119
|
failed: Tu solución no pasó las pruebas
|
120
|
+
faqs: Preguntas Frecuentes
|
111
121
|
feedback: Problemas que encontramos
|
112
122
|
female: Mujer
|
113
123
|
file_exceeds_max_size: "El tamaño de archivo no debe exceder %{size_kb}kb. Por favor selecciona otro archivo."
|
@@ -154,6 +164,7 @@ es-CL:
|
|
154
164
|
let_us_know: ¡Por favor avísanos!
|
155
165
|
level: Nivel
|
156
166
|
level_up: ¡Subiste de nivel!
|
167
|
+
linkedin_profile_button_locale: es_ES
|
157
168
|
listen_statement: Escucha la consigna
|
158
169
|
loading: Cargando
|
159
170
|
load_solution_into_console: Cargar la solución en la consola
|
@@ -167,6 +178,9 @@ es-CL:
|
|
167
178
|
message: Mensaje
|
168
179
|
messages: Mensajes
|
169
180
|
messages_error: Los mensajes anteriores no están disponibles en este momento. ¡Vuelve a intentar más tarde!
|
181
|
+
messages_pluralized:
|
182
|
+
one: Mensaje
|
183
|
+
other: Mensajes
|
170
184
|
minute: minuto
|
171
185
|
minutes: minutos
|
172
186
|
moderation: Mentoría
|
@@ -223,6 +237,8 @@ es-CL:
|
|
223
237
|
permissions: Permisos
|
224
238
|
please_fill_profile_data: ¡Completa tus datos personales para continuar!
|
225
239
|
please_validate: 'Estás a punto de ingresar al curso. Para poder ofrecerte una mejor experiencia, por favor valida que tus datos a continuación sean reales y correctos.'
|
240
|
+
preview: Vista previa
|
241
|
+
preview_error: No se puede mostrar la vista previa. Revisa tu conexión a internet o prueba con un mensaje más corto.
|
226
242
|
previous_exercise: Anterior
|
227
243
|
problem_with_exercise: '[Mumuki] Error con el ejercicio: %{title}'
|
228
244
|
processing_your_solution: Estamos procesando tu solución
|
@@ -253,15 +269,19 @@ es-CL:
|
|
253
269
|
skipped_solve_anyway: Resolver de todos modos
|
254
270
|
solution: Solución
|
255
271
|
solved: Resuelta
|
256
|
-
solved_count:
|
257
|
-
one: 1 resuelta
|
258
|
-
other: '%{count} resueltas'
|
259
272
|
solved_exercises: Ejercicios Resueltos
|
260
273
|
solve_doubts: Resuelve consultas
|
261
274
|
solve_more_exercises_to_level_up: Resuelve <span>number</span> ejercicios más para pasar al siguiente nivel.
|
262
275
|
solve_your_doubts: Consulta tus dudas
|
263
276
|
solve_your_doubts_teaser: ¿Tienes alguna consulta?
|
264
277
|
something_went_wrong: ¡Ups!, algo no anduvo bien...
|
278
|
+
solved_count:
|
279
|
+
one: 1 resuelta
|
280
|
+
other: '%{count} resueltas'
|
281
|
+
solved_exercises_count:
|
282
|
+
one: resuelto
|
283
|
+
other: resueltos
|
284
|
+
solved_exercises_percentage: realizado
|
265
285
|
sort: Ordenar
|
266
286
|
sources: Bibliografía
|
267
287
|
start_lesson: ¡Comienza esta lección!
|
@@ -293,6 +313,7 @@ es-CL:
|
|
293
313
|
to_pending_review: Resolver
|
294
314
|
to_solved: Resolver
|
295
315
|
unauthorized_explanation: ¡Ups! Esto es lo que se conoce como %{error}, es decir que no iniciaste sesión.
|
316
|
+
total: Total
|
296
317
|
uncategorized: No categorizado
|
297
318
|
undo_upvote: No es útil
|
298
319
|
unlocked_medal_as_avatar: ¡Obtuviste esta medalla! Ya puedes elegirla como avatar.
|
@@ -311,6 +332,7 @@ es-CL:
|
|
311
332
|
view_details: Ver detalles
|
312
333
|
want_permissions: El siguiente usuario requiere permisos
|
313
334
|
we_miss_you: ¡Te extrañamos!
|
335
|
+
week_of: Semana del %{date}
|
314
336
|
will_paginate:
|
315
337
|
previous_label: "← Anterior"
|
316
338
|
next_label: "Siguiente →"
|
@@ -17,6 +17,9 @@ es:
|
|
17
17
|
approved_message: Validado por mentor
|
18
18
|
are_you_sure: '¿Estás seguro que querés %{action}?'
|
19
19
|
ask_a_question: ¡Hacé una pregunta!
|
20
|
+
approved_messages:
|
21
|
+
one: validado
|
22
|
+
other: validados
|
20
23
|
ask_community: Preguntá a la comunidad
|
21
24
|
ask_redirect: ¿Querés que te llevemos ahí?
|
22
25
|
ask_the_first_question: ¡Hacé la primera pregunta!
|
@@ -34,6 +37,10 @@ es:
|
|
34
37
|
blocked_forum_explanation: ¿Puede que estés en medio de un examen?
|
35
38
|
cancel: Cancelar
|
36
39
|
cancel_subscription: Cancelá tu subscripción.
|
40
|
+
certificate: Certificado
|
41
|
+
certificates: Certificados
|
42
|
+
certificates_will_be_here: Tus certificados en esta organización aparecerán acá
|
43
|
+
certificate_verified_legend: "La cuenta de <strong>%{full_name}</strong> está verificada. Mumuki certifica que completó el curso de <strong>%{description}.</strong>"
|
37
44
|
chapter: Capítulo
|
38
45
|
chapters: Capítulos
|
39
46
|
chapter_finished_html: ¡Terminaste %{chapter}! ¡Felicitaciones!
|
@@ -46,6 +53,7 @@ es:
|
|
46
53
|
one: 1 cerrada
|
47
54
|
other: '%{count} cerradas'
|
48
55
|
comment: Comentar
|
56
|
+
completed_by: Completado por
|
49
57
|
confirm: Confirmar
|
50
58
|
confirm_reset: Estás por reiniciar tu ejercicio. ¿Querés continuar?
|
51
59
|
confirm_restart: Estás por borrar tu progreso en esta guía. ¿Querés continuar?
|
@@ -79,6 +87,7 @@ es:
|
|
79
87
|
dont_leave_us: ¡No nos abandones! Aprender a programar es divertido. Sólo tenés que seguir practicando.
|
80
88
|
download: "Descargá lo que hiciste"
|
81
89
|
edit: Editar
|
90
|
+
edit_message: Editar mensaje
|
82
91
|
edit_profile: Editar perfil
|
83
92
|
editor_placeholder: "...escribí tu solución acá..."
|
84
93
|
email: Email
|
@@ -116,6 +125,7 @@ es:
|
|
116
125
|
expected_state: Tablero esperado
|
117
126
|
explain_redirect: Notamos que te registraste en otra organización.
|
118
127
|
failed: Tu solución no pasó las pruebas
|
128
|
+
faqs: Preguntas Frecuentes
|
119
129
|
feedback: Problemas que encontramos
|
120
130
|
female: Mujer
|
121
131
|
file_exceeds_max_size: "El tamaño de archivo no debe exceder %{size_kb}kb. Por favor seleccioná otro archivo."
|
@@ -165,6 +175,7 @@ es:
|
|
165
175
|
let_us_know: ¡Por favor avisanos!
|
166
176
|
level: Nivel
|
167
177
|
level_up: ¡Subiste de nivel!
|
178
|
+
linkedin_profile_button_locale: es_ES
|
168
179
|
listen_statement: Escuchá la consigna
|
169
180
|
loading: Cargando
|
170
181
|
load_solution_into_console: Cargar la solución en la consola
|
@@ -178,6 +189,9 @@ es:
|
|
178
189
|
message: Mensaje
|
179
190
|
messages: Mensajes
|
180
191
|
messages_error: Los mensajes anteriores no están disponibles en este momento. ¡Volvé a intentar mas tarde!
|
192
|
+
messages_pluralized:
|
193
|
+
one: Mensaje
|
194
|
+
other: Mensajes
|
181
195
|
minute: minuto
|
182
196
|
minutes: minutos
|
183
197
|
moderation: Mentoría
|
@@ -234,6 +248,8 @@ es:
|
|
234
248
|
permissions: Permisos
|
235
249
|
please_fill_profile_data: ¡Completá tus datos personales para continuar!
|
236
250
|
please_validate: 'Estás a punto de ingresar al curso. Para poder ofrecerte una mejor experiencia, por favor validá que tus datos a continuación sean reales y correctos.'
|
251
|
+
preview: Vista previa
|
252
|
+
preview_error: No se puede mostrar la vista previa. Revisá tu conexión a internet o probá con un mensaje más corto.
|
237
253
|
previous_exercise: Anterior
|
238
254
|
problem_with_exercise: '[Mumuki] Error con el ejercicio: %{title}'
|
239
255
|
processing_your_solution: Estamos procesando tu solución
|
@@ -268,15 +284,19 @@ es:
|
|
268
284
|
skipped_solve_anyway: Resolver de todos modos
|
269
285
|
solution: Solución
|
270
286
|
solved: Resuelta
|
271
|
-
solved_count:
|
272
|
-
one: 1 resuelta
|
273
|
-
other: '%{count} resueltas'
|
274
287
|
solved_exercises: Ejercicios Resueltos
|
275
288
|
solve_doubts: Resolvé consultas
|
276
289
|
solve_more_exercises_to_level_up: Resolvé <span>number</span> ejercicios más para pasar al siguiente nivel.
|
277
290
|
solve_your_doubts: Consultá tus dudas
|
278
291
|
solve_your_doubts_teaser: ¿Tenés alguna consulta?
|
279
292
|
something_went_wrong: ¡Ups!, algo no anduvo bien...
|
293
|
+
solved_count:
|
294
|
+
one: 1 resuelta
|
295
|
+
other: '%{count} resueltas'
|
296
|
+
solved_exercises_count:
|
297
|
+
one: resuelto
|
298
|
+
other: resueltos
|
299
|
+
solved_exercises_percentage: realizado
|
280
300
|
sort: Ordenar
|
281
301
|
sources: Bibliografía
|
282
302
|
start_lesson: ¡Comenzá esta lección!
|
@@ -309,6 +329,7 @@ es:
|
|
309
329
|
to_pending_review: Resolver
|
310
330
|
to_solved: Resolver
|
311
331
|
unauthorized_explanation: ¡Ups! Esto es lo que se conoce como %{error}, es decir que no iniciaste sesión.
|
332
|
+
total: Total
|
312
333
|
uncategorized: No categorizado
|
313
334
|
undo_upvote: No es útil
|
314
335
|
unlocked_medal_as_avatar: ¡Obtuviste esta medalla! Ya podés elegirla como avatar.
|
@@ -328,6 +349,7 @@ es:
|
|
328
349
|
want_permissions: El siguiente usuario requiere permisos
|
329
350
|
we_miss_you: ¡Te extrañamos!
|
330
351
|
welcome: ¡Te damos la bienvenida a %{name}!
|
352
|
+
week_of: Semana del %{date}
|
331
353
|
will_paginate:
|
332
354
|
previous_label: "← Anterior"
|
333
355
|
next_label: "Siguiente →"
|