diff --git a/swad_changelog.h b/swad_changelog.h
index 4a5c71cf3..eedf8f3ae 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -606,10 +606,11 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
TODO: Attach pdf files in multimedia.
*/
-#define Log_PLATFORM_VERSION "SWAD 21.96.2 (2022-05-14)"
+#define Log_PLATFORM_VERSION "SWAD 21.96.3 (2022-05-16)"
#define CSS_FILE "swad21.95.5.css"
#define JS_FILE "swad21.92.js"
/*
+ Version 21.96.3: May 16, 2022 Some messages translated. (323158 lines)
Version 21.96.2: May 14, 2022 Some messages translated. (323169 lines)
Version 21.96.1: May 14, 2022 Some messages translated. (323168 lines)
Version 21.96: May 13, 2022 Lot of messages translated. (323165 lines)
diff --git a/swad_info.c b/swad_info.c
index c1b62ac36..440691dee 100644
--- a/swad_info.c
+++ b/swad_info.c
@@ -1915,8 +1915,7 @@ void Inf_ReceivePagInfo (void)
extern const char *Txt_The_ZIP_file_has_been_received_successfully;
extern const char *Txt_The_ZIP_file_has_been_unzipped_successfully;
extern const char *Txt_Found_an_index_html_file;
- extern const char *Txt_Found_an_index_htm_file;
- extern const char *Txt_No_file_index_html_index_htm_found_within_the_ZIP_file;
+ extern const char *Txt_No_file_index_html_found_within_the_ZIP_file;
extern const char *Txt_The_file_type_should_be_HTML_or_ZIP;
struct Syl_Syllabus Syllabus;
struct Param *Param;
@@ -2006,11 +2005,11 @@ void Inf_ReceivePagInfo (void)
if (Fil_CheckIfPathExists (PathRelFileHTML))
{
Ale_ShowAlert (Ale_SUCCESS,Txt_The_ZIP_file_has_been_unzipped_successfully);
- Ale_ShowAlert (Ale_SUCCESS,Txt_Found_an_index_htm_file);
+ Ale_ShowAlert (Ale_SUCCESS,Txt_Found_an_index_html_file);
FileIsOK = true;
}
else
- Ale_ShowAlert (Ale_WARNING,Txt_No_file_index_html_index_htm_found_within_the_ZIP_file);
+ Ale_ShowAlert (Ale_WARNING,Txt_No_file_index_html_found_within_the_ZIP_file);
}
}
else
diff --git a/swad_text.c b/swad_text.c
index 7cda3e403..5655e214e 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -4023,7 +4023,7 @@ const char *Txt_Center_X_removed = // Warning: it is very important to include %
#elif L==4 // es
"Centro %s eliminado.";
#elif L==5 // fr
- "Center %s removed."; // Besoin de traduction
+ "Centre %s supprimé.";
#elif L==6 // gn
"Centro %s eliminado."; // Okoteve traducción
#elif L==7 // it
@@ -8041,13 +8041,13 @@ const char *Txt_Decrease_level_of_X = // Warning: it is very important to includ
#if L==1 // ca
"Disminuir nivell de %s";
#elif L==2 // de
- "Decrease level of %s"; // Need Übersetzung
+ "Stufe von %s verringern";
#elif L==3 // en
"Decrease level of %s";
#elif L==4 // es
"Disminuir nivel de %s";
#elif L==5 // fr
- "Decrease level of %s"; // Besoin de traduction
+ "Diminuer le niveau de %s";
#elif L==6 // gn
"Disminuir nivel de %s"; // Okoteve traducción
#elif L==7 // it
@@ -8350,7 +8350,7 @@ const char *Txt_Degree_X_removed = // Warning: it is very important to include %
#elif L==4 // es
"Titulación %s eliminada.";
#elif L==5 // fr
- "Degree %s removed."; // Besoin de traduction
+ "Degré %s supprimé.";
#elif L==6 // gn
"Titulación %s eliminada."; // Okoteve traducción
#elif L==7 // it
@@ -9047,15 +9047,15 @@ const char *Txt_Do_you_really_want_to_be_removed_as_a_X_from_the_project_Y = //
const char *Txt_Do_you_really_want_to_completely_eliminate_the_following_user =
#if L==1 // ca
- "¿Realmente desea eliminar completamente la cuenta del siguiente usuario?"; // Necessita traducció
+ "Realment voleu eliminar completament l'usuari següent?";
#elif L==2 // de
- "Do you really want to completely eliminate the following user?"; // Need Übersetzung
+ "Wollen Sie den folgenden Benutzer wirklich vollständig eliminieren?";
#elif L==3 // en
"Do you really want to completely eliminate the following user?";
#elif L==4 // es
"¿Realmente desea eliminar por completo la cuenta del siguiente usuario/a?";
#elif L==5 // fr
- "Do you really want to completely eliminate the following user?"; // Besoin de traduction
+ "Voulez-vous vraiment éliminer complètement l'utilisateur suivant?";
#elif L==6 // gn
"¿Realmente desea eliminar por completo la cuenta del siguiente usuario/a?"; // Okoteve traducción
#elif L==7 // it
@@ -9068,15 +9068,15 @@ const char *Txt_Do_you_really_want_to_completely_eliminate_the_following_user =
const char *Txt_Do_you_really_want_to_completely_eliminate_your_user_account =
#if L==1 // ca
- "¿Realmente desea eliminar completamente su cuenta de usuario/a?"; // Necessita traducció
+ "Realment voleu eliminar completament el vostre compte d'usuari?";
#elif L==2 // de
- "Do you really want to completely eliminate your user account?"; // Need Übersetzung
+ "Möchten Sie Ihr Benutzerkonto wirklich vollständig löschen?";
#elif L==3 // en
"Do you really want to completely eliminate your user account?";
#elif L==4 // es
"¿Realmente desea eliminar completamente su cuenta de usuario/a?";
#elif L==5 // fr
- "Do you really want to completely eliminate your user account?"; // Besoin de traduction
+ "Voulez-vous vraiment supprimer complètement votre compte utilisateur?";
#elif L==6 // gn
"¿Realmente desea eliminar completamente su cuenta de usuario/a?"; // Okoteve traducción
#elif L==7 // it
@@ -9089,15 +9089,15 @@ const char *Txt_Do_you_really_want_to_completely_eliminate_your_user_account =
const char *Txt_Do_you_really_want_to_delete_all_messages_received_from_USER_X_from_COURSE_Y = // Warning: it is very important to include two %s in the following sentences
#if L==1 // ca
- "¿Realmente desea eliminar todos los mensajes recibidos de %s desde %s?"; // Necessita traducció
+ "Realment voleu suprimir tots els missatges rebuts de %s des de %s?";
#elif L==2 // de
- "Do you really want to delete all messages received from %s from %s?"; // Need Übersetzung
+ "Wollen Sie wirklich alle von %s erhaltenen Nachrichten von %s löschen?";
#elif L==3 // en
"Do you really want to delete all messages received from %s from %s?";
#elif L==4 // es
"¿Realmente desea eliminar todos los mensajes recibidos de %s desde %s?";
#elif L==5 // fr
- "Do you really want to delete all messages received from %s from %s?"; // Besoin de traduction
+ "Voulez-vous vraiment supprimer tous les messages reçus de %s depuis %s?";
#elif L==6 // gn
"¿Realmente desea eliminar todos los mensajes recibidos de %s desde %s?"; // Okoteve traducción
#elif L==7 // it
@@ -9110,36 +9110,45 @@ const char *Txt_Do_you_really_want_to_delete_all_messages_received_from_USER_X_f
const char *Txt_Do_you_really_want_to_delete_all_messages_received_from_USER_X_from_COURSE_Y_related_to_CONTENT_Z = // Warning: it is very important to include three %s in the following sentences
#if L==1 // ca
- "¿Realmente desea eliminar todos los mensajes recibidos de %s desde %s relacionados con %s?"; // Necessita traducció
+ "Realment voleu suprimir tots els missatges"
+ " rebuts de %s des de %s relacionats amb %s?";
#elif L==2 // de
- "Do you really want to delete all messages received from %s from %s related to %s?"; // Need Übersetzung
+ "Möchten Sie wirklich alle Nachrichten löschen,"
+ " die Sie von %s von %s erhalten haben und die sich auf %s beziehen?";
#elif L==3 // en
- "Do you really want to delete all messages received from %s from %s related to %s?";
+ "Do you really want to delete all messages"
+ " received from %s from %s related to %s?";
#elif L==4 // es
- "¿Realmente desea eliminar todos los mensajes recibidos de %s desde %s relacionados con %s?";
+ "¿Realmente desea eliminar todos los mensajes"
+ " recibidos de %s desde %s relacionados con %s?";
#elif L==5 // fr
- "Do you really want to delete all messages received from %s from %s related to %s?"; // Besoin de traduction
+ "Voulez-vous vraiment supprimer tous les messages"
+ " reçus de %s depuis %s liés à %s?";
#elif L==6 // gn
- "¿Realmente desea eliminar todos los mensajes recibidos de %s desde %s relacionados con %s?"; // Okoteve traducción
+ "¿Realmente desea eliminar todos los mensajes"
+ " recibidos de %s desde %s relacionados con %s?"; // Okoteve traducción
#elif L==7 // it
- "Vuoi realmente rimuovere tutti i messaggi ricevuti da %s da %s relativi a %s?";
+ "Vuoi realmente rimuovere tutti i messaggi"
+ " ricevuti da %s da %s relativi a %s?";
#elif L==8 // pl
- "Czy na pewno chcesz usunac wszystkie wiadomosci otrzymane od %s z %s podobne do %s?";
+ "Czy na pewno chcesz usunac wszystkie wiadomosci"
+ " otrzymane od %s z %s podobne do %s?";
#elif L==9 // pt
- "Você realmente deseja eliminar todas as mensagens recebidas de %s de %s relacionadas com %s?";
+ "Você realmente deseja eliminar todas as mensagens"
+ " recebidas de %s de %s relacionadas com %s?";
#endif
const char *Txt_Do_you_really_want_to_delete_all_messages_sent_to_USER_X_from_COURSE_Y = // Warning: it is very important to include two %s in the following sentences
#if L==1 // ca
- "¿Realmente desea eliminar todos los mensajes enviados a %s desde %s?"; // Necessita traducció
+ "Realment voleu suprimir tots els missatges enviats a %s des de %s?";
#elif L==2 // de
- "Do you really want to delete all messages sent to %s from %s?"; // Need Übersetzung
+ "Möchten Sie wirklich alle von %s an %s gesendeten Nachrichten löschen?";
#elif L==3 // en
"Do you really want to delete all messages sent to %s from %s?";
#elif L==4 // es
"¿Realmente desea eliminar todos los mensajes enviados a %s desde %s?";
#elif L==5 // fr
- "Do you really want to delete all messages sent to %s from %s?"; // Besoin de traduction
+ "Voulez-vous vraiment supprimer tous les messages envoyés à %s depuis %s?";
#elif L==6 // gn
"¿Realmente desea eliminar todos los mensajes enviados a %s desde %s?"; // Okoteve traducción
#elif L==7 // it
@@ -9152,15 +9161,15 @@ const char *Txt_Do_you_really_want_to_delete_all_messages_sent_to_USER_X_from_CO
const char *Txt_Do_you_really_want_to_delete_all_messages_sent_to_USER_X_from_COURSE_Y_related_to_CONTENT_Z = // Warning: it is very important to include three %s in the following sentences
#if L==1 // ca
- "¿Realmente desea eliminar todos los mensajes enviados a %s desde %s relacionados con %s?"; // Necessita traducció
+ "Realment voleu suprimir tots els missatges enviats a %s des de %s relacionats amb %s?";
#elif L==2 // de
- "Do you really want to delete all messages sent to %s from %s related to %s?"; // Need Übersetzung
+ "Möchten Sie wirklich alle Nachrichten löschen, die von %s an %s gesendet wurden und sich auf %s beziehen?";
#elif L==3 // en
"Do you really want to delete all messages sent to %s from %s related to %s?";
#elif L==4 // es
"¿Realmente desea eliminar todos los mensajes enviados a %s desde %s relacionados con %s?";
#elif L==5 // fr
- "Do you really want to delete all messages sent to %s from %s related to %s?"; // Besoin de traduction
+ "Voulez-vous vraiment supprimer tous les messages envoyés à %s depuis %s concernant %s?";
#elif L==6 // gn
"¿Realmente desea eliminar todos los mensajes enviados a %s desde %s relacionados con %s?"; // Okoteve traducción
#elif L==7 // it
@@ -9173,15 +9182,15 @@ const char *Txt_Do_you_really_want_to_delete_all_messages_sent_to_USER_X_from_CO
const char *Txt_Do_you_really_want_to_delete_the_unread_messages_received_from_USER_X_from_COURSE_Y = // Warning: it is very important to include two %s in the following sentences
#if L==1 // ca
- "¿Realmente desea eliminar los mensajes no leídos recibidos de %s desde %s?"; // Necessita traducció
+ "Realment voleu suprimir els missatges no llegits rebuts de %s des de %s?";
#elif L==2 // de
- "Do you really want to delete the unread messages received from %s from %s?"; // Need Übersetzung
+ "Möchten Sie wirklich die ungelesenen Nachrichten von %s löschen, die Sie von %s erhalten haben?";
#elif L==3 // en
"Do you really want to delete the unread messages received from %s from %s?";
#elif L==4 // es
"¿Realmente desea eliminar los mensajes no leídos recibidos de %s desde %s?";
#elif L==5 // fr
- "Do you really want to delete the unread messages received from %s from %s?"; // Besoin de traduction
+ "Voulez-vous vraiment supprimer les messages non lus reçus de %s depuis %s?";
#elif L==6 // gn
"¿Realmente desea eliminar los mensajes no leídos recibidos de %s desde %s?"; // Okoteve traducción
#elif L==7 // it
@@ -9194,11 +9203,11 @@ const char *Txt_Do_you_really_want_to_delete_the_unread_messages_received_from_U
const char *Txt_Do_you_really_want_to_delete_the_unread_messages_received_from_USER_X_from_COURSE_Y_related_to_CONTENT_Z = // Warning: it is very important to include three %s in the following sentences
#if L==1 // ca
- "¿Realmente desea eliminar los mensajes no leídos"
- " recibidos de %s desde %s relacionados con %s?"; // Necessita traducció
+ "Realment voleu suprimir els missatges no llegits"
+ " rebuts de %s des de %s relacionats amb %s?";
#elif L==2 // de
- "Do you really want to delete the unread messages"
- " received from %s from %s related to %s?"; // Need Übersetzung
+ "Möchten Sie wirklich die ungelesenen Nachrichten l&louml;schen,"
+ " die Sie von %s von %s erhalten haben und die sich auf %s beziehen?";
#elif L==3 // en
"Do you really want to delete the unread messages"
" received from %s from %s related to %s?";
@@ -9206,8 +9215,8 @@ const char *Txt_Do_you_really_want_to_delete_the_unread_messages_received_from_U
"¿Realmente desea eliminar los mensajes no leídos"
" recibidos de %s desde %s relacionados con %s?";
#elif L==5 // fr
- "Do you really want to delete the unread messages"
- " received from %s from %s related to %s?"; // Besoin de traduction
+ "Voulez-vous vraiment supprimer les messages non lus"
+ " reçus de %s depuis %s liés à %s?";
#elif L==6 // gn
"¿Realmente desea eliminar los mensajes no leídos"
" recibidos de %s desde %s relacionados con %s?"; // Okoteve traducción
@@ -13962,13 +13971,13 @@ const char *Txt_FORUM_Post_X_allowed = // Warning: it is very important to inclu
#if L==1 // ca
"Comentari %u permès.";
#elif L==2 // de
- "Post %u allowed."; // Need Übersetzung
+ "Beitrag %u erlaubt.";
#elif L==3 // en
"Post %u allowed.";
#elif L==4 // es
"Comentario %u permitido.";
#elif L==5 // fr
- "Post %u allowed."; // Besoin de traduction
+ "Poste %u autorisé.";
#elif L==6 // gn
"Comentario %u permitido."; // Okoteve traducción
#elif L==7 // it
@@ -13983,13 +13992,13 @@ const char *Txt_FORUM_Post_X_allowed_Click_to_ban_it = // Warning: it is very im
#if L==1 // ca
"Comentari %u permès. Premeu per censurar-lo.";
#elif L==2 // de
- "Post %u allowed. Click to ban it."; // Need Übersetzung
+ "Beitrag %u erlaubt. Klicken Sie, um es zu verbieten.";
#elif L==3 // en
"Post %u allowed. Click to ban it.";
#elif L==4 // es
"Comentario %u permitido. Pulse para censurarlo.";
#elif L==5 // fr
- "Post %u allowed. Click to ban it."; // Besoin de traduction
+ "Poste %u autorisé. Cliquez pour l'interdire.";
#elif L==6 // gn
"Comentario %u permitido. Pulse para censurarlo."; // Okoteve traducción
#elif L==7 // it
@@ -14130,13 +14139,13 @@ const char *Txt_FORUM_Post_unbanned =
#if L==1 // ca
"Comentari permès";
#elif L==2 // de
- "Post unbanned."; // Need Übersetzung
+ "Beitrag entbannt.";
#elif L==3 // en
"Post unbanned";
#elif L==4 // es
"Comentario permitido";
#elif L==5 // fr
- "Post unbanned."; // Besoin de traduction
+ "Publication non bannie.";
#elif L==6 // gn
"Comentario permitido"; // Okoteve traducción
#elif L==7 // it
@@ -14324,46 +14333,25 @@ const char *Txt_Forums =
"Fóruns";
#endif
-const char *Txt_Found_an_index_htm_file =
-#if L==1 // ca
- "Se ha encontrado un archivo index.htm."; // Necessita traducció
-#elif L==2 // de
- "Found an index.htm file."; // Need Übersetzung
-#elif L==3 // en
- "Found an index.htm file.";
-#elif L==4 // es
- "Se ha encontrado un archivo index.htm.";
-#elif L==5 // fr
- "Found an index.htm file."; // Besoin de traduction
-#elif L==6 // gn
- "Se ha encontrado un archivo index.htm."; // Okoteve traducción
-#elif L==7 // it
- "Si è trovato un file index.htm.";
-#elif L==8 // pl
- "Znaleziono index.htm plik.";
-#elif L==9 // pt
- "Um arquivo index.htm foi encontrado.";
-#endif
-
const char *Txt_Found_an_index_html_file =
#if L==1 // ca
- "Se ha encontrado un archivo index.html."; // Necessita traducció
+ "S'ha trobat un arxiu index.htm/index.html.";
#elif L==2 // de
- "Found an index.html file."; // Need Übersetzung
+ "Eine index.htm/index.html-Datei gefunden.";
#elif L==3 // en
- "Found an index.html file.";
+ "Found an index.htm/index.html file.";
#elif L==4 // es
- "Se ha encontrado un archivo index.html.";
+ "Se ha encontrado un archivo index.htm/index.html.";
#elif L==5 // fr
- "Found an index.html file."; // Besoin de traduction
+ "Trouvé un fichier index.htm/index.html";
#elif L==6 // gn
- "Se ha encontrado un archivo index.html."; // Okoteve traducción
+ "Se ha encontrado un archivo index.htm/index.html."; // Okoteve traducción
#elif L==7 // it
- "Si è trovato un file index.html.";
+ "Si è trovato un file index.htm/index.html.";
#elif L==8 // pl
- "Znaleziono index.html plik.";
+ "Znaleziono index.htm/index.html plik.";
#elif L==9 // pt
- "Um arquivo index.html foi encontrado.";
+ "Um arquivo index.htm/index.html foi encontrado.";
#endif
const char *Txt_Frequent_ACTIONS = // Check that this sentence fits within the allocated space
@@ -16569,13 +16557,13 @@ const char *Txt_Import_questions =
#elif L==4 // es
"Importar preguntas";
#elif L==5 // fr
- "Import questions"; // Besoin de traduction
+ "Importer questions";
#elif L==6 // gn
"Importar preguntas"; // Okoteve traducción
#elif L==7 // it
- "Import questions"; // Bisogno di traduzione
+ "Importa domande";
#elif L==8 // pl
- "Import questions"; // Potrzebujesz tlumaczenie
+ "Importuj pytania";
#elif L==9 // pt
"Importar perguntas";
#endif
@@ -16584,19 +16572,19 @@ const char *Txt_Imported_questions =
#if L==1 // ca
"Preguntes importades";
#elif L==2 // de
- "Imported questions"; // Need Übersetzung
+ "Importierte Fragen";
#elif L==3 // en
"Imported questions";
#elif L==4 // es
"Preguntas importadas";
#elif L==5 // fr
- "Imported questions"; // Besoin de traduction
+ "Questions importées";
#elif L==6 // gn
"Preguntas importadas"; // Okoteve traducción
#elif L==7 // it
- "Imported questions"; // Bisogno di traduzione
+ "Domande importate";
#elif L==8 // pl
- "Imported questions"; // Potrzebujesz tlumaczenie
+ "Zaimportowane pytania";
#elif L==9 // pt
"Perguntas importadas";
#endif
@@ -16707,13 +16695,13 @@ const char *Txt_Increase_level_of_X = // Warning: it is very important to includ
#if L==1 // ca
"Augmentar nivell de %s";
#elif L==2 // de
- "Increase level of %s"; // Need Übersetzung
+ "Level von %s erhöhen";
#elif L==3 // en
"Increase level of %s";
#elif L==4 // es
"Aumentar nivel de %s";
#elif L==5 // fr
- "Increase level of %s"; // Besoin de traduction
+ "Augmenter le niveau de %s";
#elif L==6 // gn
"Aumentar nivel de %s"; // Okoteve traducción
#elif L==7 // it
@@ -17433,7 +17421,7 @@ const char *Txt_Institution_center_and_department =
const char *Txt_Institution_X_removed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "Institución %s eliminada."; // Necessita traducció
+ "Institució %s eliminada.";
#elif L==2 // de
"Hochschule %s entfernt.";
#elif L==3 // en
@@ -17441,7 +17429,7 @@ const char *Txt_Institution_X_removed = // Warning: it is very important to incl
#elif L==4 // es
"Institución %s eliminada.";
#elif L==5 // fr
- "Institution %s removed."; // Besoin de traduction
+ "Établissement %s supprimé.";
#elif L==6 // gn
"Institución %s eliminada."; // Okoteve traducción
#elif L==7 // it
@@ -18187,7 +18175,7 @@ const char *Txt_LAYOUT_SIDE_COLUMNS[4] =
#elif L==4 // es
"Solo zona central"
#elif L==5 // fr
- "Display central area only" // Besoin de traduction
+ "Afficher la zone centrale uniquement"
#elif L==6 // gn
"Solo zona central" // Okoteve traducción
#elif L==7 // it
@@ -24403,13 +24391,13 @@ const char *Txt_Move_up_X_and_its_subsections = // Warning: it is very important
#if L==1 // ca
"Pujar %s i els seus subapartats";
#elif L==2 // de
- "Move up %s and its subsections"; // Need Übersetzung
+ "Bewegen Sie %s und seine Unterabschnitte nach oben";
#elif L==3 // en
"Move up %s and its subsections";
#elif L==4 // es
"Subir %s y sus subapartados";
#elif L==5 // fr
- "Move up %s and its subsections"; // Besoin de traduction
+ "Monter %s et ses sous-sections";
#elif L==6 // gn
"Subir %s y sus subapartados"; // Okoteve traducción
#elif L==7 // it
@@ -24445,15 +24433,15 @@ const char *Txt_Move_down_X_and_its_subsections = // Warning: it is very importa
#if L==1 // ca
"Baixar %s i els seus subapartats";
#elif L==2 // de
- "Move down %s and its subsections"; // Need Übersetzung
+ "Bewegen Sie %s und seine Unterabschnitte nach unten";
#elif L==3 // en
"Move down %s and its subsections";
#elif L==4 // es
"Bajar %s y sus subapartados";
#elif L==5 // fr
- "Move down %s and its subsections"; // Besoin de traduction
+ "Move down %s and its subsections";
#elif L==6 // gn
- "Bajar %s y sus subapartados"; // Okoteve traducción
+ "Descendre %s et ses sous-sections"; // Okoteve traducción
#elif L==7 // it
"Muovi giù %s e le sue sottosezioni";
#elif L==8 // pl
@@ -26436,33 +26424,33 @@ const char *Txt_No_exams =
"Não há exames.";
#endif
-const char *Txt_No_file_index_html_index_htm_found_within_the_ZIP_file =
+const char *Txt_No_file_index_html_found_within_the_ZIP_file =
#if L==1 // ca
- "No se ha encontrado un archivo index.html / index.htm"
+ "No se ha encontrado un archivo index.htm/index.html"
" dentro del archivo ZIP."; // Necessita traducció
#elif L==2 // de
- "No file index.html / index.htm found"
+ "No file index.htm/index.html found"
" within the ZIP file."; // Need Übersetzung
#elif L==3 // en
- "No file index.html / index.htm found"
+ "No file index.htm/index.html found"
" within the ZIP file.";
#elif L==4 // es
- "No se ha encontrado un archivo index.html / index.htm"
+ "No se ha encontrado un archivo index.htm/index.html"
" dentro del archivo ZIP.";
#elif L==5 // fr
- "No file index.html / index.htm found"
+ "No file index.htm/index.html found"
" within the ZIP file."; // Besoin de traduction
#elif L==6 // gn
- "No se ha encontrado un archivo index.html / index.htm"
+ "No se ha encontrado un archivo index.htm/index.html"
" dentro del archivo ZIP."; // Okoteve traducción
#elif L==7 // it
- "Nessun documento index.html / index.htm trovato"
+ "Nessun documento index.htm/index.html trovato"
" nel file ZIP.";
#elif L==8 // pl
- "Nr pliku indeks.html / indeks.htm znalezionych"
+ "Nr pliku index.htm/index.html znalezionych"
" w ZIP plik.";
#elif L==9 // pt
- "Um arquivo index.html / index.htm não foi encontrado"
+ "Um arquivo index.htm/index.html não foi encontrado"
" dentro do arquivo ZIP.";
#endif
@@ -26899,19 +26887,19 @@ const char *Txt_No_types_of_degree =
#if L==1 // ca
"No hi ha cap tipus de titulació.";
#elif L==2 // de
- "No types of degree."; // Need Übersetzung
+ "Es gibt keine Abschlussarten.";
#elif L==3 // en
"No types of degree.";
#elif L==4 // es
"No hay tipos de titulación.";
#elif L==5 // fr
- "There are no types of degree."; // Besoin de traduction
+ "Il n'y a pas de types d'études.";
#elif L==6 // gn
"No hay tipos de titulación."; // Okoteve traducción
#elif L==7 // it
"Non ci sono tipi di lauree.";
#elif L==8 // pl
- "No types of degree."; // Potrzebujesz tlumaczenie
+ "Nie ma rodzajów stopni.";
#elif L==9 // pt
"Não há tipos de grau.";
#endif
@@ -26920,13 +26908,13 @@ const char *Txt_No_user_has_been_eliminated =
#if L==1 // ca
"No s'ha suprimit cap usuari.";
#elif L==2 // de
- "No user has been eliminated."; // Need Übersetzung
+ "Es wurde kein Benutzer gelöscht.";
#elif L==3 // en
"No user has been eliminated.";
#elif L==4 // es
"No se ha eliminado ningún usuario.";
#elif L==5 // fr
- "No user has been eliminated."; // Besoin de traduction
+ "Aucun utilisateur n'a été éliminé.";
#elif L==6 // gn
"No se ha eliminado ningún usuario."; // Okoteve traducción
#elif L==7 // it
@@ -26941,13 +26929,13 @@ const char *Txt_No_user_has_been_enroled =
#if L==1 // ca
"No s'ha inscrit cap usuari.";
#elif L==2 // de
- "No user has been enroled."; // Need Übersetzung
+ "Es wurde kein Benutzer registriert.";
#elif L==3 // en
"No user has been enroled.";
#elif L==4 // es
"No se ha inscrito ningún usuario.";
#elif L==5 // fr
- "No user has been enroled."; // Besoin de traduction
+ "Aucun utilisateur n'a été inscrit.";
#elif L==6 // gn
"No se ha inscrito ningún usuario."; // Okoteve traducción
#elif L==7 // it
@@ -26962,13 +26950,13 @@ const char *Txt_No_user_has_been_removed =
#if L==1 // ca
"No s'ha suprimit cap usuari.";
#elif L==2 // de
- "No user has been removed."; // Need Übersetzung
+ "Es wurde kein Benutzer entfernt.";
#elif L==3 // en
"No user has been removed.";
#elif L==4 // es
"No se ha eliminado ningún usuario.";
#elif L==5 // fr
- "No user has been removed."; // Besoin de traduction
+ "Aucun utilisateur n'a été supprimé.";
#elif L==6 // gn
"No se ha eliminado ningún usuario."; // Okoteve traducción
#elif L==7 // it
@@ -29554,13 +29542,13 @@ const char *Txt_One_message_has_been_deleted =
#if L==1 // ca
"S'ha suprimit un missatge.";
#elif L==2 // de
- "One message has been deleted."; // Need Übersetzung
+ "Eine Nachricht wurde gelöscht.";
#elif L==3 // en
"One message has been deleted.";
#elif L==4 // es
"Se ha eliminado un mensaje.";
#elif L==5 // fr
- "One message has been deleted."; // Besoin de traduction
+ "Un message a été supprimé.";
#elif L==6 // gn
"Se ha eliminado un mensaje."; // Okoteve traducción
#elif L==7 // it
@@ -30512,15 +30500,15 @@ const char *Txt_Photo_has_been_updated =
const char *Txt_Photo_of_THE_USER_X_has_been_removed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "Se ha eliminado la foto de %s."; // Necessita traducció
+ "S'ha eliminat la foto de %s.";
#elif L==2 // de
- "Photo of %s has been removed."; // Need Übersetzung
+ "Foto von %s wurde entfernt.";
#elif L==3 // en
"Photo of %s has been removed.";
#elif L==4 // es
"Se ha eliminado la foto de %s.";
#elif L==5 // fr
- "Photo of %s has been removed."; // Besoin de traduction
+ "La photo de %s a été supprimée.";
#elif L==6 // gn
"Se ha eliminado la foto de %s."; // Okoteve traducción
#elif L==7 // it
@@ -30554,15 +30542,15 @@ const char *Txt_PHOTO_PROCESSING_CAPTIONS[3] =
#endif
,
#if L==1 // ca
- "Contraste y saturación mejorados" // Necessita traducció
+ "Contrast i saturació millorats"
#elif L==2 // de
- "Contrast and saturation enhanced" // Need Übersetzung
+ "Kontrast und Sättigung verbessert"
#elif L==3 // en
"Contrast and saturation enhanced"
#elif L==4 // es
"Contraste y saturación mejorados"
#elif L==5 // fr
- "Contrast and saturation enhanced" // Besoin de traduction
+ "Contraste et saturation améliorés"
#elif L==6 // gn
"Contraste y saturación mejorados" // Okoteve traducción
#elif L==7 // it
@@ -30574,7 +30562,7 @@ const char *Txt_PHOTO_PROCESSING_CAPTIONS[3] =
#endif
,
#if L==1 // ca
- "Balance de blancos realizado" // Necessita traducció
+ "Balanç de blancs realitzat"
#elif L==2 // de
"Weißabgleich gemacht"
#elif L==3 // en
@@ -31589,28 +31577,28 @@ const char *Txt_PRIVACY_OPTIONS[Pri_NUM_OPTIONS_PRIVACY] =
,
[Pri_VISIBILITY_COURSE] =
#if L==1 // ca
- "Visible por usuarios con los que comparto asignaturas" // Necessita traducció
+ "Visible per usuaris amb qui comparteixo assignatures"
#elif L==2 // de
- "Visible by users with whom I share courses" // Need Übersetzung
+ "Sichtbar für Benutzer, mit denen ich Kurse teile"
#elif L==3 // en
"Visible by users with whom I share courses"
#elif L==4 // es
"Visible por usuarios con los que comparto asignaturas"
#elif L==5 // fr
- "Visible by users with whom I share courses" // Besoin de traduction
+ "Visible par les utilisateurs avec qui je partage des cours"
#elif L==6 // gn
- "Visible por usuarios con los que comparto asignaturas" // Okoteve traducción
+ "Visible por usuarios con los que comparto asignaturas" // Okoteve traducción
#elif L==7 // it
- "Visible by users with whom I share courses" // Bisogno di traduzione
+ "Visibile dagli utenti con cui condivido i corsi"
#elif L==8 // pl
- "Visible by users with whom I share courses" // Potrzebujesz tlumaczenie
+ "Widoczne dla użytkowników, z którymi dzielę się kursami"
#elif L==9 // pt
"Visível por usuários com quem compartilho disciplinas"
#endif
,
[Pri_VISIBILITY_SYSTEM] =
#if L==1 // ca
- "Visible por cualquier usuario identificado" // Necessita traducció
+ "Visible per qualsevol usuari identificat"
#elif L==2 // de
"Sichtbar für jeden eingeloggten Benutzer"
#elif L==3 // en
@@ -42311,7 +42299,7 @@ const char *Txt_Shortcut =
const char *Txt_Show =
#if L==1 // ca
- "Mostra";
+ "Mostrar";
#elif L==2 // de
"Zeige";
#elif L==3 // en
@@ -42416,7 +42404,7 @@ const char *Txt_Show_all_notifications =
const char *Txt_Show_agenda =
#if L==1 // ca
- "Mostra agenda";
+ "Mostrar agenda";
#elif L==2 // de
"Organizer anzeigen";
#elif L==3 // en
@@ -42437,7 +42425,7 @@ const char *Txt_Show_agenda =
const char *Txt_Show_anyway =
#if L==1 // ca
- "Mostra de totes maneres";
+ "Mostrar de totes maneres";
#elif L==2 // de
"Zeigesowieso";
#elif L==3 // en
@@ -42458,7 +42446,7 @@ const char *Txt_Show_anyway =
const char *Txt_Show_calendar =
#if L==1 // ca
- "Mostra calendari";
+ "Mostrar calendari";
#elif L==2 // de
"Kalender anzeigen";
#elif L==3 // en
@@ -42500,7 +42488,7 @@ const char *Txt_Show_hits = // hits = visits, clicks, page views...
const char *Txt_Show_more_details =
#if L==1 // ca
- "Mostra més detalls";
+ "Mostrar més detalls";
#elif L==2 // de
"Mehr Details";
#elif L==3 // en
@@ -42542,28 +42530,28 @@ const char *Txt_Show_more_recipients =
const char *Txt_Show_next_X_clicks = // Warning: it is very important to include %u in the following sentences
#if L==1 // ca
- "Mostrar %u clics posteriores"; // Necessita traducció
+ "Mostrar els %u clics següents";
#elif L==2 // de
- "Show next %u clicks"; // Need Übersetzung
+ "Nächste %u Klicks anzeigen";
#elif L==3 // en
"Show next %u clicks";
#elif L==4 // es
"Mostrar %u clics posteriores";
#elif L==5 // fr
- "Show next %u clicks"; // Besoin de traduction
+ "Afficher les %u clics suivants";
#elif L==6 // gn
"Mostrar %u clics posteriores"; // Okoteve traducción
#elif L==7 // it
"Mostra %u scatti seguenti";
#elif L==8 // pl
- "Show next %u clicks"; // Potrzebujesz tlumaczenie
+ "Pokaż następne %u kliknięć";
#elif L==9 // pt
"Mostrar %u cliques subsequentes";
#endif
const char *Txt_Show_previous_X_clicks = // Warning: it is very important to include %u in the following sentences
#if L==1 // ca
- "Mostrar %u clics anteriores"; // Necessita traducció
+ "Mostrar %u clics anteriors";
#elif L==2 // de
"Vorherige %u Klicks anzeigen";
#elif L==3 // en
@@ -42619,14 +42607,14 @@ const char *Txt_Show_statistic =
#elif L==7 // it
"Visualizza statistica";
#elif L==8 // pl
- "Show statistic"; // Potrzebujesz tlumaczenie
+ "Pokaż statystykę"; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Mostrar estatística";
#endif
const char *Txt_Show_tutoring_hours =
#if L==1 // ca
- "Mostra horaris tutories";
+ "Mostrar horaris tutories";
#elif L==2 // de
"Geschäftszeiten anzeigen";
#elif L==3 // en
@@ -42661,7 +42649,7 @@ const char *Txt_Shuffle =
#elif L==7 // it
"Mischiare";
#elif L==8 // pl
- "Shuffle"; // Potrzebujesz tlumaczenie
+ "Człapać";
#elif L==9 // pt
"Baralhar";
#endif
@@ -42724,7 +42712,7 @@ const char *Txt_Size = // ...of a file zone
#elif L==7 // it
"Dimensione";
#elif L==8 // pl
- "Size"; // Potrzebujesz tlumaczenie
+ "Rozmiar";
#elif L==9 // pt
"Tamanho";
#endif
@@ -43677,7 +43665,7 @@ const char *Txt_STAT_COURSE_FILE_ZONES[Fig_NUM_STAT_CRS_FILE_ZONES] = // Use &nb
#elif L==7 // it
"Penna USB"
#elif L==8 // pl
- "Briefcases" // Potrzebujesz tlumaczenie
+ "Aktówki"
#elif L==9 // pt
"Pasta"
#endif
@@ -47768,19 +47756,19 @@ const char *Txt_The_file_is_not_X = // Warning: it is very important to include
#if L==1 // ca
"L'arxiu no és %s.";
#elif L==2 // de
- "The file is not %s."; // Need Übersetzung
+ "Die Datei ist kein %s.";
#elif L==3 // en
"The file is not %s.";
#elif L==4 // es
"El archivo no es %s.";
#elif L==5 // fr
- "The file is not %s."; // Besoin de traduction
+ "Le fichier n'est pas %s.";
#elif L==6 // gn
"El archivo no es %s."; // Okoteve traducción
#elif L==7 // it
"IL file non è %s.";
#elif L==8 // pl
- "The file is not %s."; // Potrzebujesz tlumaczenie
+ "Plik nie jest w formacie %s.";
#elif L==9 // pt
"O arquivo não é %s.";
#endif
@@ -48537,7 +48525,7 @@ const char *Txt_The_institutional_code_of_the_course_X_has_not_changed = // Warn
const char *Txt_The_integrated_editor_is_not_yet_available =
#if L==1 // ca
- "El editor integrado aún no está disponible."; // Necessita traducció
+ "L'editor integrat encara no està disponible.";
#elif L==2 // de
"Der integrierte Editor ist noch nicht verfügbar.";
#elif L==3 // en
@@ -48545,20 +48533,20 @@ const char *Txt_The_integrated_editor_is_not_yet_available =
#elif L==4 // es
"El editor integrado aún no está disponible.";
#elif L==5 // fr
- "The integrated editor is not yet available."; // Besoin de traduction
+ "L'éditeur intégré n'est pas encore disponible.";
#elif L==6 // gn
"El editor integrado aún no está disponible."; // Okoteve traducción
#elif L==7 // it
"L'editor integrato non è ancora disponibile.";
#elif L==8 // pl
- "The integrated editor is not yet available."; // Potrzebujesz tlumaczenie
+ "Zintegrowany edytor nie jest jeszcze dostępny.";
#elif L==9 // pt
"O editor integrado ainda não está disponível.";
#endif
const char *Txt_The_link_X_already_exists = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El enlace %s ya existe."; // Necessita traducció
+ "L'enllaç %s ja existeix.";
#elif L==2 // de
"Der Link %s wurde bereits eingegeben.";
#elif L==3 // en
@@ -48566,13 +48554,13 @@ const char *Txt_The_link_X_already_exists = // Warning: it is very important to
#elif L==4 // es
"El enlace %s ya existe.";
#elif L==5 // fr
- "The link %s already exists."; // Besoin de traduction
+ "Le lien %s existe déjà.";
#elif L==6 // gn
"El enlace %s ya existe."; // Okoteve traducción
#elif L==7 // it
"Il link %s già esiste.";
#elif L==8 // pl
- "The link %s already exists."; // Potrzebujesz tlumaczenie
+ "Link %s już istnieje.";
#elif L==9 // pt
"O link %s já existe.";
#endif
@@ -49212,84 +49200,84 @@ const char *Txt_The_new_description_is_X = // Warning: it is very important to i
const char *Txt_The_new_image_is_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "La nueva imagen es %s."; // Necessita traducció
+ "La nova imatge és %s.";
#elif L==2 // de
- "The new image is %s."; // Need Übersetzung
+ "Das neue Bild ist %s.";
#elif L==3 // en
"The new image is %s.";
#elif L==4 // es
"La nueva imagen es %s.";
#elif L==5 // fr
- "The new image is %s."; // Besoin de traduction
+ "La nouvelle image est %s.";
#elif L==6 // gn
"La nueva imagen es %s."; // Okoteve traducción
#elif L==7 // it
"La nuova image è %s.";
#elif L==8 // pl
- "The new image is %s."; // Potrzebujesz tlumaczenie
+ "Nowy obraz to %s.";
#elif L==9 // pt
"A nova imagem é %s.";
#endif
const char *Txt_The_new_URL_is_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El nuevo URL es %s."; // Necessita traducció
+ "El nou URL és %s.";
#elif L==2 // de
- "The new URL is %s."; // Need Übersetzung
+ "Die neue URL ist %s.";
#elif L==3 // en
"The new URL is %s.";
#elif L==4 // es
"El nuevo URL es %s.";
#elif L==5 // fr
- "The new URL is %s."; // Besoin de traduction
+ "La nouvelle URL est %s.";
#elif L==6 // gn
"El nuevo URL es %s."; // Okoteve traducción
#elif L==7 // it
"La nuova URL è %s.";
#elif L==8 // pl
- "The new URL is %s."; // Potrzebujesz tlumaczenie
+ "Nowy adres URL to %s.";
#elif L==9 // pt
"O novo URL é %s.";
#endif
const char *Txt_The_nickname_had_been_registered_by_another_user =
#if L==1 // ca
- "El apodo ya había sido registrado por otro usuario."; // Necessita traducció
+ "L'àlies havia estat registrat per un altre usuari.";
#elif L==2 // de
- "The nickname had been registered by another user."; // Need Übersetzung
+ "Der Spitzname wurde von einem anderen Benutzer registriert.";
#elif L==3 // en
"The nickname had been registered by another user.";
#elif L==4 // es
"El apodo ya había sido registrado por otro usuario.";
#elif L==5 // fr
- "The nickname had been enroled by another user."; // Besoin de traduction
+ "Le surnom avait été enregistré par un autre utilisateur.";
#elif L==6 // gn
"El apodo ya había sido registrado por otro usuario."; // Okoteve traducción
#elif L==7 // it
"Il nome utente è stato registrato da un altro utente.";
#elif L==8 // pl
- "The nickname had been registered by another user."; // Potrzebujesz tlumaczenie
+ "Pseudonim został zarejestrowany przez innego użytkownika.";
#elif L==9 // pt
"A alcunha foi registrada por outro usuário.";
#endif
const char *Txt_The_nickname_matches_the_one_you_had_previously_registered =
#if L==1 // ca
- "El apodo coincide con el que ya tenía registrado previamente."; // Necessita traducció
+ "El sobrenom coincideix amb el que havies registrat anteriorment.";
#elif L==2 // de
- "The nickname matches the one you had previously registered."; // Need Übersetzung
+ "Der Spitzname stimmt mit demjenigen überein, den Sie zuvor registriert haben.";
#elif L==3 // en
"The nickname matches the one you had previously registered.";
#elif L==4 // es
"El apodo coincide con el que ya tenía registrado previamente.";
#elif L==5 // fr
- "The nickname matches the one you had previously registered."; // Besoin de traduction
+ "Le pseudo correspond à celui que vous aviez précédemment enregistré.";
#elif L==6 // gn
"El apodo coincide con el que ya tenía registrado previamente."; // Okoteve traducción
#elif L==7 // it
"Il nome utente coincide con quello che hai precedentemente registrato.";
#elif L==8 // pl
- "The nickname matches the one you had previously registered."; // Potrzebujesz tlumaczenie
+ "Pseudonim jest zgodny z tym, który wcześniej zarejestrowałeś.";
#elif L==9 // pt
"A alcunha corresponde àquela que você registrou anteriormente.";
#endif
@@ -52065,7 +52053,7 @@ const char *Txt_Thread_X_moved_to_this_forum = // Warning: it is very important
const char *Txt_Thread_removed =
#if L==1 // ca
- "Discusión eliminada."; // Necessita traducció
+ "Discussió eliminada.";
#elif L==2 // de
"Faden entfernt.";
#elif L==3 // en
@@ -52073,20 +52061,20 @@ const char *Txt_Thread_removed =
#elif L==4 // es
"Discusión eliminada.";
#elif L==5 // fr
- "Thread removed."; // Besoin de traduction
+ "Fil supprimé.";
#elif L==6 // gn
"Discusión eliminada."; // Okoteve traducción
#elif L==7 // it
"Discussione rimossa.";
#elif L==8 // pl
- "Thread removed."; // Potrzebujesz tlumaczenie
+ "Usunięto wątek.";
#elif L==9 // pt
"Discussão removida.";
#endif
const char *Txt_Thread_X_removed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "Discusión %s eliminada."; // Necessita traducció
+ "Discussió %s eliminada.";
#elif L==2 // de
"Faden %s entfernt.";
#elif L==3 // en
@@ -52094,13 +52082,13 @@ const char *Txt_Thread_X_removed = // Warning: it is very important to include %
#elif L==4 // es
"Discusión %s eliminada.";
#elif L==5 // fr
- "Thread %s removed."; // Besoin de traduction
+ "Fil %s supprimé.";
#elif L==6 // gn
"Discusión %s eliminada."; // Okoteve traducción
#elif L==7 // it
"Discussione %s rimossa.";
#elif L==8 // pl
- "Thread %s removed."; // Potrzebujesz tlumaczenie
+ "Usunięto wątek %s.";
#elif L==9 // pt
"Discussão %s removida.";
#endif
@@ -54766,63 +54754,63 @@ const char *Txt_Update_users =
const char *Txt_UPLOAD_FILE_Invalid_link =
#if L==1 // ca
- "Enlace no válido."; // Necessita traducció
+ "Enllaç no vàlid.";
#elif L==2 // de
- "Invalid link."; // Need Übersetzung
+ "Ungültiger Link.";
#elif L==3 // en
"Invalid link.";
#elif L==4 // es
"Enlace no válido.";
#elif L==5 // fr
- "Invalid link."; // Besoin de traduction
+ "Lien invalide.";
#elif L==6 // gn
"Enlace no válido."; // Okoteve traducción
#elif L==7 // it
"Link non valido.";
#elif L==8 // pl
- "Invalid link."; // Potrzebujesz tlumaczenie
+ "Niepoprawny link.";
#elif L==9 // pt
"Link não válido.";
#endif
const char *Txt_UPLOAD_FILE_Invalid_name =
#if L==1 // ca
- "Nombre no válido."; // Necessita traducció
+ "Nom no vàlid.";
#elif L==2 // de
- "Invalid name."; // Need Übersetzung
+ "Ungültiger Name.";
#elif L==3 // en
"Invalid name.";
#elif L==4 // es
"Nombre no válido.";
#elif L==5 // fr
- "Invalid name."; // Besoin de traduction
+ "Nom invalide.";
#elif L==6 // gn
"Nombre no válido."; // Okoteve traducción
#elif L==7 // it
"Nome non valido.";
#elif L==8 // pl
- "Invalid name."; // Potrzebujesz tlumaczenie
+ "Błędna nazwa.";
#elif L==9 // pt
"Nome não válido.";
#endif
const char *Txt_UPLOAD_FILE_X_invalid_name = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "%s: nombre no válido."; // Necessita traducció
+ "%s: nom no vàlid.";
#elif L==2 // de
- "%s: invalid name."; // Need Übersetzung
+ "%s: ungültiger Name.";
#elif L==3 // en
"%s: invalid name.";
#elif L==4 // es
"%s: nombre no válido.";
#elif L==5 // fr
- "%s: invalid name."; // Besoin de traduction
+ "%s: nom invalide.";
#elif L==6 // gn
"%s: nombre no válido."; // Okoteve traducción
#elif L==7 // it
"%s: nome non valido.";
#elif L==8 // pl
- "%s: invalid name."; // Potrzebujesz tlumaczenie
+ "%s: błędna nazwa.";
#elif L==9 // pt
"%s: nome não válido.";
#endif
@@ -59794,21 +59782,21 @@ const char *Txt_Your_comment_has_been_updated =
const char *Txt_Your_password_is_not_secure_enough =
#if L==1 // ca
- "Su contraseña no es suficientemente segura."; // Necessita traducció
+ "La vostra contrasenya no és prou segura.";
#elif L==2 // de
- "Your password is not secure enough."; // Need Übersetzung
+ "Ihr Passwort ist nicht sicher genug.";
#elif L==3 // en
"Your password is not secure enough.";
#elif L==4 // es
"Su contraseña no es suficientemente segura.";
#elif L==5 // fr
- "Your password is not secure enough."; // Besoin de traduction
+ "Votre mot de passe n'est pas suffisamment sécurisé.";
#elif L==6 // gn
"Su contraseña no es suficientemente segura."; // Okoteve traducción
#elif L==7 // it
"La tua password non è sicura abbastanza.";
#elif L==8 // pl
- "Your password is not secure enough."; // Potrzebujesz tlumaczenie
+ "Twoje hasło nie jest wystarczająco bezpieczne.";
#elif L==9 // pt
"Sua senha não é segura o suficiente.";
#endif