diff --git a/swad_changelog.h b/swad_changelog.h
index 48b0fccc6..b6baafdfd 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -606,11 +606,12 @@ 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.3 (2022-06-20)"
+#define Log_PLATFORM_VERSION "SWAD 21.98.4 (2022-06-21)"
#define CSS_FILE "swad21.97.1.css"
#define JS_FILE "swad21.97.4.js"
/*
- Version 21.98.3: Jun 19, 2022 Some messages translated. (322537 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)
Version 21.98.1: Jun 18, 2022 Some messages translated. (322481 lines)
Version 21.98: Jun 18, 2022 Some messages translated. (322489 lines)
diff --git a/swad_text.c b/swad_text.c
index 4e5cf719c..beb032855 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -612,7 +612,7 @@ const char *Txt_accessible_for_reading_and_writing_by_administrators_of_the_inst
#elif L==4 // es
"accesible para lectura y escritura por administradores de la institución";
#elif L==5 // fr
- "accessible en lecture et en écriture par les administrateurs du établissement";
+ "accessible en lecture et en écriture par les administrateurs de l'établissement";
#elif L==6 // gn
"accesible para lectura y escritura por administradores de la institución"; // Okoteve traducción
#elif L==7 // it
@@ -747,7 +747,7 @@ const char *Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_t
#elif L==4 // es
"accesible para lectura y escritura por estudiantes y profesores de la institución";
#elif L==5 // fr
- "accessible en lecture et en écriture par les étudiants et les enseignants du établissement";
+ "accessible en lecture et en écriture par les étudiants et les enseignants de l'établissement";
#elif L==6 // gn
"accesible para lectura y escritura por estudiantes y profesores de la institución"; // Okoteve traducción
#elif L==7 // it
@@ -924,7 +924,7 @@ const char *Txt_accessible_only_for_reading_by_students_and_teachers_of_the_inst
#elif L==4 // es
"accesible solo para lectura por estudiantes y profesores de la institución";
#elif L==5 // fr
- "accessible uniquement pour la lecture par les étudiants et les enseignants du établissement";
+ "accessible uniquement pour la lecture par les étudiants et les enseignants de l'établissement";
#elif L==6 // gn
"accesible solo para lectura por estudiantes y profesores de la institución"; // Okoteve traducción
#elif L==7 // it
@@ -3844,8 +3844,8 @@ const char *Txt_Can_not_create_the_folder_X_because_there_is_already_a_folder_or
"No s'ha creat la carpeta %s"
" perque ja existeix una carpeta o un fitxer amb aquest nom.";
#elif L==2 // de
- "Cannot create the folder %s"
- " because there is already a folder or a file with that name."; // Need Übersetzung
+ "Der Ordner %s kann nicht erstellt werden,"
+ " da bereits ein Ordner oder eine Datei mit diesem Namen vorhanden ist.";
#elif L==3 // en
"Cannot create the folder %s"
" because there is already a folder or a file with that name.";
@@ -3904,8 +3904,8 @@ const char *Txt_Can_not_create_the_link_X_because_there_is_already_a_folder_or_a
"No s'ha creat l'enllaç %s"
" perque ja existeix una carpeta o un enllaç amb aquest nom.";
#elif L==2 // de
- "Cannot create the link %s"
- " because there is already a folder or a link with that name."; // Need Übersetzung
+ "Der Link %s kann nicht erstellt werden,"
+ " da bereits ein Ordner oder Link mit diesem Namen vorhanden ist.";
#elif L==3 // en
"Cannot create the link %s"
" because there is already a folder or a link with that name.";
@@ -9490,7 +9490,7 @@ const char *Txt_Do_you_really_want_to_remove_the_field_X_from_the_records_of_Y_Z
#elif L==5 // fr
"Do you really want to remove the field %s"
" from the records of %s"
- " (this field is filled in the records of %u student(s))?"; // Besoin de traduction
+ " (this field is filled in the records of %u student(s))?"; // Besoin de traduction
#elif L==6 // gn
"¿Realmente desea eliminar el campo %s"
" de las fichas de %s"
@@ -9502,7 +9502,7 @@ const char *Txt_Do_you_really_want_to_remove_the_field_X_from_the_records_of_Y_Z
#elif L==8 // pl
"Do you really want to remove the field %s"
" from the records of %s"
- " (this field is filled in the records of %u student(s))?"; // Potrzebujesz tlumaczenie
+ " (this field is filled in the records of %u student(s))?"; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Você realmente quer remover o campo %s"
" dos cartões de %s"
@@ -9811,8 +9811,8 @@ const char *Txt_Do_you_really_want_to_remove_the_group_X_Y_students_ = // Warnin
"De veres voleu eliminar el grup %s?
"
"Si ho fa, %u estudiants deixaran de pertànyer a aquest grup.";
#elif L==2 // de
- "Do you really want to remove the group %s?
"
- "Doing so will remove %u students from that group."; // Need Übersetzung
+ "Möchten Sie die Gruppe %s wirklich entfernen?
"
+ "Dadurch werden %u Schüler aus dieser Gruppe entfernt.";
#elif L==3 // en
"Do you really want to remove the group %s?
"
"Doing so will remove %u students from that group.";
@@ -9820,8 +9820,8 @@ const char *Txt_Do_you_really_want_to_remove_the_group_X_Y_students_ = // Warnin
"¿Realmente desea eliminar el grupo %s?
"
"Si lo hace, %u estudiantes dejarán de pertenecer a ese grupo.";
#elif L==5 // fr
- "Do you really want to remove the group %s?
"
- "Doing so will remove %u students from that group."; // Besoin de traduction
+ "Voulez-vous vraiment supprimer le groupe %s?
"
+ "Cela supprimera les %u étudiants de ce groupe.";
#elif L==6 // gn
"¿Realmente desea eliminar el grupo %s?
"
"Si lo hace, %u estudiantes dejarán de pertenecer a ese grupo."; // Okoteve traducción
@@ -14591,7 +14591,7 @@ const char *Txt_Full_name_of_the_institution =
#elif L==4 // es
"Nombre completo de la institución";
#elif L==5 // fr
- "Nom complet de l'institution";
+ "Nom complet de l'établissement";
#elif L==6 // gn
"Nombre completo de la institución"; // Okoteve traducción
#elif L==7 // it
@@ -16195,7 +16195,7 @@ const char *Txt_ID =
const char *Txt_ID_X_had_already_been_confirmed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El ID (DNI/cédula) %s ja havia estat confirmat.";
+ "El ID (DNI/cèdula) %s ja havia estat confirmat.";
#elif L==2 // de
"ID %s hatte bereits bestätigt worden.";
#elif L==3 // en
@@ -16216,7 +16216,7 @@ const char *Txt_ID_X_had_already_been_confirmed = // Warning: it is very importa
const char *Txt_ID_X_confirmed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "ID (DNI/cédula) %s confirmat";
+ "ID (DNI/cèdula) %s confirmat";
#elif L==2 // de
"ID %s bestätigt";
#elif L==3 // en
@@ -16237,7 +16237,7 @@ const char *Txt_ID_X_confirmed = // Warning: it is very important to include %s
const char *Txt_ID_X_not_confirmed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "ID (DNI/cédula) %s no confirmat";
+ "ID (DNI/cèdula) %s no confirmat";
#elif L==2 // de
"ID %s nicht bestätigt";
#elif L==3 // en
@@ -16258,7 +16258,7 @@ const char *Txt_ID_X_not_confirmed = // Warning: it is very important to include
const char *Txt_ID_X_removed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "ID (DNI/cédula) %s eliminat.";
+ "ID (DNI/cèdula) %s eliminat.";
#elif L==2 // de
"ID %s entfernt.";
#elif L==3 // en
@@ -17836,7 +17836,7 @@ const char *Txt_INSTITUTIONS_ORDER[Ins_NUM_ORDERS] =
#elif L==4 // es
"Usuarios de la institución"
#elif L==5 // fr
- "Utilisateurs du établissement"
+ "Utilisateurs de l'établissement"
#elif L==6 // gn
"Usuarios de la institución" // Okoteve traducción
#elif L==7 // it
@@ -26478,13 +26478,13 @@ const char *Txt_No_groups_have_been_created_in_the_course_X = // Warning: it is
#if L==1 // ca
"No s'han creat grups a l'assignatura %s.";
#elif L==2 // de
- "No groups have been created in the course %s."; // Need Übersetzung
+ "Im Kurs %s wurden keine Gruppen erstellt.";
#elif L==3 // en
"No groups have been created in the course %s.";
#elif L==4 // es
"No se han creado grupos en la asignatura %s.";
#elif L==5 // fr
- "No groups have been created in the course %s."; // Besoin de traduction
+ "Aucun groupe n'a été créé dans la matière %s.";
#elif L==6 // gn
"No se han creado grupos en la asignatura %s."; // Okoteve traducción
#elif L==7 // it
@@ -26497,32 +26497,41 @@ const char *Txt_No_groups_have_been_created_in_the_course_X = // Warning: it is
const char *Txt_No_groups_have_been_created_in_the_course_X_Therefore_ = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "No se han creado grupos en la asignatura %s."
- " Por tanto, los usuarios especificados serán inscritos/eliminados en/de la asignatura."; // Necessita traducció
+ "No s'ha creat cap grup a l'assignatura %s."
+ " Per tant, els usuaris especificats"
+ " seran inscrits/eliminats en/de l'assignatura.";
#elif L==2 // de
- "No groups have been created in the course %s."
- "Therefore, the specified users will be enroled/removed in/from the course."; // Need Übersetzung
+ "Im Kurs %s wurden keine Gruppen erstellt."
+ " Daher werden die angegebenen Benutzer"
+ " in den Kurs eingeschrieben/aus diesem entfernt.";
#elif L==3 // en
"No groups have been created in the course %s."
- "Therefore, the specified users will be enroled/removed in/from the course.";
+ "Therefore, the specified users"
+ " will be enroled/removed in/from the course.";
#elif L==4 // es
"No se han creado grupos en la asignatura %s."
- " Por tanto, los usuarios especificados serán inscritos/eliminados en/de la asignatura.";
+ " Por tanto, los usuarios especificados"
+ " serán inscritos/eliminados en/de la asignatura.";
#elif L==5 // fr
- "No groups have been created in the course %s."
- "Therefore, the specified users will be enroled/removed in/from the course."; // Besoin de traduction
+ "Aucun groupe n'a été créé dans la matière %s."
+ " Par conséquent, les utilisateurs spécifiés"
+ " seront inscrits/retirés de la matière.";
#elif L==6 // gn
"No se han creado grupos en la asignatura %s."
- " Por tanto, los usuarios especificados serán inscritos/eliminados en/de la asignatura."; // Okoteve traducción
+ " Por tanto, los usuarios especificados"
+ " serán inscritos/eliminados en/de la asignatura."; // Okoteve traducción
#elif L==7 // it
"Nessun gruppo è stato creato nel corso %s."
- "Dunque, gli utenti specificati saranno registrati/rimossi in/dal corso.";
+ "Dunque, gli utenti specificati"
+ " saranno registrati/rimossi in/dal corso.";
#elif L==8 // pl
"Nr grupy zostaly utworzone w ramach %s."
- "Dlatego okreslonych uzytkowników zostanie zarejestrowany/usuniete w/z kursu.";
+ "Dlatego okreslonych uzytkowników"
+ " zostanie zarejestrowany/usuniete w/z kursu.";
#elif L==9 // pt
"Nenhum grupo foi criado na disciplina %s."
- " Portanto, os usuários especificados serão inscritos/removidos da disciplina.";
+ " Portanto, os usuários especificados"
+ " serão inscritos/removidos da disciplina.";
#endif
const char *Txt_No_holidays =
@@ -28596,13 +28605,13 @@ const char *Txt_Now_each_student_can_belong_to_multiple_groups_of_type_X = // Wa
#if L==1 // ca
"Ara cada estudiant pot pertànyer a diversos grups tipus %s.";
#elif L==2 // de
- "Now each student can belong to multiple groups of type %s."; // Need Übersetzung
+ "Jetzt kann jeder Schüler mehreren Gruppen des Typs %s angehören.";
#elif L==3 // en
"Now each student can belong to multiple groups of type %s.";
#elif L==4 // es
"Ahora cada estudiante puede pertenecer a varios grupos de tipo %s.";
#elif L==5 // fr
- "Now each student can belong to multiple groups of type %s."; // Besoin de traduction
+ "Désormais, chaque étudiant peut appartenir à plusieurs groupes de type %s.";
#elif L==6 // gn
"Ahora cada estudiante puede pertenecer a varios grupos de tipo %s."; // Okoteve traducción
#elif L==7 // it
@@ -28617,13 +28626,13 @@ const char *Txt_Now_each_student_can_only_belong_to_a_group_of_type_X = // Warni
#if L==1 // ca
"Ara cada estudiant només pot pertànyer a un grup de tipus %s.";
#elif L==2 // de
- "Now each student can only belong to a group of type %s."; // Need Übersetzung
+ "Jetzt kann jeder Schüler nur noch einer Gruppe vom Typ %s angehören.";
#elif L==3 // en
"Now each student can only belong to a group of type %s.";
#elif L==4 // es
"Ahora cada estudiante solo puede pertenecer a un grupo de tipo %s.";
#elif L==5 // fr
- "Now each student can only belong to a group of type %s."; // Besoin de traduction
+ "Désormais, chaque étudiant ne peut appartenir qu'à un groupe de type %s.";
#elif L==6 // gn
"Ahora cada estudiante solo puede pertenecer a un grupo de tipo %s."; // Okoteve traducción
#elif L==7 // it
@@ -33374,15 +33383,15 @@ const char *Txt_Recommended_resolution =
const char *Txt_Record_card_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 ficha de %s."; // Necessita traducció
+ "S'ha suprimit la fitxa %s.";
#elif L==2 // de
- "Record card of %s has been removed."; // Need Übersetzung
+ "Karteikarte von %s wurde entfernt.";
#elif L==3 // en
"Record card of %s has been removed.";
#elif L==4 // es
"Se ha eliminado la ficha de %s.";
#elif L==5 // fr
- "Record card of %s has been removed."; // Besoin de traduction
+ "La carte d'enregistrement de %s a été supprimée.";
#elif L==6 // gn
"Se ha eliminado la ficha de %s."; // Okoteve traducción
#elif L==7 // it
@@ -33975,7 +33984,7 @@ const char *Txt_Register_USER_as_an_administrator_of_the_institution_X = // Warn
" de la institución %s";
#elif L==5 // fr
"Inscrire en tant qu'administrateur"
- " du établissement %s";
+ " de l'établissement %s";
#elif L==6 // gn
"Inscribir como administrador/a"
" de la institución %s"; // Okoteve traducción
@@ -34485,7 +34494,7 @@ const char *Txt_Remove_me_as_an_administrator_of_the_institution_X = // Warning:
" de la institución %s";
#elif L==5 // fr
"Enlever-moi en tant qu'administrateur"
- " du établissement %s";
+ " de l'établissement %s";
#elif L==6 // gn
"Eliminarme como administrador/a"
" de la institución %s"; // Okoteve traducción
@@ -34953,7 +34962,7 @@ const char *Txt_Remove_USER_as_an_administrator_of_the_institution_X = // Warnin
" de la institución %s";
#elif L==5 // fr
"Enlever en tant qu'administrateur"
- " du établissement %s";
+ " de l'établissement %s";
#elif L==6 // gn
"Eliminar como administrador/a"
" de la institución %s"; // Okoteve traducción
@@ -41163,7 +41172,7 @@ const char *Txt_Select_or_create_another_center_in_X = // Warning: it is very im
#elif L==4 // es
"Seleccionar o crear otro centro en la institución %s";
#elif L==5 // fr
- "Sélectionnez ou créez un autre étude du établissement %s";
+ "Sélectionnez ou créez un autre étude de l'établissement %s";
#elif L==6 // gn
"Seleccionar o crear otro centro en la institución %s"; // Okoteve traducción
#elif L==7 // it
@@ -46357,19 +46366,19 @@ const char *Txt_The_alphabetical_code_X_already_exists = // Warning: it is very
#if L==1 // ca
"El codi alfabètic ISO 3166-1 %s ja existeix.";
#elif L==2 // de
- "The ISO 3166-1 alphabetical code %s already exists."; // Need Übersetzung
+ "Der alphabetische ISO 3166-1-Code %s existiert bereits.";
#elif L==3 // en
"The ISO 3166-1 alphabetical code %s already exists.";
#elif L==4 // es
"El código alfabético ISO 3166-1 %s ya existe.";
#elif L==5 // fr
- "The ISO 3166-1 alphabetical code %s already exists."; // Besoin de traduction
+ "Le code alphabétique ISO 3166-1 %s existe déjà.";
#elif L==6 // gn
"El código alfabético ISO 3166-1 %s ya existe."; // Okoteve traducción
#elif L==7 // it
"Il codice alfabetico ISO 3166-1 %s già esiste.";
#elif L==8 // pl
- "The ISO 3166-1 alphabetical code %s already exists."; // Potrzebujesz tlumaczenie
+ "Kod alfabetyczny ISO 3166-1 %s już istnieje.";
#elif L==9 // pt
"O código alfabético ISO 3166-1 %s já existe.";
#endif
@@ -46378,30 +46387,30 @@ const char *Txt_The_alphabetical_code_X_is_not_correct = // Warning: it is very
#if L==1 // ca
"El codi alfabètic ISO 3166-1 %s no és correcte.";
#elif L==2 // de
- "The ISO 3166-1 alphabetical code %s is not correct."; // Need Übersetzung
+ "Der alphabetische ISO 3166-1-Code %s ist nicht korrekt.";
#elif L==3 // en
"The ISO 3166-1 alphabetical code %s is not correct.";
#elif L==4 // es
"El código alfabético ISO 3166-1 %s no es correcto.";
#elif L==5 // fr
- "The ISO 3166-1 alphabetical code %s is not correct."; // Besoin de traduction
+ "Le code alphabétique ISO 3166-1 %s n'est pas correct.";
#elif L==6 // gn
"El código alfabético ISO 3166-1 %s no es correcto."; // Okoteve traducción
#elif L==7 // it
"Il codice alfabetico ISO 3166-1 %s non è corretto.";
#elif L==8 // pl
- "The ISO 3166-1 alphabetical code %s is not correct."; // Potrzebujesz tlumaczenie
+ "Kod alfabetyczny ISO 3166-1 %s jest nieprawidłowy.";
#elif L==9 // pt
"O código alfabético ISO 3166-1 %s não está correto.";
#endif
const char *Txt_The_answers_of_the_question_with_code_X_will_appear_shuffled = // Warning: it is very important to include %ld in the following sentences
#if L==1 // ca
- "Las respuestas de la pregunta con código %ld"
- " aparecerán barajadas."; // Necessita traducció
+ "Les respostes de la pregunta amb el codi %ld"
+ " apareixeran remenades.";
#elif L==2 // de
- "The answers of the question with code %ld"
- " will appear shuffled."; // Need Übersetzung
+ "Die Antworten der Frage mit dem Code %ld"
+ " erscheinen gemischt.";
#elif L==3 // en
"The answers of the question with code %ld"
" will appear shuffled.";
@@ -46409,8 +46418,8 @@ const char *Txt_The_answers_of_the_question_with_code_X_will_appear_shuffled = /
"Las respuestas de la pregunta con código %ld"
" aparecerán barajadas.";
#elif L==5 // fr
- "The answers of the question with code %ld"
- " will appear shuffled."; // Besoin de traduction
+ "Les réponses à la question avec le code %ld"
+ " apparaîtront mélangées.";
#elif L==6 // gn
"Las respuestas de la pregunta con código %ld"
" aparecerán barajadas."; // Okoteve traducción
@@ -46418,8 +46427,8 @@ const char *Txt_The_answers_of_the_question_with_code_X_will_appear_shuffled = /
"Le risposte alla domande con il codice %ld"
" appariranno mischiate.";
#elif L==8 // pl
- "The answers of the question with code %ld"
- " will appear shuffled."; // Potrzebujesz tlumaczenie
+ "Odpowiedzi na pytanie z kodem %ld"
+ " pojawią się potasowane.";
#elif L==9 // pt
"As respostas da pergunta com o código %ld"
" aparecerão embaralhadas.";
@@ -46427,11 +46436,11 @@ const char *Txt_The_answers_of_the_question_with_code_X_will_appear_shuffled = /
const char *Txt_The_answers_of_the_question_with_code_X_will_appear_without_shuffling = // Warning: it is very important to include %ld in the following sentences
#if L==1 // ca
- "Las respuestas de la pregunta con código %ld"
- " aparecerán sin barajar."; // Necessita traducció
+ "Les respostes de la pregunta amb el codi %ld"
+ " apareixeran sense remenar.";
#elif L==2 // de
- "The answers of the question with code %ld"
- " will appear without shuffling."; // Need Übersetzung
+ "Die Antworten der Frage mit Code %ld"
+ " erscheinen ohne Mischen.";
#elif L==3 // en
"The answers of the question with code %ld"
" will appear without shuffling.";
@@ -46439,8 +46448,8 @@ const char *Txt_The_answers_of_the_question_with_code_X_will_appear_without_shuf
"Las respuestas de la pregunta con código %ld"
" aparecerán sin barajar.";
#elif L==5 // fr
- "The answers of the question with code %ld"
- " will appear without shuffling."; // Besoin de traduction
+ "Les réponses de la question avec le code %ld"
+ " apparaîtront sans mélange.";
#elif L==6 // gn
"Las respuestas de la pregunta con código %ld"
" aparecerán sin barajar."; // Okoteve traducción
@@ -46448,8 +46457,8 @@ const char *Txt_The_answers_of_the_question_with_code_X_will_appear_without_shuf
"Le risposte della domanda con il codice %ld"
" appariranno senza essere mischiate.";
#elif L==8 // pl
- "The answers of the question with code %ld"
- " will appear without shuffling."; // Potrzebujesz tlumaczenie
+ "Odpowiedzi na pytanie z kodem %ld"
+ " pojawią się bez tasowania.";
#elif L==9 // pt
"As respostas da pergunta com o código %ld"
" aparecerão sem embaralhar.";
@@ -46688,11 +46697,11 @@ const char *Txt_The_center_X_already_exists = // Warning: it is very important t
const char *Txt_The_center_X_has_been_moved_to_the_institution_Y = // Warning: it is very important to include two %s in the following sentences
#if L==1 // ca
- "El centro %s se ha movido"
- " a la institución %s."; // Necessita traducció
+ "El centre %s s'ha traslladat"
+ " a la institució %s.";
#elif L==2 // de
- "The center %s has been moved"
- " to the institution %s."; // Need Übersetzung
+ "Das Zentrum %s wurde"
+ " in die Institution %s verlegt.";
#elif L==3 // en
"The center %s has been moved"
" to the institution %s.";
@@ -46700,8 +46709,8 @@ const char *Txt_The_center_X_has_been_moved_to_the_institution_Y = // Warning: i
"El centro %s se ha movido"
" a la institución %s.";
#elif L==5 // fr
- "The center %s has been moved"
- " to the institution %s."; // Besoin de traduction
+ "Le centre %s a été transféré"
+ " dans l'établissement %s.";
#elif L==6 // gn
"El centro %s se ha movido"
" a la institución %s."; // Okoteve traducción
@@ -46709,8 +46718,8 @@ const char *Txt_The_center_X_has_been_moved_to_the_institution_Y = // Warning: i
"Il center %s è stato spostato"
" alla istituzione %s.";
#elif L==8 // pl
- "The center %s has been moved"
- " to the institution %s."; // Potrzebujesz tlumaczenie
+ "Centrum %s zostało przeniesione"
+ " do instytucji %s.";
#elif L==9 // pt
"O centro %s foi transferido"
" para a instituição %s.";
@@ -46720,19 +46729,19 @@ const char *Txt_The_center_X_has_been_renamed_as_Y = // Warning: it is very impo
#if L==1 // ca
"El centre %s ha passat a anomenar-se %s.";
#elif L==2 // de
- "The center %s has been renamed as %s."; // Need Übersetzung
+ "Das Zentrum %s wurde in %s umbenannt.";
#elif L==3 // en
"The center %s has been renamed as %s.";
#elif L==4 // es
"El centro %s ha pasado a denominarse %s.";
#elif L==5 // fr
- "The center %s has been renamed as %s."; // Besoin de traduction
+ "Le centre %s a été renommé en %s.";
#elif L==6 // gn
"El centro %s ha pasado a denominarse %s."; // Okoteve traducción
#elif L==7 // it
"Il centro %s è stato rinominato %s.";
#elif L==8 // pl
- "The center %s has been renamed as %s."; // Potrzebujesz tlumaczenie
+ "Centrum %s zostało przemianowane na %s.";
#elif L==9 // pt
"O centro %s foi renomeado como %s.";
#endif
@@ -47186,11 +47195,11 @@ const char *Txt_The_course_X_already_exists_in_year_Y = // Warning: it is very i
const char *Txt_The_course_X_has_been_moved_to_the_degree_Y = // Warning: it is very important to include two %s in the following sentences
#if L==1 // ca
- "La asignatura %s se ha movido"
- " a la titulación %s."; // Necessita traducció
+ "L'assignatura %s"
+ " s'ha traslladat al grau %s.";
#elif L==2 // de
- "The course %s has been moved"
- " to the degree %s."; // Need Übersetzung
+ "Der Studiengang %s"
+ " wurde in den Studiengang %s verschoben.";
#elif L==3 // en
"The course %s has been moved"
" to the degree %s.";
@@ -47198,8 +47207,8 @@ const char *Txt_The_course_X_has_been_moved_to_the_degree_Y = // Warning: it is
"La asignatura %s se ha movido"
" a la titulación %s.";
#elif L==5 // fr
- "The course %s has been moved"
- " to the degree %s."; // Besoin de traduction
+ "La matière %s a été déplacée"
+ " à l'étude %s.";
#elif L==6 // gn
"La asignatura %s se ha movido"
" a la titulación %s."; // Okoteve traducción
@@ -47207,8 +47216,8 @@ const char *Txt_The_course_X_has_been_moved_to_the_degree_Y = // Warning: it is
"Il corso %s è stato spostato"
" dalla laurea %s.";
#elif L==8 // pl
- "The course %s has been moved"
- " to the degree %s."; // Potrzebujesz tlumaczenie
+ "Kurs %s został przeniesiony"
+ " na stopień %s.";
#elif L==9 // pt
"A disciplina curso %s foi movida"
" para o grau %s.";
@@ -47246,21 +47255,21 @@ const char *Txt_The_course_X_has_been_renamed_as_Y = // Warning: it is very impo
const char *Txt_The_date_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
- "La fecha de la festividad %s ha cambiado a %s."; // Necessita traducció
+ "La data de la festivitat %s ha canviat a %s.";
#elif L==2 // de
- "The date of the holiday %s has changed to %s."; // Need Übersetzung
+ "Das Datum des Feiertags %s hat sich auf %s geändert.";
#elif L==3 // en
"The date of the holiday %s has changed to %s.";
#elif L==4 // es
"La fecha de la festividad %s ha cambiado a %s.";
#elif L==5 // fr
- "The date of the holiday %s has changed to %s."; // Besoin de traduction
+ "La date de la fête %s est passée à %s.";
#elif L==6 // gn
"La fecha de la festividad %s ha cambiado a %s."; // Okoteve traducción
#elif L==7 // it
"La data delle festività %s è cambiata a %s.";
#elif L==8 // pl
- "The date of the holiday %s has changed to %s."; // Potrzebujesz tlumaczenie
+ "Data święta %s zmieniła się na %s.";
#elif L==9 // pt
"A data do feriado %s mudou para %s.";
#endif
@@ -48215,32 +48224,31 @@ const char *Txt_The_holiday_X_has_been_renamed_as_Y = // Warning: it is very imp
const char *Txt_The_HTML_file_has_been_received_successfully =
#if L==1 // ca
- "El archivo HTML se ha recibido correctamente."; // Necessita traducció
+ "L'arxiu HTML s'ha rebut correctament.";
#elif L==2 // de
- "The HTML file has been received successfully."; // Need Übersetzung
+ "Die HTML-Datei wurde erfolgreich empfangen.";
#elif L==3 // en
"The HTML file has been received successfully.";
#elif L==4 // es
"El archivo HTML se ha recibido correctamente.";
#elif L==5 // fr
- "The HTML file has been received successfully."; // Besoin de traduction
+ "Le fichier HTML a bien été reçu.";
#elif L==6 // gn
"El archivo HTML se ha recibido correctamente."; // Okoteve traducción
#elif L==7 // it
"Il HTML file è stato ricevuto con successo.";
#elif L==8 // pl
- "The HTML file has been received successfully."; // Potrzebujesz tlumaczenie
+ "Plik HTML został pomyślnie odebrany.";
#elif L==9 // pt
"O arquivo HTML foi recebido com sucesso.";
#endif
const char *Txt_The_ID_X_has_been_confirmed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El ID (DNI/cédula) %s"
- " ha sido confirmado."; // Necessita traducció
+ "S'ha confirmat l'ID (DNI/cèdula) %s.";
#elif L==2 // de
- "The ID %s"
- " has been confirmed."; // Need Übersetzung
+ "Die ID %s"
+ " wurde bestätigt.";
#elif L==3 // en
"The ID %s"
" has been confirmed.";
@@ -48248,8 +48256,8 @@ const char *Txt_The_ID_X_has_been_confirmed = // Warning: it is very important t
"El ID (DNI/cédula) %s"
" ha sido confirmado.";
#elif L==5 // fr
- "The ID %s"
- " has been confirmed."; // Besoin de traduction
+ "L'ID %s"
+ " a été confirmé.";
#elif L==6 // gn
"El ID (DNI/cédula) %s"
" ha sido confirmado."; // Okoteve traducción
@@ -48257,8 +48265,8 @@ const char *Txt_The_ID_X_has_been_confirmed = // Warning: it is very important t
"Il ID %s"
" è stato confermato.";
#elif L==8 // pl
- "The ID %s"
- " has been confirmed."; // Potrzebujesz tlumaczenie
+ "Identyfikator %s"
+ " został potwierdzony.";
#elif L==9 // pt
"O ID %s"
" foi confirmado.";
@@ -48266,11 +48274,11 @@ const char *Txt_The_ID_X_has_been_confirmed = // Warning: it is very important t
const char *Txt_The_ID_X_has_been_registered_successfully = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El ID (DNI/cédula) %s"
- " se ha registrado correctamente."; // Necessita traducció
+ "L'ID (DNI/cèdula) %s"
+ " s'ha registrat correctament.";
#elif L==2 // de
- "The ID %s"
- " has been registered successfully."; // Need Übersetzung
+ "Die ID %s"
+ " wurde korrekt registriert.";
#elif L==3 // en
"The ID %s"
" has been registered successfully.";
@@ -48278,8 +48286,8 @@ const char *Txt_The_ID_X_has_been_registered_successfully = // Warning: it is ve
"El ID (DNI/cédula) %s"
" se ha registrado correctamente.";
#elif L==5 // fr
- "The ID %s"
- " has been registered successfully."; // Besoin de traduction
+ "L'ID %s"
+ " a été enregistré correctement.";
#elif L==6 // gn
"El ID (DNI/cédula) %s"
" se ha registrado correctamente."; // Okoteve traducción
@@ -48287,8 +48295,8 @@ const char *Txt_The_ID_X_has_been_registered_successfully = // Warning: it is ve
"Il ID %s"
" è stato registrato con successo.";
#elif L==8 // pl
- "The ID %s"
- " has been registered successfully."; // Potrzebujesz tlumaczenie
+ "Identyfikator %s"
+ " został poprawnie zarejestrowany.";
#elif L==9 // pt
"O ID %s"
" foi registrado com sucesso.";
@@ -48392,21 +48400,21 @@ 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 @apodo, correo o ID (DNI/cédula) %s no es válido."; // Necessita traducció
+ "El @nick, el correu electrònic o l'ID %s no és vàlid.";
#elif L==2 // de
- "The @nick, email or ID %s is not valid."; // Need Übersetzung
+ "Der @nick, die E-Mail-Adresse oder die ID %s ist ungültig.";
#elif L==3 // en
"The @nick, email or ID %s is not valid.";
#elif L==4 // es
"El @apodo, correo o ID (DNI/cédula) %s no es válido.";
#elif L==5 // fr
- "The @nick, email or ID %s is not valid."; // Besoin de traduction
+ "Le @nick, email ou ID %s n'est pas valide.";
#elif L==6 // gn
"El @apodo, correo o ID (DNI/cédula) %s no es válido."; // Okoteve traducción
#elif L==7 // it
"Il @nome-utente, email o ID %s non è valido.";
#elif L==8 // pl
- "The @nick, email or ID %s is not valid."; // Potrzebujesz tlumaczenie
+ "@nick, e-mail lub identyfikator %s jest nieprawidłowy.";
#elif L==9 // pt
"O @nick, email ou ID %s não é válido.";
#endif
@@ -50530,21 +50538,21 @@ const char *Txt_The_type_of_the_holiday_X_has_changed = // Warning: it is very i
const char *Txt_The_URL_X_has_been_updated = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El URL %s se ha actualizado."; // Necessita traducció
+ "L'URL %s s'ha actualitzat.";
#elif L==2 // de
- "The URL %s has been updated."; // Need Übersetzung
+ "Die URL %s wurde aktualisiert.";
#elif L==3 // en
"The URL %s has been updated.";
#elif L==4 // es
"El URL %s se ha actualizado.";
#elif L==5 // fr
- "The URL %s has been updated."; // Besoin de traduction
+ "L'URL %s a été mise à jour.";
#elif L==6 // gn
"El URL %s se ha actualizado."; // Okoteve traducción
#elif L==7 // it
"L'URL %s è stata archiviata.";
#elif L==8 // pl
- "The URL %s has been updated."; // Potrzebujesz tlumaczenie
+ "Zaktualizowano adres URL %s.";
#elif L==9 // pt
"O URL %s foi atualizado.";
#endif
@@ -51169,21 +51177,21 @@ const char *Txt_THE_USER_X_is_not_found_in_the_file_of_marks = // Warning: it is
const char *Txt_The_visibility_of_the_record_field_X_has_not_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "La visibilidad del campo %s no ha cambiado."; // Necessita traducció
+ "La visibilitat del camp %s no ha canviat.";
#elif L==2 // de
- "The visibility of the record field %s has not changed."; // Need Übersetzung
+ "Die Sichtbarkeit des Datensatzfeldes %s hat sich nicht geändert.";
#elif L==3 // en
"The visibility of the record field %s has not changed.";
#elif L==4 // es
"La visibilidad del campo %s no ha cambiado.";
#elif L==5 // fr
- "The visibility of the record field %s has not changed."; // Besoin de traduction
+ "La visibilité du champ de carte %s n'a pas changé.";
#elif L==6 // gn
"La visibilidad del campo %s no ha cambiado."; // Okoteve traducción
#elif L==7 // it
"La visibilità del campo di scheda %s non è cambiata.";
#elif L==8 // pl
- "The visibility of the record field %s has not changed."; // Potrzebujesz tlumaczenie
+ "Widoczność pola rekordu %s nie uległa zmianie.";
#elif L==9 // pt
"A visibilidade do campo de cartão %s não foi alterada.";
#endif
@@ -51211,42 +51219,42 @@ const char *Txt_The_whole_course =
const char *Txt_The_year_X_is_not_allowed = // Warning: it is very important to include %u in the following sentences
#if L==1 // ca
- "El año/semestre %u no está permitido."; // Necessita traducció
+ "L'any/semestre %u no està permès.";
#elif L==2 // de
- "The year/semester %u is not enabled."; // Need Übersetzung
+ "Das Jahr/Semester %u ist nicht erlaubt.";
#elif L==3 // en
- "The year/semester %u is not enabled.";
+ "The year/semester %u is not allowed.";
#elif L==4 // es
"El año/semestre %u no está permitido.";
#elif L==5 // fr
- "The year/semester %u is not enabled."; // Besoin de traduction
+ "L'année/semestre %u n'est pas autorisé.";
#elif L==6 // gn
"El año/semestre %u no está permitido."; // Okoteve traducción
#elif L==7 // it
"L'anno/semester %u non è consentito.";
#elif L==8 // pl
- "The year/semester %u is not allowed."; // Potrzebujesz tlumaczenie
+ "Rok/semestr %u jest niedozwolony.";
#elif L==9 // pt
"O ano/semestre %u não é permitido.";
#endif
const char *Txt_The_year_of_the_course_X_has_changed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El año/semestre de la asignatura %s ha cambiado."; // Necessita traducció
+ "L'any/semestre de l'assignatura %s ha canviat.";
#elif L==2 // de
- "The year/semester of the couse %s has changed."; // Need Übersetzung
+ "Das Jahr/Semester des Kurses %s hat sich geändert.";
#elif L==3 // en
"The year/semester of the couse %s has changed.";
#elif L==4 // es
"El año/semestre de la asignatura %s ha cambiado.";
#elif L==5 // fr
- "The year/semester of the couse %s has changed."; // Besoin de traduction
+ "L'année/le semestre de la matière %s a changé.";
#elif L==6 // gn
"El año/semestre de la asignatura %s ha cambiado."; // Okoteve traducción
#elif L==7 // it
"L'anno/semestre del corso %s è cambiato.";
#elif L==8 // pl
- "The year/semestre of the couse %s has changed."; // Potrzebujesz tlumaczenie
+ "Zmienił się rok/semestr przypadku %s.";
#elif L==9 // pt
"O ano/semestre da disciplina %s mudou.";
#endif
@@ -52018,84 +52026,84 @@ const char *Txt_thread =
const char *Txt_Thread_marked_to_be_moved =
#if L==1 // ca
- "Discusión marcada para moverla."; // Necessita traducció
+ "Discussió marcada per moure-la.";
#elif L==2 // de
- "Thread marked to be moved."; // Need Übersetzung
+ "Thread zum Verschieben markiert.";
#elif L==3 // en
"Thread marked to be moved.";
#elif L==4 // es
"Discusión marcada para moverla.";
#elif L==5 // fr
- "Thread marked to be moved."; // Besoin de traduction
+ "Fil marqué pour être déplacé.";
#elif L==6 // gn
"Discusión marcada para moverla."; // Okoteve traducción
#elif L==7 // it
"Discussione segnata per spostarla.";
#elif L==8 // pl
- "Thread marked to be moved."; // Potrzebujesz tlumaczenie
+ "Wątek oznaczony do przeniesienia.";
#elif L==9 // pt
"Discussão marcada para ser movida.";
#endif
const char *Txt_Thread_X_marked_to_be_moved = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "Discusión %s marcada para moverla."; // Necessita traducció
+ "Discussió %s marcada per moure-la.";
#elif L==2 // de
- "Thread %s marked to be moved."; // Need Übersetzung
+ "Thread %s zum Verschieben markiert.";
#elif L==3 // en
"Thread %s marked to be moved.";
#elif L==4 // es
"Discusión %s marcada para moverla.";
#elif L==5 // fr
- "Thread %s marked to be moved."; // Besoin de traduction
+ "Fil %s marqué pour être déplacé.";
#elif L==6 // gn
"Discusión %s marcada para moverla."; // Okoteve traducción
#elif L==7 // it
"Discussione %s segnata per spostarla.";
#elif L==8 // pl
- "Thread %s marked to be moved."; // Potrzebujesz tlumaczenie
+ "Wątek %s oznaczony do przeniesienia.";
#elif L==9 // pt
"Discussão %s marcada para ser movida.";
#endif
const char *Txt_Thread_moved_to_this_forum = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "Discusión movida a este foro."; // Necessita traducció
+ "Discussió moguda a aquest fòrum.";
#elif L==2 // de
- "Thread moved to this forum."; // Need Übersetzung
+ "Thread wurde in dieses Forum verschoben.";
#elif L==3 // en
"Thread moved to this forum.";
#elif L==4 // es
"Discusión movida a este foro.";
#elif L==5 // fr
- "Thread moved to this forum."; // Besoin de traduction
+ "Fil déplacé dans ce forum.";
#elif L==6 // gn
"Discusión movida a este foro."; // Okoteve traducción
#elif L==7 // it
"Discussione spostata in questo forum.";
#elif L==8 // pl
- "Thread moved to this forum."; // Potrzebujesz tlumaczenie
+ "Wątek został przeniesiony na to forum.";
#elif L==9 // pt
"Discussão movida para este fórum.";
#endif
const char *Txt_Thread_X_moved_to_this_forum = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "Discusión %s movida a este foro."; // Necessita traducció
+ "Discussió %s moguda a aquest fòrum.";
#elif L==2 // de
- "Thread %s moved to this forum."; // Need Übersetzung
+ "Thread %s wurde in dieses Forum verschoben.";
#elif L==3 // en
"Thread %s moved to this forum.";
#elif L==4 // es
"Discusión %s movida a este foro.";
#elif L==5 // fr
- "Thread %s moved to this forum."; // Besoin de traduction
+ "Fil %s déplacé dans ce forum.";
#elif L==6 // gn
"Discusión %s movida a este foro."; // Okoteve traducción
#elif L==7 // it
"Discussione %s spostata in questo forum.";
#elif L==8 // pl
- "Thread %s moved to this forum."; // Potrzebujesz tlumaczenie
+ "Wątek %s został przeniesiony na to forum.";
#elif L==9 // pt
"Discussão %s movida para este fórum.";
#endif
@@ -52144,21 +52152,21 @@ const char *Txt_Thread_X_removed = // Warning: it is very important to include %
const char *Txt_Thread_with_posts_from_you =
#if L==1 // ca
- "Discusión con comentarios de usted"; // Necessita traducció
+ "Discussió amb comentaris de vostè";
#elif L==2 // de
- "Thread with posts from you"; // Need Übersetzung
+ "Thread mit Beiträgen von Ihnen";
#elif L==3 // en
"Thread with posts from you";
#elif L==4 // es
"Discusión con comentarios de usted";
#elif L==5 // fr
- "Thread with posts from you"; // Besoin de traduction
+ "Fil avec des messages de votre part";
#elif L==6 // gn
"Discusión con comentarios de usted"; // Okoteve traducción
#elif L==7 // it
"Discussione con post per te";
#elif L==8 // pl
- "Thread with posts from you"; // Potrzebujesz tlumaczenie
+ "Wątek z wpisami od Ciebie";
#elif L==9 // pt
"Discussão com mensagens de você";
#endif
@@ -53083,11 +53091,11 @@ const char *Txt_Title_attribution =
const char *Txt_To_remove_a_center_you_must_first_remove_all_degrees_and_teachers_in_the_center =
#if L==1 // ca
- "Para eliminar un centro, primero debe eliminar"
- " todas las titulaciones y todos los profesores de ese centro."; // Necessita traducció
+ "Per eliminar un centre, primer heu d'eliminar"
+ " tots els graus i professors del centre.";
#elif L==2 // de
- "To remove a center, you must first remove"
- " all degrees and teachers in the center."; // Need Übersetzung
+ "Um ein Zentrum zu entfernen, müssen Sie zuerst"
+ " alle Abschlüsse und Lehrer im Zentrum entfernen.";
#elif L==3 // en
"To remove a center, you must first remove"
" all degrees and teachers in the center.";
@@ -53095,8 +53103,8 @@ const char *Txt_To_remove_a_center_you_must_first_remove_all_degrees_and_teacher
"Para eliminar un centro, primero debe eliminar"
" todas las titulaciones y todos los profesores de ese centro.";
#elif L==5 // fr
- "To remove a center, you must first remove"
- " all degrees and teachers in the center."; // Besoin de traduction
+ "Pour supprimer un centre, vous devez d'abord supprimer"
+ " tous les diplômes et enseignants du centre.";
#elif L==6 // gn
"Para eliminar un centro, primero debe eliminar"
" todas las titulaciones y todos los profesores de ese centro."; // Okoteve traducción
@@ -53104,8 +53112,8 @@ const char *Txt_To_remove_a_center_you_must_first_remove_all_degrees_and_teacher
"Per rimuovere un centro, devi prima rimuovere"
" tutte le lauree e professori di quel centro.";
#elif L==8 // pl
- "To remove a center, you must first remove"
- " all degrees and teachers in the center."; // Potrzebujesz tlumaczenie
+ "Aby usunąć środek, musisz najpierw usunąć"
+ " wszystkie stopnie i nauczycieli ze środka.";
#elif L==9 // pt
"Para remover um centro, você deve primeiro remover"
" todos os graus e professores no centro.";
@@ -53113,11 +53121,11 @@ const char *Txt_To_remove_a_center_you_must_first_remove_all_degrees_and_teacher
const char *Txt_To_remove_a_course_you_must_first_remove_all_users_in_the_course =
#if L==1 // ca
- "Para eliminar una asignatura, primero debe eliminar"
- " todos los usuarios de esa asignatura."; // Necessita traducció
+ "Per eliminar una assignatura, primer heu d'eliminar"
+ " tots els usuaris de la assignatura.";
#elif L==2 // de
- "To remove a course, you must first remove"
- " all users in the course."; // Need Übersetzung
+ "Um einen Kurs zu entfernen, müssen Sie zuerst"
+ " alle Benutzer im Kurs entfernen.";
#elif L==3 // en
"To remove a course, you must first remove"
" all users in the course.";
@@ -53125,8 +53133,8 @@ const char *Txt_To_remove_a_course_you_must_first_remove_all_users_in_the_course
"Para eliminar una asignatura, primero debe eliminar"
" todos los usuarios de esa asignatura.";
#elif L==5 // fr
- "To remove a course, you must first remove"
- " all users in the course."; // Besoin de traduction
+ "Pour supprimer une matière, vous devez d'abord supprimer"
+ " tous les utilisateurs de la matière.";
#elif L==6 // gn
"Para eliminar una asignatura, primero debe eliminar"
" todos los usuarios de esa asignatura."; // Okoteve traducción
@@ -53134,8 +53142,8 @@ const char *Txt_To_remove_a_course_you_must_first_remove_all_users_in_the_course
"Per rimuovere un corso, devi prima rimuovere"
" tutti gli utenti di quel corso.";
#elif L==8 // pl
- "To remove a course, you must first remove"
- " all users in the course."; // Potrzebujesz tlumaczenie
+ "Aby usunąć kurs, musisz najpierw usunąć"
+ " wszystkich użytkowników kursu.";
#elif L==9 // pt
"Para remover uma disciplina, você deve primeiro remover"
" todos os usuários da disciplina.";
@@ -53143,11 +53151,11 @@ const char *Txt_To_remove_a_course_you_must_first_remove_all_users_in_the_course
const char *Txt_To_remove_a_degree_you_must_first_remove_all_courses_in_the_degree =
#if L==1 // ca
- "Para eliminar una titulación, primero debe eliminar"
- " todas las asignaturas de esa titulación."; // Necessita traducció
+ "Per eliminar una titulació, primer heu d'eliminar"
+ " tots els cursos de la titulació.";
#elif L==2 // de
- "To remove a degree, you must first remove"
- " all courses in the degree."; // Need Übersetzung
+ "Um einen Abschluss zu entfernen, müssen Sie zuerst"
+ " alle Kurse des Abschlusses entfernen.";
#elif L==3 // en
"To remove a degree, you must first remove"
" all courses in the degree.";
@@ -53155,8 +53163,8 @@ const char *Txt_To_remove_a_degree_you_must_first_remove_all_courses_in_the_degr
"Para eliminar una titulación, primero debe eliminar"
" todas las asignaturas de esa titulación.";
#elif L==5 // fr
- "To remove a degree, you must first remove"
- " all courses in the degree."; // Besoin de traduction
+ "Pour supprimer un étude, vous devez d'abord supprimer"
+ " tous les matières de l'étude.";
#elif L==6 // gn
"Para eliminar una titulación, primero debe eliminar"
" todas las asignaturas de esa titulación."; // Okoteve traducción
@@ -53164,8 +53172,8 @@ const char *Txt_To_remove_a_degree_you_must_first_remove_all_courses_in_the_degr
"Per rimuovere una laurea, devi prima rimuovere"
" tutti i corsi della laurea.";
#elif L==8 // pl
- "To remove a degree, you must first remove"
- " all courses in the degree."; // Potrzebujesz tlumaczenie
+ "Aby usunąć stopień, musisz najpierw usunąć"
+ " wszystkie przedmioty z tego stopnia.";
#elif L==9 // pt
"Para remover um grau, você deve primeiro remover"
" todas as disciplinas do grau.";
@@ -53173,11 +53181,11 @@ const char *Txt_To_remove_a_degree_you_must_first_remove_all_courses_in_the_degr
const char *Txt_To_remove_a_department_you_must_first_remove_all_teachers_in_the_department =
#if L==1 // ca
- "Para eliminar un departamento, primero debe eliminar"
- " todos los profesores de ese departamento."; // Necessita traducció
+ "Per eliminar un departament, primer heu d'eliminar"
+ " tots els professors del departament.";
#elif L==2 // de
- "To remove a department, you must first remove"
- " all teachers in the department."; // Need Übersetzung
+ "Um eine Abteilung zu entfernen, müssen Sie zuerst"
+ " alle Lehrer in der Abteilung entfernen.";
#elif L==3 // en
"To remove a department, you must first remove"
" all teachers in the department.";
@@ -53185,8 +53193,8 @@ const char *Txt_To_remove_a_department_you_must_first_remove_all_teachers_in_the
"Para eliminar un departamento, primero debe eliminar"
" todos los profesores de ese departamento.";
#elif L==5 // fr
- "To remove a department, you must first remove"
- " all teachers in the department."; // Besoin de traduction
+ "Pour supprimer un département, vous devez d'abord supprimer"
+ " tous les enseignants du département.";
#elif L==6 // gn
"Para eliminar un departamento, primero debe eliminar"
" todos los profesores de ese departamento."; // Okoteve traducción
@@ -53194,8 +53202,8 @@ const char *Txt_To_remove_a_department_you_must_first_remove_all_teachers_in_the
"Per rimuovere un dipartimento, devi prima rimuovere"
" tutti i professori di quel dipartimento.";
#elif L==8 // pl
- "To remove a department, you must first remove"
- " all teachers in the department."; // Potrzebujesz tlumaczenie
+ "Aby usunąć dział, musisz najpierw usunąć"
+ " wszystkich nauczycieli z działu.";
#elif L==9 // pt
"Para remover um departamento, você deve primeiro remover"
" todos os professores do departamento.";
@@ -53203,11 +53211,11 @@ const char *Txt_To_remove_a_department_you_must_first_remove_all_teachers_in_the
const char *Txt_To_remove_a_place_you_must_first_remove_all_centers_of_that_place =
#if L==1 // ca
- "Para eliminar un lugar, primero debe eliminar"
- " todos los centros de ese lugar."; // Necessita traducció
+ "Per eliminar un lloc, primer heu d'eliminar"
+ " tots els centres d'aquest lloc.";
#elif L==2 // de
- "To remove a place, you must first remove"
- " all centers of that place."; // Need Übersetzung
+ "Um einen Ort zu entfernen, müssen Sie zuerst"
+ " alle Zentren dieses Ortes entfernen.";
#elif L==3 // en
"To remove a place, you must first remove"
" all centers of that place.";
@@ -53215,8 +53223,8 @@ const char *Txt_To_remove_a_place_you_must_first_remove_all_centers_of_that_plac
"Para eliminar un lugar, primero debe eliminar"
" todos los centros de ese lugar.";
#elif L==5 // fr
- "To remove a place, you must first remove"
- " all centers of that place."; // Besoin de traduction
+ "Pour supprimer un lieu, vous devez d'abord supprimer"
+ " tous les centres de ce lieu.";
#elif L==6 // gn
"Para eliminar un lugar, primero debe eliminar"
" todos los centros de ese lugar."; // Okoteve traducción
@@ -53224,8 +53232,8 @@ const char *Txt_To_remove_a_place_you_must_first_remove_all_centers_of_that_plac
"Per rimuovere un luogo, devi prima rimuovere"
" tutte le centri di quel luogo.";
#elif L==8 // pl
- "To remove a place, you must first remove"
- " all centers of that place."; // Potrzebujesz tlumaczenie
+ "Aby usunąć miejsce, musisz najpierw usunąć"
+ " wszystkie centra tego miejsca.";
#elif L==9 // pt
"Para remover uma localização, você deve primeiro remover"
" todos os centros da localização.";
@@ -53233,41 +53241,50 @@ const char *Txt_To_remove_a_place_you_must_first_remove_all_centers_of_that_plac
const char *Txt_To_remove_a_type_of_degree_you_must_first_remove_all_degrees_of_that_type =
#if L==1 // ca
- "Para eliminar un tipo de titulación, primero debe eliminar"
- " todas las titulaciones de ese tipo."; // Necessita traducció
+ "Per eliminar un tipus de grau,"
+ " primer heu d'eliminar"
+ " tots els graus d'aquest tipus.";
#elif L==2 // de
- "To remove a type of degree, you must first remove"
- " all degrees of that type."; // Need Übersetzung
+ "Um einen Abschlusstyp zu entfernen,"
+ " müssen Sie zuerst"
+ " alle Abschlüsse dieses Typs entfernen.";
#elif L==3 // en
- "To remove a type of degree, you must first remove"
+ "To remove a type of degree,"
+ " you must first remove"
" all degrees of that type.";
#elif L==4 // es
- "Para eliminar un tipo de titulación, primero debe eliminar"
+ "Para eliminar un tipo de titulación,"
+ " primero debe eliminar"
" todas las titulaciones de ese tipo.";
#elif L==5 // fr
- "To remove a type of degree, you must first remove"
- " all degrees of that type."; // Besoin de traduction
+ "Pour supprimer un type d'étude,"
+ " vous devez d'abord supprimer"
+ " tous les études de ce type.";
#elif L==6 // gn
- "Para eliminar un tipo de titulación, primero debe eliminar"
+ "Para eliminar un tipo de titulación,"
+ " primero debe eliminar"
" todas las titulaciones de ese tipo."; // Okoteve traducción
#elif L==7 // it
- "Per rimuovere un tipo di laurea, devi prima rimuovere"
+ "Per rimuovere un tipo di laurea,"
+ " devi prima rimuovere"
" tutte le lauree di quel tipo.";
#elif L==8 // pl
- "To remove a type of degree, you must first remove"
- " all degrees of that type."; // Potrzebujesz tlumaczenie
+ "Aby usunąć rodzaj stopnia,"
+ " musisz najpierw usunąć"
+ " wszystkie stopnie tego typu.";
#elif L==9 // pt
- "Para remover um tipo de grau, você deve primeiro remover"
+ "Para remover um tipo de grau,"
+ " você deve primeiro remover"
" todos os graus desse tipo.";
#endif
const char *Txt_To_remove_an_institution_you_must_first_remove_all_centers_and_users_in_the_institution =
#if L==1 // ca
- "Para eliminar una institución, primero debe eliminar"
- " todos los centros y todos los usuarios de esa institución."; // Necessita traducció
+ "Per eliminar una institució, primer heu d'eliminar"
+ " tots els centres i usuaris de la institució.";
#elif L==2 // de
- "To remove an institution, you must first remove"
- " all centers and users in the institution."; // Need Übersetzung
+ "Um eine Institution zu entfernen, müssen Sie zuerst"
+ " alle Zentren und Benutzer in der Institution entfernen.";
#elif L==3 // en
"To remove an institution, you must first remove"
" all centers and users in the institution.";
@@ -53275,8 +53292,8 @@ const char *Txt_To_remove_an_institution_you_must_first_remove_all_centers_and_u
"Para eliminar una institución, primero debe eliminar"
" todos los centros y todos los usuarios de esa institución.";
#elif L==5 // fr
- "To remove an institution, you must first remove"
- " all centers and users in the institution."; // Besoin de traduction
+ "Pour supprimer un établissement, vous devez d'abord supprimer"
+ " tous les centres et utilisateurs de l'établissement.";
#elif L==6 // gn
"Para eliminar una institución, primero debe eliminar"
" todos centros y todos los usuarios de esa institución."; // Okoteve traducción
@@ -53284,8 +53301,8 @@ const char *Txt_To_remove_an_institution_you_must_first_remove_all_centers_and_u
"Per rimuovere un'istituzione, devi prima rimuovere"
" tutti gli centri e utenti di quell'istituzione.";
#elif L==8 // pl
- "To remove an institution, you must first remove"
- " all centers and users in the institution."; // Potrzebujesz tlumaczenie
+ "Aby usunąć instytucję, musisz najpierw"
+ " usunąć wszystkie centra i użytkowników w instytucji.";
#elif L==9 // pt
"Para remover uma instituição, você deve primeiro remover"
" todos os centros e usuários da instituição.";
@@ -54490,19 +54507,19 @@ const char *Txt_Unknown_or_without_photo =
#if L==1
"Desconegut/da o sense fotografia";
#elif L==2
- "Unknown or without photo"; // Need Übersetzung
+ "Unbekannt oder ohne Foto";
#elif L==3
"Unknown or without photo";
#elif L==4
"Desconocido/a o sin fotografía";
#elif L==5
- "Unknown or without photo"; // Besoin de traduction
+ "Inconnu ou sans photo";
#elif L==6
"Desconocido/a o sin fotografía"; // Okoteve traducción
#elif L==7
"Sconosciuto/a o senza foto";
#elif L==8
- "Unknown or without photo"; // Potrzebujesz tlumaczenie
+ "Nieznany lub bez zdjęcia";
#elif L==9
"Desconhecido/a ou sem foto";
#endif
@@ -55292,7 +55309,7 @@ const char *Txt_USER_comments =
const char *Txt_User_ID =
#if L==1 // ca
- "ID (DNI/cèdula/passaport) de l'usuari";
+ "ID (DNI/cèdula) de l'usuari";
#elif L==2 // de
"Ausweis-Nr.";
#elif L==3 // en
@@ -55502,32 +55519,32 @@ const char *Txt_users[Usr_NUM_SEXS] =
const char *Txt_X_users_have_been_eliminated = // Warning: it is very important to include %u in the following sentences
#if L==1 // ca
- "Se ha(n) eliminado %u usuario(s)."; // Necessita traducció
+ "S'ha(n) eliminat %u usuari(s).";
#elif L==2 // de
- "%u user(s) have been eliminated."; // Need Übersetzung
+ "%u Benutzer wurden eliminiert.";
#elif L==3 // en
"%u user(s) have been eliminated.";
#elif L==4 // es
"Se ha(n) eliminado %u usuario(s).";
#elif L==5 // fr
- "%u users have been eliminated."; // Besoin de traduction
+ "%u utilisateur(s) ont été éliminés.";
#elif L==6 // gn
"Se ha(n) eliminado %u usuario(s)."; // Okoteve traducción
#elif L==7 // it
"%u utenti sono stati rimossi.";
#elif L==8 // pl
- "%u user(s) have been eliminated."; // Potrzebujesz tlumaczenie
+ "Wyeliminowano %u użytkowników.";
#elif L==9 // pt
"%u usuário(s) foram eliminados.";
#endif
const char *Txt_X_users_have_been_enroled_including_possible_repetitions = // Warning: it is very important to include %u in the following sentences
#if L==1 // ca
- "Se han inscrito %u usuarios"
- " (incluyendo posibles repeticiones)."; // Necessita traducció
+ "S'han inscrit %u usuaris"
+ " (incloent possibles repeticions).";
#elif L==2 // de
- "%u users have been enroled"
- " (including possible repetitions)."; // Need Übersetzung
+ "Es wurden %u Benutzer eingeschrieben"
+ " (einschließlich möglicher Wiederholungen).";
#elif L==3 // en
"%u users have been enroled"
" (including possible repetitions).";
@@ -55535,8 +55552,8 @@ const char *Txt_X_users_have_been_enroled_including_possible_repetitions = // Wa
"Se han inscrito %u usuarios"
" (incluyendo posibles repeticiones).";
#elif L==5 // fr
- "%u users have been enroled"
- " (including possible repetitions)."; // Besoin de traduction
+ "%u utilisateurs ont été inscrits"
+ " (y compris les répétitions possibles).";
#elif L==6 // gn
"Se han inscrito %u usuarios"
" (incluyendo posibles repeticiones)."; // Okoteve traducción
@@ -55544,8 +55561,8 @@ const char *Txt_X_users_have_been_enroled_including_possible_repetitions = // Wa
"%u utenti sono stati registrati"
" (comprese le eventuali ripetizioni).";
#elif L==8 // pl
- "%u users have been enroled"
- " (including possible repetitions)."; // Potrzebujesz tlumaczenie
+ "Zarejestrowano %u użytkowników"
+ " (wliczając możliwe powtórki).";
#elif L==9 // pt
"%u usuários foram inscritos"
" (incluindo possíveis repetições).";
@@ -55553,21 +55570,21 @@ const char *Txt_X_users_have_been_enroled_including_possible_repetitions = // Wa
const char *Txt_X_users_have_been_removed = // Warning: it is very important to include %u in the following sentences
#if L==1 // ca
- "Se han eliminado %u usuarios."; // Necessita traducció
+ "S'han eliminat %u usuaris.";
#elif L==2 // de
- "%u users have been removed."; // Need Übersetzung
+ "%u Benutzer wurden entfernt.";
#elif L==3 // en
"%u users have been removed.";
#elif L==4 // es
"Se han eliminado %u usuarios.";
#elif L==5 // fr
- "%u users have been removed."; // Besoin de traduction
+ "%u utilisateurs ont été supprimés.";
#elif L==6 // gn
"Se han eliminado %u usuarios."; // Okoteve traducción
#elif L==7 // it
"%u utenti sono stati rimossi.";
#elif L==8 // pl
- "%u users have been removed."; // Potrzebujesz tlumaczenie
+ "Usunięto %u użytkowników.";
#elif L==9 // pt
"%u usuários foram removidos.";
#endif
@@ -55645,7 +55662,7 @@ const char *Txt_Users_of_the_institution =
#elif L==4 // es
"Usuarios de la institución";
#elif L==5 // fr
- "Utilisateurs du établissement";
+ "Utilisateurs de l'établissement";
#elif L==6 // gn
"Usuarios de la institución"; // Okoteve traducción
#elif L==7 // it
@@ -57874,11 +57891,11 @@ const char *Txt_You_can_not_rename_this_folder =
const char *Txt_You_can_not_send_a_message_to_so_many_recipients_ =
#if L==1 // ca
- "No puede enviar un mensaje a tantísimos destinatarios."
- " Es mejor usar los foros."; // Necessita traducció
+ "No podeu enviar un missatge a tantíssims destinataris."
+ " És millor utilitzar els fòrums.";
#elif L==2 // de
- "You can not send a message to so many recipients."
- " Better use the forums."; // Need Übersetzung
+ "Sie können eine Nachricht nicht an so viele Empfänger senden."
+ " Benutze besser die Foren.";
#elif L==3 // en
"You can not send a message to so many recipients."
" Better use the forums.";
@@ -57886,8 +57903,8 @@ const char *Txt_You_can_not_send_a_message_to_so_many_recipients_ =
"No puede enviar un mensaje a tantísimos destinatarios."
" Es mejor usar los foros.";
#elif L==5 // fr
- "You can not send a message to so many recipients."
- " Better use the forums."; // Besoin de traduction
+ "Vous ne pouvez pas envoyer un message à autant de destinataires."
+ " Mieux vaut utiliser les forums.";
#elif L==6 // gn
"No puede enviar un mensaje a tantísimos destinatarios."
" Es mejor usar los foros."; // Okoteve traducción
@@ -57895,8 +57912,8 @@ const char *Txt_You_can_not_send_a_message_to_so_many_recipients_ =
"Non puoi inviare un messaggio a così tanti destinatari."
" Meglio usare il forum.";
#elif L==8 // pl
- "You can not send a message to so many recipients."
- " Better use the forums."; // Potrzebujesz tlumaczenie
+ "Nie możesz wysłać wiadomości do tylu odbiorców."
+ " Lepiej korzystaj z forów.";
#elif L==9 // pt
"Você não pode enviar uma mensagem para tantos destinatários."
" Melhor usar os fóruns.";
@@ -58075,11 +58092,11 @@ const char *Txt_You_can_search_for_courses_select_them_and_request_your_enrolmen
const char *Txt_You_can_send_a_file_with_an_image_in_PNG_format_transparent_background_and_size_X_Y = // Warning: it is very important to include two %u in the following sentences
#if L==1 // ca
- "Puede enviar un archivo con una imagen en formato PNG,"
- " fondo transparente y tamaño %u×%u píxeles."; // Necessita traducció
+ "Podeu enviar un arxiu amb una imatge en format PNG,"
+ " fons transparent i mida %u×%u píxels.";
#elif L==2 // de
- "You can send a file with an image in PNG format,"
- " transparent background and size %u×%u pixels."; // Need Übersetzung
+ "Sie können eine Datei mit einem Bild im PNG-Format,"
+ " transparentem Hintergrund und der Größe %u×%u Pixel senden.";
#elif L==3 // en
"You can send a file with an image in PNG format,"
" transparent background and size %u×%u pixels.";
@@ -58087,8 +58104,8 @@ const char *Txt_You_can_send_a_file_with_an_image_in_PNG_format_transparent_back
"Puede enviar un archivo con una imagen en formato PNG,"
" fondo transparente y tamaño %u×%u píxeles.";
#elif L==5 // fr
- "You can send a file with an image in PNG format,"
- " transparent background and size %u×%u pixels."; // Besoin de traduction
+ "Vous pouvez envoyer un fichier avec une image au format PNG,"
+ " fond transparent et taille %u×%u pixels.";
#elif L==6 // gn
"Puede enviar un archivo con una imagen en formato PNG,"
" fondo transparente y tamaño %u×%u píxeles."; // Okoteve traducción
@@ -58096,8 +58113,8 @@ const char *Txt_You_can_send_a_file_with_an_image_in_PNG_format_transparent_back
"Puoi inviare un file con un'immagine in formato PNG,"
" sfondo trasparente e di dimensione %u×%u pixel.";
#elif L==8 // pl
- "You can send a file with an image in PNG format,"
- " transparent background and size %u×%u pixels."; // Potrzebujesz tlumaczenie
+ "Możesz wysłać plik z obrazem w formacie PNG,"
+ " z przezroczystym tłem i rozmiarem %u×%u pikseli.";
#elif L==9 // pt
"Você pode enviar um arquivo com uma imagem no formato PNG,"
" fundo transparente e tamanho %u×%u pixels.";
@@ -58237,11 +58254,11 @@ const char *Txt_You_have_confirmed_that_you_have_read_this_information =
const char *Txt_You_have_confirmed_your_enrolment_in_the_course_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "Usted ha confirmado su inscripción"
- " en la asignatura %s."; // Necessita traducció
+ "Heu confirmat la seva inscripció"
+ " a l'assignatura %s.";
#elif L==2 // de
- "You have confirmed your enrolment"
- " in the course %s."; // Need Übersetzung
+ "Sie haben Ihre Einschreibung"
+ " in den Kurs %s bestätigt.";
#elif L==3 // en
"You have confirmed your enrolment"
" in the course %s.";
@@ -58249,8 +58266,8 @@ const char *Txt_You_have_confirmed_your_enrolment_in_the_course_X = // Warning:
"Usted ha confirmado su inscripción"
" en la asignatura %s.";
#elif L==5 // fr
- "You have confirmed your enrolment"
- " in the course %s."; // Besoin de traduction
+ "Vous avez confirmé votre inscription"
+ " à la matière %s.";
#elif L==6 // gn
"Usted ha confirmado su inscripción"
" en la asignatura %s."; // Okoteve traducción
@@ -58258,8 +58275,8 @@ const char *Txt_You_have_confirmed_your_enrolment_in_the_course_X = // Warning:
"Hai confermato la tua registrazione"
" in questo corso %s.";
#elif L==8 // pl
- "You have confirmed your enrolment"
- " in the course %s."; // Potrzebujesz tlumaczenie
+ "Potwierdziłeś zapis"
+ " na kurs %s.";
#elif L==9 // pt
"Você confirmou sua inscrição"
" na disciplina %s.";
@@ -58267,11 +58284,11 @@ const char *Txt_You_have_confirmed_your_enrolment_in_the_course_X = // Warning:
const char *Txt_You_have_eliminated_the_confirmation_that_you_have_read_this_information =
#if L==1 // ca
- "Usted ha eliminado la confirmación"
- " de que ha leido esta información."; // Necessita traducció
+ "Heu eliminat la confirmació"
+ " que heu llegit aquesta informació.";
#elif L==2 // de
- "You have eliminated the confirmation"
- " that you have read this information."; // Need Übersetzung
+ "Sie haben die Bestätigung,"
+ " dass Sie diese Informationen gelesen haben, gelöscht.";
#elif L==3 // en
"You have eliminated the confirmation"
" that you have read this information.";
@@ -58279,8 +58296,8 @@ const char *Txt_You_have_eliminated_the_confirmation_that_you_have_read_this_inf
"Usted ha eliminado la confirmación"
" de que ha leido esta información.";
#elif L==5 // fr
- "You have eliminated the confirmation"
- " that you have read this information."; // Besoin de traduction
+ "Vous avez éliminé la confirmation"
+ " que vous avez lu ces informations.";
#elif L==6 // gn
"Usted ha eliminado la confirmación"
" de que ha leido esta información."; // Okoteve traducción
@@ -58288,8 +58305,8 @@ const char *Txt_You_have_eliminated_the_confirmation_that_you_have_read_this_inf
"Hai rimosso la conferma"
" che hai letto questa informazione.";
#elif L==8 // pl
- "You have eliminated the confirmation"
- " that you have read this information."; // Potrzebujesz tlumaczenie
+ "Usunąłeś potwierdzenie,"
+ " że przeczytałeś te informacje.";
#elif L==9 // pt
"Você eliminou a confirmação"
" de que leu esta informação.";
@@ -59068,7 +59085,7 @@ const char *Txt_You_should_read_the_following_information =
const char *Txt_You_were_already_enroled_as_X_in_the_course_Y = // Warning: it is very important to include two %s in the following sentences
#if L==1 // ca
- "Ja estaves matriculat com a %s"
+ "Vostè ja estava inscrit/a com a %s"
" a l'assignatura %s.";
#elif L==2 // de
"Sie waren bereits als %s"