diff --git a/swad_changelog.h b/swad_changelog.h
index b6baafdf..03b54ace 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.98.4 (2022-06-21)"
+#define Log_PLATFORM_VERSION "SWAD 21.98.5 (2022-06-21)"
#define CSS_FILE "swad21.97.1.css"
#define JS_FILE "swad21.97.4.js"
/*
+ Version 21.98.5: Jun 21, 2022 Some messages translated. (322554 lines)
Version 21.98.4: Jun 21, 2022 Some messages translated. (322555 lines)
Version 21.98.3: Jun 20, 2022 Some messages translated. (322537 lines)
Version 21.98.2: Jun 19, 2022 Some messages translated. (322482 lines)
diff --git a/swad_text.c b/swad_text.c
index beb03285..912b7934 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -453,7 +453,7 @@ const char *Txt_A_user_can_not_have_more_than_X_IDs = // Warning: it is very imp
#elif L==7 // it
"Un utente non può avere più di %u ID.";
#elif L==8 // pl
- "Użytkownik nie może mieć więcej niż %u identyfikatory.";
+ "Użytkownik nie może mieć więcej niż %u ID.";
#elif L==9 // pt
"Um usuário não pode ter mais de %u nºs. identif.";
#endif
@@ -1014,7 +1014,7 @@ const char *Txt_Add_this_ID =
#elif L==7 // it
"Aggiungere questa carta d'identità";
#elif L==8 // pl
- "Dodaj ten identyfikator";
+ "Dodaj ten ID";
#elif L==9 // pt
"Adicionar este nº identif.";
#endif
@@ -2758,7 +2758,7 @@ const char *Txt_Average_number_BR_of_surveys_BR_per_course =
const char *Txt_Average_number_of_courses_to_which_a_user_belongs =
#if L==1 // ca
- "Nombre mitj´ d'assignatures a las quals pertany cada usuari";
+ "Nombre mitjá d'assignatures a las quals pertany cada usuari";
#elif L==2 // de
"Durchschnittliche Anzahl von Kursen, an denen der Benutzer teilnimmt";
#elif L==3 // en
@@ -4395,7 +4395,7 @@ const char *Txt_Change_IDs =
#elif L==7 // it
"Cambiare ID";
#elif L==8 // pl
- "Zmień identyfikatory";
+ "Zmień ID";
#elif L==9 // pt
"Alterar nºs. identif.";
#endif
@@ -4626,7 +4626,7 @@ const char *Txt_Check_another_ID =
#elif L==7 // it
"Verificare un altro ID?";
#elif L==8 // pl
- "Sprawdzić inny identyfikator?";
+ "Sprawdzić inny ID?";
#elif L==9 // pt
"Verificar outra ID?";
#endif
@@ -9301,68 +9301,68 @@ const char *Txt_Do_you_really_want_to_reject_the_enrolment_request_ = // Warning
const char *Txt_Do_you_really_want_to_remove_the_X_students_from_the_course_Y_ = // Warning: it is very important to include %u and %s in the following sentences
#if L==1 // ca
- "¿Realmente desea eliminar los %u estudiantes de la asignatura %s?
"
- "Aunque no se eliminarán los datos de los estudiantes en otras asignaturas,"
- " ya no aparecerán inscritos en esta asignatura,"
- " y además se eliminarán todos los trabajos enviados por ellos en esta asignatura,"
- " sus fichas personalizadas para esta asignatura,"
- " y su inscripción en grupos de esta asignatura.."; // Necessita traducció
+ "Realment voleu eliminar els %u estudiants de l'assignatura %s?
"
+ "Encara que no s'eliminen les dades dels estudiants en altres assignatures,"
+ " ja no apareixeran inscrits en aquesta assignatura,"
+ " i a més s'eliminaran tots els treballs enviats per ells en aquesta assignatura,"
+ " les seves fitxes personalitzades per aquesta assignatura,"
+ " i les seves inscripcions en grups d'aquesta assignatura.";
#elif L==2 // de
- "Do you really want to remove the %u students from the course %s?
"
- "Although students' data will not be removed in other courses,"
- " they will no longer enroled in this course,"
- " and also all works submitted by them in this course,"
- " their record cards for this course,"
- " and their enrolment in groups of this course will be removed.."; // Need Übersetzung
+ "Wollen Sie die %u Studenten wirklich aus dem Kurs %s entfernen?
"
+ "Die Daten der Studierenden in anderen Studiengängen werden zwar nicht gelöscht,"
+ " aber sie werden in diesem Studiengang nicht mehr eingeschrieben,"
+ " und auch alle von ihnen in diesem Studiengang eingereichten Arbeiten,"
+ " ihre Karteikarten für diesen Studiengang"
+ " und ihre Einschreibung in Gruppen dieses Studiengangs werden gelöscht.";
#elif L==3 // en
"Do you really want to remove the %u students from the course %s?
"
"Although students' data will not be removed in other courses,"
" they will no longer enroled in this course,"
" and also all works submitted by them in this course,"
" their record cards for this course,"
- " and their enrolment in groups of this course will be removed..";
+ " and their enrolment in groups of this course will be removed.";
#elif L==4 // es
"¿Realmente desea eliminar los %u estudiantes de la asignatura %s?
"
"Aunque no se eliminarán los datos de los estudiantes en otras asignaturas,"
" ya no aparecerán inscritos en esta asignatura,"
" y además se eliminarán todos los trabajos enviados por ellos en esta asignatura,"
" sus fichas personalizadas para esta asignatura,"
- " y su inscripción en grupos de esta asignatura..";
+ " y sus inscripciones en grupos de esta asignatura.";
#elif L==5 // fr
- "Do you really want to remove the %u students from the course %s?
"
- "Although students' data will not be removed in other courses,"
- " they will no longer enroled in this course,"
- " and also all works submitted by them in this course,"
- " their record cards for this course,"
- " and their enrolment in groups of this course will be removed.."; // Besoin de traduction
+ "Voulez-vous vraiment supprimer les %u étudiants de la matiére %s?
"
+ "Bien que les données des étudiants ne soient pas supprimées dans d'autres cours,"
+ " ils ne seront plus inscrits à cette matière,"
+ " ainsi que tous les travaux soumis par eux dans cette matière,"
+ " leurs fiches pour cette matière"
+ " et leur inscription à des groupes de cette matière seront supprimés.";
#elif L==6 // gn
"¿Realmente desea eliminar los %u estudiantes de la asignatura %s?
"
"Aunque no se eliminarán los datos de los estudiantes en otras asignaturas,"
" ya no aparecerán inscritos en esta asignatura,"
" y además se eliminarán todos los trabajos enviados por ellos en esta asignatura,"
" sus fichas personalizadas para esta asignatura,"
- " y su inscripción en grupos de esta asignatura.."; // Okoteve traducción
+ " y su inscripción en grupos de esta asignatura."; // Okoteve traducción
#elif L==7 // it
"Vuoi realmente rimuovere gli %u studenti dal corso %s?
"
"Sebbene i dati degli studenti non saranno rimossi in altri corsi,"
" essi non saranno più registrati in questo corso,"
" e così tutti i lavori presentati da loro in questo corso,"
" le loro schede per questo corso,"
- " e la loro registrazione nei gruppi di questo corso saranno rimossi..";
+ " e la loro registrazione nei gruppi di questo corso saranno rimossi.";
#elif L==8 // pl
"Czy na pewno chcesz usunac %u studentów z kursu %s?
"
"Although students' data will not be removed in other courses,"
" nie beda juz zarejestrowane w tym kurs"
" a takze wszystkie prace zlozone przez nich w tym kursie,"
" swoich kart zapisu na ten kurs,"
- " i ich rejestracja w grupach zajec zostana usuniete..";
+ " i ich rejestracja w grupach zajec zostana usuniete.";
#elif L==9 // pt
"Você realmente deseja remover os %u estudantes do curso %s?
"
"Embora os dados dos estudantes não sejam removidos em outras disciplinas,"
" eles não serão mais inscritos nesta disciplina,"
- " e também serão removidos todos os trabalhos enviados por eles nesta disciplina,"
+ " e também serão removidos todos os trabalhos enviados por eles nesta disciplina,"
" suos cartões para esta disciplina,"
- " e sua inscrição em grupos desta disciplina.";
+ " e sua inscrição em grupos desta disciplina.";
#endif
const char *Txt_Do_you_really_want_to_remove_the_assignment_X = // Warning: it is very important to include %s in the following sentences
@@ -9781,8 +9781,8 @@ const char *Txt_Do_you_really_want_to_remove_the_group_X_1_student_ = // Warning
"De veres voleu eliminar el grup %s?
"
"Si ho fa, un/a estudiant deixarà de pertànyer a aquest grup.";
#elif L==2 // de
- "Do you really want to remove the group %s?
"
- "Doing so will remove one student from that group."; // Need Übersetzung
+ "Möchten Sie die Gruppe %s wirklich entfernen?
"
+ "Dadurch wird ein Schüler aus dieser Gruppe entfernt.";
#elif L==3 // en
"Do you really want to remove the group %s?
"
"Doing so will remove one student from that group.";
@@ -9790,8 +9790,8 @@ const char *Txt_Do_you_really_want_to_remove_the_group_X_1_student_ = // Warning
"¿Realmente desea eliminar el grupo %s?
"
"Si lo hace, un/a estudiante dejará de pertenecer a ese grupo.";
#elif L==5 // fr
- "Do you really want to remove the group %s?
"
- "Doing so will remove one student from that group."; // Besoin de traduction
+ "Voulez-vous vraiment supprimer le groupe %s?
"
+ "Cela supprimera un étudiant de ce groupe.";
#elif L==6 // gn
"¿Realmente desea eliminar el grupo %s?
"
"Si lo hace, un/a estudiante dejará de pertenecer a ese grupo."; // Okoteve traducción
@@ -10027,11 +10027,11 @@ const char *Txt_Do_you_really_want_to_remove_the_survey_X = // Warning: it is ve
const char *Txt_Do_you_really_want_to_remove_the_type_of_group_X_1_group_ = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "¿Realmente desea eliminar el tipo de grupo %s?
"
- "Si lo hace, eliminará también un grupo de ese tipo."; // Necessita traducció
+ "Realment voleu eliminar el tipus de grup %s?
"
+ "Si ho feu, també s'eliminarà un grup d'aquest tipus.";
#elif L==2 // de
- "Do you really want to remove the type of group %s?
"
- "Doing so will also remove one group of that type."; // Need Übersetzung
+ "Möchten Sie den Typ der Gruppe %s wirklich entfernen?
"
+ "Dadurch wird auch eine Gruppe dieses Typs entfernt.";
#elif L==3 // en
"Do you really want to remove the type of group %s?
"
"Doing so will also remove one group of that type.";
@@ -10039,8 +10039,8 @@ const char *Txt_Do_you_really_want_to_remove_the_type_of_group_X_1_group_ = // W
"¿Realmente desea eliminar el tipo de grupo %s?
"
"Si lo hace, eliminará también un grupo de ese tipo.";
#elif L==5 // fr
- "Do you really want to remove the type of group %s?
"
- "Doing so will also remove one group of that type."; // Besoin de traduction
+ "Voulez-vous vraiment supprimer le type de groupe %s?
"
+ "Cela supprimera également un groupe de ce type.";
#elif L==6 // gn
"¿Realmente desea eliminar el tipo de grupo %s?
"
"Si lo hace, eliminará también un grupo de ese tipo."; // Okoteve traducción
@@ -10057,11 +10057,11 @@ const char *Txt_Do_you_really_want_to_remove_the_type_of_group_X_1_group_ = // W
const char *Txt_Do_you_really_want_to_remove_the_type_of_group_X_Y_groups_ = // Warning: it is very important to include %s and %u in the following sentences
#if L==1 // ca
- "¿Realmente desea eliminar el tipo de grupo %s?
"
- "Si lo hace, eliminará también %u grupos de ese tipo."; // Necessita traducció
+ "Realment voleu eliminar el tipus de grup %s?
"
+ "En fer-ho, també s'eliminaran %u grups d'aquest tipus.";
#elif L==2 // de
- "Do you really want to remove the type of group %s?
"
- "Doing so will also remove %u groups of that type."; // Need Übersetzung
+ "Möchten Sie den Typ der Gruppe %s wirklich entfernen?
"
+ "Dadurch werden auch %u Gruppen dieses Typs entfernt.";
#elif L==3 // en
"Do you really want to remove the type of group %s?
"
"Doing so will also remove %u groups of that type.";
@@ -10069,8 +10069,8 @@ const char *Txt_Do_you_really_want_to_remove_the_type_of_group_X_Y_groups_ = //
"¿Realmente desea eliminar el tipo de grupo %s?
"
"Si lo hace, eliminará también %u grupos de ese tipo.";
#elif L==5 // fr
- "Do you really want to remove the type of group %s?
"
- "Doing so will also remove %u groups of that type."; // Besoin de traduction
+ "Voulez-vous vraiment supprimer le type de groupe %s?
"
+ "Cela supprimera également %u groupes de ce type.";
#elif L==6 // gn
"¿Realmente desea eliminar el tipo de grupo %s?
"
"Si lo hace, eliminará también %u grupos de ese tipo."; // Okoteve traducción
@@ -14397,13 +14397,13 @@ const char *Txt_from =
const char *Txt_From_now_on_the_number_of_editing_lines_of_the_field_X_is_Y = // Warning: it is very important to include %s and %u (in this order) in the following sentences
#if L==1 // ca
- "A partir de ahora"
- " el nº de líneas de edición del campo %s"
- " es %u."; // Necessita traducció
+ "A partir d'ara"
+ " el nombre de línies d'edició del camp %s"
+ " és %u.";
#elif L==2 // de
- "From now on"
- " the number of editing lines of the field %s"
- " is %u."; // Need Übersetzung
+ "Von nun an"
+ " ist die Anzahl der Bearbeitungszeilen des Feldes %s"
+ " gleich %u.";
#elif L==3 // en
"From now on"
" the number of editing lines of the field %s"
@@ -14413,9 +14413,9 @@ const char *Txt_From_now_on_the_number_of_editing_lines_of_the_field_X_is_Y = //
" el nº de líneas de edición del campo %s"
" es %u.";
#elif L==5 // fr
- "From now on"
- " the number of editing lines of the field %s"
- " is %u."; // Besoin de traduction
+ "Désormais"
+ " le nombre de lignes d'édition du champ %s"
+ " est %u.";
#elif L==6 // gn
"A partir de ahora"
" el nº de líneas de edición del campo %s"
@@ -16495,7 +16495,7 @@ const char *Txt_If_you_think_you_may_have_been_registered_ =
#elif L==8 // pl
"Jeśli uważasz, że możesz zostać zarejestrowany"
" przez nauczyciela lub administratora,"
- " sprawdź go, wpisując jeden z możliwych identyfikatorów"
+ " sprawdź go, wpisując jeden z możliwych ID"
" (dowodu tożsamości, paszportu itp.).";
#elif L==9 // pt
"Se você acha que pode ter sido registrado"
@@ -16611,20 +16611,20 @@ const char *Txt_SEARCH_X_in_Y = // Search string "in" documentos, users, etc.
const char *Txt_In_a_type_of_group_with_single_enrolment_students_can_not_be_registered_in_more_than_one_group =
#if L==1 // ca
- "En un tipo de grupo de adscripción única"
- " no es posible apuntar estudiantes a más de un grupo."; // Necessita traducció
+ "En un tipus de grup amb matrícula única,"
+ " els alumnes no poden estar matriculats en més d'un grup.";
#elif L==2 // de
- "In a type of group with single enrolment,"
- " students can not be registered in more than one group."; // Need Übersetzung
+ "Bei einem Gruppentyp mit Einzelanmeldung können"
+ " Studierende nicht in mehr als einer Gruppe angemeldet werden.";
#elif L==3 // en
"In a type of group with single enrolment,"
- " tudents can not be registered in more than one group.";
+ " students can not be registered in more than one group.";
#elif L==4 // es
"En un tipo de grupo de adscripción única"
" no es posible apuntar estudiantes a más de un grupo.";
#elif L==5 // fr
- "In a type of group with single enrolment,"
- " students can not be registered in more than one group."; // Besoin de traduction
+ "Dans un type de groupe à inscription unique,"
+ " les étudiants ne peuvent pas être inscrits dans plus d'un groupe.";
#elif L==6 // gn
"En un tipo de grupo de adscripción única"
" no es posible apuntar estudiantes a más de un grupo."; // Okoteve traducción
@@ -26425,11 +26425,11 @@ const char *Txt_No_exams =
const char *Txt_No_file_index_html_found_within_the_ZIP_file =
#if L==1 // ca
- "No se ha encontrado un archivo index.htm/index.html"
- " dentro del archivo ZIP."; // Necessita traducció
+ "No s'ha trobat cap fitxer index.htm/index.html"
+ " dins de l'arxiu ZIP.";
#elif L==2 // de
- "No file index.htm/index.html found"
- " within the ZIP file."; // Need Übersetzung
+ "Keine Datei index.htm/index.html"
+ " in der ZIP-Datei gefunden.";
#elif L==3 // en
"No file index.htm/index.html found"
" within the ZIP file.";
@@ -26437,17 +26437,17 @@ const char *Txt_No_file_index_html_found_within_the_ZIP_file =
"No se ha encontrado un archivo index.htm/index.html"
" dentro del archivo ZIP.";
#elif L==5 // fr
- "No file index.htm/index.html found"
- " within the ZIP file."; // Besoin de traduction
+ "Aucun fichier index.htm/index.html"
+ " trouvé dans le fichier ZIP.";
#elif L==6 // gn
"No se ha encontrado un archivo index.htm/index.html"
- " dentro del archivo ZIP."; // Okoteve traducción
+ " dentro del archivo ZIP."; // Okoteve traducción
#elif L==7 // it
"Nessun documento index.htm/index.html trovato"
" nel file ZIP.";
#elif L==8 // pl
- "Nr pliku index.htm/index.html znalezionych"
- " w ZIP plik.";
+ "Nie znaleziono pliku index.htm/index.html"
+ " w pliku ZIP.";
#elif L==9 // pt
"Um arquivo index.htm/index.html não foi encontrado"
" dentro do arquivo ZIP.";
@@ -31031,7 +31031,7 @@ const char *Txt_Please_enter_your_ID =
#elif L==7 // it
"Per favore, inserisci il tuo ID.";
#elif L==8 // pl
- "Proszę, podać swoje zmień identyfikatory.";
+ "Proszę, podać swoje zmień ID.";
#elif L==9 // pt
"Por favor, digite nº de identificação.";
#endif
@@ -31080,7 +31080,7 @@ const char *Txt_Please_fill_in_your_ID =
" perché facilita il processo di registrazione"
" degli utenti ai corsi.";
#elif L==8 // pl
- "Proszę, wpisz swoje zmień identyfikatory."
+ "Proszę, wpisz swoje zmień ID."
" Jest to opcja danych, ale zaleca się,"
" aby wypełnić go, ponieważ ułatwia proces rejestracji"
" użytkowników w kursach.";
@@ -46510,19 +46510,19 @@ const char *Txt_The_banner_X_has_been_renamed_as_Y = // Warning: it is very impo
#if L==1 // ca
"El banner %s ha passat a anomenar-se %s.";
#elif L==2 // de
- "The Werbebanner %s has been renamed as %s."; // Need Übersetzung
+ "Das Banner %s wurde in %s umbenannt.";
#elif L==3 // en
"The banner %s has been renamed as %s.";
#elif L==4 // es
"El banner %s ha pasado a denominarse %s.";
#elif L==5 // fr
- "The banner %s has been renamed as %s."; // Besoin de traduction
+ "La bannière %s a été renommée en %s.";
#elif L==6 // gn
"El banner %s ha pasado a denominarse %s."; // Okoteve traducción
#elif L==7 // it
"Il banner %s è stato rinominato come %s.";
#elif L==8 // pl
- "The banner %s has been renamed as %s."; // Potrzebujesz tlumaczenie
+ "Baner %s został przemianowany na %s.";
#elif L==9 // pt
"O banner %s foi renomeado como %s.";
#endif
@@ -47339,11 +47339,11 @@ const char *Txt_The_degree_X_already_exists = // Warning: it is very important t
const char *Txt_The_degree_X_has_been_moved_to_the_center_Y = // Warning: it is very important to include two %s in the following sentences
#if L==1 // ca
- "La titulación %s se ha movido"
- " al centro %s."; // Necessita traducció
+ "La titulació %s s'ha traslladat"
+ " al centre %s.";
#elif L==2 // de
- "The degree %s has been moved"
- " to the center %s."; // Need Übersetzung
+ "Der Grad %s wurde"
+ " in die Mitte %s verschoben.";
#elif L==3 // en
"The degree %s has been moved"
" to the center %s.";
@@ -47351,8 +47351,8 @@ const char *Txt_The_degree_X_has_been_moved_to_the_center_Y = // Warning: it is
"La titulación %s se ha movido"
" al centro %s.";
#elif L==5 // fr
- "The degree %s has been moved"
- " to the center %s."; // Besoin de traduction
+ "L'étude %s a été déplacé"
+ " vers le centre %s.";
#elif L==6 // gn
"La titulación %s se ha movido"
" al centro %s."; // Okoteve traducción
@@ -47360,8 +47360,8 @@ const char *Txt_The_degree_X_has_been_moved_to_the_center_Y = // Warning: it is
"La laurea %s è stata spostata"
" al centro %s.";
#elif L==8 // pl
- "The degree %s has been moved"
- " to the center %s."; // Potrzebujesz tlumaczenie
+ "Stopień %s został przesunięty"
+ " do środka %s.";
#elif L==9 // pt
"O grau %s foi movido"
" para o centro %s.";
@@ -47471,11 +47471,11 @@ const char *Txt_The_email_X_has_been_confirmed = // Warning: it is very importan
const char *Txt_The_email_address_entered_X_is_not_valid = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "La dirección de correo introducida"
- " %s no es válida."; // Necessita traducció
+ "L'adreça electrònica introduïda"
+ " %s no és vàlida.";
#elif L==2 // de
- "The email address entered"
- " %s is not valid."; // Need Übersetzung
+ "Die eingegebene E-Mail-Adresse"
+ " %s ist ungültig.";
#elif L==3 // en
"The email address entered"
" %s is not valid.";
@@ -47483,8 +47483,8 @@ const char *Txt_The_email_address_entered_X_is_not_valid = // Warning: it is ver
"La dirección de correo introducida"
" %s no es válida.";
#elif L==5 // fr
- "The email address entered"
- " %s is not valid."; // Besoin de traduction
+ "L'adresse e-mail saisie"
+ " %s n'est pas valide.";
#elif L==6 // gn
"La dirección de correo introducida"
" %s no es válida."; // Okoteve traducción
@@ -47492,8 +47492,8 @@ const char *Txt_The_email_address_entered_X_is_not_valid = // Warning: it is ver
"Il email immesso"
" %s non è valido.";
#elif L==8 // pl
- "The email address entered"
- " %s is not valid."; // Potrzebujesz tlumaczenie
+ "Wpisany adres e-mail"
+ " %s jest nieprawidłowy.";
#elif L==9 // pt
"O endereço de email inserido"
" %s não é válido.";
@@ -47663,42 +47663,42 @@ const char *Txt_The_email_domain_X_has_not_changed = // Warning: it is very impo
const char *Txt_The_enrolment_of_students_into_groups_of_type_X_is_now_mandatory = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "La adscripción de estudiantes a grupos del tipo %s ahora es obligatoria."; // Necessita traducció
+ "L'adscripció d'estudiants a grups del tipus %s ara és obligatòria.";
#elif L==2 // de
- "The enrolment of students into groups of type %s is now mandatory."; // Need Übersetzung
+ "Die Einschreibung von Studierenden in Gruppen des Typs %s ist nun verpflichtend.";
#elif L==3 // en
"The enrolment of students into groups of type %s is now mandatory.";
#elif L==4 // es
"La adscripción de estudiantes a grupos del tipo %s ahora es obligatoria.";
#elif L==5 // fr
- "The enrolment of students into groups of type %s is now mandatory."; // Besoin de traduction
+ "L'inscription des étudiants dans les groupes de type %s est désormais obligatoire."; // Besoin de traduction
#elif L==6 // gn
"La adscripción de estudiantes a grupos del tipo %s ahora es obligatoria."; // Okoteve traducción
#elif L==7 // it
"La registrazione di studenti nei gruppi di tipo %s è ora obbligatoria.";
#elif L==8 // pl
- "The enrolment of students into groups of type %s is now mandatory."; // Potrzebujesz tlumaczenie
+ "Zapis uczniów do grup typu %s jest teraz obowiązkowy.";
#elif L==9 // pt
"A inscrição de alunos em grupos do tipo %s é agora obrigatória.";
#endif
const char *Txt_The_enrolment_of_students_into_groups_of_type_X_is_now_voluntary = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "La adscripción de estudiantes a grupos del tipo %s ahora es voluntaria."; // Necessita traducció
+ "L'adscripció d'estudiants a grups del tipus %s ara és voluntària.";
#elif L==2 // de
- "The enrolment of students into groups of type %s is now voluntary."; // Need Übersetzung
+ "Die Einschreibung von Studierenden in Gruppen des Typs %s ist nun freiwillig.";
#elif L==3 // en
"The enrolment of students into groups of type %s is now voluntary.";
#elif L==4 // es
"La adscripción de estudiantes a grupos del tipo %s ahora es voluntaria.";
#elif L==5 // fr
- "The enrolment of students into groups of type %s is now voluntary."; // Besoin de traduction
+ "L'inscription des étudiants dans les groupes de type %s est désormais volontaire.";
#elif L==6 // gn
"La adscripción de estudiantes a grupos del tipo %s ahora es voluntaria."; // Okoteve traducción
#elif L==7 // it
"La registrazione di studenti nei gruppi di tipo %s è ora volontaria.";
#elif L==8 // pl
- "The enrolment of students into groups of type %s is now voluntary."; // Potrzebujesz tlumaczenie
+ "Zapisy uczniów do grup typu %s są teraz dobrowolne.";
#elif L==9 // pt
"A inscrição de estudantes em grupos do tipo %s é agora voluntária.";
#endif
@@ -48386,7 +48386,7 @@ const char *Txt_The_ID_is_used_in_order_to_facilitate_ =
"Identyfikator jest używany w celu ułatwienia"
" rejestracji w kursach"
" i skonsultuje znaków."
- " Jeśli istnieje wiele wersji identyfikatora"
+ " Jeśli istnieje wiele wersji ID"
" (np. Z lub bez litery),"
" wypisać wszystkie wersje.";
#elif L==9 // pt
@@ -48400,7 +48400,7 @@ const char *Txt_The_ID_is_used_in_order_to_facilitate_ =
const char *Txt_The_ID_nickname_or_email_X_is_not_valid = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El @nick, el correu electrònic o l'ID %s no és vàlid.";
+ "El @nick, el correu electrònic o l'ID (DNI/cèdula) %s no és vàlid.";
#elif L==2 // de
"Der @nick, die E-Mail-Adresse oder die ID %s ist ungültig.";
#elif L==3 // en
@@ -48414,14 +48414,14 @@ const char *Txt_The_ID_nickname_or_email_X_is_not_valid = // Warning: it is very
#elif L==7 // it
"Il @nome-utente, email o ID %s non è valido.";
#elif L==8 // pl
- "@nick, e-mail lub identyfikator %s jest nieprawidłowy.";
+ "@nick, e-mail lub ID %s jest nieprawidłowy.";
#elif L==9 // pt
"O @nick, email ou ID %s não é válido.";
#endif
const char *Txt_The_ID_X_matches_one_of_the_existing = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "L'ID %s"
+ "L'ID (DNI/cèdula) %s"
" coincideix amb un dels existents.";
#elif L==2 // de
"Die ID %s"
@@ -48474,40 +48474,40 @@ const char *Txt_The_institution_X_has_been_renamed_as_Y = // Warning: it is very
#if L==1 // ca
"La institució %s ha passat a anomenar-se %s.";
#elif L==2 // de
- "The institution %s has been renamed as %s."; // Need Übersetzung
+ "Die Institution %s wurde in %s umbenannt.";
#elif L==3 // en
"The institution %s has been renamed as %s.";
#elif L==4 // es
"La institución %s ha pasado a denominarse %s.";
#elif L==5 // fr
- "The institution %s has been renamed as %s."; // Besoin de traduction
+ "L'institution %s a été renommée %s.";
#elif L==6 // gn
"La institución %s ha pasado a denominarse %s."; // Okoteve traducción
#elif L==7 // it
"L'istituzione %s è stata rinominata %s.";
#elif L==8 // pl
- "The institution %s has been renamed as %s."; // Potrzebujesz tlumaczenie
+ "Instytucja %s została przemianowana na %s.";
#elif L==9 // pt
"A instituição %s foi renomeada como %s.";
#endif
const char *Txt_The_institution_of_the_center_has_changed =
#if L==1 // ca
- "La institución del centro ha cambiado."; // Necessita traducció
+ "La institució del centre ha canviat.";
#elif L==2 // de
- "The institution of the center has changed."; // Need Übersetzung
+ "Die Institution des Zentrums hat sich geändert.";
#elif L==3 // en
"The institution of the center has changed.";
#elif L==4 // es
"La institución del centro ha cambiado.";
#elif L==5 // fr
- "The institution of the center ."; // Besoin de traduction
+ "L'institution du centre a changé.";
#elif L==6 // gn
"La institución del centro ha cambiado."; // Okoteve traducción
#elif L==7 // it
"L'istituzione del centro è cambiata.";
#elif L==8 // pl
- "The institution of the center has changed."; // Potrzebujesz tlumaczenie
+ "Zmieniła się instytucja ośrodka.";
#elif L==9 // pt
"A instituição do centro mudou.";
#endif
@@ -48535,11 +48535,11 @@ const char *Txt_The_institution_of_the_department_has_changed =
const char *Txt_The_institutional_code_of_the_course_X_has_changed_to_Y = // Warning: it is very important to include two %s in the following sentences
#if L==1 // ca
- "El código institucional de la asignatura %s"
- " ha cambiado a %s."; // Necessita traducció
+ "El codi institucional de l'assignatura %s"
+ " ha canviat a %s.";
#elif L==2 // de
- "The institutional code of the course %s"
- " has changed to %s ."; // Need Übersetzung
+ "Der Institutionscode des Studiengangs %s"
+ " hat sich in %s geändert.";
#elif L==3 // en
"The institutional code of the course %s"
" has changed to %s.";
@@ -48547,8 +48547,8 @@ const char *Txt_The_institutional_code_of_the_course_X_has_changed_to_Y = // War
"El código institucional de la asignatura %s"
" ha cambiado a %s.";
#elif L==5 // fr
- "The institutional code of the course %s"
- " has changed to %s."; // Besoin de traduction
+ "Le code institutionnel de la matière %s"
+ " est devenu %s.";
#elif L==6 // gn
"El código institucional de la asignatura %s"
" ha cambiado a %s."; // Okoteve traducción
@@ -48556,8 +48556,8 @@ const char *Txt_The_institutional_code_of_the_course_X_has_changed_to_Y = // War
"Il codice istituzionale del corso %s"
" è cambiato a %s.";
#elif L==8 // pl
- "The institutional code of the course %s"
- " has changed to %s."; // Potrzebujesz tlumaczenie
+ "Kod instytucjonalny kursu %s"
+ " został zmieniony na %s.";
#elif L==9 // pt
"O código institucional da disciplina %s"
" mudou para %s.";
@@ -48565,21 +48565,21 @@ const char *Txt_The_institutional_code_of_the_course_X_has_changed_to_Y = // War
const char *Txt_The_institutional_code_of_the_course_X_has_not_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El código institucional de la asignatura %s no ha cambiado."; // Necessita traducció
+ "El codi institucional de l'assignatura %s no ha canviat.";
#elif L==2 // de
- "The institutional code of the course %s has not changed."; // Need Übersetzung
+ "Der Hochschulcode des Studiengangs %s hat sich nicht ge&aauml;ndert.";
#elif L==3 // en
"The institutional code of the course %s has not changed.";
#elif L==4 // es
"El código institucional de la asignatura %s no ha cambiado.";
#elif L==5 // fr
- "The institutional code of the course %s has not changed."; // Besoin de traduction
+ "Le code institutionnel de la matière %s n'a pas changé.";
#elif L==6 // gn
"El código institucional de la asignatura %s no ha cambiado."; // Okoteve traducción
#elif L==7 // it
"Il codice istituzionale del corso %s non è cambiato.";
#elif L==8 // pl
- "The institutional code of the course %s has not changed."; // Potrzebujesz tlumaczenie
+ "Kod instytucjonalny kursu %s nie uległ zmianie.";
#elif L==9 // pt
"O código institucional da disciplina %s não mudou.";
#endif
@@ -48660,19 +48660,19 @@ const char *Txt_The_link_X_has_been_renamed_as_Y = // Warning: it is very import
#if L==1 // ca
"L'enllaç %s ha passat a anomenar-se %s.";
#elif L==2 // de
- "The link %s has been renamed as %s."; // Need Übersetzung
+ "Der Link %s wurde in %s umbenannt.";
#elif L==3 // en
"The link %s has been renamed as %s.";
#elif L==4 // es
"El enlace %s ha pasado a denominarse %s.";
#elif L==5 // fr
- "The link %s has been renamed as %s."; // Besoin de traduction
+ "Le lien %s a été renommé en %s.";
#elif L==6 // gn
"El enlace %s ha pasado a denominarse %s."; // Okoteve traducción
#elif L==7 // it
"Il link %s è stato rinominato come %s.";
#elif L==8 // pl
- "The link %s has been renamed as %s."; // Potrzebujesz tlumaczenie
+ "Link %s został przemianowany na %s.";
#elif L==9 // pt
"O link %s foi renomeado como %s.";
#endif
@@ -48903,19 +48903,19 @@ const char *Txt_The_message_has_not_been_sent_to_any_recipient =
#if L==1 // ca
"El missatge no ha estat enviat a cap destinatari.";
#elif L==2 // de
- "The message has not been sent to any recipient."; // Need Übersetzung
+ "Die Nachricht wurde an keinen Empfänger gesendet.";
#elif L==3 // en
"The message has not been sent to any recipient.";
#elif L==4 // es
"El mensaje no se ha enviado a ningún destinatario.";
#elif L==5 // fr
- "The message has not been sent to any recipient."; // Besoin de traduction
+ "Le message n'a été envoyé à aucun destinataire.";
#elif L==6 // gn
"El mensaje no se ha enviado a ningún destinatario."; // Okoteve traducción
#elif L==7 // it
"Il messaggio non è stato inviato a nessun destinatario.";
#elif L==8 // pl
- "The message has not been sent to any recipient."; // Potrzebujesz tlumaczenie
+ "Wiadomość nie została wysłana do żadnego adresata.";
#elif L==9 // pt
"A mensagem não foi enviada para nenhum destinatário.";
#endif
@@ -49006,21 +49006,21 @@ const char *Txt_The_new_application_key_is_X = // Warning: it is very important
const char *Txt_The_new_IP_address_is_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "La nueva dirección IP es %s."; // Necessita traducció
+ "La nova adreça IP és %s.";
#elif L==2 // de
- "The new IP address is %s."; // Need Übersetzung
+ "Die neue IP-Adresse ist %s.";
#elif L==3 // en
"The new IP address is %s.";
#elif L==4 // es
"La nueva dirección IP es %s.";
#elif L==5 // fr
- "The new IP address is %s."; // Besoin de traduction
+ "La nouvelle adresse IP est %s.";
#elif L==6 // gn
"La nueva dirección IP es %s."; // Okoteve traducción
#elif L==7 // it
"Il nuovo indirizzo IP è %s.";
#elif L==8 // pl
- "The new IP address is %s."; // Potrzebujesz tlumaczenie
+ "Nowy adres IP to %s.";
#elif L==9 // pt
"O novo endereço IP é %s.";
#endif
@@ -49413,21 +49413,21 @@ const char *Txt_The_number_of_rows_is_now_X = // Warning: it is very important t
const char *Txt_The_numerical_code_X_already_exists = // Warning: it is very important to include %03lu in the following sentences
#if L==1 // ca
- "El código numérico ISO 3166-1 %03ld ya existe."; // Necessita traducció
+ "El codi numèric ISO 3166-1 %03ld ja existeix.";
#elif L==2 // de
- "The ISO 3166-1 numerical code %03ld already exists."; // Need Übersetzung
+ "Der ISO 3166-1 Zahlencode %03ld existiert bereits.";
#elif L==3 // en
"The ISO 3166-1 numerical code %03ld already exists.";
#elif L==4 // es
"El código numérico ISO 3166-1 %03ld ya existe.";
#elif L==5 // fr
- "The ISO 3166-1 numerical code %03ld already exists."; // Besoin de traduction
+ "Le code numérique %03ld ISO 3166-1 existe déjà.";
#elif L==6 // gn
"El código numérico ISO 3166-1 %03ld ya existe."; // Okoteve traducción
#elif L==7 // it
"Il codice numerico ISO 3166-1 %03ld già esiste.";
#elif L==8 // pl
- "The ISO 3166-1 numerical code %03ld already exists."; // Potrzebujesz tlumaczenie
+ "Kod numeryczny %03ld ISO 3166-1 już istnieje.";
#elif L==9 // pt
"O código numérico %03ld da ISO 3166-1 já existe.";
#endif
@@ -49476,11 +49476,11 @@ const char *Txt_The_post_no_longer_exists =
const char *Txt_The_password_can_not_consist_only_of_digits =
#if L==1 // ca
- "La contraseña no puede estar formada"
- " solo por dígitos."; // Necessita traducció
+ "La contrasenya no pot constar"
+ " només de dígits.";
#elif L==2 // de
- "The password can not consist"
- " only of digits."; // Need Übersetzung
+ "Das Passwort darf nicht"
+ " nur aus Ziffern bestehen.";
#elif L==3 // en
"The password can not consist"
" only of digits.";
@@ -49488,8 +49488,8 @@ const char *Txt_The_password_can_not_consist_only_of_digits =
"La contraseña no puede estar formada"
" solo por dígitos.";
#elif L==5 // fr
- "The password can not consist"
- " only of digits."; // Besoin de traduction
+ "Le mot de passe ne peut pas être composé"
+ " uniquement de chiffres.";
#elif L==6 // gn
"La contraseña no puede estar formada"
" solo por dígitos."; // Okoteve traducción
@@ -49497,8 +49497,8 @@ const char *Txt_The_password_can_not_consist_only_of_digits =
"La password non può consistere"
" solo di numeri.";
#elif L==8 // pl
- "The password can not consist"
- " only of digits."; // Potrzebujesz tlumaczenie
+ "Hasło nie może składać"
+ " się wyłącznie z cyfr.";
#elif L==9 // pt
"A senha não pode consistir"
" apenas em dígitos.";
@@ -49506,32 +49506,32 @@ const char *Txt_The_password_can_not_consist_only_of_digits =
const char *Txt_The_password_can_not_contain_spaces =
#if L==1 // ca
- "La contraseña no puede tener espacios."; // Necessita traducció
+ "La contrasenya no pot contenir espais.";
#elif L==2 // de
- "The password can not contain spaces."; // Need Übersetzung
+ "Das Passwort darf keine Leerzeichen enthalten.";
#elif L==3 // en
"The password can not contain spaces.";
#elif L==4 // es
"La contraseña no puede tener espacios.";
#elif L==5 // fr
- "The password can not contain spaces."; // Besoin de traduction
+ "Le mot de passe ne peut pas contenir d'espaces.";
#elif L==6 // gn
"La contraseña no puede tener espacios."; // Okoteve traducción
#elif L==7 // it
"La password non può contenere spazi.";
#elif L==8 // pl
- "The password can not contain spaces."; // Potrzebujesz tlumaczenie
+ "Hasło nie może zawierać spacji.";
#elif L==9 // pt
"A senha não pode conter espaços.";
#endif
const char *Txt_The_password_is_too_trivial_ =
#if L==1 // ca
- "La contraseña es demasiado fácil."
- " Use otra más difícil de averiguar."; // Necessita traducció
+ "La contrasenya és massa fàcil."
+ " Feu servir una altra més difícil d'esbrinar.";
#elif L==2 // de
- "The password is too trivial."
- " Use other harder to guess."; // Need Übersetzung
+ "Das Passwort ist zu trivial."
+ " Verwenden Sie andere schwerer zu erraten.";
#elif L==3 // en
"The password is too trivial."
" Use other harder to guess.";
@@ -49539,8 +49539,8 @@ const char *Txt_The_password_is_too_trivial_ =
"La contraseña es demasiado fácil."
" Use otra más difícil de averiguar.";
#elif L==5 // fr
- "The password is too trivial."
- " Use other harder to guess."; // Besoin de traduction
+ "Le mot de passe est trop trivial."
+ " Utilisez d'autres plus difficiles à deviner.";
#elif L==6 // gn
"La contraseña es demasiado fácil."
" Use otra más difícil de averiguar."; // Okoteve traducción
@@ -49548,8 +49548,8 @@ const char *Txt_The_password_is_too_trivial_ =
"La password è troppo semplice."
" Utilizza un'altra più difficile da individuare.";
#elif L==8 // pl
- "The password is too trivial."
- " Use other harder to guess."; // Potrzebujesz tlumaczenie
+ "Hasło jest zbyt trywialne."
+ " Użyj innych, trudniejszych do odgadnięcia.";
#elif L==9 // pt
"A senha é muito trivial."
" Use outro mais difícil de adivinhar.";
@@ -49557,42 +49557,42 @@ const char *Txt_The_password_is_too_trivial_ =
const char *Txt_The_password_must_be_at_least_X_characters = // Warning: it is very important to include %u in the following sentences
#if L==1 // ca
- "La contraseña ha de tener al menos %u caracteres."; // Necessita traducció
+ "La contrasenya ha de tenir com a mínim %u caràcters.";
#elif L==2 // de
- "The password must be at least %u characters."; // Need Übersetzung
+ "Das Passwort muss mindestens %u Zeichen lang sein.";
#elif L==3 // en
"The password must be at least %u characters.";
#elif L==4 // es
"La contraseña ha de tener al menos %u caracteres.";
#elif L==5 // fr
- "The password must be at least %u characters."; // Besoin de traduction
+ "Le mot de passe doit comporter au moins %u caractères.";
#elif L==6 // gn
"La contraseña ha de tener al menos %u caracteres."; // Okoteve traducción
#elif L==7 // it
"La password dovrebbe essere di almeno %u caratteri.";
#elif L==8 // pl
- "The password must be at least %u characters."; // Potrzebujesz tlumaczenie
+ "Hasło musi mieć co najmniej %u znaków.";
#elif L==9 // pt
"A senha deve ter pelo menos %u caracteres.";
#endif
const char *Txt_The_password_has_been_changed_successfully =
#if L==1 // ca
- "La contraseña se ha modificado con éxito."; // Necessita traducció
+ "La contrasenya s'ha canviat correctament.";
#elif L==2 // de
- "The password has been changed successfully."; // Need Übersetzung
+ "Das Passwort wurde erfolgreich geändert.";
#elif L==3 // en
"The password has been changed successfully.";
#elif L==4 // es
"La contraseña se ha modificado con éxito.";
#elif L==5 // fr
- "The %password has been changed successfully."; // Besoin de traduction
+ "Le mot de passe a été changé avec succès.";
#elif L==6 // gn
"La contraseña se ha modificado con éxito."; // Okoteve traducción
#elif L==7 // it
"La password è stata cambiata con successo.";
#elif L==8 // pl
- "The password has been changed successfully."; // Potrzebujesz tlumaczenie
+ "Hasło zostało pomyślnie zmienione.";
#elif L==9 // pt
"A senha foi alterada com sucesso.";
#endif
@@ -49662,21 +49662,21 @@ const char *Txt_The_place_of_the_center_has_changed =
const char *Txt_The_place_of_the_holiday_X_has_changed_to_Y = // Warning: it is very important to include two %s in the following sentences
#if L==1 // ca
- "El lugar de la festividad %s ha cambiado a %s."; // Necessita traducció
+ "El lloc de les vacances %s ha canviat a %s.";
#elif L==2 // de
- "The place of the holiday %s has changed to %s."; // Need Übersetzung
+ "Der Ort des Feiertags %s hat sich zu %s geändert.";
#elif L==3 // en
"The place of the holiday %s has changed to %s.";
#elif L==4 // es
"El lugar de la festividad %s ha cambiado a %s.";
#elif L==5 // fr
- "The place of the holiday %s has changed to %s."; // Besoin de traduction
+ "Le lieu de la fête %s a changé en %s.";
#elif L==6 // gn
"El lugar de la festividad %s ha cambiado a %s."; // Okoteve traducción
#elif L==7 // it
"Il luogo della festività %s è cambiato a %s.";
#elif L==8 // pl
- "The place of the holiday %s has changed to %s."; // Potrzebujesz tlumaczenie
+ "Miejsce święta %s zmieniło się na %s.";
#elif L==9 // pt
"A localização do feriado %s mudou para %s.";
#endif
@@ -49706,19 +49706,19 @@ const char *Txt_The_plugin_X_has_been_renamed_as_Y = // Warning: it is very impo
#if L==1 // ca
"El complement %s ha passat a anomenar-se %s.";
#elif L==2 // de
- "The plugin %s has been renamed as %s."; // Need Übersetzung
+ "Das Plugin %s wurde in %s umbenannt.";
#elif L==3 // en
"The plugin %s has been renamed as %s.";
#elif L==4 // es
"El complemento %s ha pasado a denominarse %s.";
#elif L==5 // fr
- "The plugin %s has been renamed as %s."; // Besoin de traduction
+ "Le plugin %s a été renommé en %s.";
#elif L==6 // gn
"El complemento %s ha pasado a denominarse %s."; // Okoteve traducción
#elif L==7 // it
"Il plugin %s è stato rinominato come %s.";
#elif L==8 // pl
- "The plugin %s has been renamed as %s."; // Potrzebujesz tlumaczenie
+ "Wtyczka %s została przemianowana na %s.";
#elif L==9 // pt
"O plugin %s foi renomeado como %s.";
#endif
@@ -49790,19 +49790,19 @@ const char *Txt_The_record_field_X_has_been_renamed_as_Y = // Warning: it is ver
#if L==1 // ca
"El camp de fitxa %s ha passat a anomenar-se %s.";
#elif L==2 // de
- "The record field %s has been renamed as %s."; // Need Übersetzung
+ "Das Datensatzfeld %s wurde in %s umbenannt.";
#elif L==3 // en
"The record field %s has been renamed as %s.";
#elif L==4 // es
"El campo de ficha %s ha pasado a denominarse %s.";
#elif L==5 // fr
- "The record field %s has been renamed as %s."; // Besoin de traduction
+ "Le champ de carte %s a été renommé en %s.";
#elif L==6 // gn
"El campo de ficha %s ha pasado a denominarse %s."; // Okoteve traducción
#elif L==7 // it
"Il campo di scheda %s è stato rinominato come %s.";
#elif L==8 // pl
- "The record field %s has been renamed as %s."; // Potrzebujesz tlumaczenie
+ "Nazwa pola rekordu %s została zmieniona na %s.";
#elif L==9 // pt
"O campo de cartão %s foi renomeado como %s.";
#endif
@@ -49811,7 +49811,7 @@ const char *Txt_The_requested_group_changes_were_successful =
#if L==1 // ca
"Els canvis de grup sol·licitats s'han realitzat correctament.";
#elif L==2 // de
- "The requested group changes were successful."; // Need Übersetzung
+ "Die angeforderten Gruppenänderungen waren erfolgreich.";
#elif L==3 // en
"The requested group changes were successful.";
#elif L==4 // es
@@ -49823,20 +49823,20 @@ const char *Txt_The_requested_group_changes_were_successful =
#elif L==7 // it
"I cambiamenti di gruppi richieste hanno avuto successo.";
#elif L==8 // pl
- "The requested group changes were successful."; // Potrzebujesz tlumaczenie
+ "Żądane zmiany grupy powiodły się.";
#elif L==9 // pt
"As alterações do grupo solicitadas foram bem sucedidas.";
#endif
const char *Txt_The_role_of_THE_USER_X_in_the_course_Y_has_changed_from_A_to_B = // Warning: it is very important to include four %s in the following sentences
#if L==1 // ca
- "El rol de %s"
- " en la asignatura %s"
- " ha cambiado de %s a %s."; // Necessita traducció
+ "El paper de %s"
+ " a l'assignatura %s"
+ " ha canviat de %s a %s.";
#elif L==2 // de
- "The role of %s"
- " in the course %s"
- " has changed from %s to %s."; // Need Übersetzung
+ "Die Rolle von %s"
+ " im Kurs %s"
+ " hat sich von %s nach %s geändert.";
#elif L==3 // en
"The role of %s"
" in the course %s"
@@ -49846,9 +49846,9 @@ const char *Txt_The_role_of_THE_USER_X_in_the_course_Y_has_changed_from_A_to_B =
" en la asignatura %s"
" ha cambiado de %s a %s.";
#elif L==5 // fr
- "The role of %s"
- " in the course %s"
- " has changed from %s to %s."; // Besoin de traduction
+ "Le rôle de %s"
+ " dans la matière %s"
+ " est passé de %s à %s.";
#elif L==6 // gn
"El rol de %s"
" en la asignatura %s"
@@ -49858,9 +49858,9 @@ const char *Txt_The_role_of_THE_USER_X_in_the_course_Y_has_changed_from_A_to_B =
" nel corso %s"
" è cambiato da %s a %s.";
#elif L==8 // pl
- "The role of %s"
- " in the course %s"
- " has changed from %s to %s."; // Potrzebujesz tlumaczenie
+ "Rola %s"
+ " w kursie %s"
+ " zmieniła się z %s na %s.";
#elif L==9 // pt
"O papel de %s"
" na disciplina %s"
@@ -49953,11 +49953,11 @@ const char *Txt_The_room_assigned_to_the_group_X_has_changed =
const char *Txt_The_X_students_who_belonged_to_the_course_Y_have_been_removed_from_it = // Warning: it is very important to include %u and %s in the following sentences
#if L==1 // ca
- "Se han eliminado los %u estudiantes que había"
- " en la asignatura %s."; // Necessita traducció
+ "Els %u estudiants que pertanyien a l'assignatura %s"
+ " n'han estat eliminats.";
#elif L==2 // de
- "The %u students who belonged"
- " to the course %s have been removed from it."; // Need Übersetzung
+ "Die %u Schüler des Kurses %s"
+ " wurden daraus entfernt.";
#elif L==3 // en
"The %u students who belonged"
" to the course %s have been removed from it.";
@@ -49965,17 +49965,17 @@ const char *Txt_The_X_students_who_belonged_to_the_course_Y_have_been_removed_fr
"Se han eliminado los %u estudiantes que había"
" en la asignatura %s.";
#elif L==5 // fr
- "The %u students who belonged"
- " to the course %s have been removed from it."; // Besoin de traduction
+ "Les %u étudiants qui appartenaient a la matière %s"
+ " en ont été retirés.";
#elif L==6 // gn
"Se han eliminado los %u estudiantes que había"
- " en la asignatura %s."; // Okoteve traducción
+ " en la asignatura %s."; // Okoteve traducción
#elif L==7 // it
"Gli %u studenti che appartengono"
" al corso %s sono stati rimossi da esso.";
#elif L==8 // pl
- "The %u students who belonged"
- " to the course %s have been removed from it."; // Potrzebujesz tlumaczenie
+ "%u uczniów, którzy należeli do kursu %s,"
+ " zostało z niego usuniętych.";
#elif L==9 // pt
"Os %u estudantes que pertenceram"
" à disciplina %s foram removidos dela.";
@@ -50078,82 +50078,82 @@ const char *Txt_The_status_of_the_center_X_has_changed = // Warning: it is very
#if L==1 // ca
"L'estat del centre %s ha canviat.";
#elif L==2 // de
- "The status of the center %s has changed."; // Need Übersetzung
+ "Der Status des Zentrums %s hat sich geändert.";
#elif L==3 // en
"The status of the center %s has changed.";
#elif L==4 // es
"El estado del centro %s ha cambiado.";
#elif L==5 // fr
- "The status of the center %s has changed."; // Besoin de traduction
+ "Le statut du centre %s a changé.";
#elif L==6 // gn
"El estado del centro %s ha cambiado."; // Okoteve traducción
#elif L==7 // it
"Il stato del centro %s è cambiato.";
#elif L==8 // pl
- "The status of the center %s has changed."; // Potrzebujesz tlumaczenie
+ "Zmienił się status centrum %s.";
#elif L==9 // pt
"O status do centro %s foi alterado.";
#endif
const char *Txt_The_status_of_the_course_X_has_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El estado de la asignatura %s ha cambiado."; // Necessita traducció
+ "L'estat de la assignatura %s ha canviat.";
#elif L==2 // de
- "The status of the course %s has changed."; // Need Übersetzung
+ "Der Status des Kurses %s hat sich geändert.";
#elif L==3 // en
"The status of the course %s has changed.";
#elif L==4 // es
"El estado de la asignatura %s ha cambiado.";
#elif L==5 // fr
- "The status of the course %s has changed."; // Besoin de traduction
+ "Le statut de la matière %s a changé.";
#elif L==6 // gn
"El estado de la asignatura %s ha cambiado."; // Okoteve traducción
#elif L==7 // it
"Il stato del corso %s è cambiato.";
#elif L==8 // pl
- "The status of the course %s has changed."; // Potrzebujesz tlumaczenie
+ "Zmienił się status kursu %s.";
#elif L==9 // pt
- "O status do curso %s mudou.";
+ "O status do curso %s foi alterado.";
#endif
const char *Txt_The_status_of_the_degree_X_has_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El estado de la titulación %s ha cambiado."; // Necessita traducció
+ "L'estat de la titulació %s ha canviat.";
#elif L==2 // de
- "The status of the degree %s has changed."; // Need Übersetzung
+ "Der Status des Studiengangs %s hat sich geändert.";
#elif L==3 // en
"The status of the degree %s has changed.";
#elif L==4 // es
"El estado de la titulación %s ha cambiado.";
#elif L==5 // fr
- "The status of the degree %s has changed."; // Besoin de traduction
+ "Le statut de l'étude %s a changé.";
#elif L==6 // gn
"El estado de la titulación %s ha cambiado."; // Okoteve traducción
#elif L==7 // it
"Il stato della laurea %s è cambiato.";
#elif L==8 // pl
- "The status of the degree %s has changed."; // Potrzebujesz tlumaczenie
+ "Zmienił się status stopnia %s.";
#elif L==9 // pt
"O status do grau %s foi alterado.";
#endif
const char *Txt_The_status_of_the_institution_X_has_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El estado de la institución %s ha cambiado."; // Necessita traducció
+ "L'estat de la institució %s ha canviat.";
#elif L==2 // de
- "The status of the institution %s has changed."; // Need Übersetzung
+ "Der Status des Institution %s hat sich geändert.";
#elif L==3 // en
"The status of the institution %s has changed.";
#elif L==4 // es
"El estado de la institución %s ha cambiado.";
#elif L==5 // fr
- "The status of the institution %s has changed."; // Besoin de traduction
+ "Le statut de l'institution %s a changé.";
#elif L==6 // gn
"El estado de la institución %s ha cambiado."; // Okoteve traducción
#elif L==7 // it
"Il stato della istituzione %s è cambiato.";
#elif L==8 // pl
- "The status of the institution %s has changed."; // Potrzebujesz tlumaczenie
+ "Zmienił się status instytucji %s.";
#elif L==9 // pt
"O status da instituição %s mudou.";
#endif
@@ -50183,61 +50183,61 @@ const char *Txt_The_tag_X_has_been_renamed_as_Y = // Warning: it is very importa
#if L==1 // ca
"El descriptor %s ha passat a anomenar-se %s.";
#elif L==2 // de
- "The tag %s has been renamed as %s."; // Need Übersetzung
+ "Das Tag %s wurde in %s umbenannt.";
#elif L==3 // en
"The tag %s has been renamed as %s.";
#elif L==4 // es
"El descriptor %s ha pasado a denominarse %s.";
#elif L==5 // fr
- "The tag %s has been renamed as %s."; // Besoin de traduction
+ "Le descripteur %s a été renommé en %s.";
#elif L==6 // gn
"El descriptor %s ha pasado a denominarse %s."; // Okoteve traducción
#elif L==7 // it
"L'etichetta %s è stata rinominata come %s.";
#elif L==8 // pl
- "The tag %s has been renamed as %s."; // Potrzebujesz tlumaczenie
+ "Nazwa tagu %s została zmieniona na %s.";
#elif L==9 // pt
"O descritor %s foi renomeado como %s.";
#endif
const char *Txt_The_tag_X_has_not_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El descriptor %s no ha cambiado."; // Necessita traducció
+ "El descriptor %s no ha canviat.";
#elif L==2 // de
- "The tag %s has not changed."; // Need Übersetzung
+ "Das Tag %s hat sich nicht geändert.";
#elif L==3 // en
"The tag %s has not changed.";
#elif L==4 // es
"El descriptor %s no ha cambiado.";
#elif L==5 // fr
- "The tag %s has not changed."; // Besoin de traduction
+ "Le descripteur %s n'a pas changé.";
#elif L==6 // gn
"El descriptor %s no ha cambiado."; // Okoteve traducción
#elif L==7 // it
"L'etichetta %s non è cambiata.";
#elif L==8 // pl
- "The tag %s has not changed."; // Potrzebujesz tlumaczenie
+ "Tag %s nie uległ zmianie.";
#elif L==9 // pt
"O descritor %s não foi alterado.";
#endif
const char *Txt_The_test_X_has_already_been_assessed_previously = // Warning: it is very important to include %u in the following sentences
#if L==1 // ca
- "El test %u ya ha sido evaluado anteriormente."; // Necessita traducció
+ "La prova %u ja s'ha avaluat prèviament.";
#elif L==2 // de
- "The test %u has already been assessed previously."; // Need Übersetzung
+ "Test %u został już wcześniej oceniony.";
#elif L==3 // en
"The test %u has already been assessed previously.";
#elif L==4 // es
"El test %u ya ha sido evaluado anteriormente.";
#elif L==5 // fr
- "The test %u has already been assessed previously."; // Besoin de traduction
+ "Le test %u a déjà été évalué précédemment.";
#elif L==6 // gn
"El test %u ya ha sido evaluado anteriormente."; // Okoteve traducción
#elif L==7 // it
"Il test %u è stato valutato precedentemente.";
#elif L==8 // pl
- "The test %u has already been assessed previously."; // Potrzebujesz tlumaczenie
+ "Test %u został już wcześniej oceniony.";
#elif L==9 // pt
"O teste %u já foi avaliado anteriormente.";
#endif
@@ -50265,42 +50265,42 @@ const char *Txt_The_test_configuration_has_been_updated =
const char *Txt_The_thread_is_already_in_this_forum =
#if L==1 // ca
- "La discusión ya está en este foro."; // Necessita traducció
+ "La discussió ja és en aquest fòrum.";
#elif L==2 // de
- "The thread is already in this forum."; // Need Übersetzung
+ "Der Thread ist bereits in diesem Forum.";
#elif L==3 // en
"The thread is already in this forum.";
#elif L==4 // es
"La discusión ya está en este foro.";
#elif L==5 // fr
- "The thread is already in this forum."; // Besoin de traduction
+ "Le fil est déjà dans ce forum.";
#elif L==6 // gn
"La discusión ya está en este foro."; // Okoteve traducción
#elif L==7 // it
"La discussione è già in questo forum.";
#elif L==8 // pl
- "The thread is already in this forum."; // Potrzebujesz tlumaczenie
+ "Wątek jest już na tym forum.";
#elif L==9 // pt
"A discussão já está neste fórum.";
#endif
const char *Txt_The_thread_X_is_already_in_this_forum = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "La discusión %s ya está en este foro."; // Necessita traducció
+ "La discussió %s ja és en aquest fòrum.";
#elif L==2 // de
- "The thread %s is already in this forum."; // Need Übersetzung
+ "Der Thread %s ist bereits in diesem Forum.";
#elif L==3 // en
"The thread %s is already in this forum.";
#elif L==4 // es
"La discusión %s ya está en este foro.";
#elif L==5 // fr
- "The thread %s is already in this forum."; // Besoin de traduction
+ "Le fil %s est déjà dans ce forum.";
#elif L==6 // gn
"La discusión %s ya está en este foro."; // Okoteve traducción
#elif L==7 // it
"La discussione %s è già in questo forum.";
#elif L==8 // pl
- "The thread %s is already in this forum."; // Potrzebujesz tlumaczenie
+ "Wątek %s jest ju˙ na tym forum.";
#elif L==9 // pt
"A discussão %s já está neste fórum.";
#endif
@@ -50351,40 +50351,40 @@ const char *Txt_The_type_of_degree_X_has_been_renamed_as_Y = // Warning: it is v
#if L==1 // ca
"El tipus de titulació %s ha passat a anomenar-se %s.";
#elif L==2 // de
- "The type of degree %s has been renamed as %s."; // Need Übersetzung
+ "Die Abschlussart %s wurde in %s umbenannt.";
#elif L==3 // en
"The type of degree %s has been renamed as %s.";
#elif L==4 // es
"El tipo de titulación %s ha pasado a denominarse %s.";
#elif L==5 // fr
- "The type of degree %s has been renamed as %s."; // Besoin de traduction
+ "Le type de diplôme %s a été renommé en %s.";
#elif L==6 // gn
"El tipo de titulación %s ha pasado a denominarse %s."; // Okoteve traducción
#elif L==7 // it
"Il tipo di laurea %s è stato rinominato come %s.";
#elif L==8 // pl
- "The type of degree %s has been renamed as %s."; // Potrzebujesz tlumaczenie
+ "Rodzaj stopnia %s został przemianowany na %s.";
#elif L==9 // pt
"O tipo de grau %s foi renomeado como %s.";
#endif
const char *Txt_The_type_of_degree_of_the_degree_X_has_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El tipo de titulación de la titulación %s ha cambiado."; // Necessita traducció
+ "El tipus de titulació de la titulació %s ha canviat.";
#elif L==2 // de
- "The type of degree of the degree %s has changed."; // Need Übersetzung
+ "Die Abschlussart des Abschlusses %s hat sich geändert.";
#elif L==3 // en
"The type of degree of the degree %s has changed.";
#elif L==4 // es
"El tipo de titulación de la titulación %s ha cambiado.";
#elif L==5 // fr
- "The type of degree of the degree %s has changed."; // Besoin de traduction
+ "Le type d'étude de l'étude %s a changé.";
#elif L==6 // gn
"El tipo de titulación de la titulación %s ha cambiado."; // Okoteve traducción
#elif L==7 // it
"Il tipo di laurea %s è cambiato.";
#elif L==8 // pl
- "The type of degree of the degree %s has changed."; // Potrzebujesz tlumaczenie
+ "Zmienił się rodzaj stopnia %s stopnia.";
#elif L==9 // pt
"O tipo de grau do grau %s mudou.";
#endif
@@ -50414,61 +50414,61 @@ const char *Txt_The_type_of_group_X_has_been_renamed_as_Y = // Warning: it is ve
#if L==1 // ca
"El tipus de grup %s ha passat a anomenar-se %s.";
#elif L==2 // de
- "The type of group %s has been renamed as %s."; // Need Übersetzung
+ "Der Typ der Gruppe %s wurde in %s umbenannt.";
#elif L==3 // en
"The type of group %s has been renamed as %s.";
#elif L==4 // es
"El tipo de grupo %s ha pasado a denominarse %s.";
#elif L==5 // fr
- "The type of group %s has been renamed as %s."; // Besoin de traduction
+ "Le type de groupe %s a été renommé en %s.";
#elif L==6 // gn
"El tipo de grupo %s ha pasado a denominarse %s."; // Okoteve traducción
#elif L==7 // it
"Il tipo di gruppo %s è stato rinominato come %s.";
#elif L==8 // pl
- "The type of group %s has been renamed as %s."; // Potrzebujesz tlumaczenie
+ "Typ grupy %s został przemianowany na %s.";
#elif L==9 // pt
"O tipo de grupo %s foi renomeado como %s.";
#endif
const char *Txt_The_type_of_group_of_the_group_X_has_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El tipo de grupo del grupo %s ha cambiado."; // Necessita traducció
+ "El tipus de grup del grup %s ha canviat.";
#elif L==2 // de
- "The type of group of the group %s has changed."; // Need Übersetzung
+ "Der Gruppentyp der Gruppe %s hat sich geändert.";
#elif L==3 // en
"The type of group of the group %s has changed.";
#elif L==4 // es
"El tipo de grupo del grupo %s ha cambiado.";
#elif L==5 // fr
- "The type of group of the group %s has changed."; // Besoin de traduction
+ "Le type de groupe du groupe %s a changé.";
#elif L==6 // gn
"El tipo de grupo del grupo %s ha cambiado."; // Okoteve traducción
#elif L==7 // it
"Il tipo di gruppo del gruppo %s è cambiato.";
#elif L==8 // pl
- "The type of group of the group %s has changed."; // Potrzebujesz tlumaczenie
+ "Zmienił się typ grupy grupy %s.";
#elif L==9 // pt
"O tipo de grupo do grupo %s foi alterado.";
#endif
const char *Txt_The_type_of_enrolment_of_the_type_of_group_X_has_not_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El tipo de adscripción del tipo de grupo %s no ha cambiado."; // Necessita traducció
+ "El tipus de matrícula del tipus de grup %s no ha canviat.";
#elif L==2 // de
- "The type of enrolment of the type of group %s has not changed."; // Need Übersetzung
+ "Die Einschreibungsart der Gruppe %s hat sich nicht geändert.";
#elif L==3 // en
"The type of enrolment of the type of group %s has not changed.";
#elif L==4 // es
"El tipo de adscripción del tipo de grupo %s no ha cambiado.";
#elif L==5 // fr
- "The type of enrolment of the type of group %s has not changed."; // Besoin de traduction
+ "Le type d'inscription du type de groupe %s n'a pas changé.";
#elif L==6 // gn
"El tipo de adscripción del tipo de grupo %s no ha cambiado."; // Okoteve traducción
#elif L==7 // it
"Il tipo di registrazione del tipo di gruppo %s non è cambiato.";
#elif L==8 // pl
- "The type of enrolment of the type of group %s has not changed."; // Potrzebujesz tlumaczenie
+ "Rodzaj rejestracji typu grupy %s nie uległ zmianie.";
#elif L==9 // pt
"O tipo de inscrição do tipo de grupo %s não foi alterado.";
#endif
@@ -50517,21 +50517,21 @@ const char *Txt_The_type_of_room_X_is_now_Y = // Warning: it is very important t
const char *Txt_The_type_of_the_holiday_X_has_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El tipo de la festividad %s ha cambiado."; // Necessita traducció
+ "El tipus de vacances %s ha canviat.";
#elif L==2 // de
- "The type of the holiday %s has changed."; // Need Übersetzung
+ "Die Art des Urlaubs %s hat sich geändert.";
#elif L==3 // en
"The type of the holiday %s has changed.";
#elif L==4 // es
"El tipo de la festividad %s ha cambiado.";
#elif L==5 // fr
- "The type of the holiday %s has changed."; // Besoin de traduction
+ "Le type de fête %s a changé.";
#elif L==6 // gn
"El tipo de la festividad %s ha cambiado."; // Okoteve traducción
#elif L==7 // it
"Il tipo di festività %s è cambiato.";
#elif L==8 // pl
- "The type of the holiday %s has changed."; // Potrzebujesz tlumaczenie
+ "Zmienił się rodzaj święta %s.";
#elif L==9 // pt
"O tipo do feriado %s mudou.";
#endif
@@ -50631,13 +50631,13 @@ const char *Txt_THE_USER_X_already_exists_in_Y = // Warning: it is very importan
const char *Txt_THE_USER_X_exists_in_Y_but_is_not_enroled_in_the_course_Z = // Warning: it is very important to include three %s in the following sentences
#if L==1 // ca
- "%s existe en %s,"
- " pero no está inscrito"
- " en la asignatura %s."; // Necessita traducció
+ "%s existeix a %s,"
+ " però no està matriculat"
+ " a l'assignatura %s.";
#elif L==2 // de
- "%s exists in %s,"
- " but is not enroled"
- " in the course %s."; // Need Übersetzung
+ "%s existiert in %s,"
+ " ist aber nicht"
+ " im Kurs %s eingeschrieben.";
#elif L==3 // en
"%s exists in %s,"
" but is not enroled"
@@ -50647,9 +50647,9 @@ const char *Txt_THE_USER_X_exists_in_Y_but_is_not_enroled_in_the_course_Z = // W
" pero no está inscrito"
" en la asignatura %s.";
#elif L==5 // fr
- "%s exists in %s,"
- " but is not enroled"
- " in the course %s."; // Besoin de traduction
+ "%s existe en %s,"
+ " mais n'est pas inscrit"
+ " a la matière %s.";
#elif L==6 // gn
"%s existe en %s,"
" pero no está inscrito"
@@ -50659,9 +50659,9 @@ const char *Txt_THE_USER_X_exists_in_Y_but_is_not_enroled_in_the_course_Z = // W
" ma non è registrato"
" al corso %s.";
#elif L==8 // pl
- "%s exists in %s,"
- " but is not enroled"
- " in the course %s."; // Potrzebujesz tlumaczenie
+ "%s istnieje w %s,"
+ " ale nie jest zapisany"
+ " na kurs %s.";
#elif L==9 // pt
"%s existe em %s,"
" mas não está inscrito"
@@ -51156,21 +51156,21 @@ const char *Txt_THE_USER_X_is_not_an_administrator_of_Y = // Warning: it is very
const char *Txt_THE_USER_X_is_not_found_in_the_file_of_marks = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "No se ha encontrado a %s en el archivo de calificaciones."; // Necessita traducció
+ "%s no es troba a l'arxiu de notes.";
#elif L==2 // de
- "%s is not found in the file of marks."; // Need Übersetzung
+ "%s wird in der Markendatei nicht gefunden.";
#elif L==3 // en
"%s is not found in the file of marks.";
#elif L==4 // es
"No se ha encontrado a %s en el archivo de calificaciones.";
#elif L==5 // fr
- "%s is not found in the file of marks."; // Besoin de traduction
+ "%s n'est pas trouvé dans le fichier de marques.";
#elif L==6 // gn
"No se ha encontrado a %s en el archivo de calificaciones."; // Okoteve traducción
#elif L==7 // it
"%s non è stato trovato nel file dei risultati.";
#elif L==8 // pl
- "%s is not found in the file of marks."; // Potrzebujesz tlumaczenie
+ "%s nie znajduje się w aktach znaków.";
#elif L==9 // pt
"%s não é encontrado no arquivo de notas.";
#endif
@@ -51261,42 +51261,42 @@ const char *Txt_The_year_of_the_course_X_has_changed = // Warning: it is very im
const char *Txt_The_ZIP_file_has_been_received_successfully =
#if L==1 // ca
- "El archivo ZIP se ha recibido correctamente."; // Necessita traducció
+ "L'arxiu ZIP s'ha rebut correctament.";
#elif L==2 // de
- "The ZIP file has been received successfully."; // Need Übersetzung
+ "Die ZIP-Datei wurde erfolgreich empfangen.";
#elif L==3 // en
"The ZIP file has been received successfully.";
#elif L==4 // es
"El archivo ZIP se ha recibido correctamente.";
#elif L==5 // fr
- "The ZIP file has been received successfully."; // Besoin de traduction
+ "Le fichier ZIP a bien été reçu.";
#elif L==6 // gn
"El archivo ZIP se ha recibido correctamente."; // Okoteve traducción
#elif L==7 // it
"Il ZIP file è stato ricevuto con successo.";
#elif L==8 // pl
- "The ZIP file has been received successfully."; // Potrzebujesz tlumaczenie
+ "Plik ZIP został pomyślnie odebrany.";
#elif L==9 // pt
"O arquivo ZIP foi recebido com sucesso.";
#endif
const char *Txt_The_ZIP_file_has_been_unzipped_successfully =
#if L==1 // ca
- "El archivo ZIP se ha descomprimido correctamente."; // Necessita traducció
+ "L'arxiu ZIP s'ha descomprimit correctament.";
#elif L==2 // de
- "The ZIP file has been unzipped successfully."; // Need Übersetzung
+ "Die ZIP-Datei wurde erfolgreich entpackt.";
#elif L==3 // en
"The ZIP file has been unzipped successfully.";
#elif L==4 // es
"El archivo ZIP se ha descomprimido correctamente.";
#elif L==5 // fr
- "The ZIP file has been unzipped successfully."; // Besoin de traduction
+ "Le fichier ZIP a été décompressé avec succès.";
#elif L==6 // gn
"El archivo ZIP se ha descomprimido correctamente."; // Okoteve traducción
#elif L==7 // it
"Il ZIP file è stato decompresso con successo.";
#elif L==8 // pl
- "The ZIP file has been unzipped successfully."; // Potrzebujesz tlumaczenie
+ "Plik ZIP został rozpakowany pomyślnie.";
#elif L==9 // pt
"O arquivo ZIP foi descompactado com sucesso.";
#endif
@@ -51324,32 +51324,32 @@ const char *Txt_Theme_SKIN =
const char *Txt_There_are_more_than_one_table_in_the_file_of_marks =
#if L==1 // ca
- "Hay más de una tabla en el archivo de calificaciones."; // Necessita traducció
+ "Hi ha més d'una taula a l'arxiu de notes.";
#elif L==2 // de
- "There are more than one table in the file of marks."; // Need Übersetzung
+ "Es gibt mehr als eine Tabelle in der Markendatei.";
#elif L==3 // en
"There are more than one table in the file of marks.";
#elif L==4 // es
"Hay más de una tabla en el archivo de calificaciones.";
#elif L==5 // fr
- "There are more than one table in the file of marks."; // Besoin de traduction
+ "Il y a plus d'un tableau dans le fichier des notes.";
#elif L==6 // gn
"Hay más de una tabla en el archivo de calificaciones."; // Okoteve traducción
#elif L==7 // it
"C'è più di una tabella nel file dei risultati.";
#elif L==8 // pl
- "There are more than one table in the file of marks."; // Potrzebujesz tlumaczenie
+ "W teczce znaków znajduje się więcej niż jedna tabela.";
#elif L==9 // pt
"Existem mais de uma tabela no arquivo de notas.";
#endif
const char *Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or_email = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "Hay más de un usuario con el ID %s."
- " Por favor, escriba un @apodo o correo."; // Necessita traducció
+ "Hi ha més d'un usuari amb l'ID %s."
+ " Escriviu un @nick o correu electrònic.";
#elif L==2 // de
- "There are more than one user with the ID %s."
- " Please type a @nick or email."; // Need Übersetzung
+ "Es gibt mehr als einen Benutzer mit der ID %s."
+ " Bitte geben Sie einen @nick oder eine E-Mail ein.";
#elif L==3 // en
"There are more than one user with the ID %s."
" Please type a @nick or email.";
@@ -51357,8 +51357,8 @@ const char *Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or
"Hay más de un usuario con el ID %s."
" Por favor, escriba un @apodo o correo.";
#elif L==5 // fr
- "There are more than one user with the ID %s."
- " Please type a @nick or email."; // Besoin de traduction
+ "Il y a plus d'un utilisateur avec l'ID %s."
+ " Veuillez saisir un @nick ou un e-mail.";
#elif L==6 // gn
"Hay más de un usuario con el ID %s."
" Por favor, escriba un @apodo o correo."; // Okoteve traducción
@@ -51366,8 +51366,8 @@ const char *Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or
"Ci sono più di un utente con l'ID %s."
" Si prega di digitare un @nome-utente o email.";
#elif L==8 // pl
- "There are more than one user with the ID %s."
- " Please type a @nick or email."; // Potrzebujesz tlumaczenie
+ "Istnieje więcej niż jeden użytkownik o ID %s."
+ " Wpisz @nick lub e-mail.";
#elif L==9 // pt
"Há mais de um usuário com o ID %s."
" Por favor, digite uma @alcunha ou um email.";
@@ -51396,21 +51396,21 @@ const char *Txt_There_are_new_posts =
const char *Txt_There_are_no_accesses_with_the_selected_search_criteria =
#if L==1 // ca
- "No hay accesos con el criterio de búsqueda seleccionado."; // Necessita traducció
+ "No hi ha accessos amb els criteris de cerca seleccionats.";
#elif L==2 // de
- "There are no accesses with the selected search criteria."; // Need Übersetzung
+ "Es gibt keine Zugriffe mit den gewählten Suchkriterien.";
#elif L==3 // en
"There are no accesses with the selected search criteria.";
#elif L==4 // es
"No hay accesos con el criterio de búsqueda seleccionado.";
#elif L==5 // fr
- "There are no accesses with the selected search criteria."; // Besoin de traduction
+ "Il n'y a pas d'accès avec les critères de recherche sélectionnés.";
#elif L==6 // gn
"No hay accesos con el criterio de búsqueda seleccionado."; // Okoteve traducción
#elif L==7 // it
"Non ci sono accessi con il criterio di ricerca selezionato.";
#elif L==8 // pl
- "There are no accesses with the selected search criteria."; // Potrzebujesz tlumaczenie
+ "Brak dostępu z wybranymi kryteriami wyszukiwania.";
#elif L==9 // pt
"Não há acessos com os critérios de pesquisa selecionados.";
#endif
@@ -51421,9 +51421,9 @@ const char *Txt_There_are_no_centers_with_requests_for_degrees_to_be_confirmed =
" amb sol·licituds de titulacions"
" pendents de confirmar.";
#elif L==2 // de
- "There are no centers"
- " with requests for degrees"
- " to be confirmed."; // Need Übersetzung
+ "Es gibt keine Zentren"
+ " mit Anträgen auf Bestätigung"
+ " von Abschlüssen.";
#elif L==3 // en
"There are no centers"
" with requests for degrees"
@@ -51445,9 +51445,9 @@ const char *Txt_There_are_no_centers_with_requests_for_degrees_to_be_confirmed =
" con richieste di gradi"
" pendenti de confermare.";
#elif L==8 // pl
- "There are no centers"
- " with requests for degrees"
- " to be confirmed."; // Potrzebujesz tlumaczenie
+ "Nie ma ośrodków"
+ " z prośbami o potwierdzenie"
+ " stopni naukowych.";
#elif L==9 // pt
"Não há centros"
" com solicitações de graus"
@@ -51460,9 +51460,9 @@ const char *Txt_There_are_no_countries_with_requests_for_institutions_to_be_conf
" amb sol·licituds de institucions"
" pendents de confirmar.";
#elif L==2 // de
- "There are no countries"
- " with requests for institutions"
- " to be confirmed."; // Need Übersetzung
+ "W żadnym kraju"
+ " nie ma próśb"
+ " o potwierdzenie instytucji.";
#elif L==3 // en
"There are no countries"
" with requests for institutions"
@@ -51484,9 +51484,9 @@ const char *Txt_There_are_no_countries_with_requests_for_institutions_to_be_conf
" con richieste di istituzioni"
" pendenti de confermare.";
#elif L==8 // pl
- "There are no countries"
- " with requests for institutions"
- " to be confirmed."; // Potrzebujesz tlumaczenie
+ "W żadnym kraju"
+ " nie ma próśb"
+ " o potwierdzenie instytucji.";
#elif L==9 // pt
"Não há países"
" com solicitações de instituições"
@@ -51499,9 +51499,9 @@ const char *Txt_There_are_no_degrees_with_requests_for_courses_to_be_confirmed =
" amb sol·licituds d'assignatures"
" pendents de confirmar.";
#elif L==2 // de
- "There are no degrees"
- " with requests for courses"
- " to be confirmed."; // Need Übersetzung
+ "Es liegen keine Abschlüsse"
+ " mit Anträgen auf Bestätigung"
+ " von Lehrveranstaltungen vor.";
#elif L==3 // en
"There are no degrees"
" with requests for courses"
@@ -51523,9 +51523,8 @@ const char *Txt_There_are_no_degrees_with_requests_for_courses_to_be_confirmed =
" con richieste di corsi"
" pendenti de confermare.";
#elif L==8 // pl
- "There are no degrees"
- " with requests for courses"
- " to be confirmed."; // Potrzebujesz tlumaczenie
+ "Nie ma stopni z prośbami"
+ " o potwierdzenie kursów.";
#elif L==9 // pt
"Não há graus"
" com solicitações de disciplinas"
@@ -51538,9 +51537,8 @@ const char *Txt_There_are_no_institutions_with_requests_for_centers_to_be_confir
" amb sol·licituds de centers"
" pendents de confirmar.";
#elif L==2 // de
- "There are no institutions"
- " with requests for centers"
- " to be confirmed."; // Need Übersetzung
+ "Anfragen für"
+ " zu bestätigende Zentren.";
#elif L==3 // en
"There are no institutions"
" with requests for centers"
@@ -51562,9 +51560,9 @@ const char *Txt_There_are_no_institutions_with_requests_for_centers_to_be_confir
" con richieste di centri"
" pendenti de confermare.";
#elif L==8 // pl
- "There are no institutions"
- " with requests for centers"
- " to be confirmed."; // Potrzebujesz tlumaczenie
+ "Nie ma instytucji"
+ " z prośbami"
+ " o potwierdzenie ośrodków.";
#elif L==9 // pt
"Não há instituições"
" com solicitações de centros"
@@ -51573,51 +51571,51 @@ const char *Txt_There_are_no_institutions_with_requests_for_centers_to_be_confir
const char *Txt_There_are_no_record_fields_in_the_course_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "No existen campos de fichas en la asignatura %s."; // Necessita traducció
+ "No hi ha camps de fitxes a l'assignatura %s.";
#elif L==2 // de
- "There are no record fields in the course %s."; // Need Übersetzung
+ "Es gibt keine Datensatzfelder im Kurs %s.";
#elif L==3 // en
"There are no record fields in the course %s.";
#elif L==4 // es
"No existen campos de fichas en la asignatura %s.";
#elif L==5 // fr
- "There are no record fields in the course %s."; // Besoin de traduction
+ "Il n'y a pas de champs de cartes dans la matière %s.";
#elif L==6 // gn
"No existen campos de fichas en la asignatura %s."; // Okoteve traducción
#elif L==7 // it
"Non ci sono campi di schede nel corso %s.";
#elif L==8 // pl
- "There are no record fields in the course %s."; // Potrzebujesz tlumaczenie
+ "W kursie %s nie ma pól rekordów.";
#elif L==9 // pt
"Não hã campos de cartão na disciplina %s.";
#endif
const char *Txt_There_are_no_types_of_group_in_the_course_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "No existen tipos de grupo en la asignatura %s."; // Necessita traducció
+ "No hi ha cap tipus de grup a l'assignatura %s.";
#elif L==2 // de
- "There are no types of group in the course %s."; // Need Übersetzung
+ "Im Kurs %s gibt es keine Gruppentypen.";
#elif L==3 // en
"There are no types of group in the course %s.";
#elif L==4 // es
"No existen tipos de grupo en la asignatura %s.";
#elif L==5 // fr
- "There are no types of group in the course %s."; // Besoin de traduction
+ "Il n'y a aucun type de groupe dans la matière %s.";
#elif L==6 // gn
"No existen tipos de grupo en la asignatura %s."; // Okoteve traducción
#elif L==7 // it
"Non ci sono tipi di gruppi nel corso %s.";
#elif L==8 // pl
- "There are no types of group in the course %s."; // Potrzebujesz tlumaczenie
+ "W kursie %s nie ma typów grup.";
#elif L==9 // pt
"Não há tipos de grupo na disciplina %s.";
#endif
const char *Txt_There_are_X_users_with_the_ID_Y = // Warning: it is very important to include %u and %s in the following sentences
#if L==1 // ca
- "Hi ha %u usuaris amb el ID (DNI/cédula) %s.";
+ "Hi ha %u usuaris amb el ID (DNI/cèdula) %s.";
#elif L==2 // de
- "There are %u users with the ID %s."; // Need Übersetzung
+ "Es gibt %u Benutzer mit der ID %s.";
#elif L==3 // en
"There are %u users with the ID %s.";
#elif L==4 // es
@@ -51629,7 +51627,7 @@ const char *Txt_There_are_X_users_with_the_ID_Y = // Warning: it is very importa
#elif L==7 // it
"Ci sono %u utenti con il ID %s.";
#elif L==8 // pl
- "There are %u users with the ID %s."; // Potrzebujesz tlumaczenie
+ "Jest %u użytkowników o ID %s.";
#elif L==9 // pt
"Existem %u usuários com o ID %s.";
#endif
@@ -51742,7 +51740,7 @@ const char *Txt_There_is_no_empty_account_associated_with_your_ID_X = // Warning
" associato con il tuo ID %s.";
#elif L==8 // pl
"Nie ma pusta konta (jeszcze nie używany)"
- " powiązany z identyfikatorem %s.";
+ " powiązany z ID %s.";
#elif L==9 // pt
"Não existe nenhuma conta vazio (ainda não utilizado)"
" associado ao seu ID %s.";
@@ -51814,7 +51812,7 @@ const char *Txt_There_is_no_user_with_ID_nick_or_email_X = // Warning: it is ver
" con ID (DNI/cédula), apodo o correo %s."; // Necessita traducció
#elif L==2 // de
"There is no user"
- " with ID, nick or email %s."; // Übersetzung notwendig
+ " with ID, nick or email %s."; // Übersetzung notwendig
#elif L==3 // en
"There is no user"
" with ID, nick or email %s.";
@@ -51823,7 +51821,7 @@ const char *Txt_There_is_no_user_with_ID_nick_or_email_X = // Warning: it is ver
" con ID (DNI/cédula), apodo o correo %s.";
#elif L==5 // fr
"There is no user"
- " with ID, nick or email %s."; // Besoin de traduction
+ " with ID, nick or email %s."; // Besoin de traduction
#elif L==6 // gn
"No existe ningún usuario"
" con ID (DNI/cédula), apodo o correo %s."; // Okoteve traducción
@@ -51832,7 +51830,7 @@ const char *Txt_There_is_no_user_with_ID_nick_or_email_X = // Warning: it is ver
" con ID, nome utente o email %s.";
#elif L==8 // pl
"There is no user"
- " with ID, nick or email %s."; // Potrzebujesz tlumaczenie
+ " with ID, nick or email %s."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Não há usuário"
" com ID, alcunha ou email %s.";
@@ -51933,11 +51931,11 @@ const char *Txt_This_link_will_remain_active_as_long_as_your_user_s_account_exis
const char *Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_the_forums =
#if L==1 // ca
- "Este comentario ha sido censurado,"
- " probablemente por no cumplir las normas de los foros."; // Necessita traducció
+ "Aquesta publicació ha estat prohibida,"
+ " probablement per no satisfer les regles dels fòrums.";
#elif L==2 // de
- "This post has been banned,"
- " probably for not satisfy the rules of the forums."; // Need Übersetzung
+ "Dieser Beitrag wurde gesperrt,"
+ " wahrscheinlich weil er nicht den Regeln des Forums entspricht.";
#elif L==3 // en
"This post has been banned,"
" probably for not satisfy the rules of the forums.";
@@ -51945,8 +51943,8 @@ const char *Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_
"Este comentario ha sido censurado,"
" probablemente por no cumplir las normas de los foros.";
#elif L==5 // fr
- "This post has been banned,"
- " probably for not satisfy the rules of the forums."; // Besoin de traduction
+ "Ce post a été banni,"
+ " probablement pour ne pas respecter les règles des forums.";
#elif L==6 // gn
"Este comentario ha sido censurado,"
" probablemente por no cumplir las normas de los foros."; // Okoteve traducción
@@ -51954,8 +51952,8 @@ const char *Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_
"Questo post è stato censurato,"
" probabilmente perchè non soddisfa le regole del forum.";
#elif L==8 // pl
- "This post has been banned,"
- " probably for not satisfy the rules of the forums."; // Potrzebujesz tlumaczenie
+ "Ten post został zbanowany,"
+ " prawdopodobnie z powodu niespełnienia regulaminu forum.";
#elif L==9 // pt
"Este post foi censurado,"
" provavelmente por não satisfazer as regras dos fóruns.";
@@ -57707,7 +57705,7 @@ const char *Txt_You_can_not_delete_this_ID =
#elif L==7 // it
"Non puoi cancellare questo ID.";
#elif L==8 // pl
- "Nie możesz usunąć tego identyfikatora.";
+ "Nie możesz usunąć tego ID.";
#elif L==9 // pt
"Você não pode excluir este ID.";
#endif
diff --git a/swad_text_no_html.c b/swad_text_no_html.c
index 86f15480..047cb793 100644
--- a/swad_text_no_html.c
+++ b/swad_text_no_html.c
@@ -753,7 +753,7 @@ const char *Txt_The_following_password_has_been_assigned_to_you_to_log_in_X_NO_H
#if L==1
"Se li ha assignat la següent contrasenya per entrar a %s: %s\n"
"Si desitja activar aquesta nova contrasenya,"
- " ha de entrar a %s amb el seu ID (DNI/cédula), sobrenom o email"
+ " ha de entrar a %s amb el seu ID (DNI/cèdula), sobrenom o email"
" i aquesta nova contrasenya abans de %u dies."
" Un cop hagi entrat, pot canviar la contrasenya per una altra.\n"
"Si no accedeix amb aquesta nova contrasenya,"