diff --git a/swad_changelog.h b/swad_changelog.h index 03b54ace3..7305fdadd 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.5 (2022-06-21)" +#define Log_PLATFORM_VERSION "SWAD 21.98.6 (2022-06-21)" #define CSS_FILE "swad21.97.1.css" #define JS_FILE "swad21.97.4.js" /* + Version 21.98.6: Jun 21, 2022 Some messages translated. (322554 lines) 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) diff --git a/swad_text.c b/swad_text.c index 912b79346..a9b276bbb 100644 --- a/swad_text.c +++ b/swad_text.c @@ -9472,13 +9472,13 @@ const char *Txt_Do_you_really_want_to_remove_the_exam_X = // Warning: it is very const char *Txt_Do_you_really_want_to_remove_the_field_X_from_the_records_of_Y_Z_ = // Warning: it is very important to include two %s and one %u in the following sentences #if L==1 // ca - "¿Realmente desea eliminar el campo %s" - " de las fichas de %s" - " (dicho campo está relleno en las fichas de %u estudiante(s))?"; // Necessita traducció + "Realment voleu eliminar el camp %s" + " dels registres de %s" + " (aquest camp s'omple amb els registres de %u estudiant(s))"; #elif L==2 // de - "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))?"; // Need Übersetzung + "Wollen Sie das Feld %s" + " wirklich aus den Datensätzen von %s entfernen" + " (dieses Feld ist in den Datensätzen von %u Studenten ausgef%uuml;llt)"; #elif L==3 // en "Do you really want to remove the field %s" " from the records of %s" @@ -9488,9 +9488,9 @@ const char *Txt_Do_you_really_want_to_remove_the_field_X_from_the_records_of_Y_Z " de las fichas de %s" " (dicho campo está relleno en las fichas de %u estudiante(s))?"; #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 + "Voulez-vous vraiment supprimer le champ %s" + " des fiches de %s" + " (ce champ est rempli dans les fiches de %u étudiant(s))"; #elif L==6 // gn "¿Realmente desea eliminar el campo %s" " de las fichas de %s" @@ -9500,9 +9500,9 @@ const char *Txt_Do_you_really_want_to_remove_the_field_X_from_the_records_of_Y_Z " dalle schede di %s" " (questo campo è inserito nella scheda di %u studenti)?"; #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 + "Czy na pewno chcesz usunąć pole %s" + " z rekordów %s" + " (to pole jest wypełniane w rekordach %u uczniów)"; #elif L==9 // pt "Você realmente quer remover o campo %s" " dos cartões de %s" @@ -11298,11 +11298,11 @@ const char *Txt_Eliminate_user_account = const char *Txt_Eliminating_X_users_who_were_not_enroled_in_any_course_and_with_more_than_Y_months_without_access_to_Z = // Warning: it is very important to include %lu, %u and %s in the following sentences #if L==1 // ca - "Eliminando %lu usuario(s) que no estaba(n) inscrito(s) en ninguna asignatura" - " y que llevaba(n) más de %u meses sin acceder a %s."; // Necessita traducció + "Eliminant %lu usuaris que no estaven matriculats en cap assignatura" + " i amb més de %u mesos sense accés a %s."; #elif L==2 // de - "Eliminating %lu user(s) who were not enroled in any course" - " and with more than %u months without access to %s."; // Need Übersetzung + "Eliminierung von %lu Benutzern, die in keinem Kurs eingeschrieben waren" + " und seit mehr als %u Monaten keinen Zugriff auf %s haben."; #elif L==3 // en "Eliminating %lu user(s) who were not enroled in any course" " and with more than %u months without access to %s."; @@ -11310,8 +11310,8 @@ const char *Txt_Eliminating_X_users_who_were_not_enroled_in_any_course_and_with_ "Eliminando %lu usuario(s) que no estaba(n) inscrito(s) en ninguna asignatura" " y que llevaba(n) más de %u meses sin acceder a %s."; #elif L==5 // fr - "Eliminating %lu user(s) who were not enroled in any course" - " and with more than %u months without access to %s."; // Besoin de traduction + "Suppression de %lu utilisateur(s) qui n'étaient inscrits à aucune matière" + " et avec plus de %u mois sans accès à %s."; #elif L==6 // gn "Eliminando %lu usuario(s) que no estaba(n) inscrito(s) en ninguna asignatura" " y que llevaba(n) más de %u meses sin acceder a %s."; // Okoteve traducción @@ -12453,15 +12453,15 @@ const char *Txt_Extended_public_profile = const char *Txt_X_faces_have_been_detected_in_front_position_1_Z_ = // Warning: it is very important to include two %u in the following sentences #if L==1 // ca - "Se han detectado %u rostros en posición frontal:
" - "1 con el fondo suficientemente claro (en color verde),
" - "%u con el fondo demasiado oscuro (en color rojo).
" - "Si desea elegir el rostro señalado en verde, pulse sobre él."; // Necessita traducció + "S'han detectat %u cares en posició frontal:
" + "1 amb prou llum de fons (marcat en verd),
" + "%u amb el fons massa fosc (marcat en vermell).
" + "Si vols triar la cara marcada en verd, fes-hi clic."; #elif L==2 // de - "%u faces have been detected in front position:
" - "1 with the background light enough (marked in green).
" - "%u with the background too dark (marked in red).
" - "If you want to choose the face marked in green, click on it."; // Need Übersetzung + "%u Gesichter wurden in vorderer Position erkannt:
" + "1 mit ausreichend hellem Hintergrund (grün markiert),
" + "%u mit zu dunklem Hintergrund (rot markiert).
" + "Wenn Sie das grün markierte Gesicht auswählen möchten, klicken Sie darauf."; #elif L==3 // en "%u faces have been detected in front position:
" "1 with the background light enough (marked in green).
" @@ -12473,10 +12473,10 @@ const char *Txt_X_faces_have_been_detected_in_front_position_1_Z_ = // Warning: "%u con el fondo demasiado oscuro (en color rojo).
" "Si desea elegir el rostro señalado en verde, pulse sobre él."; #elif L==5 // fr - "%u faces have been detected in front position:
" - "1 with the background light enough (marked in green).
" - "%u with the background too dark (marked in red).
" - "If you want to choose the face marked in green, click on it."; // Besoin de traduction + "%u visages ont été détectés en position de face:
" + "1 avec le fond assez clair (marqué en vert),
" + "%u avec le fond trop sombre (marqué en rouge).
" + "Si vous voulez choisir le visage marqué en vert, cliquez dessus."; #elif L==6 // gn "Se han detectado %u rostros en posición frontal:
" "1 con el fondo suficientemente claro (en color verde),
" @@ -12484,35 +12484,35 @@ const char *Txt_X_faces_have_been_detected_in_front_position_1_Z_ = // Warning: "Si desea elegir el rostro señalado en verde, pulse sobre él."; // Okoteve traducción #elif L==7 // it "%u visi sono stati individuati in posizione centrale:
" - "1 con lo sfondo abbastanza chiaro (segnato in verde).
" + "1 con lo sfondo abbastanza chiaro (segnato in verde),
" "%u con lo sfondo troppo scuro (segnato in rosso).
" "Se vuoi scegliere il viso segnato in verde, clicca su di esso."; #elif L==8 // pl "%u twarze zostaly wykryte w przednim:
" - "1 z dosc jasnym tle (zaznaczone na zielono).
" + "1 z dosc jasnym tle (zaznaczone na zielono),
" "%u z tlem zbyt ciemny (zaznaczone na czerwono).
" "Jesli chcesz wybrac twarz zaznaczone na zielono, kliknij na niego."; #elif L==9 // pt "%u faces foram detectadas na posição frontal:
" - "1 com o fundo claro o suficiente (marcado em verde).
" + "1 com o fundo claro o suficiente (marcado em verde),
" "%u com o fundo muito escuro (marcado em vermelho).
" "Se você quiser escolher o rosto marcado em verde, clique nele."; #endif const char *Txt_X_faces_have_been_detected_in_front_position_Y_Z_ = // Warning: it is very important to include three %u in the following sentences #if L==1 // ca - "Se han detectado %u rostros en posición frontal:
" - "%u con el fondo suficientemente claro (en color verde),
" - "%u con el fondo demasiado oscuro (en color rojo).
" - "Si desea elegir uno de los rostros señalados en verde, pulse sobre él."; // Necessita traducció + "S'han detectat %u cares en posició frontal:
" + "%u amb prou llum de fons (marcat en verd),
" + "%u amb el fons massa fosc (marcat en vermell).
" + "Si vols triar una de les cares marcades en verd, fes-hi clic."; #elif L==2 // de - "%u faces have been detected in front position:
" - "%u with the background light enough (marked in green).
" - "%u with the background too dark (marked in red).
" - "If you want to choose one of the faces marked in green, click on it."; // Need Übersetzung + "%u Gesichter wurden in vorderer Position erkannt:
" + "%u mit ausreichend hellem Hintergrund (grün markiert),
" + "%u mit zu dunklem Hintergrund (rot markiert).
" + "Wenn Sie eines der grün markierten Gesichter auswählen möchten, klicken Sie darauf."; #elif L==3 // en "%u faces have been detected in front position:
" - "%u with the background light enough (marked in green).
" + "%u with the background light enough (marked in green),
" "%u with the background too dark (marked in red).
" "If you want to choose one of the faces marked in green, click on it."; #elif L==4 // es @@ -12521,10 +12521,10 @@ const char *Txt_X_faces_have_been_detected_in_front_position_Y_Z_ = // Warning: "%u con el fondo demasiado oscuro (en color rojo).
" "Si desea elegir uno de los rostros señalados en verde, pulse sobre él."; #elif L==5 // fr - "%u faces have been detected in front position:
" - "%u with the background light enough (marked in green).
" - "%u with the background too dark (marked in red).
" - "If you want to choose one of the faces marked in green, click on it."; // Besoin de traduction + "%u visages ont été détectés en position de face:
" + "%u avec un fond suffisamment clair (marqué en vert),
" + "%u avec un arrière-plan trop sombre (marqué en rouge).
" + "Si vous voulez choisir l'une des faces marquées en vert, cliquez dessus."; #elif L==6 // gn "Se han detectado %u rostros en posición frontal:
" "%u con el fondo suficientemente claro (en color verde),
" @@ -12532,17 +12532,17 @@ const char *Txt_X_faces_have_been_detected_in_front_position_Y_Z_ = // Warning: "Si desea elegir uno de los rostros señalados en verde, pulse sobre él."; // Okoteve traducción #elif L==7 // it "%u visi sono stati individuati in posizione centrale:
" - "%u con lo sfondo abbastanza chiaro (segnato il verde).
" + "%u con lo sfondo abbastanza chiaro (segnato il verde),
" "%u con lo sfondo troppo scuro (segnato in rosso).
" "Se vuoi scegliere uno dei visi segnati in verde, clicca su di esso."; #elif L==8 // pl "%u twarze zostaly wykryte w przednim:
" - "%u z dosc jasnym tlem (zaznaczone na zielono).
" + "%u z dosc jasnym tlem (zaznaczone na zielono),
" "%u z tlem zbyt ciemnym (zaznaczone na czerwono).
" "Jesli chcesz wybrac jedna z twarzy zaznaczone na zielono, kliknij na niego."; #elif L==9 // pt "%u faces foram detectadas na posição frontal:
" - "%u com o fundo claro o suficiente (marcado em verde).
" + "%u com o fundo claro o suficiente (marcado em verde),
" "%u com o fundo muito escuro (marcado em vermelho).
" "Se você quiser escolher um dos rostos marcados em verde, clique nele."; #endif @@ -16641,11 +16641,11 @@ const char *Txt_In_a_type_of_group_with_single_enrolment_students_can_not_be_reg const char *Txt_In_the_year_X_of_the_degree_Y_already_existed_a_course_with_the_name_Z = // Warning: it is very important to include three %s in the following sentences #if L==1 // ca - "En el año/semestre %s de la titulación %s" - " ya existía una asignatura con el nombre %s."; // Necessita traducció + "L'any/semestre %s de la titulació %s" + " ja existia una assignatura amb el nom %s."; #elif L==2 // de - "In the year/semester %s of the degree %s" - " already existed a course with the name %s."; // Need Übersetzung + "Im %s Studienjahr/Semester des Studiengangs %s" + " existierte bereits ein Studiengang mit dem Namen %s."; #elif L==3 // en "In the year/semester %s of the degree %s" " already existed a course with the name %s."; @@ -16653,8 +16653,8 @@ const char *Txt_In_the_year_X_of_the_degree_Y_already_existed_a_course_with_the_ "En el año/semestre %s de la titulación %s" " ya existía una asignatura con el nombre %s."; #elif L==5 // fr - "In the year/semester %s of the degree %s" - " already existed a course with the name %s."; // Besoin de traduction + "Dans l'année/semestre %s de l'étude %s" + " existait déjà une matière avec le nom %s."; #elif L==6 // gn "En el año/semestre %s de la titulación %s" " ya existía una asignatura con el nombre %s."; // Okoteve traducción @@ -16662,8 +16662,8 @@ const char *Txt_In_the_year_X_of_the_degree_Y_already_existed_a_course_with_the_ "Nell'anno/semester %s di laurea %s" " già esiste un corso con il nome %s."; #elif L==8 // pl - "W roku/semestr %s stopnia %s" - " istnialy juz kursów z nazwa %s."; + "W roku/semestrze %s stopnia %s" + " istniał już kierunek o nazwie %s."; #elif L==9 // pt "No ano/semestre %s do grau %s" " já existia uma disciplina com o nome %s."; @@ -41383,17 +41383,16 @@ const char *Txt_Select_questions = const char *Txt_Select_the_groups_in_from_which_you_want_to_register_remove_users_ = #if L==1 // ca - "Seleccione los grupos en/de los que quiere inscribir/eliminar usuarios.
" - "Si selecciona grupos, los usuarios serán inscritos en la asignatura y en los grupos seleccionados," - " o bien eliminados de los grupos seleccionados pero no de la asignatura.
" - "Si no selecciona ningún grupo, los usuarios serán inscritos en la asignatura pero no en grupos concretos," - " o bien eliminados de la asignatura y de todos los grupos."; // Necessita traducció + "Seleccioneu els grups en/des dels quals voleu registrar/eliminar usuaris.
" + "Si seleccioneu algun grup, els usuaris s'inscriuran a l'assignatura i als grups seleccionats, o s'eliminaran dels grups seleccionats però no de l'assignatura.
" + "Si no seleccioneu cap grup, els usuaris seran inscrits a l'assignatura però no a grups específics," + " o s'eliminaran de l'assignatura i de tots els grups."; #elif L==2 // de - "Select the groups in/from which you want to register/remove users.
" - "If you select any groups, users will be enroled in the course and the selected groups," - " or removed from the selected groups but not from the course.
" - "If you do not select any groups, users will be enroled in the course but not in specific groups," - " or removed from the course and from all groups."; // Need Übersetzung + "Wählen Sie die Gruppen aus, in/aus denen Sie Benutzer registrieren/entfernen möchten.
" + "Wenn Sie Gruppen auswählen, werden Benutzer in den Kurs und die ausgewählten Gruppen eingeschrieben oder aus den ausgewählten Gruppen," + " aber nicht aus dem Kurs entfernt.
" + "Wenn Sie keine Gruppen auswählen, werden Benutzer in den Kurs eingeschrieben, aber nicht in bestimmte Gruppen," + " oder aus dem Kurs und aus allen Gruppen entfernt."; #elif L==3 // en "Select the groups in/from which you want to register/remove users.
" "If you select any groups, users will be enroled in the course and the selected groups," @@ -41407,11 +41406,11 @@ const char *Txt_Select_the_groups_in_from_which_you_want_to_register_remove_user "Si no selecciona ningún grupo, los usuarios serán inscritos en la asignatura pero no en grupos concretos," " o bien eliminados de la asignatura y de todos los grupos."; #elif L==5 // fr - "Select the groups in/from which you want to register/remove users.
" - "If you select any groups, users will be enroled in the course and the selected groups," - " or removed from the selected groups but not from the course.
" - "If you do not select any groups, users will be enroled in the course but not in specific groups," - " or removed from the course and from all groups."; // Besoin de traduction + "Sélectionnez les groupes dans/dont vous souhaitez enregistrer/supprimer des utilisateurs.
" + "Si vous sélectionnez des groupes, les utilisateurs seront inscrits a la matière et aux groupes sélectionnés," + " ou supprimés des groupes sélectionnés mais pas de la matière.
" + "Si vous ne sélectionnez aucun groupe, les utilisateurs seront inscrits au cours mais pas à des groupes spécifiques," + " ou seront supprimés de la matière et de tous les groupes."; #elif L==6 // gn "Seleccione los grupos en/de los que quiere inscribir/eliminar usuarios.
" "Si selecciona grupos, los usuarios serán inscritos en la asignatura y en los grupos seleccionados," @@ -41425,11 +41424,11 @@ const char *Txt_Select_the_groups_in_from_which_you_want_to_register_remove_user "Se non selezioni alcun gruppo, gli utenti saranno registrati nel corso ma non in gruppi specifici," " o rimossi dal corso e da tutti i gruppi."; #elif L==8 // pl - "Select the groups in/from which you want to register/remove users.
" - "If you select any groups, users will be enroled in the course and the selected groups," - " or removed from the selected groups but not from the course.
" - "If you do not select any groups, users will be enroled in the course but not in specific groups," - " or removed from the course and from all groups."; // Potrzebujesz tlumaczenie + "Wybierz grupy, w których/z których chcesz zarejestrować/usunąć użytkowników.
" + "Jeśli wybierzesz jakąkolwiek grupę, użytkownicy zostaną zapisani do kursu i wybranych grup" + " lub zostaną usunięci z wybranych grup, ale nie z kursu.
" + "Jeśli nie wybierzesz żadnej grupy, użytkownicy zostaną zapisani do kursu, ale nie do określonych grup," + " lub usunięci z kursu i ze wszystkich grup."; #elif L==9 // pt "Selecione os grupos em/dos quais você deseja registrar/remover usuários.
" "Se você selecionar grupos, os usuários serão inscritos na disciplina e nos grupos selecionados" @@ -48304,11 +48303,11 @@ const char *Txt_The_ID_X_has_been_registered_successfully = // Warning: it is ve const char *Txt_The_ID_X_is_not_valid = // Warning: it is very important to include %s in the following sentences #if L==1 // ca - "El ID (DNI/cédula) %s no es válido." - " Solo puede contener números (al menos uno) y letras."; // Necessita traducció + "L'ID (DNI/cèdula) %s no és vàlid." + " Només pot contenir números (almenys un) i lletres."; #elif L==2 // de - "The ID %s is not valid." - " It can only contain numbers (at least one) and letters."; // Need Übersetzung + "Die ID %s ist ungültig." + " Es darf nur Zahlen (mindestens eine) und Buchstaben enthalten."; #elif L==3 // en "The ID %s is not valid." " It can only contain numbers (at least one) and letters."; @@ -48316,8 +48315,8 @@ const char *Txt_The_ID_X_is_not_valid = // Warning: it is very important to incl "El ID (DNI/cédula) %s no es válido." " Solo puede contener números (al menos uno) y letras."; #elif L==5 // fr - "The ID %s is not valid." - " It can only contain numbers (at least one) and letters."; // Besoin de traduction + "L'ID %s n'est pas valide." + " Il ne peut contenir que des chiffres (au moins un) et des lettres."; #elif L==6 // gn "El ID (DNI/cédula) %s no es válido." " Solo puede contener números (al menos uno) y letras."; // Okoteve traducción @@ -48325,8 +48324,8 @@ const char *Txt_The_ID_X_is_not_valid = // Warning: it is very important to incl "L'ID %s non è valido." " Può contenere solo numeri (almeno uno) e lettere."; #elif L==8 // pl - "The ID %s is not valid." - " It can only contain numbers (at least one) and letters."; // Potrzebujesz tlumaczenie + "ID %s jest nieprawidłowy." + " Może zawierać tylko cyfry (co najmniej jedną) i litery."; #elif L==9 // pt "O ID %s não é válido." " Só pode conter números (pelo menos um) e letras."; @@ -48781,11 +48780,11 @@ const char *Txt_The_location_of_the_building_X_has_not_changed = // Warning: it const char *Txt_The_lower_limit_of_correct_answers_must_be_less_than_or_equal_to_the_upper_limit = #if L==1 // ca - "El límite inferior del intervalo de respuestas correctas" - " debe ser menor o igual que el límite superior."; // Necessita traducció + "El límit inferior de respostes correctes" + " ha de ser inferior o igual al límit superior."; #elif L==2 // de - "The lower limit of correct answers" - " must be less than or equal to the upper limit."; // Need Übersetzung + "Die Untergrenze richtiger Antworten" + " muss kleiner oder gleich der Obergrenze sein."; #elif L==3 // en "The lower limit of correct answers" " must be less than or equal to the upper limit."; @@ -48793,8 +48792,8 @@ const char *Txt_The_lower_limit_of_correct_answers_must_be_less_than_or_equal_to "El límite inferior del intervalo de respuestas correctas" " debe ser menor o igual que el límite superior."; #elif L==5 // fr - "The lower limit of correct answers" - " must be less than or equal to the upper limit."; // Besoin de traduction + "La limite inférieure des bonnes réponses" + " doit être inférieure ou égale à la limite supérieure."; #elif L==6 // gn "El límite inferior del intervalo de respuestas correctas" " debe ser menor o igual que el límite superior."; // Okoteve traducción @@ -48802,8 +48801,8 @@ const char *Txt_The_lower_limit_of_correct_answers_must_be_less_than_or_equal_to "Il limite inferiore di risposte corrette" " deve essere minore o uguale al limite superiore."; #elif L==8 // pl - "The lower limit of correct answers" - " must be less than or equal to the upper limit."; // Potrzebujesz tlumaczenie + "Dolna granica poprawnych odpowiedzi" + " musi być mniejsza lub równa górnej granicy."; #elif L==9 // pt "O limite inferior de respostas corretas" " deve ser menor ou igual ao limite superior."; @@ -49341,11 +49340,11 @@ const char *Txt_The_nickname_matches_the_one_you_had_previously_registered = const char *Txt_The_number_of_editing_lines_in_the_record_field_X_has_not_changed = // Warning: it is very important to include %s in the following sentences #if L==1 // ca - "El nº de líneas" - " de edición del campo %s no ha cambiado."; // Necessita traducció + "El nombre de línies d'edició" + " al camp de fitxa %s no ha canviat."; #elif L==2 // de - "The number of editing lines" - " in the record field %s has not changed."; // Need Übersetzung + "Die Anzahl der Bearbeitungszeilen" + " im Satzfeld %s hat sich nicht geändert."; #elif L==3 // en "The number of editing lines" " in the record field %s has not changed."; @@ -49353,17 +49352,17 @@ const char *Txt_The_number_of_editing_lines_in_the_record_field_X_has_not_change "El nº de líneas de edición" " del campo %s no ha cambiado."; #elif L==5 // fr - "The number of editing lines" - " in the record field %s has not changed."; // Besoin de traduction + "Le nombre de lignes d'édition" + " dans le champ de carte %s n'a pas changé."; #elif L==6 // gn "El nº de líneas de edición" - " del campo %s no ha cambiado."; // Okoteve traducción + " del campo %s no ha cambiado."; // Okoteve traducción #elif L==7 // it "Il numero di linee editate" " nel campo scheda %s non è cambiato."; #elif L==8 // pl - "The number of editing lines" - " in the record field %s has not changed."; // Potrzebujesz tlumaczenie + "Liczba wierszy edycji" + " w polu rekordu %s nie uległa zmianie."; #elif L==9 // pt "O número de linhas de edição" " no campo de cartão %s não foi alterado."; @@ -50610,21 +50609,21 @@ const char *Txt_The_user_does_not_exist_or_password_is_incorrect = const char *Txt_THE_USER_X_already_exists_in_Y = // Warning: it is very important to include two %s in the following sentences #if L==1 // ca - "%s ya existe en %s."; // Necessita traducció + "%s ja existeix a %s."; #elif L==2 // de - "%s already exists in %s."; // Übersetzung notwendig + "%s existiert bereits in %s."; #elif L==3 // en "%s already exists in %s."; #elif L==4 // es "%s ya existe en %s."; #elif L==5 // fr - "%s already exists in %s."; // Besoin de traduction + "%s existe déjà dans %s."; #elif L==6 // gn "%s ya existe en %s."; // Okoteve traducción #elif L==7 // it "%s esiste già in %s."; #elif L==8 // pl - "%s already exists in %s."; // Potrzebujesz tlumaczenie + "%s już istnieje w %s."; #elif L==9 // pt "%s já existe em %s."; #endif @@ -50790,21 +50789,21 @@ const char *Txt_THE_USER_X_has_been_enroled_in_the_group_of_type_Y_Z = // Warnin const char *Txt_THE_USER_X_has_been_removed_as_administrator = // Warning: it is very important to include %s in the following sentences #if L==1 // ca - "%s ha sido eliminado/a como administrador/a."; // Necessita traducció + "%s ha estat eliminat/da com a administrador/a."; #elif L==2 // de - "%s has been removed as administrator."; // Übersetzung notwendig + "%s wurde als Administrator entfernt."; #elif L==3 // en "%s has been removed as administrator."; #elif L==4 // es "%s ha sido eliminado/a como administrador/a."; #elif L==5 // fr - "%s has been removed as administrator."; // Besoin de traduction + "%s a été supprimé en tant qu'administrateur."; #elif L==6 // gn "%s ha sido eliminado/a como administrador/a."; // Okoteve traducción #elif L==7 // it "%s è stato rimosso come amministratore."; #elif L==8 // pl - "%s has been removed as administrator."; // Potrzebujesz tlumaczenie + "%s został usunięty jako administrator."; #elif L==9 // pt "%s foi removido como administrador."; #endif @@ -51634,42 +51633,42 @@ const char *Txt_There_are_X_users_with_the_ID_Y = // Warning: it is very importa const char *Txt_There_has_been_no_change_in_groups = #if L==1 // ca - "No se ha realizado ningún cambio de grupos."; // Necessita traducció + "No hi ha hagut cap canvi en els grups."; #elif L==2 // de - "There has been no change in groups."; // Übersetzung notwendig + "An den Gruppen hat sich nichts geändert"; #elif L==3 // en "There has been no change in groups."; #elif L==4 // es "No se ha realizado ningún cambio de grupos."; #elif L==5 // fr - "There has been no change in groups."; // Besoin de traduction + "Il n'y a pas eu de changement dans les groupes."; #elif L==6 // gn "No se ha realizado ningún cambio de grupos."; // Okoteve traducción #elif L==7 // it "Non ci sono stati cambiamenti in gruppi."; #elif L==8 // pl - "There has been no change in groups."; // Potrzebujesz tlumaczenie + "Nie było zmian w grupach."; #elif L==9 // pt "Nenhuma alteração de grupo foi feita."; #endif const char *Txt_There_have_been_X_errors_in_sending_the_message = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Ha habido %u errores enviando el mensaje."; // Necessita traducció + "S'han produït %u errors en enviar el missatge."; #elif L==2 // de - "There have been %u errors in sending the message."; // Übersetzung notwendig + "Beim Senden der Nachricht sind %u Fehler aufgetreten."; #elif L==3 // en "There have been %u errors in sending the message."; #elif L==4 // es "Ha habido %u errores enviando el mensaje."; #elif L==5 // fr - "There have been %u errors in sending the message."; // Besoin de traduction + "Il y a eu %u erreurs dans l'envoi du message."; #elif L==6 // gn "Ha habido %u errores enviando el mensaje."; // Okoteve traducción #elif L==7 // it "Ci sono stati %u errori inviando il messaggio."; #elif L==8 // pl - "There have been %u errors in sending the message."; // Potrzebujesz tlumaczenie + "Wystąpiło %u błędów podczas wysyłania wiadomości."; #elif L==9 // pt "Houve %u erros ao enviar a mensagem."; #endif @@ -54160,21 +54159,21 @@ const char *Txt_Type_of_degree = const char *Txt_Type_of_degree_X_removed = // Warning: it is very important to include %s in the following sentences #if L==1 // ca - "Tipo de titulación %s eliminada."; // Necessita traducció + "Tipus de grau %s eliminat."; #elif L==2 // de - "Type of degree %s removed."; // Übersetzung notwendig + "Art des Abschlusses %s entfernt."; #elif L==3 // en "Type of degree %s removed."; #elif L==4 // es "Tipo de titulación %s eliminada."; #elif L==5 // fr - "Type of degree %s removed."; // Besoin de traduction + "Type d'étude %s supprimé."; #elif L==6 // gn "Tipo de titulación %s eliminada."; // Okoteve traducción #elif L==7 // it "Tipo di laurea %s rimossa."; #elif L==8 // pl - "Type of degree %s removed."; // Potrzebujesz tlumaczenie + "Usunięto rodzaj stopnia %s."; #elif L==9 // pt "Tipo de grau %s removido."; #endif @@ -54231,36 +54230,36 @@ const char *Txt_Type_of_group_X_removed = // Warning: it is very important to in #elif L==4 // es "Tipo de grupo %s eliminado."; #elif L==5 // fr - "Type of group %s removed."; // Besoin de traduction + "Type de groupe %s supprimé."; #elif L==6 // gn "Tipo de grupo %s eliminado."; // Okoteve traducción #elif L==7 // it "Tipo di gruppo %s rimosso."; #elif L==8 // pl - "Type of group %s removed."; // Potrzebujesz tlumaczenie + "Usunięto typ grupy %s."; #elif L==9 // pt "Tipo de grupo %s removido."; #endif const char *Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_ = #if L==1 // ca - "Escriba o pegue una lista" - " con @apodos, correos o ID (DNI/cédulas)." - " Los @apodos, correos o ID (DNI/cédulas)" - " pueden ir separados por cadenas de caracteres arbitrarias" - " (por ej. nombres, apellidos, espacios, etc.)." - " Solo se tendrán en cuenta aquellas palabras" - " que parezcan @apodos, correos o ID (DNI/cédulas);" - " el resto del texto se ignorará."; // Necessita traducció + "Escriviu o enganxeu una llista" + " de @nicks, correus electrònics o IDs." + " Els @nicks, correus electrònics o IDs" + " es poden separar per cadenes arbitràries" + " (per exemple, noms, llocs, etc.)." + " Només es tindran en compte les paraules" + " que sembli @nicks, correus electrònics o IDs;" + " la resta del text s'ignorarà."; #elif L==2 // de - "Type or paste a list" - " of @nicks, emails or IDs." - " The @nicks, emails or IDs" - " can be separated by arbitrary strings" - " (eg. names, places, etc.)." - " Only the words that seems @nicks, emails or IDs" - " will be taken into account;" - " the rest of the text will be ignored."; // Need Übersetzung + "Geben oder fügen Sie eine Liste" + " mit @nicks, E-Mails oder IDs ein." + " Die @nicks, E-Mails oder IDs" + " können durch beliebige Zeichenfolgen" + " (z. B. Namen, Orte usw.) getrennt werden." + " Nur die Wörter, die wie @nicks, E-Mails oder IDs aussehen," + " werden berücksichtigt;" + " der Rest des Textes wird ignoriert."; #elif L==3 // en "Type or paste a list" " of @nicks, emails or IDs." @@ -54280,14 +54279,14 @@ const char *Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_ = " que parezcan @apodos, correos o ID (DNI/cédulas);" " el resto del texto se ignorará."; #elif L==5 // fr - "Type or paste a list" - " of @nicks, emails or IDs." - " The @nicks, emails or IDs" - " can be separated by arbitrary strings" - " (eg. names, places, etc.)." - " Only the words that seems @nicks, emails or IDs" - " will be taken into account;" - " the rest of the text will be ignored."; // Besoin de traduction + "Tapez ou collez une liste" + " de @nicks, e-mails ou identifiants." + " Les @nicks, emails ou identifiants" + " peuvent être séparés par des chaînes arbitraires" + " (ex. noms, lieux, etc.)." + " Seuls les mots qui semblent @nicks, emails ou identifiants" + " seront pris en compte;" + " le reste du texte sera ignoré."; #elif L==6 // gn "Escriba o pegue una lista" " con @apodos, correos o ID (DNI/cédulas)." @@ -54308,14 +54307,14 @@ const char *Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_ = " saranno presi in considerazione;" " il resto del testo sarà ignorato."; #elif L==8 // pl - "Type or paste a list" - " of @nicks, emails or IDs." - " The @nicks, emails or IDs" - " can be separated by arbitrary strings" - " (eg. names, places, etc.)." - " Only the words that seems @nicks, emails or IDs" - " will be taken into account;" - " the rest of the text will be ignored."; // Potrzebujesz tlumaczenie + "Wpisz lub wklej listę" + " @nicków, e-maili lub ID." + " @nicki, e-maile lub ID" + " mogą być oddzielone dowolnymi ciągami" + " (np. nazwy, miejsca itp.)." + " Tylko słowa, które wyglądają jak @nick, e-maile lub ID," + " będą brane pod uwagę;" + " reszta tekstu zostanie zignorowana."; #elif L==9 // pt "Digite ou cole uma lista" " de @alcunhas, emails ou IDs."