diff --git a/swad_changelog.h b/swad_changelog.h
index eedf8f3ae..99dbb4f1b 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -606,10 +606,13 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
TODO: Attach pdf files in multimedia.
*/
-#define Log_PLATFORM_VERSION "SWAD 21.96.3 (2022-05-16)"
+#define Log_PLATFORM_VERSION "SWAD 21.96.6 (2022-05-18)"
#define CSS_FILE "swad21.95.5.css"
#define JS_FILE "swad21.92.js"
/*
+ Version 21.96.6: May 18, 2022 Some messages translated. (323156 lines)
+ Version 21.96.5: May 17, 2022 Some messages translated. (323160 lines)
+ Version 21.96.4: May 16, 2022 Some messages translated. (323159 lines)
Version 21.96.3: May 16, 2022 Some messages translated. (323158 lines)
Version 21.96.2: May 14, 2022 Some messages translated. (323169 lines)
Version 21.96.1: May 14, 2022 Some messages translated. (323168 lines)
@@ -1842,7 +1845,7 @@ sudo cp icon/check-green.svg /var/www/html/swad/icon/
Version 19.248.1: May 30, 2020 Exam session results can not be marked as visible if end of time is not in the past. (302825 lines)
Version 19.248: May 30, 2020 New API function getLastLocation. (302787 lines)
Version 19.247.1: May 29, 2020 Do not show exam results in hidden exams or hidden exam sessions. (302646 lines)
- Version 19.247: May 24, 2020 New API function sendMyCurrentLocation. (302622 lines)
+ Version 19.247: May 25, 2020 New API function sendMyCurrentLocation. (302622 lines)
1 change necessary in database:
CREATE TABLE IF NOT EXISTS room_check_in (ChkCod INT NOT NULL AUTO_INCREMENT,UsrCod INT NOT NULL,RooCod INT NOT NULL,CheckInTime DATETIME NOT NULL,UNIQUE INDEX(ChkCod),INDEX(UsrCod,CheckInTime),INDEX(CheckInTime));
If you want to use MyISAM:
diff --git a/swad_course.c b/swad_course.c
index 7657bbf73..e5894aa58 100644
--- a/swad_course.c
+++ b/swad_course.c
@@ -1520,12 +1520,12 @@ static void Crs_ReceiveFormRequestOrCreateCrs (Hie_Status_t Status)
{
/***** If name of course was in database... *****/
if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Crs_EditingCrs->ShrtName,
- -1L,Crs_EditingCrs->DegCod,Crs_EditingCrs->Year))
+ -1L,Crs_EditingCrs->DegCod,Crs_EditingCrs->Year))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists,
Crs_EditingCrs->ShrtName);
else if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("FullName",Crs_EditingCrs->FullName,
- -1L,Crs_EditingCrs->DegCod,Crs_EditingCrs->Year))
+ -1L,Crs_EditingCrs->DegCod,Crs_EditingCrs->Year))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists,
Crs_EditingCrs->FullName);
@@ -1878,13 +1878,13 @@ void Crs_ChangeCrsYear (void)
{
/***** If name of course was in database in the new year... *****/
if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Crs_EditingCrs->ShrtName,
- -1L,Crs_EditingCrs->DegCod,NewYear))
+ -1L,Crs_EditingCrs->DegCod,NewYear))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists_in_year_Y,
Crs_EditingCrs->ShrtName,
Txt_YEAR_OF_DEGREE[NewYear]);
else if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("FullName",Crs_EditingCrs->FullName,
- -1L,Crs_EditingCrs->DegCod,NewYear))
+ -1L,Crs_EditingCrs->DegCod,NewYear))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists_in_year_Y,
Crs_EditingCrs->FullName,
@@ -2010,7 +2010,7 @@ void Crs_RenameCourse (struct Crs_Course *Crs,Cns_ShrtOrFullName_t ShrtOrFullNam
{
/***** If course was in database... *****/
if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg (ParamName,NewCrsName,Crs->CrsCod,
- Crs->DegCod,Crs->Year))
+ Crs->DegCod,Crs->Year))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists,
NewCrsName);
diff --git a/swad_text.c b/swad_text.c
index 5655e214e..7f0d902be 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -262,9 +262,9 @@ const char *Txt_A_message_has_been_sent_to_email_address_X_to_confirm_that_addre
" a l'adreça de correu %s"
" per confirmar aquesta adreça.";
#elif L==2 // de
- "A message has been sent"
- " to email address %s"
- " to confirm that address."; // Need Übersetzung
+ "Es wurde eine Nachricht"
+ " an die E-Mail-Adresse %s gesendet,"
+ " um diese Adresse zu bestätigen.";
#elif L==3 // en
"A message has been sent"
" to email address %s"
@@ -274,21 +274,21 @@ const char *Txt_A_message_has_been_sent_to_email_address_X_to_confirm_that_addre
" a la dirección de correo %s"
" para confirmar dicha dirección.";
#elif L==5 // fr
- "A message has been sent"
- " to email address %s"
- " to confirm that address."; // Besoin de traduction
+ "Un message a été envoyé"
+ " à l'adresse e-mail %s"
+ " pour confirmer cette adresse.";
#elif L==6 // gn
"Se ha enviado un mensaje"
" a la dirección de correo %s"
" para confirmar dicha dirección."; // Okoteve traducción
#elif L==7 // it
- "A message has been sent"
- " to email address %s"
- " to confirm that address."; // Bisogno di traduzione
+ "È stato inviato un messaggio"
+ " all'indirizzo email %s"
+ " per confermare tale indirizzo.";
#elif L==8 // pl
- "A message has been sent"
- " to email address %s"
- " to confirm that address."; // Potrzebujesz tlumaczenie
+ "Wiadomość została wysłana"
+ " na adres e-mail %s"
+ " w celu potwierdzenia tego adresu.";
#elif L==9 // pt
"Uma mensagem foi enviada"
" para o endereço de email %s"
@@ -2766,7 +2766,7 @@ const char *Txt_Average_number_of_courses_to_which_a_user_belongs =
#elif L==4 // es
"N.º medio de asignaturas a las que pertenece cada usuario";
#elif L==5 // fr
- "Nombre moyen de cours à qui appartient un utilisateur";
+ "Nombre moyen de matières à qui appartient un utilisateur";
#elif L==6 // gn
"N.º medio de asignaturas a las que pertenece cada usuario"; // Okoteve traducción
#elif L==7 // it
@@ -2781,19 +2781,19 @@ const char *Txt_Average_BR_number_of_BR_times_that_BR_a_question_BR_has_been_BR_
#if L==1 // ca
"Mitjà de
vegades
que s'ha
respost
cada pregunta";
#elif L==2 // de
- "Average
number of
times that
a question
has been
responded"; // Need Übersetzung
+ "Durchschnittliche
Häufigkeit,
mit der
eine Frage
beantwortet wurde";
#elif L==3 // en
"Average
number of
times that
a question
has been
responded";
#elif L==4 // es
"N.º medio
de veces
que se ha
respondido
cada pregunta";
#elif L==5 // fr
- "Average
number of
times that
a question
has been
responded"; // Besoin de traduction
+ "Nombre moyen
de fois
qu'une question
a reçu
une réponse";
#elif L==6 // gn
"N.º medio
de veces
que se ha
respondido
cada pregunta"; // Okoteve traducción
#elif L==7 // it
- "Average
number of
times that
a question
has been
responded"; // Bisogno di traduzione
+ "Numero medio
di volte
in cui
una domanda
ha ricevuto
risposta";
#elif L==8 // pl
- "Average
number of
times that
a question
has been
responded"; // Potrzebujesz tlumaczenie
+ "Średnia
liczba
odpowiedzi
na pytanie";
#elif L==9 // pt
"N.º médio
de vezes
que uma
pergunta
foi respondida";
#endif
@@ -2802,19 +2802,19 @@ const char *Txt_Average_BR_number_of_BR_times_that_BR_questions_BR_have_been_BR_
#if L==1 // ca
"Mitjà de
vegades
que s'ha
respost
per assignatura";
#elif L==2 // de
- "Average
number of
times that
questions
have been
responded
per course"; // Need Übersetzung
+ "Durchschnittliche
Häufigkeit,
mit der
eine Frage
pro Kurs
beantwortet wurde";
#elif L==3 // en
"Average
number of
times that
questions
have been
responded
per course";
#elif L==4 // es
"N.º medio
de veces
que se ha
respondido
por asignatura";
#elif L==5 // fr
- "Average
number of
times that
questions
have been
responded
per course"; // Besoin de traduction
+ "Nombre moyen
de fois
qu'une question
a reçu
une réponse
par matière";
#elif L==6 // gn
"N.º medio
de veces
que se ha
respondido
por asignatura"; // Okoteve traducción
#elif L==7 // it
- "Average
number of
times that
questions
have been
responded
per course"; // Bisogno di traduzione
+ "Numero medio
di volte
in cui
una domanda
ha ricevuto
risposta
per corso";
#elif L==8 // pl
- "Average
number of
times that
questions
have been
responded
per course"; // Potrzebujesz tlumaczenie
+ "Średnia
liczba
odpowiedzi
na pytanie
na kurs";
#elif L==9 // pt
"N.º médio
de vezes
que uma
pergunta
foi respondida
por disciplina";
#endif
@@ -8819,14 +8819,14 @@ const char *Txt_Disclaimer_the_files_hosted_here_ = // Warning: it is very impor
" que contingui contingut li pertenezca"
" o que infringeix la llei, pot comunicar-lo a %s.";
#elif L==2 // de
- "Disclaimer: the files hosted here,"
- " unless otherwise noted,"
- " are subject to intellectual property rights"
- " and their ownership belongs to the users who have uploaded them."
- " %s is not responsible for the information contained in those files."
- " If you think convenient to remove any file"
- " whose contents belongs to you"
- " or that violates the law, you can contact %s."; // Need Übersetzung
+ "Haftungsausschluss: Die hier gehosteten Dateien unterliegen,"
+ " sofern nicht anders angegeben,"
+ " geistigen Eigentumsrechten und ihr Eigentum gehört den Benutzern,"
+ " die sie hochgeladen haben."
+ " %s ist nicht verantwortlich für die in diesen Dateien enthaltenen Informationen."
+ " Wenn Sie es für angebracht halten, eine Datei zu entfernen,"
+ " deren Inhalt Ihnen gehört oder die gegen das Gesetz verstößt,"
+ " können Sie sich an %s wenden.";
#elif L==3 // en
"Disclaimer: the files hosted here,"
" unless otherwise noted,"
@@ -8846,14 +8846,14 @@ const char *Txt_Disclaimer_the_files_hosted_here_ = // Warning: it is very impor
" cuyo contenido le pertenezca"
" o que infrinja la ley, puede comunicarlo a %s.";
#elif L==5 // fr
- "Disclaimer: the files hosted here,"
- " unless otherwise noted,"
- " are subject to intellectual property rights"
- " and their ownership belongs to the users who have uploaded them."
- " %s is not responsible for the information contained in those files."
- " If you think convenient to remove any file"
- " whose contents belongs to you"
- " or that violates the law, you can contact %s."; // Besoin de traduction
+ "Avis de non-responsabilité: les fichiers hébergés ici,"
+ " sauf indication contraire,"
+ " sont soumis à des droits de propriété intellectuelle"
+ " et leur propriété appartient aux utilisateurs qui les ont téléchargés."
+ " %s n'est pas responsable des informations contenues dans ces fichiers."
+ " Si vous jugez opportun de supprimer tout fichier"
+ " dont le contenu vous appartient"
+ " ou qui enfreint la loi, vous pouvez contacter %s.";
#elif L==6 // gn
"Aviso legal: los archivos alojados aquí,"
" salvo que se indique lo contrario,"
@@ -8864,23 +8864,22 @@ const char *Txt_Disclaimer_the_files_hosted_here_ = // Warning: it is very impor
" cuyo contenido le pertenezca"
" o que infrinja la ley, puede comunicarlo a %s."; // Okoteve traducción
#elif L==7 // it
- "Disclaimer: the files hosted here,"
- " unless otherwise noted,"
- " are subject to intellectual property rights"
- " and their ownership belongs to the users who have uploaded them."
- " %s is not responsible for the information contained in those files."
- " If you think convenient to remove any file"
- " whose contents belongs to you"
- " or that violates the law, you can contact %s."; // Bisogno di traduzione
+ "Disclaimer: i file qui ospitati,"
+ " salvo diversa indicazione,"
+ " sono soggetti a diritti di proprietà intellettuale"
+ " e la loro proprietà appartiene agli utenti che li hanno caricati."
+ " %s non è responsabile per le informazioni contenute in tali file."
+ " Se ritieni opportuno rimuovere qualsiasi file"
+ " il cui contenuto ti appartiene"
+ " o che viola la legge, puoi contattare %s.";
#elif L==8 // pl
- "Disclaimer: the files hosted here,"
- " unless otherwise noted,"
- " are subject to intellectual property rights"
- " and their ownership belongs to the users who have uploaded them."
- " %s is not responsible for the information contained in those files."
- " If you think convenient to remove any file"
- " whose contents belongs to you"
- " or that violates the law, you can contact %s."; // Potrzebujesz tlumaczenie
+ "Zastrzeżenie: pliki hostowane tutaj, o ile nie zaznaczono inaczej,"
+ " podlegają prawom własności intelektualnej,"
+ " a ich własność należy do użytkowników, którzy je przesłali."
+ " %s nie ponosi odpowiedzialności za informacje zawarte w tych plikach. "
+ " Jeśli uważasz za wygodne usunięcie dowolnego pliku,"
+ " którego zawartość należy do Ciebie lub który narusza prawo,"
+ " możesz skontaktować się z %s.";
#elif L==9 // pt
"Isenção de responsabilidade: os arquivos hospedados aqui,"
" salvo indicação em contrário,"
@@ -9263,13 +9262,13 @@ const char *Txt_Do_you_really_want_to_register_the_following_user_as_an_administ
const char *Txt_Do_you_really_want_to_reject_the_enrolment_request_ = // Warning: it is very important to include three %s in the following sentences
#if L==1 // ca
- "¡Realmente desea rechazar la solicitud de inscripción"
- " de %s como %s"
- " en la asignatura %s?"; // Necessita traducció
+ "Realment vols rebutjar la sol·licitud de matrícula"
+ " de %s com a %s"
+ " a l'assignatura %s?";
#elif L==2 // de
- "Do you really want to reject the enrolment request"
- " from %s as %s"
- " in the course %s?"; // Need Übersetzung
+ "Wollen Sie den Immatrikulationsantrag"
+ " von %s als %s"
+ " in den Kurs %s wirklich ablehnen?";
#elif L==3 // en
"Do you really want to reject the enrolment request"
" from %s as %s"
@@ -9279,21 +9278,21 @@ const char *Txt_Do_you_really_want_to_reject_the_enrolment_request_ = // Warning
" de %s como %s"
" en la asignatura %s?";
#elif L==5 // fr
- "Do you really want to reject the enrolment request"
- " from %s as %s"
- " in the course %s?"; // Besoin de traduction
+ "Voulez-vous vraiment rejeter la demande d'inscription"
+ " de %s en tant que %s"
+ " dans la matière %s?";
#elif L==6 // gn
"¡Realmente desea rechazar la solicitud de inscripción"
" de %s como %s"
" en la asignatura %s?"; // Okoteve traducción
#elif L==7 // it
- "Do you really want to reject the enrolment request"
- " from %s as %s"
- " in the course %s?"; // Bisogno di traduzione
+ "Vuoi davvero rifiutare la richiesta di iscrizione"
+ " di %s come %s"
+ " al corso %s?";
#elif L==8 // pl
- "Do you really want to reject the enrolment request"
- " from %s as %s"
- " in the course %s?"; // Potrzebujesz tlumaczenie
+ "Czy na pewno chcesz odrzucić prośbę o przyjęcie"
+ " od %s jako %s"
+ " na kurs %s?";
#elif L==9 // pt
"Você realmente quer rejeitar a solicitação de inscrição"
" de %s como %s"
@@ -11227,11 +11226,11 @@ const char *Txt_Eliminate_old_users =
const char *Txt_Eliminating_X_courses_whithout_users_and_with_more_than_Y_months_without_access = // Warning: it is very important to include %lu and %u in the following sentences
#if L==1 // ca
- "Eliminando %lu asignatura(s) sin usuarios"
- " y que llevaba(n) más de %u meses sin accesos."; // Necessita traducció
+ "Eliminant %lu assignatures sense usuaris"
+ " i amb més de %u mesos sense accés.";
#elif L==2 // de
- "Eliminating %lu course(s) without users"
- " and with more than %u months without access."; // Need Übersetzung
+ "Eliminierung von %lu Kurs(en) ohne Benutzer"
+ " und mit mehr als %u Monaten ohne Zugang.";
#elif L==3 // en
"Eliminating %lu course(s) without users"
" and with more than %u months without access.";
@@ -11239,17 +11238,17 @@ const char *Txt_Eliminating_X_courses_whithout_users_and_with_more_than_Y_months
"Eliminando %lu asignatura(s) sin usuarios"
" y que llevaba(n) más de %u meses sin accesos.";
#elif L==5 // fr
- "Eliminating %lu course(s) without users"
- " and with more than %u months without access."; // Besoin de traduction
+ "Suppression de %lu cours sans utilisateurs"
+ " et avec plus de %u mois sans accès.";
#elif L==6 // gn
"Eliminando %lu asignatura(s) sin usuarios"
" y que llevaba(n) más de %u meses sin accesos."; // Okoteve traducción
#elif L==7 // it
- "Eliminating %lu course(s) without users"
- " and with more than %u months without access."; // Bisogno di traduzione
+ "Eliminazione di %lu corsi senza utenti"
+ " e con più di %u mesi senza accesso.";
#elif L==8 // pl
- "Eliminating %lu course(s) without users"
- " and with more than %u months without access."; // Potrzebujesz tlumaczenie
+ "Eliminacja %lu kursów bez użytkowników"
+ " i z ponad %u miesiącami bez dostępu.";
#elif L==9 // pt
"Eliminando %lu disciplina(s) sem usuários"
" e com mais de %u meses sem acesso.";
@@ -11566,11 +11565,11 @@ const char *Txt_Email_X_confirmed = // Warning: it is very important to include
const char *Txt_Email_X_has_already_been_confirmed_before = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El correo %s"
- " ya había sido confirmado anteriormente."; // Necessita traducció
+ "El correu %s"
+ " ja s'ha confirmat abans.";
#elif L==2 // de
- "Email %s"
- " has already been confirmed before."; // Need Übersetzung
+ "E-Mail %s"
+ " wurde bereits zuvor bestätigt.";
#elif L==3 // en
"Email %s"
" has already been confirmed before.";
@@ -11578,17 +11577,17 @@ const char *Txt_Email_X_has_already_been_confirmed_before = // Warning: it is ve
"El correo %s"
" ya había sido confirmado anteriormente.";
#elif L==5 // fr
- "Email %s"
- " has already been confirmed before."; // Besoin de traduction
+ "L'e-mail %s"
+ " a déjà été confirmé auparavant.";
#elif L==6 // gn
"El correo %s"
" ya había sido confirmado anteriormente."; // Okoteve traducción
#elif L==7 // it
- "Email %s"
- " has already been confirmed before."; // Bisogno di traduzione
+ "L'email %s"
+ " è già stata confermata in precedenza.";
#elif L==8 // pl
- "Email %s"
- " has already been confirmed before."; // Potrzebujesz tlumaczenie
+ "E-mail %s"
+ " został już wcześniej potwierdzony.";
#elif L==9 // pt
"Email %s"
" já foi confirmado antes.";
@@ -11703,19 +11702,19 @@ const char *Txt_Enrolment_of_X_rejected = // Warning: it is very important to in
#if L==1 // ca
"Inscripció de %s rebutjada.";
#elif L==2 // de
- "Enrolment of %s rejected."; // Need Übersetzung
+ "Anmeldung von %s abgelehnt.";
#elif L==3 // en
"Enrolment of %s rejected.";
#elif L==4 // es
"Inscripción de %s rechazada.";
#elif L==5 // fr
- "Enrolment of %s rejected."; // Besoin de traduction
+ "Inscription de %s rejetée.";
#elif L==6 // gn
"Inscripción de %s rechazada."; // Okoteve traducción
#elif L==7 // it
- "Enrolment of %s rejected."; // Bisogno di traduzione
+ "Iscrizione di %s rifiutata.";
#elif L==8 // pl
- "Enrolment of %s rejected."; // Potrzebujesz tlumaczenie
+ "Rejestracja %s została odrzucona.";
#elif L==9 // pt
"Inscrição de %s rejeitada.";
#endif
@@ -14458,42 +14457,42 @@ const char *Txt_from_this_course =
const char *Txt_From_this_time_you_can_receive_messages_from_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "A partir de este momento, puede recibir mensajes de %s."; // Necessita traducció
+ "A partir d'aquest moment, podeu rebre missatges de %s.";
#elif L==2 // de
- "From this time, you can receive messages from %s."; // Need Übersetzung
+ "Ab diesem Zeitpunkt können Sie Nachrichten von %s erhalten.";
#elif L==3 // en
"From this time, you can receive messages from %s.";
#elif L==4 // es
"A partir de este momento, puede recibir mensajes de %s.";
#elif L==5 // fr
- "From this time, you can receive messages from %s."; // Besoin de traduction
+ "À partir de ce moment, vous pouvez recevoir des messages de %s.";
#elif L==6 // gn
"A partir de este momento, puede recibir mensajes de %s."; // Okoteve traducción
#elif L==7 // it
- "From this time, you can receive messages from %s."; // Bisogno di traduzione
+ "Da questo momento, puoi ricevere messaggi da %s.";
#elif L==8 // pl
- "From this time, you can receive messages from %s."; // Potrzebujesz tlumaczenie
+ "Od tej chwili możesz otrzymywać wiadomości od %s.";
#elif L==9 // pt
"A partir deste momento, você pode receber mensagens de %s.";
#endif
const char *Txt_From_this_time_you_will_not_receive_messages_from_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "A partir de este momento, no recibirá mensajes de %s."; // Necessita traducció
+ "A partir d'aquest moment, no rebràs missatges de %s.";
#elif L==2 // de
- "From this time, you will not receive messages from %s."; // Need Übersetzung
+ "Ab diesem Zeitpunkt erhalten Sie keine Nachrichten mehr von %s.";
#elif L==3 // en
"From this time, you will not receive messages from %s.";
#elif L==4 // es
"A partir de este momento, no recibirá mensajes de %s.";
#elif L==5 // fr
- "From this time, you will not receive messages from %s."; // Besoin de traduction
+ "À partir de ce moment, vous ne recevrez plus de messages de %s.";
#elif L==6 // gn
"A partir de este momento, no recibirá mensajes de %s."; // Okoteve traducción
#elif L==7 // it
- "From this time, you will not receive messages from %s."; // Bisogno di traduzione
+ "Da questo momento, non riceverai più messaggi da %s.";
#elif L==8 // pl
- "From this time, you will not receive messages from %s."; // Potrzebujesz tlumaczenie
+ "Od tej chwili nie będziesz otrzymywać wiadomości od %s.";
#elif L==9 // pt
"A partir deste momento, você não receberá mensagens de %s.";
#endif
@@ -16301,11 +16300,11 @@ const char *Txt_Identified_views =
const char *Txt_If_this_is_a_new_user_in_X_you_should_indicate_her_his_ID = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "Si se trata de un usuario nuevo en %s,"
- " debe indicar el ID (DNI/cédula)."; // Necessita traducció
+ "Si es tracta d'un usuari nou a %s,"
+ " haureu d'indicar el seu ID (DNI/cèdula).";
#elif L==2 // de
- "If this is a new user in %s,"
- " you should indicate her/his ID."; // Übersetzung notwendig
+ "Wenn dies ein neuer Benutzer in %s ist,"
+ " sollten Sie seine/ihre ID angeben.";
#elif L==3 // en
"If this is a new user in %s,"
" you should indicate her/his ID.";
@@ -16313,17 +16312,17 @@ const char *Txt_If_this_is_a_new_user_in_X_you_should_indicate_her_his_ID = // W
"Si se trata de un usuario nuevo en %s,"
" debe indicar el ID (DNI/cédula).";
#elif L==5 // fr
- "If this is a new user in %s,"
- " you should indicate her/his ID."; // Besoin de traduction
+ "S'il s'agit d'un nouvel utilisateur dans %s,"
+ " vous devez indiquer son ID.";
#elif L==6 // gn
"Si se trata de un usuario nuevo en %s,"
" debe indicar el ID (DNI/cédula)."; // Okoteve traducción
#elif L==7 // it
- "If this is a new user in %s,"
- " you should indicate her/his ID."; // Bisogno di traduzione
+ "Se questo è un nuovo utente in %s,"
+ " dovresti indicare il suo ID.";
#elif L==8 // pl
- "If this is a new user in %s,"
- " you should indicate her/his ID."; // Potrzebujesz tlumaczenie
+ "Jeśli jest to nowy użytkownik w %s,"
+ " należy podać jego ID.";
#elif L==9 // pt
"Se este for um novo usuário em %s,"
" você deve indicar seu ID.";
@@ -22576,7 +22575,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
#elif L==4 // es
"Archivos privados, solo para los profesores de la asignatura"
#elif L==5 // fr
- "Fichiers privés, seulement pour les enseignants du cours"
+ "Fichiers privés, seulement pour les enseignants de la matière"
#elif L==6 // gn
"Archivos privados, solo para los profesores de la asignatura"// Okoteve traducción
#elif L==7 // it
@@ -23422,13 +23421,13 @@ const char *Txt_message_sent_to_X_notified_by_email = // Warning: it is very imp
#if L==1 // ca
"Missatge enviat a %s (notificat per email).";
#elif L==2 // de
- "Message sent to %s (notified by email)."; // Need Übersetzung
+ "Nachricht an %s gesendet (Benachrichtigung per E-Mail).";
#elif L==3 // en
"Message sent to %s (notified by email).";
#elif L==4 // es
"Mensaje enviado a %s (notificado por email).";
#elif L==5 // fr
- "Message sent to %s (notified by email)."; // Besoin de traduction
+ "Message envoyé à %s (notifié par email).";
#elif L==6 // gn
"Mensaje enviado a %s (notificado por email)."; // Okoteve traducción
#elif L==7 // it
@@ -23485,13 +23484,13 @@ const char *Txt_X_messages_have_been_deleted = // Warning: it is very important
#if L==1 // ca
"S'han suprimit %u missatges.";
#elif L==2 // de
- "%u messages have been deleted."; // Need Übersetzung
+ "%u Nachrichten wurden gelöscht.";
#elif L==3 // en
"%u messages have been deleted.";
#elif L==4 // es
"Se han eliminado %u mensajes.";
#elif L==5 // fr
- "%u messages have been deleted."; // Besoin de traduction
+ "%u messages ont été supprimés.";
#elif L==6 // gn
"Se han eliminado %u mensajes."; // Okoteve traducción
#elif L==7 // it
@@ -23506,13 +23505,13 @@ const char *Txt_Messages_of_THE_USER_X_have_been_deleted = // Warning: it is ver
#if L==1 // ca
"S'han eliminat els missatges de %s.";
#elif L==2 // de
- "Messages of %s have been deleted."; // Need Übersetzung
+ "Nachrichten von %s wurden gelöscht.";
#elif L==3 // en
"Messages of %s have been deleted.";
#elif L==4 // es
"Se han eliminado los mensajes de %s.";
#elif L==5 // fr
- "Messages of %s have been deleted."; // Besoin de traduction
+ "Les messages de %s ont été supprimés.";
#elif L==6 // gn
"Se han eliminado los mensajes de %s."; // Okoteve traducción
#elif L==7 // it
@@ -28996,19 +28995,19 @@ const char *Txt_Number_of_BR_times_that_BR_questions_BR_have_been_BR_responded =
#if L==1 // ca
"Nombre de
vegades
que s'ha
respost";
#elif L==2 // de
- "Number of
times that
questions
have been
responded"; // Need Übersetzung
+ "Anzahl der
beantworteten
Fragen";
#elif L==3 // en
"Number of
times that
questions
have been
responded";
#elif L==4 // es
"N.º de
veces
que se ha
respondido";
#elif L==5 // fr
- "Number of
times that
questions
have been
responded"; // Besoin de traduction
+ "Nombre de
fois où
les questions
ont été
répondues";
#elif L==6 // gn
"N.º de
veces
que se ha
respondido"; // Okoteve traducción
#elif L==7 // it
- "Number of
times that
questions
have been
responded"; // Bisogno di traduzione
+ "Numero di
volte in cui
è stata
data risposta
alle domande";
#elif L==8 // pl
- "Number of
times that
questions
have been
responded"; // Potrzebujesz tlumaczenie
+ "Ile razy
udzielono
odpowiedzi
na pytania";
#elif L==9 // pt
"N.º de
vezes que
as perguntas
foram
respondidas";
#endif
@@ -29653,7 +29652,7 @@ const char *Txt_Only_courses_with_more_than_X_clicks_are_shown = // Warning: it
#elif L==4 // es
"Solo se muestran las asignaturas con más de %u clics.";
#elif L==5 // fr
- "Seuls les cours avec plus de %u clics sont présentés.";
+ "Seuls les matières avec plus de %u clics sont présentées.";
#elif L==6 // gn
"Solo se muestran las asignaturas con más de %u clics."; // Okoteve traducción
#elif L==7 // it
@@ -31556,21 +31555,21 @@ const char *Txt_PRIVACY_OPTIONS[Pri_NUM_OPTIONS_PRIVACY] =
,
[Pri_VISIBILITY_USER] =
#if L==1 // ca
- "Visible por mí y mis profesores / mis estudiantes" // Necessita traducció
+ "Visible per mi i els meus professors / els meus estudiants"
#elif L==2 // de
- "Visible by me and my teachers / my students" // Need Übersetzung
+ "Sichtbar für mich und meine Lehrer / meine Schüler"
#elif L==3 // en
"Visible by me and my teachers / my students"
#elif L==4 // es
"Visible por mí y mis profesores / mis estudiantes"
#elif L==5 // fr
- "Visible by me and my teachers / my students" // Besoin de traduction
+ "Visible par moi et mes professeurs / mes étudiants"
#elif L==6 // gn
"Visible por mí y mis profesores / mis estudiantes" // Okoteve traducción
#elif L==7 // it
- "Visible by me and my teachers / my students" // Bisogno di traduzione
+ "Visibile da me e dai miei insegnanti / miei studenti"
#elif L==8 // pl
- "Visible by me and my teachers / my students" // Potrzebujesz tlumaczenie
+ "Widoczne przeze mnie i moich nauczycieli / moich uczniów"
#elif L==9 // pt
"Visível por mim e meus professores / meus estudantes"
#endif
@@ -31585,7 +31584,7 @@ const char *Txt_PRIVACY_OPTIONS[Pri_NUM_OPTIONS_PRIVACY] =
#elif L==4 // es
"Visible por usuarios con los que comparto asignaturas"
#elif L==5 // fr
- "Visible par les utilisateurs avec qui je partage des cours"
+ "Visible par les utilisateurs avec qui je partage des matières"
#elif L==6 // gn
"Visible por usuarios con los que comparto asignaturas" // Okoteve traducción
#elif L==7 // it
@@ -41569,49 +41568,49 @@ const char *Txt_Send_URL =
#elif L==7 // it
"Invia URL";
#elif L==8 // pl
- "Send URL"; // Potrzebujesz tlumaczenie
+ "Wyślij URL";
#elif L==9 // pt
"Enviar URL";
#endif
const char *Txt_Sender_banned_click_to_unban_him =
#if L==1 // ca
- "Remitente bloqueado/a; pulse para desbloquearlo/a"; // Necessita traducció
+ "Remitent prohibit; feu clic per desbanbar-lo";
#elif L==2 // de
- "Sender banned; click to unban her/him"; // Need Übersetzung
+ "Absender gesperrt; klicken, um sie/ihn zu entsperren";
#elif L==3 // en
"Sender banned; click to unban her/him";
#elif L==4 // es
"Remitente bloqueado/a; pulse para desbloquearlo/a";
#elif L==5 // fr
- "Sender banned; click to unban her/him"; // Besoin de traduction
+ "Expéditeur banni; cliquez pour le débannir";
#elif L==6 // gn
"Remitente bloqueado/a; pulse para desbloquearlo/a"; // Okoteve traducción
#elif L==7 // it
- "Sender banned; click to unban her/him"; // Bisogno di traduzione
+ "Mittente vietato; fare clic per riattivarlo";
#elif L==8 // pl
- "Sender banned; click to unban her/him"; // Potrzebujesz tlumaczenie
+ "Nadawca zbanowany; kliknij, aby odblokować ją/jego";
#elif L==9 // pt
"Remetente banido; clique para desbanir ela/ele";
#endif
const char *Txt_Sender_permitted_click_to_ban_him =
#if L==1 // ca
- "Remitente permitido/a; pulse para bloquearlo/a"; // Necessita traducció
+ "Remitent permès; feu clic per prohibir-lo";
#elif L==2 // de
- "Sender permitted; click to ban her/him"; // Need Übersetzung
+ "Absender erlaubt; klicken, um sie/ihn zu sperren";
#elif L==3 // en
"Sender permitted; click to ban her/him";
#elif L==4 // es
"Remitente permitido/a; pulse para bloquearlo/a";
#elif L==5 // fr
- "Sender permitted; click to ban her/him"; // Besoin de traduction
+ "Expéditeur autorisé; cliquez pour l'exclure";
#elif L==6 // gn
"Remitente permitido/a; pulse para bloquearlo/a"; // Okoteve traducción
#elif L==7 // it
- "Sender permitted; click to ban her/him"; // Bisogno di traduzione
+ "Mittente consentito; clicca per bannarla";
#elif L==8 // pl
- "Sender permitted; click to ban her/him"; // Potrzebujesz tlumaczenie
+ "Nadawca dozwolony; kliknij, aby zbanować ją/jego";
#elif L==9 // pt
"Remetente permitido; clique para banir ela/ele";
#endif
@@ -43675,72 +43674,72 @@ const char *Txt_STAT_DEGREE_PHOTO_SIZE[Pho_NUM_HOW_COMPUTE_PHOTO_SIZES] =
{
[Pho_PROPORTIONAL_TO_NUMBER_OF_STUDENTS] =
#if L==1 // ca
- "proporcional al nº de estudiantes" // Necessita traducció
+ "proporcional al nombre d'estudiants"
#elif L==2 // de
- "proportional to the number of students" // Need Übersetzung
+ "proportional zur Schülerzahl"
#elif L==3 // en
"proportional to the number of students"
#elif L==4 // es
"proporcional al nº de estudiantes"
#elif L==5 // fr
- "proportional to the number of students" // Besoin de traduction
+ "proportionnel au nombre d'étudiants"
#elif L==6 // gn
"proporcional al nº de estudiantes" // Okoteve traducción
#elif L==7 // it
"proporzionale al numero di studenti"
#elif L==8 // pl
- "proportional to the number of students" // Potrzebujesz tlumaczenie
+ "proporcjonalna do liczby studentów"
#elif L==9 // pt
"proporcional ao número de estudantes"
#endif
,
[Pho_PROPORTIONAL_TO_NUMBER_OF_PHOTOS] =
#if L==1 // ca
- "proporcional al nº de estudiantes con fotografía" // Necessita traducció
+ "proporcional al nombre d'estudiants amb foto"
#elif L==2 // de
- "proportional to the number of students with photo" // Need Übersetzung
+ "proportional zur Anzahl der Schüler mit Foto"
#elif L==3 // en
"proportional to the number of students with photo"
#elif L==4 // es
"proporcional al nº de estudiantes con fotografía"
#elif L==5 // fr
- "proportional to the number of students with photo" // Besoin de traduction
+ "proportionnel au nombre d'étudiants avec photo"
#elif L==6 // gn
"proporcional al nº de estudiantes con fotografía" // Okoteve traducción
#elif L==7 // it
"proporzionale al numero di studenti con foto"
#elif L==8 // pl
- "proportional to the number of students with photo" // Potrzebujesz tlumaczenie
+ "proporcjonalna do liczby uczniów ze zdjęciem"
#elif L==9 // pt
"proporcional ao número de estudantes com foto"
#endif
,
[Pho_PROPORTIONAL_TO_PERCENT] =
#if L==1 // ca
- "proporcional al porcentaje de estudiantes con fotografía" // Necessita traducció
+ "proporcional al percentatge d'estudiants amb fotografia"
#elif L==2 // de
- "proportional to the percentage of students with photo" // Need Übersetzung
+ "proportional zum Prozentsatz der Schüler mit Foto"
#elif L==3 // en
"proportional to the percentage of students with photo"
#elif L==4 // es
"proporcional al porcentaje de estudiantes con fotografía"
#elif L==5 // fr
- "proportional to the percentage of students with photo" // Besoin de traduction
+ "proportionnel au pourcentage d'étudiants avec photo"
#elif L==6 // gn
"proporcional al porcentaje de estudiantes con fotografía" // Okoteve traducción
#elif L==7 // it
"proporzionale alla percentuale di studenti con foto"
#elif L==8 // pl
- "proportional to the percentage of students with photo" // Potrzebujesz tlumaczenie
+ "proporcjonalna do odsetka uczniów ze zdjęciem"
#elif L==9 // pt
"proporcional ao porcentagem de estudantes com foto"
#endif
,
[Pho_UNIQUE_SIZE] =
#if L==1 // ca
- "igual para todas las titulaciones" // Necessita traducció
+ "igual per a totes les titulacions"
#elif L==2 // de
- "same for all degrees" // Need Übersetzung
+ "für alle Abschlüsse gleich"
#elif L==3 // en
"same for all degrees"
#elif L==4 // es
@@ -44998,7 +44997,7 @@ const char *Txt_Student_record_card_in_this_course_has_been_updated =
#elif L==4 // es
"La ficha del estudiante en la asignatura se ha actualizado.";
#elif L==5 // fr
- "La fiche du étudiant de ce cours a été mise à jour.";
+ "La fiche du étudiant de cette matière a été mise à jour.";
#elif L==6 // gn
"La ficha del estudiante en la asignatura se ha actualizado."; // Okoteve traducción
#elif L==7 // it
@@ -45823,19 +45822,19 @@ const char *Txt_Tag_X_allowed_Click_to_disable_it = // Warning: it is very impor
#if L==1 // ca
"Descriptor %s permès. Premeu per prohibir-ho.";
#elif L==2 // de
- "Tag %s allowed. Click to disable it."; // Need Übersetzung
+ "Tag %s erlaubt. Klicken Sie, um es zu deaktivieren.";
#elif L==3 // en
"Tag %s allowed. Click to disable it.";
#elif L==4 // es
"Descriptor %s permitido. Pulse para prohibirlo.";
#elif L==5 // fr
- "Tag %s allowed. Click to disable it."; // Besoin de traduction
+ "Balise %s autorisée. Cliquez pour le désactiver.";
#elif L==6 // gn
"Descriptor %s permitido. Pulse para prohibirlo."; // Okoteve traducción
#elif L==7 // it
"Etichetta %s autorizzata. Clicca per censurarla.";
#elif L==8 // pl
- "Tag %s allowed. Click to disable it."; // Potrzebujesz tlumaczenie
+ "Tag %s dozwolony. Kliknij, aby go wyłączyć.";
#elif L==9 // pt
"Descritor %s permitido. Clique para proibir.";
#endif
@@ -45856,7 +45855,7 @@ const char *Txt_Tag_not_allowed =
#elif L==7 // it
"Etichetta non autorizzata";
#elif L==8 // pl
- "Tag not allowed"; // Potrzebujesz tlumaczenie
+ "Tag niedozwolony";
#elif L==9 // pt
"Descritor não permitido";
#endif
@@ -45865,19 +45864,19 @@ const char *Txt_Tag_X_not_allowed_Click_to_allow_it = // Warning: it is very imp
#if L==1 // ca
"Descriptor %s no permès. Premeu per permetre-ho.";
#elif L==2 // de
- "Tag %s not allowed. Click to allow it."; // Need Übersetzung
+ "Tag %s nicht erlaubt. Klicken Sie, um es zuzulassen.";
#elif L==3 // en
"Tag %s not allowed. Click to allow it.";
#elif L==4 // es
"Descriptor %s no permitido. Pulse para permitirlo.";
#elif L==5 // fr
- "Tag %s not allowed. Click to allow it."; // Besoin de traduction
+ "Balise %s non autorisée. Cliquez pour l'autoriser.";
#elif L==6 // gn
"Descriptor %s no permitido. Pulse para permitirlo."; // Okoteve traducción
#elif L==7 // it
"Etichetta %s censurata. Clicca per autorizzarla.";
#elif L==8 // pl
- "Tag %s not allowed. Click to allow it."; // Potrzebujesz tlumaczenie
+ "Tag %s jest niedozwolony. Kliknij, aby na to zezwolić.";
#elif L==9 // pt
"Descritor %s não permitido. Clique para permitir.";
#endif
@@ -47417,19 +47416,19 @@ const char *Txt_The_email_X_has_been_confirmed = // Warning: it is very importan
#if L==1 // ca
"El correu %s ha estat confirmat.";
#elif L==2 // de
- "The email %s has been confirmed."; // Need Übersetzung
+ "Die E-Mail %s wurde bestätigt.";
#elif L==3 // en
"The email %s has been confirmed.";
#elif L==4 // es
"El correo %s ha sido confirmado.";
#elif L==5 // fr
- "The email %s has been confirmed."; // Besoin de traduction
+ "L'e-mail %s a été confirmé.";
#elif L==6 // gn
"El correo %s ha sido confirmado."; // Okoteve traducción
#elif L==7 // it
- "The email %s has been confirmed."; // Bisogno di traduzione
+ "L'email %s è stata confermata.";
#elif L==8 // pl
- "The email %s has been confirmed."; // Potrzebujesz tlumaczenie
+ "E-mail %s został potwierdzony.";
#elif L==9 // pt
"O email %s foi confirmado.";
#endif
@@ -47564,13 +47563,13 @@ const char *Txt_The_email_domain_X_already_exists =
#elif L==4 // es
"El dominio de correo ya existe.";
#elif L==5 // fr
- "The email domain already exists."; // Besoin de traduction
+ "Le domaine de messagerie existe déj`.";
#elif L==6 // gn
"El dominio de correo ya existe."; // Okoteve traducción
#elif L==7 // it
"Il campo mail già esiste.";
#elif L==8 // pl
- "The email domain already exists."; // Potrzebujesz tlumaczenie
+ "Domena poczty e-mail już istnieje.";
#elif L==9 // pt
"O domínio de email já existe.";
#endif
@@ -47600,19 +47599,19 @@ const char *Txt_The_email_domain_X_has_not_changed = // Warning: it is very impo
#if L==1 // ca
"El domini de correu %s no ha canviat.";
#elif L==2 // de
- "The email domain %s has not changed."; // Need Übersetzung
+ "Die E-Mail-Domäne %s hat sich nicht geändert.";
#elif L==3 // en
"The email domain %s has not changed.";
#elif L==4 // es
"El dominio de correo %s no ha cambiado.";
#elif L==5 // fr
- "The email domain %s has not changed."; // Besoin de traduction
+ "Le domaine de messagerie %s n'a pas changé.";
#elif L==6 // gn
"El dominio de correo %s no ha cambiado."; // Okoteve traducción
#elif L==7 // it
"Il campo mail %s non è cambiato.";
#elif L==8 // pl
- "The email domain %s has not changed."; // Potrzebujesz tlumaczenie
+ "Domena poczty e-mail %s nie uległa zmianie.";
#elif L==9 // pt
"O domínio de email %s não foi alterado.";
#endif
@@ -47796,42 +47795,42 @@ const char *Txt_The_file_of_folder_no_longer_exists_or_is_now_hidden =
const char *Txt_The_file_type_is_X_and_should_be_HTML_or_ZIP = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El tipo de archivo es %s y debe ser HTML o ZIP."; // Necessita traducció
+ "El tipus de fitxer és %s i hauria de ser HTML o ZIP.";
#elif L==2 // de
- "The file type is %s and should be HTML or ZIP."; // Need Übersetzung
+ "Der Dateityp ist %s und sollte HTML oder ZIP sein.";
#elif L==3 // en
"The file type is %s and should be HTML or ZIP.";
#elif L==4 // es
"El tipo de archivo es %s y debe ser HTML o ZIP.";
#elif L==5 // fr
- "The file type is %s and should be HTML or ZIP."; // Besoin de traduction
+ "Le type de fichier est %s et doit être HTML ou ZIP.";
#elif L==6 // gn
"El tipo de archivo es %s y debe ser HTML o ZIP."; // Okoteve traducción
#elif L==7 // it
"Il tipo di file è %s e dovrebbe essere HTML o ZIP.";
#elif L==8 // pl
- "The file type is %s and should be HTML or ZIP."; // Potrzebujesz tlumaczenie
+ "Typ pliku to %s i powinien to być HTML lub ZIP.";
#elif L==9 // pt
"O tipo de arquivo é %s e deve ser HTML ou ZIP.";
#endif
const char *Txt_The_file_type_should_be_HTML_or_ZIP =
#if L==1 // ca
- "El tipo de archivo debe ser HTML o ZIP."; // Necessita traducció
+ "El tipus d'arxiu hauria de ser HTML o ZIP.";
#elif L==2 // de
- "The file type should be HTML or ZIP."; // Need Übersetzung
+ "Der Dateityp sollte HTML oder ZIP sein.";
#elif L==3 // en
"The file type should be HTML or ZIP.";
#elif L==4 // es
"El tipo de archivo debe ser HTML o ZIP.";
#elif L==5 // fr
- "The file type should be HTML or ZIP."; // Besoin de traduction
+ "Le type de fichier doit être HTML ou ZIP.";
#elif L==6 // gn
"El tipo de archivo debe ser HTML o ZIP."; // Okoteve traducción
#elif L==7 // it
"Il tipo di file dovrebbe essere HTML o ZIP.";
#elif L==8 // pl
- "The file type should be HTML or ZIP."; // Potrzebujesz tlumaczenie
+ "Typ pliku powinien być HTML lub ZIP.";
#elif L==9 // pt
"O tipo de arquivo deve ser HTML ou ZIP.";
#endif
@@ -48002,13 +48001,13 @@ const char *Txt_The_group_X_already_exists = // Warning: it is very important to
#elif L==4 // es
"El grupo %s ya existe.";
#elif L==5 // fr
- "The group %s already exists."; // Besoin de traduction
+ "Le groupe %s existe déjà.";
#elif L==6 // gn
"El grupo %s ya existe."; // Okoteve traducción
#elif L==7 // it
"Il gruppo %s già esiste.";
#elif L==8 // pl
- "The group %s already exists."; // Potrzebujesz tlumaczenie
+ "Grupa %s już istnieje.";
#elif L==9 // pt
"O grupo %s já existe.";
#endif
@@ -48038,19 +48037,19 @@ const char *Txt_The_group_X_is_now_closed = // Warning: it is very important to
#if L==1 // ca
"El grup %s ara està tancat.";
#elif L==2 // de
- "The group %s is now closed."; // Need Übersetzung
+ "Die Gruppe %s ist jetzt geschlossen.";
#elif L==3 // en
"The group %s is now closed.";
#elif L==4 // es
"El grupo %s está ahora cerrado.";
#elif L==5 // fr
- "The group %s is now closed."; // Besoin de traduction
+ "Le groupe %s est maintenant fermé.";
#elif L==6 // gn
"El grupo %s está ahora cerrado."; // Okoteve traducción
#elif L==7 // it
"Il gruppo %s è ora chiuso.";
#elif L==8 // pl
- "The group %s is now closed."; // Potrzebujesz tlumaczenie
+ "Grupa %s jest teraz zamknięta.";
#elif L==9 // pt
"O grupo %s está agora fechado.";
#endif
@@ -48059,19 +48058,19 @@ const char *Txt_The_group_X_is_now_open = // Warning: it is very important to in
#if L==1 // ca
"El grup %s ara està obert.";
#elif L==2 // de
- "The group %s is now open."; // Need Übersetzung
+ "Die Gruppe %s ist jetzt geöffnet.";
#elif L==3 // en
"The group %s is now open.";
#elif L==4 // es
"El grupo %s está ahora abierto.";
#elif L==5 // fr
- "The group %s is now open."; // Besoin de traduction
+ "Le groupe %s est maintenant ouvert.";
#elif L==6 // gn
"El grupo %s está ahora abierto."; // Okoteve traducción
#elif L==7 // it
"Il gruppo %s è ora aperto.";
#elif L==8 // pl
- "The group %s is now open."; // Potrzebujesz tlumaczenie
+ "Grupa %s jest teraz otwarta.";
#elif L==9 // pt
"O grupo %s está agora aberto.";
#endif
@@ -48360,11 +48359,11 @@ const char *Txt_The_ID_nickname_or_email_X_is_not_valid = // Warning: it is very
const char *Txt_The_ID_X_matches_one_of_the_existing = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
- "El ID (DNI/cédula) %s"
- " coincide con uno de los existentes."; // Necessita traducció
+ "L'ID %s"
+ " coincideix amb un dels existents.";
#elif L==2 // de
- "The ID %s"
- " matches one of the existing."; // Need Übersetzung
+ "Die ID %s"
+ " stimmt mit einer der vorhandenen überein.";
#elif L==3 // en
"The ID %s"
" matches one of the existing.";
@@ -48372,17 +48371,17 @@ const char *Txt_The_ID_X_matches_one_of_the_existing = // Warning: it is very im
"El ID (DNI/cédula) %s"
" coincide con uno de los existentes.";
#elif L==5 // fr
- "The ID %s"
- " matches one of the existing."; // Besoin de traduction
+ "L'ID %s"
+ " correspond à l'un des existants.";
#elif L==6 // gn
"El ID (DNI/cédula) %s"
" coincide con uno de los existentes."; // Okoteve traducción
#elif L==7 // it
- "The ID %s"
- " matches one of the existing."; // Bisogno di traduzione
+ "L'ID %s"
+ " corrisponde a uno degli esistenti.";
#elif L==8 // pl
- "The ID %s"
- " matches one of the existing."; // Potrzebujesz tlumaczenie
+ "ID %s"
+ " pasuje do jednego z istniejących.";
#elif L==9 // pt
"O ID %s"
" corresponde a um dos existentes.";
@@ -48861,42 +48860,42 @@ const char *Txt_The_message_has_not_been_sent_to_any_recipient =
const char *Txt_The_message_has_been_sent_to_1_recipient =
#if L==1 // ca
- "El mensaje se ha enviado a 1 destinatario."; // Necessita traducció
+ "El missatge s'ha enviat a 1 destinatari.";
#elif L==2 // de
- "The message has been sent to 1 recipient."; // Need Übersetzung
+ "Die Nachricht wurde an 1 Empfänger gesendet.";
#elif L==3 // en
"The message has been sent to 1 recipient.";
#elif L==4 // es
"El mensaje se ha enviado a 1 destinatario.";
#elif L==5 // fr
- "The message has been sent to 1 recipient."; // Besoin de traduction
+ "Le message a été envoyé à 1 destinataire.";
#elif L==6 // gn
"El mensaje se ha enviado a 1 destinatario."; // Okoteve traducción
#elif L==7 // it
"Il messaggio è stato inviato a 1 destinatario.";
#elif L==8 // pl
- "The message has been sent to 1 recipient."; // Potrzebujesz tlumaczenie
+ "Wiadomość została wysłana do 1 odbiorców.";
#elif L==9 // pt
"A mensagem foi enviada para 1 destinatário.";
#endif
const char *Txt_The_message_has_been_sent_to_X_recipients = // Warning: it is very important to include %u in the following sentences
#if L==1 // ca
- "El mensaje se ha enviado a %u destinatarios."; // Necessita traducció
+ "El missatge s'ha enviat a %u destinataris.";
#elif L==2 // de
- "The message has been sent to %u recipients."; // Need Übersetzung
+ "Die Nachricht wurde an %u Empfänger gesendet.";
#elif L==3 // en
"The message has been sent to %u recipients.";
#elif L==4 // es
"El mensaje se ha enviado a %u destinatarios.";
#elif L==5 // fr
- "The message has been sent to %u recipients."; // Besoin de traduction
+ "Le message a été envoyé à %u destinataires.";
#elif L==6 // gn
"El mensaje se ha enviado a %u destinatarios."; // Okoteve traducción
#elif L==7 // it
"Il messaggio è stato inviato a %u destinatari.";
#elif L==8 // pl
- "The message has been sent to %u recipients."; // Potrzebujesz tlumaczenie
+ "Wiadomość została wysłana do %u odbiorców.";
#elif L==9 // pt
"A mensagem foi enviada para %u destinatários.";
#endif
@@ -49008,15 +49007,14 @@ const char *Txt_The_nickname_has_been_registered_successfully =
const char *Txt_The_nickname_is_not_valid_ =
#if L==1 // ca
- "El apodo no es válido.
"
- "El apodo debe tener una longitud entre %u y %u caracteres (sin contar la @ inicial).
"
- "Cada carácter posterior a la @ inicial puede ser una letra (a-z, A-Z),"
- " un dígito (0-9) o "_"."; // Necessita traducció
+ "El sobrenom no és vàlid.
"
+ "El vostre àlies ha de tenir una longitud d'entre %u i %u caràcters (sense incloure la @ inicial).
"
+ "Cada caràcter després de la inicial @ pot ser una lletra (a-z, A-Z),"
+ " un dígit (0-9) o "_".";
#elif L==2 // de
- "The nickname is not valid.
"
- "Your nickname must have a length between %u and %u characters (not including the initial @).
"
- "Each character after initial @ can be a letter (a-z, A-Z),"
- " a digit (0-9) or "_"."; // Need Übersetzung
+ "Der Spitzname ist ungültig.
"
+ "Ihr Spitzname muss zwischen %u und %u Zeichen lang sein (ohne den Anfangsbuchstaben @).
"
+ "Jedes Zeichen nach dem Anfangsbuchstaben @ kann ein Buchstabe (a-z, A-Z), eine Ziffer (0-9) oder "_" sein.";
#elif L==3 // en
"The nickname is not valid.
"
"Your nickname must have a length between %u and %u characters (not including the initial @).
"
@@ -49028,25 +49026,22 @@ const char *Txt_The_nickname_is_not_valid_ =
"Cada carácter posterior a la @ inicial puede ser una letra (a-z, A-Z),"
" un dígito (0-9) o "_".";
#elif L==5 // fr
- "The nickname is not valid.
"
- "Your nickname must have a length between %u and %u characters (not including initial the @).
"
- "Each character after initial @ can be a letter (a-z, A-Z),"
- " a digit (0-9) or "_"."; // Besoin de traduction
+ "Le surnom n'est pas valide.
"
+ "Votre pseudo doit avoir une longueur comprise entre %u et %u caractères (n'incluant pas l'initiale @).
"
+ "Chaque caractère après l'initiale @ peut être une lettre (a-z, A-Z), un chiffre (0-9) ou "_".";
#elif L==6 // gn
"El apodo no es válido.
"
"El apodo debe tener una longitud entre %u y %u caracteres (sin contar la @ inicial).
"
"Cada carácter posterior a la @ inicial puede ser una letra (a-z, A-Z),"
" un dígito (0-9) o "_"."; // Okoteve traducción
#elif L==7 // it
- "Il nome utente non è valido.
"
- "Your nickname must have a length between %u and %u characters (not including the initial @).
"
- "Each character after initial @ can be a letter (a-z, A-Z),"
- " a digit (0-9) or "_"."; // Bisogno di traduzione
+ "Il soprannome non è valido.
"
+ "Il tuo nickname deve avere una lunghezza compresa tra %u e %u caratteri (esclusa l'iniziale @).
"
+ "Ciascun carattere dopo l'iniziale @ può essere una lettera (a-z, A-Z), una cifra (0-9) o "_".";
#elif L==8 // pl
- "The nickname is not valid.
"
- "Your nickname must have a length between %u and %u characters (not including the initial @).
"
- "Each character after initial @ can be a letter (a-z, A-Z),"
- " a digit (0-9) or "_"."; // Potrzebujesz tlumaczenie
+ "Pseudonim jest nieprawidłowy.
"
+ "Twój pseudonim musi mieć długość od %u do %u znaków (nie licząc początkowego @).
"
+ "Każdy znak po początkowym @ może być literą (a-z, A-Z), cyfrą (0-9) lub "_".";
#elif L==9 // pt
"A alcunha não é válido.
"
"Sua alcunha deve ter um tamanho entre %u e %u caracteres (sem incluir o inicial @).
"
@@ -49691,19 +49686,19 @@ const char *Txt_The_properties_of_file_X_have_been_saved = // Warning: it is ver
#if L==1 // ca
"Les propietats del arxiu %s s'han desat.";
#elif L==2 // de
- "The properties of file %s have been saved."; // Need Übersetzung
+ "Die Eigenschaften der Datei %s wurden gespeichert.";
#elif L==3 // en
"The properties of file %s have been saved.";
#elif L==4 // es
"Las propiedades del archivo %s se han guardado.";
#elif L==5 // fr
- "The properties of file %s have been saved."; // Besoin de traduction
+ "Les propriétés du fichier %s ont été enregistrées.";
#elif L==6 // gn
"Las propiedades del archivo %s se han guardado."; // Okoteve traducción
#elif L==7 // it
- "The properties of file %s have been saved."; // Bisogno di traduzione
+ "Le proprietà del file %s sono state salvate.";
#elif L==8 // pl
- "The properties of file %s have been saved."; // Potrzebujesz tlumaczenie
+ "Właściwości pliku %s zostały zapisane.";
#elif L==9 // pt
"As propriedades do arquivo %s foram salvas.";
#endif
@@ -57037,9 +57032,9 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#endif
,
#if L==1 // ca
- "1º" // Necessita traducció
+ "1r"
#elif L==2 // de
- "1st" // Need Übersetzung
+ "1"
#elif L==3 // en
"1st"
#elif L==4 // es
@@ -57049,17 +57044,17 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"1º" // Okoteve traducción
#elif L==7 // it
- "Primo"
+ "1º"
#elif L==8 // pl
- "1st" // Potrzebujesz tlumaczenie
+ "1."
#elif L==9 // pt
"1º"
#endif
,
#if L==1 // ca
- "2º" // Necessita traducció
+ "2n"
#elif L==2 // de
- "2nd" // Need Übersetzung
+ "2"
#elif L==3 // en
"2nd"
#elif L==4 // es
@@ -57069,15 +57064,15 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"2º" // Okoteve traducción
#elif L==7 // it
- "Secondo"
+ "2º"
#elif L==8 // pl
- "2nd" // Potrzebujesz tlumaczenie
+ "2."
#elif L==9 // pt
"2º"
#endif
,
#if L==1 // ca
- "3º" // Necessita traducció
+ "3r"
#elif L==2 // de
"3rd"
#elif L==3 // en
@@ -57089,17 +57084,17 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"3º" // Okoteve traducción
#elif L==7 // it
- "Terzo"
+ "3º"
#elif L==8 // pl
- "3rd" // Potrzebujesz tlumaczenie
+ "3."
#elif L==9 // pt
"3º"
#endif
,
#if L==1 // ca
- "4º" // Necessita traducció
+ "4t"
#elif L==2 // de
- "4th" // Need Übersetzung
+ "4"
#elif L==3 // en
"4th"
#elif L==4 // es
@@ -57109,17 +57104,17 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"4º" // Okoteve traducción
#elif L==7 // it
- "4th" // Bisogno di traduzione
+ "4º"
#elif L==8 // pl
- "4th" // Potrzebujesz tlumaczenie
+ "4."
#elif L==9 // pt
"4º"
#endif
,
#if L==1 // ca
- "5º" // Necessita traducció
+ "5è"
#elif L==2 // de
- "5th" // Need Übersetzung
+ "5"
#elif L==3 // en
"5th"
#elif L==4 // es
@@ -57129,17 +57124,17 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"5º" // Okoteve traducción
#elif L==7 // it
- "Quinto"
+ "5º"
#elif L==8 // pl
- "5th" // Potrzebujesz tlumaczenie
+ "5."
#elif L==9 // pt
"5º"
#endif
,
#if L==1 // ca
- "6º" // Necessita traducció
+ "6è"
#elif L==2 // de
- "6th" // Need Übersetzung
+ "6"
#elif L==3 // en
"6th"
#elif L==4 // es
@@ -57149,17 +57144,17 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"6º" // Okoteve traducción
#elif L==7 // it
- "Sesto"
+ "6º"
#elif L==8 // pl
- "6th" // Potrzebujesz tlumaczenie
+ "6."
#elif L==9 // pt
"6º"
#endif
,
#if L==1 // ca
- "7º" // Necessita traducció
+ "7è"
#elif L==2 // de
- "7th" // Need Übersetzung
+ "7"
#elif L==3 // en
"7th"
#elif L==4 // es
@@ -57169,17 +57164,17 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"7º" // Okoteve traducción
#elif L==7 // it
- "Settimo"
+ "7º"
#elif L==8 // pl
- "7th" // Potrzebujesz tlumaczenie
+ "7."
#elif L==9 // pt
"7º"
#endif
,
#if L==1 // ca
- "8º" // Necessita traducció
+ "8è"
#elif L==2 // de
- "8th" // Need Übersetzung
+ "8"
#elif L==3 // en
"8th"
#elif L==4 // es
@@ -57189,17 +57184,17 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"8º" // Okoteve traducción
#elif L==7 // it
- "Ottavo"
+ "8º"
#elif L==8 // pl
- "8th" // Potrzebujesz tlumaczenie
+ "8."
#elif L==9 // pt
"8º"
#endif
,
#if L==1 // ca
- "9º" // Necessita traducció
+ "9è"
#elif L==2 // de
- "9th" // Need Übersetzung
+ "9"
#elif L==3 // en
"9th"
#elif L==4 // es
@@ -57209,17 +57204,17 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"9º" // Okoteve traducción
#elif L==7 // it
- "Nono"
+ "9º"
#elif L==8 // pl
- "9th" // Potrzebujesz tlumaczenie
+ "9."
#elif L==9 // pt
"9º"
#endif
,
#if L==1 // ca
- "10º" // Necessita traducció
+ "10è"
#elif L==2 // de
- "10th" // Need Übersetzung
+ "10"
#elif L==3 // en
"10th"
#elif L==4 // es
@@ -57229,17 +57224,17 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"10º" // Okoteve traducción
#elif L==7 // it
- "Decimo"
+ "10º"
#elif L==8 // pl
- "10th" // Potrzebujesz tlumaczenie
+ "10."
#elif L==9 // pt
"10º"
#endif
,
#if L==1 // ca
- "11º" // Necessita traducció
+ "11è"
#elif L==2 // de
- "11th" // Need Übersetzung
+ "11"
#elif L==3 // en
"11th"
#elif L==4 // es
@@ -57249,17 +57244,17 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"11º" // Okoteve traducción
#elif L==7 // it
- "Undicesimo"
+ "11º"
#elif L==8 // pl
- "11th" // Potrzebujesz tlumaczenie
+ "11."
#elif L==9 // pt
"11º"
#endif
,
#if L==1 // ca
- "12º" // Necessita traducció
+ "12è"
#elif L==2 // de
- "12th" // Need Übersetzung
+ "12"
#elif L==3 // en
"12th"
#elif L==4 // es
@@ -57269,9 +57264,9 @@ const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] =
#elif L==6 // gn
"12º" // Okoteve traducción
#elif L==7 // it
- "Sesto"
+ "12º"
#elif L==8 // pl
- "12th" // Potrzebujesz tlumaczenie
+ "12."
#elif L==9 // pt
"12º"
#endif
@@ -57314,7 +57309,7 @@ const char *Txt_YES =
#elif L==7 // it
"SI";
#elif L==8 // pl
- "YES"; // Potrzebujesz tlumaczenie
+ "TAK";
#elif L==9 // pt
"SIM";
#endif
@@ -57335,7 +57330,7 @@ const char *Txt_Yes =
#elif L==7 // it
"Sì";
#elif L==8 // pl
- "Yes"; // Potrzebujesz tlumaczenie
+ "Tak";
#elif L==9 // pt
"Sim";
#endif
@@ -57356,7 +57351,7 @@ const char *Txt_Yesterday =
#elif L==7 // it
"Ieri";
#elif L==8 // pl
- "Yesterday"; // Potrzebujesz tlumaczenie
+ "Wczorajszy dzień";
#elif L==9 // pt
"Ontem";
#endif
@@ -58332,21 +58327,21 @@ const char *Txt_You_have_no_unread_notifications =
const char *Txt_You_have_not_banned_any_sender =
#if L==1 // ca
- "No ha bloqueado ningún remitente."; // Necessita traducció
+ "No heu prohibit cap remitent.";
#elif L==2 // de
- "You have not banned any sender."; // Need Übersetzung
+ "Sie haben keinen Absender gesperrt.";
#elif L==3 // en
"You have not banned any sender.";
#elif L==4 // es
"No ha bloqueado ningún remitente.";
#elif L==5 // fr
- "You have not banned any sender."; // Besoin de traduction
+ "Vous n'avez banni aucun expéditeur.";
#elif L==6 // gn
"No ha bloqueado ningún remitente."; // Okoteve traducción
#elif L==7 // it
- "You have not banned any sender."; // Bisogno di traduzione
+ "Non hai bannato nessun mittente.";
#elif L==8 // pl
- "You have not banned any sender."; // Potrzebujesz tlumaczenie
+ "Nie zbanowałeś żadnego nadawcy.";
#elif L==9 // pt
"Você não baniu nenhum remetente.";
#endif
@@ -59680,11 +59675,11 @@ const char *Txt_You_must_type_the_stem_of_the_question =
const char *Txt_You_need_an_XML_file_containing_a_list_of_questions =
#if L==1 // ca
- "Es necesario un archivo XML"
- " que contenga una lista de preguntas."; // Necessita traducció
+ "Necessites un arxiu XML"
+ " que contingui una llista de preguntes.";
#elif L==2 // de
- "You need an XML file"
- " containing a list of questions."; // Need Übersetzung
+ "Sie benötigen eine XML-Datei"
+ " mit einem Fragenkatalog.";
#elif L==3 // en
"You need an XML file"
" containing a list of questions.";
@@ -59692,17 +59687,17 @@ const char *Txt_You_need_an_XML_file_containing_a_list_of_questions =
"Es necesario un archivo XML"
" que contenga una lista de preguntas.";
#elif L==5 // fr
- "You need an XML file"
- " containing a list of questions."; // Besoin de traduction
+ "Vous avez besoin d'un fichier XML"
+ " contenant une liste de questions.";
#elif L==6 // gn
"Es necesario un archivo XML"
" que contenga una lista de preguntas."; // Okoteve traducción
#elif L==7 // it
- "You need an XML file"
- " containing a list of questions."; // Bisogno di traduzione
+ "È necessario un file XML"
+ " contenente un elenco di domande.";
#elif L==8 // pl
- "You need an XML file"
- " containing a list of questions."; // Potrzebujesz tlumaczenie
+ "Potrzebujesz pliku XML"
+ " zawierającego listę pytań.";
#elif L==9 // pt
"Você precisa de um arquivo XML"
" contendo uma lista de perguntas.";
@@ -59731,11 +59726,11 @@ 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
- "Usted ya estaba inscrito/a como %s"
- " en la asignatura %s."; // Necessita traducció
+ "Ja estaves matriculat com a %s"
+ " a l'assignatura %s.";
#elif L==2 // de
- "You were already enroled as %s"
- " in the course %s."; // Übersetzung notwendig
+ "Sie waren bereits als %s"
+ " im Studiengang %s eingeschrieben.";
#elif L==3 // en
"You were already enroled as %s"
" in the course %s.";
@@ -59743,17 +59738,17 @@ const char *Txt_You_were_already_enroled_as_X_in_the_course_Y = // Warning: it i
"Usted ya estaba inscrito/a como %s"
" en la asignatura %s.";
#elif L==5 // fr
- "You were already enroled as %s"
- " in the course %s."; // Besoin de traduction
+ "Vous étiez déjà inscrit comme %s"
+ " dans la matière %s.";
#elif L==6 // gn
"Usted ya estaba inscrito/a como %s"
" en la asignatura %s."; // Okoteve traducción
#elif L==7 // it
- "You were already enroled as %s"
- " in the course %s."; // Bisogno di traduzione
+ "Eri già iscritto come %s"
+ " al corso %s.";
#elif L==8 // pl
- "You were already enroled as %s"
- " in the course %s."; // Potrzebujesz tlumaczenie
+ "Byłeś już zapisany jako %s"
+ " na kurs %s.";
#elif L==9 // pt
"Você já estava inscrito/a como %s"
" na disciplina %s.";
diff --git a/swad_text_action.c b/swad_text_action.c
index 1c55ca5e6..bd8d0ea22 100644
--- a/swad_text_action.c
+++ b/swad_text_action.c
@@ -165,128 +165,128 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
,
[ActReqSch] =
#if L==1 // ca
- "Request search" // Necessita traducció
+ "Sol·licitar la recerca"
#elif L==2 // de
- "Request search" // Need Übersetzung
+ "Suche anfordern"
#elif L==3 // en
"Request search"
#elif L==4 // es
"Solicitar búsqueda"
#elif L==5 // fr
- "Request search" // Besoin de traduction
+ "Demander une recherche"
#elif L==6 // gn
"Solicitar búsqueda" // Okoteve traducción
#elif L==7 // it
- "Request search" // Bisogno di traduzione
+ "Richiedere la ricerca"
#elif L==8 // pl
- "Request search" // Potrzebujesz tlumaczenie
+ "Poproś o wyszukiwanie"
#elif L==9 // pt
- "Request search" // Precisa de tradução
+ "Solicitar pesquisa"
#endif
,
[ActSeeGblTL] =
#if L==1 // ca
- "Show timeline global" // Necessita traducció
+ "Mostrar timeline global"
#elif L==2 // de
- "Show timeline global" // Need Übersetzung
+ "Globale Timeline anzeigen"
#elif L==3 // en
- "Show timeline global"
+ "Show global timeline"
#elif L==4 // es
"Mostrar timeline global"
#elif L==5 // fr
- "Show timeline global" // Besoin de traduction
+ "Afficher chronologie globale"
#elif L==6 // gn
"Mostrar timeline global" // Okoteve traducción
#elif L==7 // it
- "Show timeline global" // Bisogno di traduzione
+ "Mostra timeline globale"
#elif L==8 // pl
- "Show timeline global" // Potrzebujesz tlumaczenie
+ "Pokaż globalną timeline"
#elif L==9 // pt
- "Show timeline global" // Precisa de tradução
+ "Mostrar timeline global"
#endif
,
[ActSeeSocPrf] =
#if L==1 // ca
- "Suggest list of users to follow" // Necessita traducció
+ "Suggerir llista d'usuaris a seguir"
#elif L==2 // de
- "Suggest list of users to follow" // Need Übersetzung
+ "Schlagen Sie eine Liste von Benutzern vor, denen Sie folgen möchten"
#elif L==3 // en
"Suggest list of users to follow"
#elif L==4 // es
"Sugerir lista de usuarios a seguir"
#elif L==5 // fr
- "Suggest list of users to follow" // Besoin de traduction
+ "Suggérer liste d'utilisateurs à suivre"
#elif L==6 // gn
"Sugerir lista de usuarios a seguir" // Okoteve traducción
#elif L==7 // it
- "Suggest list of users to follow" // Bisogno di traduzione
+ "Suggerisci elenco di utenti da seguire"
#elif L==8 // pl
- "Suggest list of users to follow" // Potrzebujesz tlumaczenie
+ "Zasugeruj listę użytkowników do obserwowania"
#elif L==9 // pt
- "Suggest list of users to follow" // Precisa de tradução
+ "Sugerir lista de usuários a seguir"
#endif
,
[ActSeeCal] =
#if L==1 // ca
- "Show calendar" // Necessita traducció
+ "Mostrar calendari"
#elif L==2 // de
- "Show calendar" // Need Übersetzung
+ "Kalender zeigen"
#elif L==3 // en
"Show calendar"
#elif L==4 // es
"Mostrar calendario"
#elif L==5 // fr
- "Show calendar" // Besoin de traduction
+ "Afficher le calendrier"
#elif L==6 // gn
"Mostrar calendario" // Okoteve traducción
#elif L==7 // it
- "Show calendar" // Bisogno di traduzione
+ "Mostra il calendario"
#elif L==8 // pl
- "Show calendar" // Potrzebujesz tlumaczenie
+ "Pokaż kalendarz"
#elif L==9 // pt
- "Show calendar" // Precisa de tradução
+ "Mostrar calendário"
#endif
,
[ActSeeNtf] =
#if L==1 // ca
- "Show notifications" // Necessita traducció
+ "Mostrar notificacions"
#elif L==2 // de
- "Show notifications" // Need Übersetzung
+ "Benachrichtigungen zeigen"
#elif L==3 // en
"Show notifications"
#elif L==4 // es
"Mostrar notificaciones"
#elif L==5 // fr
- "Show notifications" // Besoin de traduction
+ "Afficher les notifications"
#elif L==6 // gn
"Mostrar notificaciones" // Okoteve traducción
#elif L==7 // it
- "Show notifications" // Bisogno di traduzione
+ "Mostra notifiche"
#elif L==8 // pl
- "Show notifications" // Potrzebujesz tlumaczenie
+ "Pokaż powiadomienia"
#elif L==9 // pt
- "Show notifications" // Precisa de tradução
+ "Mostrar notificações"
#endif
,
[ActLogIn] =
#if L==1 // ca
- "Authenticate user" // Necessita traducció
+ "Autenticar usuari"
#elif L==2 // de
- "Authenticate user" // Need Übersetzung
+ "Benutzer authentifizieren"
#elif L==3 // en
"Authenticate user"
#elif L==4 // es
"Autenticar usuario"
#elif L==5 // fr
- "Authenticate user" // Besoin de traduction
+ "Authentifier l'utilisateur"
#elif L==6 // gn
"Autenticar usuario" // Okoteve traducción
#elif L==7 // it
- "Authenticate user" // Bisogno di traduzione
+ "Autenticare l'utente"
#elif L==8 // pl
- "Authenticate user" // Potrzebujesz tlumaczenie
+ "Uwierzytelnij użytkownika"
#elif L==9 // pt
- "Authenticate user" // Precisa de tradução
+ "Autenticar usuário"
#endif
,
[ActLogInNew] =