mumuki-laboratory 9.0.1 → 9.0.6
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/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 →"
|