mumuki-laboratory 9.8.0 → 9.10.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/mumuki_laboratory/application/messages.js +1 -30
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_discussion.scss +32 -34
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_editor.scss +3 -0
- data/app/controllers/messages_controller.rb +2 -5
- data/app/controllers/users_controller.rb +5 -1
- data/app/helpers/application_helper.rb +4 -0
- data/app/helpers/discussions_helper.rb +11 -4
- data/app/helpers/exam_registration_helper.rb +0 -4
- data/app/helpers/icons_helper.rb +1 -1
- data/app/helpers/menu_bar_helper.rb +1 -1
- data/app/helpers/messages_helper.rb +4 -8
- data/app/helpers/profile_helper.rb +4 -0
- data/app/helpers/user_discussions_helper.rb +38 -0
- data/app/views/discussions/new.html.erb +1 -1
- data/app/views/layouts/_copyright.html.erb +1 -1
- data/app/views/layouts/_discussions.html.erb +1 -37
- data/app/views/layouts/_discussions_list.html.erb +38 -0
- data/app/views/layouts/_messages.html.erb +1 -7
- data/app/views/layouts/exercise_inputs/forms/_interactive_form.html.erb +1 -1
- data/app/views/layouts/exercise_inputs/forms/_problem_form.html.erb +1 -1
- data/app/views/user_mailer/1st_reminder.html.erb +1 -1
- data/app/views/user_mailer/1st_reminder.text.erb +1 -1
- data/app/views/user_mailer/2nd_reminder.html.erb +1 -1
- data/app/views/user_mailer/2nd_reminder.text.erb +1 -1
- data/app/views/user_mailer/3rd_reminder.html.erb +1 -1
- data/app/views/user_mailer/3rd_reminder.text.erb +1 -1
- data/app/views/user_mailer/certificate.html.erb +1 -1
- data/app/views/user_mailer/certificate.text.erb +1 -1
- data/app/views/user_mailer/no_submissions_reminder.html.erb +1 -1
- data/app/views/user_mailer/no_submissions_reminder.text.erb +1 -1
- data/app/views/users/_basic_profile_fields.html.erb +30 -0
- data/app/views/users/_profile_fields.html.erb +1 -20
- data/app/views/users/discussions.html.erb +19 -11
- data/app/views/users/messages.html.erb +1 -1
- data/config/routes.rb +0 -1
- data/lib/mumuki/laboratory/locales/en.yml +12 -6
- data/lib/mumuki/laboratory/locales/es-CL.yml +13 -6
- data/lib/mumuki/laboratory/locales/es.yml +13 -7
- data/lib/mumuki/laboratory/locales/pt.yml +11 -5
- data/lib/mumuki/laboratory/version.rb +1 -1
- data/spec/controllers/organizations_api_controller_spec.rb +6 -1
- data/spec/controllers/students_api_controller_spec.rb +1 -1
- data/spec/dummy/db/schema.rb +3 -1
- data/spec/features/not_found_public_flow_spec.rb +1 -1
- data/spec/features/profile_flow_spec.rb +1 -1
- metadata +116 -114
- data/app/views/messages/errors.html.erb +0 -1
@@ -1,14 +1,8 @@
|
|
1
1
|
<div class="mu-view-messages">
|
2
2
|
<div class="mu-messages">
|
3
3
|
<ol class="mu-chat">
|
4
|
-
<li>
|
5
|
-
<a href="javascript:{}"
|
6
|
-
onclick="mumuki.Chat.submitMessagesForm('<%= messages_url(@exercise) %>', '<%= read_messages_path(@exercise) %>', '<%= messages_errors_path %>')">
|
7
|
-
<%= t :more_messages %>
|
8
|
-
</a>
|
9
|
-
</li>
|
10
4
|
<% messages.each do |message| %>
|
11
|
-
<li class="<%= sender_class(message) %>">
|
5
|
+
<li class="<%= sender_class(message) %> <%= staleness_class(message) %>">
|
12
6
|
<div class="message">
|
13
7
|
<p> <%= message.content_html %></p>
|
14
8
|
<div class="sender"><%= message.sender unless message.sender == current_user_uid %></div>
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<% if @assignment.pending_messages? %>
|
16
16
|
<span class="pending-messages-text"> <%= t :pending_messages_explanation %>
|
17
17
|
<a href="javascript:{}"
|
18
|
-
onclick="mumuki.Chat.
|
18
|
+
onclick="mumuki.Chat.readMessages('<%= read_messages_path(exercise) %>')"
|
19
19
|
class="<%= hidden_pending(@assignment) %>"
|
20
20
|
data-waiting="<%= t(:sending_solution) %>">
|
21
21
|
<%= t :get_messages %>
|
@@ -23,7 +23,7 @@
|
|
23
23
|
<% if @assignment.pending_messages? %>
|
24
24
|
<span class="pending-messages-text"> <%= t :pending_messages_explanation %>
|
25
25
|
<a href="javascript:{}"
|
26
|
-
onclick="mumuki.Chat.
|
26
|
+
onclick="mumuki.Chat.readMessages('<%= read_messages_path(exercise) %>')"
|
27
27
|
class="<%= hidden_pending(@assignment) %>"
|
28
28
|
data-waiting="<%= t(:sending_solution) %>">
|
29
29
|
<%= t :get_messages %>
|
@@ -313,7 +313,7 @@
|
|
313
313
|
|
314
314
|
<td valign="top" class="muMailTextContent" style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
|
315
315
|
|
316
|
-
© Copyright 2015-<%=
|
316
|
+
© Copyright 2015-<%= Time.current.year %> <a href="https://mumuki.org/home/">Mumuki</a><em>.</em><br>
|
317
317
|
<br>
|
318
318
|
<%= t :stop_emails? %><br>
|
319
319
|
<%= link_to t(:cancel_subscription), @organization.url_for("/user/unsubscribe?id=#{@unsubscribe_code}"), target: :_blank %>
|
@@ -313,7 +313,7 @@
|
|
313
313
|
|
314
314
|
<td valign="top" class="muMailTextContent" style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
|
315
315
|
|
316
|
-
© Copyright 2015-<%=
|
316
|
+
© Copyright 2015-<%= Time.current.year %> <a href="https://mumuki.org/home/">Mumuki</a><em>.</em><br>
|
317
317
|
<br>
|
318
318
|
<%= t :stop_emails? %><br>
|
319
319
|
<%= link_to t(:cancel_subscription), @organization.url_for("/user/unsubscribe?id=#{@unsubscribe_code}"), target: :_blank %>
|
@@ -313,7 +313,7 @@
|
|
313
313
|
|
314
314
|
<td valign="top" class="muMailTextContent" style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
|
315
315
|
|
316
|
-
© Copyright 2015-<%=
|
316
|
+
© Copyright 2015-<%= Time.current.year %> <a href="https://mumuki.org/home/">Mumuki</a><em>.</em><br>
|
317
317
|
<br>
|
318
318
|
<%= t :stop_emails? %><br>
|
319
319
|
<%= link_to t(:cancel_subscription), @organization.url_for("/user/unsubscribe?id=#{@unsubscribe_code}"), target: :_blank %>
|
@@ -299,7 +299,7 @@
|
|
299
299
|
|
300
300
|
<td valign="top" class="muMailTextContent" style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
|
301
301
|
|
302
|
-
© Copyright 2015-<%=
|
302
|
+
© Copyright 2015-<%= Time.current.year %> <a href="https://mumuki.org/home/">Mumuki</a><em>.</em><br>
|
303
303
|
<br>
|
304
304
|
<%= t :stop_emails? %><br>
|
305
305
|
<%= link_to t(:cancel_subscription), @organization.url_for("/user/unsubscribe?id=#{@unsubscribe_code}"), target: :_blank %>
|
@@ -313,7 +313,7 @@
|
|
313
313
|
|
314
314
|
<td valign="top" class="muMailTextContent" style="padding-top:0; padding-right:18px; padding-bottom:9px; padding-left:18px;">
|
315
315
|
|
316
|
-
© Copyright 2015-<%=
|
316
|
+
© Copyright 2015-<%= Time.current.year %> <a href="https://mumuki.org/home/">Mumuki</a><em>.</em><br>
|
317
317
|
<br>
|
318
318
|
<%= t :stop_emails? %><br>
|
319
319
|
<%= link_to t(:cancel_subscription), @organization.url_for("/user/unsubscribe?id=#{@unsubscribe_code}"), target: :_blank %>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<fieldset>
|
2
|
+
<div><%= form.label(t :first_name) %></div>
|
3
|
+
<div><%= form.text_field :first_name, required: true, class: 'form-control' %></div>
|
4
|
+
</fieldset>
|
5
|
+
<fieldset>
|
6
|
+
<div><%= form.label(t :last_name) %></div>
|
7
|
+
<div><%= form.text_field :last_name, required: true, class: 'form-control' %></div>
|
8
|
+
</fieldset>
|
9
|
+
<fieldset>
|
10
|
+
<div><%= form.label(t :gender) %></div>
|
11
|
+
<div><%= form.select :gender, options_for_select(User.genders.map { |gender, _| [t(gender), gender] }, @user.gender), {}, required: true, class: 'form-control form-select' %></div>
|
12
|
+
</fieldset>
|
13
|
+
<fieldset>
|
14
|
+
<div><%= form.label(t :birthdate) %></div>
|
15
|
+
<div><%= form.date_field :birthdate, min: Date.new(1900), max: 3.years.ago.end_of_year, required: true, class: 'form-control' %></div>
|
16
|
+
</fieldset>
|
17
|
+
<fieldset>
|
18
|
+
<div><%= form.label(t :email) %></div>
|
19
|
+
<div><%= form.text_field :email, readonly: true, class: 'form-control' %></div>
|
20
|
+
</fieldset>
|
21
|
+
|
22
|
+
<% if show_verified_full_name_notice?(@user, Organization.current) %>
|
23
|
+
<label><%= (t :verified_full_name) %></label>
|
24
|
+
<input class="form-control" readonly="readonly" value="<%= @user.verified_full_name %>">
|
25
|
+
<p class="fs-7">
|
26
|
+
<%= fa_icon("question-circle", text: (t :verified_full_name_notice,
|
27
|
+
organization: Organization.current.display_name,
|
28
|
+
contact: Organization.current.contact_email)) %>
|
29
|
+
</p>
|
30
|
+
<% end %>
|
@@ -1,20 +1 @@
|
|
1
|
-
|
2
|
-
<div><%= form.label(t :first_name) %></div>
|
3
|
-
<div><%= form.text_field :first_name, required: true, class: 'form-control' %></div>
|
4
|
-
</fieldset>
|
5
|
-
<fieldset>
|
6
|
-
<div><%= form.label(t :last_name) %></div>
|
7
|
-
<div><%= form.text_field :last_name, required: true, class: 'form-control' %></div>
|
8
|
-
</fieldset>
|
9
|
-
<fieldset>
|
10
|
-
<div><%= form.label(t :gender) %></div>
|
11
|
-
<div><%= form.select :gender, options_for_select(User.genders.map { |gender, _| [t(gender), gender] }, @user.gender), {}, required: true, class: 'form-control form-select' %></div>
|
12
|
-
</fieldset>
|
13
|
-
<fieldset>
|
14
|
-
<div><%= form.label(t :birthdate) %></div>
|
15
|
-
<div><%= form.date_field :birthdate, min: Date.new(1900), max: 3.years.ago.end_of_year, required: true, class: 'form-control' %></div>
|
16
|
-
</fieldset>
|
17
|
-
<fieldset>
|
18
|
-
<div><%= form.label(t :email) %></div>
|
19
|
-
<div><%= form.text_field :email, readonly: true, class: 'form-control' %></div>
|
20
|
-
</fieldset>
|
1
|
+
<%= render partial: 'users/basic_profile_fields', locals: {form: form} %>
|
@@ -14,17 +14,25 @@
|
|
14
14
|
<%= t :discussions_will_be_here %>
|
15
15
|
</div>
|
16
16
|
<% else %>
|
17
|
-
<
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
<%=
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
17
|
+
<div class="table-responsive mb-3">
|
18
|
+
<table class="table">
|
19
|
+
<% @watched_discussions.each do |discussion| %>
|
20
|
+
<% if discussion.read_by?(@user) != @last_read %>
|
21
|
+
<%= user_discussions_table_title(discussion, @user, @last_read) %>
|
22
|
+
<% @last_read = discussion.read_by?(@user) %>
|
23
|
+
|
24
|
+
<%= user_discussions_table_header %>
|
25
|
+
<% end %>
|
26
|
+
|
27
|
+
<%= user_discussions_table_item(discussion, @user) %>
|
28
|
+
<% end %>
|
29
|
+
</table>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
<div class="discussion-pagination">
|
33
|
+
<%= paginate @watched_discussions, nav_class: 'pagination' %>
|
34
|
+
</div>
|
35
|
+
|
28
36
|
<% end %>
|
29
37
|
</div>
|
30
38
|
</div>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<% else %>
|
17
17
|
<table class="table table-striped">
|
18
18
|
<% @messages.each do |message| %>
|
19
|
-
<tr>
|
19
|
+
<tr class="<%= staleness_class(message) %>" >
|
20
20
|
<td><%= icon_for_read(message.read?) %></td>
|
21
21
|
<td><%= link_to message.exercise.name, exercise_path(message.exercise.id) %></td>
|
22
22
|
<td><%= mail_to message.sender %></td>
|
data/config/routes.rb
CHANGED
@@ -77,7 +77,6 @@ Rails.application.routes.draw do
|
|
77
77
|
resources :faqs, only: [:index]
|
78
78
|
|
79
79
|
resources :messages, only: [:index, :create]
|
80
|
-
get '/messages/errors' => 'messages#errors'
|
81
80
|
|
82
81
|
get 'certificates/verify/:code', to: 'certificates#verify', as: :verify_certificate
|
83
82
|
get 'certificates/download/:code', to: 'certificates#download', as: :download_certificate
|
@@ -21,6 +21,7 @@ en:
|
|
21
21
|
ask_community: Ask community for help
|
22
22
|
ask_redirect: Do you want to go there?
|
23
23
|
ask_the_first_question: Be the first one to ask!
|
24
|
+
asked_time_since: asked %{time} ago
|
24
25
|
attempts_left:
|
25
26
|
zero: "You've run out of attempts"
|
26
27
|
one: "1 attempt remaining"
|
@@ -83,10 +84,13 @@ en:
|
|
83
84
|
destroy_message: delete the message
|
84
85
|
disabled_explanation: You are trying to visit a permamently disabled or deleted resource
|
85
86
|
disabled_organization_explanation: This path has already finished.
|
87
|
+
discussion_created_by: Created by
|
86
88
|
discussion_description_placeholder: You can add more information regarding your doubt.
|
87
89
|
new_discussion_message: New message on %{title}
|
88
90
|
discussion_updated: Discussion updated
|
89
91
|
discussions: Discussions
|
92
|
+
discussions_read: Read
|
93
|
+
discussions_unread: Unread
|
90
94
|
discussions_will_be_here: Your posts in the forum will appear here.
|
91
95
|
dont_leave_us: Don't leave us! Learning is fun. You just have to keep at it.
|
92
96
|
download: Download your solution
|
@@ -133,7 +137,8 @@ en:
|
|
133
137
|
expected_state: Expected board
|
134
138
|
explain_redirect: You have registered in another organization
|
135
139
|
failed: Oops, something went wrong
|
136
|
-
faqs:
|
140
|
+
faqs: Frequently Asked Questions
|
141
|
+
faqs_abbreviated: FAQs
|
137
142
|
feedback: Feedback
|
138
143
|
female: Female
|
139
144
|
file_exceeds_max_size: "File size should not exceed %{size_kb}kb. Please select another file."
|
@@ -168,6 +173,7 @@ en:
|
|
168
173
|
keep_learning: Keep learning!
|
169
174
|
kids_default_success: You did it great!
|
170
175
|
language: Language
|
176
|
+
last_message: Last message
|
171
177
|
last_name: Last Name
|
172
178
|
last_submission_date: Last submission
|
173
179
|
latest_exercises: Latest exercises
|
@@ -189,7 +195,6 @@ en:
|
|
189
195
|
message: Message
|
190
196
|
message_deleted: This message was deleted because it %{motive}, which violates the %{forum_terms}.
|
191
197
|
messages: Messages
|
192
|
-
messages_error: Previous messages are unavailable. Please try again later.
|
193
198
|
messages_pluralized:
|
194
199
|
one: Message
|
195
200
|
other: Messages
|
@@ -204,7 +209,6 @@ en:
|
|
204
209
|
you_are: You're taking care of it
|
205
210
|
you_will_confirmation: You'll take care of this discussion. If you change your mind, click the button again.
|
206
211
|
you_wont_confirmation: You won't take care of this discussion.
|
207
|
-
more_messages: More
|
208
212
|
my_account: My account
|
209
213
|
my_doubts: My doubts
|
210
214
|
my_profile: My profile
|
@@ -261,8 +265,8 @@ en:
|
|
261
265
|
processing_your_solution: We are processing you solution
|
262
266
|
profile_of: Profile of %{username}
|
263
267
|
programming_since: Started programming
|
264
|
-
progress:
|
265
|
-
|
268
|
+
progress: Progress
|
269
|
+
publish_discussion: Publish discussion
|
266
270
|
refresh_or_wait: Please press F5 if results are not displayed after a few seconds
|
267
271
|
reply_count:
|
268
272
|
one: 1 reply
|
@@ -323,7 +327,7 @@ en:
|
|
323
327
|
terms_and_conditions_continue_disclaimer: By continuing you agree to %{terms_link}
|
324
328
|
terms_and_conditions_must_be_accepted: You must accept the terms and conditions
|
325
329
|
test_results: Test results
|
326
|
-
|
330
|
+
time_since: "%{time} ago"
|
327
331
|
time_left: You have
|
328
332
|
title: Title
|
329
333
|
to_closed: Close
|
@@ -346,6 +350,8 @@ en:
|
|
346
350
|
user: User
|
347
351
|
user_data_updated: Your data was updated successfully
|
348
352
|
username: Username
|
353
|
+
verified_full_name: Verified name
|
354
|
+
verified_full_name_notice: Your verified name was provided by %{organization}. If there's a mistake, please send an email to %{contact}.
|
349
355
|
view_details: View details
|
350
356
|
want_permissions: The following user requires permissions for the organization
|
351
357
|
we_miss_you: We miss you!
|
@@ -11,14 +11,16 @@ es-CL:
|
|
11
11
|
and: y
|
12
12
|
appendix: Apéndice
|
13
13
|
appendix_teaser: ¿Quieres saber más? <a href="%{link}">Consulta el apéndice de este capítulo</a>
|
14
|
-
|
15
|
-
ask_a_question: ¡Haz una pregunta!
|
14
|
+
approved_message: Validado por mentorías
|
16
15
|
approved_messages:
|
17
16
|
one: validado
|
18
17
|
other: validados
|
18
|
+
are_you_sure: '¿Confirmas que quieres %{action}?'
|
19
|
+
ask_a_question: ¡Haz una pregunta!
|
19
20
|
ask_community: Pregunta a la comunidad
|
20
21
|
ask_redirect: ¿Quieres que te llevemos ahí?
|
21
22
|
ask_the_first_question: ¡Haz la primera pregunta!
|
23
|
+
asked_time_since: "consultó hace %{time}"
|
22
24
|
attempts_left:
|
23
25
|
zero: 'Te quedaste sin intentos'
|
24
26
|
one: '1 intento restante'
|
@@ -86,8 +88,11 @@ es-CL:
|
|
86
88
|
disabled_explanation: Estás intentando acceder a un recurso que fue deshabilitado o eliminado de forma permanente
|
87
89
|
disabled_organization_explanation: ¡Este recorrido ha finalizado!
|
88
90
|
new_discussion_message: Mensaje nuevo en %{title}
|
91
|
+
discussion_created_by: Creada por
|
89
92
|
discussion_updated: Consulta actualizada
|
90
93
|
discussions: Consultas
|
94
|
+
discussions_read: Leídas
|
95
|
+
discussions_unread: No leídas
|
91
96
|
discussions_will_be_here: Las preguntas que realices en el espacio de consultas aparecerán aquí.
|
92
97
|
dont_leave_us: ¡No nos abandones! Aprender a programar es divertido. Sólo tienes que seguir practicando.
|
93
98
|
download: "Descarga lo que hiciste"
|
@@ -132,7 +137,8 @@ es-CL:
|
|
132
137
|
expected_state: Tablero esperado
|
133
138
|
explain_redirect: Notamos que te registraste en otra organización.
|
134
139
|
failed: Tu solución no pasó las pruebas
|
135
|
-
faqs:
|
140
|
+
faqs: Información importante
|
141
|
+
faqs_abbreviated: Información
|
136
142
|
feedback: Problemas que encontramos
|
137
143
|
female: Mujer
|
138
144
|
file_exceeds_max_size: "El tamaño de archivo no debe exceder %{size_kb}kb. Por favor selecciona otro archivo."
|
@@ -169,6 +175,7 @@ es-CL:
|
|
169
175
|
kids_default_success: ¡Lo hiciste muy bien!
|
170
176
|
language: Lenguaje
|
171
177
|
languages: Lenguajes
|
178
|
+
last_message: Último mensaje
|
172
179
|
last_name: Apellido
|
173
180
|
last_submission_date: Última solución
|
174
181
|
latest_exercises: Últimos ejercicios
|
@@ -190,7 +197,6 @@ es-CL:
|
|
190
197
|
message: Mensaje
|
191
198
|
message_deleted: Este mensaje fue eliminado porque %{motive}, lo cual infringe las %{forum_terms}.
|
192
199
|
messages: Mensajes
|
193
|
-
messages_error: Los mensajes anteriores no están disponibles en este momento. ¡Vuelve a intentar más tarde!
|
194
200
|
messages_pluralized:
|
195
201
|
one: Mensaje
|
196
202
|
other: Mensajes
|
@@ -207,7 +213,6 @@ es-CL:
|
|
207
213
|
you_are: Te estás ocupando
|
208
214
|
you_will_confirmation: Te vas a ocupar de esta consulta. Si cambias de parecer, toca nuevamente el botón.
|
209
215
|
you_wont_confirmation: No te vas a ocupar de esta consulta.
|
210
|
-
more_messages: Ver mensajes anteriores
|
211
216
|
my_account: Mi cuenta
|
212
217
|
my_doubts: Mis consultas
|
213
218
|
my_profile: Mi perfil
|
@@ -269,7 +274,7 @@ es-CL:
|
|
269
274
|
processing_your_solution: Estamos procesando tu solución
|
270
275
|
profile_of: Perfil de %{username}
|
271
276
|
progress: Progreso
|
272
|
-
|
277
|
+
publish_discussion: Publicar consulta
|
273
278
|
read_messages: Ver mensajes
|
274
279
|
refresh_or_wait: Si no se muestra automáticamente en unos segundos, presiona F5
|
275
280
|
reply_count:
|
@@ -358,6 +363,8 @@ es-CL:
|
|
358
363
|
user_data_updated: Tus datos se actualizaron correctamente
|
359
364
|
user: Usuario
|
360
365
|
username: Nombre de usuario
|
366
|
+
verified_full_name: Nombre verificado
|
367
|
+
verified_full_name_notice: Tu nombre verificado fue provisto por %{organization}. Si hay algún error, por favor escribe a %{contact}.
|
361
368
|
view_details: Ver detalles
|
362
369
|
want_permissions: El siguiente usuario requiere permisos para la organización
|
363
370
|
we_miss_you: ¡Te extrañamos!
|
@@ -14,15 +14,16 @@ es:
|
|
14
14
|
and: y
|
15
15
|
appendix: Apéndice
|
16
16
|
appendix_teaser: ¿Querés saber más? <a href="%{link}">Consultá el apéndice de este capítulo</a>
|
17
|
-
approved_message: Validado por
|
18
|
-
are_you_sure: '¿Estás seguro que querés %{action}?'
|
19
|
-
ask_a_question: ¡Hacé una pregunta!
|
17
|
+
approved_message: Validado por mentorías
|
20
18
|
approved_messages:
|
21
19
|
one: validado
|
22
20
|
other: validados
|
21
|
+
are_you_sure: '¿Confirmás que querés %{action}?'
|
22
|
+
ask_a_question: ¡Hacé una pregunta!
|
23
23
|
ask_community: Preguntá a la comunidad
|
24
24
|
ask_redirect: ¿Querés que te llevemos ahí?
|
25
25
|
ask_the_first_question: ¡Hacé la primera pregunta!
|
26
|
+
asked_time_since: "consultó hace %{time}"
|
26
27
|
attempts_left:
|
27
28
|
zero: 'Te quedaste sin intentos'
|
28
29
|
one: '1 intento restante'
|
@@ -91,10 +92,13 @@ es:
|
|
91
92
|
details: Detalles
|
92
93
|
disabled_explanation: Estás intentando acceder a un recurso que fue deshabilitado o eliminado de forma permamente
|
93
94
|
disabled_organization_explanation: Este recorrido ha finalizado
|
95
|
+
discussion_created_by: Creada por
|
94
96
|
discussion_description_placeholder: Podés agregar información para detallar más tu consulta
|
95
97
|
discussion_updated: Consulta actualizada
|
96
98
|
new_discussion_message: Mensaje nuevo en %{title}
|
97
99
|
discussions: Consultas
|
100
|
+
discussions_read: Leídas
|
101
|
+
discussions_unread: No leídas
|
98
102
|
discussions_will_be_here: Las preguntas que realices en el espacio de consultas aparecerán aquí.
|
99
103
|
dont_leave_us: ¡No nos abandones! Aprender a programar es divertido. Sólo tenés que seguir practicando.
|
100
104
|
download: "Descargá lo que hiciste"
|
@@ -140,7 +144,8 @@ es:
|
|
140
144
|
expected_state: Tablero esperado
|
141
145
|
explain_redirect: Notamos que te registraste en otra organización.
|
142
146
|
failed: Tu solución no pasó las pruebas
|
143
|
-
faqs:
|
147
|
+
faqs: Información importante
|
148
|
+
faqs_abbreviated: Información
|
144
149
|
feedback: Problemas que encontramos
|
145
150
|
female: Mujer
|
146
151
|
file_exceeds_max_size: "El tamaño de archivo no debe exceder %{size_kb}kb. Por favor seleccioná otro archivo."
|
@@ -179,6 +184,7 @@ es:
|
|
179
184
|
kids_default_success: ¡Lo hiciste muy bien!
|
180
185
|
language: Lenguaje
|
181
186
|
languages: Lenguajes
|
187
|
+
last_message: Último mensaje
|
182
188
|
last_name: Apellido
|
183
189
|
last_submission_date: Última solución
|
184
190
|
latest_exercises: Últimos ejercicios
|
@@ -200,7 +206,6 @@ es:
|
|
200
206
|
message: Mensaje
|
201
207
|
message_deleted: Este mensaje fue eliminado porque %{motive}, lo cual infringe las %{forum_terms}.
|
202
208
|
messages: Mensajes
|
203
|
-
messages_error: Los mensajes anteriores no están disponibles en este momento. ¡Volvé a intentar mas tarde!
|
204
209
|
messages_pluralized:
|
205
210
|
one: Mensaje
|
206
211
|
other: Mensajes
|
@@ -217,7 +222,6 @@ es:
|
|
217
222
|
you_are: Te estás ocupando
|
218
223
|
you_will_confirmation: Te vas a ocupar de esta consulta. Si cambiás de parecer, tocá nuevamente el botón.
|
219
224
|
you_wont_confirmation: No te vas a ocupar de esta consulta.
|
220
|
-
more_messages: Ver mensajes anteriores
|
221
225
|
my_account: Mi cuenta
|
222
226
|
my_doubts: Mis consultas
|
223
227
|
my_profile: Mi perfil
|
@@ -280,7 +284,7 @@ es:
|
|
280
284
|
profile_of: Perfil de %{username}
|
281
285
|
programming_since: Programando desde
|
282
286
|
progress: Progreso
|
283
|
-
|
287
|
+
publish_discussion: Publicar consulta
|
284
288
|
read_messages: Ver mensajes
|
285
289
|
refresh_or_wait: Si no se muestra automáticamente en unos segundos, presioná F5
|
286
290
|
reply_count:
|
@@ -373,6 +377,8 @@ es:
|
|
373
377
|
user_data_updated: Tus datos se actualizaron correctamente
|
374
378
|
user: Usuario
|
375
379
|
username: Nombre de usuario
|
380
|
+
verified_full_name: Nombre verificado
|
381
|
+
verified_full_name_notice: Tu nombre verificado fue provisto por %{organization}. Si hay algún error, por favor escribí a %{contact}.
|
376
382
|
view_details: Ver detalles
|
377
383
|
want_permissions: El siguiente usuario requiere permisos para la organización
|
378
384
|
we_miss_you: ¡Te extrañamos!
|