diff --git a/swad_centre.c b/swad_centre.c
index 2f917ea76..16a0753fc 100644
--- a/swad_centre.c
+++ b/swad_centre.c
@@ -1372,7 +1372,7 @@ static void Ctr_ListCentresForEdition (void)
fprintf (Gbl.F.Out,"%s",
Ctr->WWW,Ctr->WWW,WWW);
if (strlen (Ctr->WWW) > Ctr_MAX_LENGTH_WWW_ON_SCREEN)
- fprintf (Gbl.F.Out,"...");
+ fprintf (Gbl.F.Out,"…");
fprintf (Gbl.F.Out,"");
}
fprintf (Gbl.F.Out,"");
diff --git a/swad_changelog.h b/swad_changelog.h
index bcbec00d9..54e9f9801 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -124,13 +124,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 15.113.8 (2016-01-15)"
+#define Log_PLATFORM_VERSION "SWAD 15.113.9 (2016-01-15)"
#define CSS_FILE "swad15.113.8.css"
#define JS_FILE "swad15.113.8.js"
// Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
/*
+ Version 15.113.9: Jan 15, 2016 "..." changed by HTML entity "…". (192775 lines)
Version 15.113.8: Jan 15, 2016 Changes in textareas to enter new social posts or comments. (192751 lines)
Version 15.113.7: Jan 15, 2016 New social publishings fade in when user click to view them.
New style for textarea where enter a new social post. (192715 lines)
diff --git a/swad_degree.c b/swad_degree.c
index 06090e832..0d0c9828b 100644
--- a/swad_degree.c
+++ b/swad_degree.c
@@ -1651,7 +1651,7 @@ static void Deg_ListDegreesForEdition (void)
" class=\"DAT\" title=\"%s\">%s",
Deg->WWW,Deg->WWW,WWW);
if (strlen (Deg->WWW) > Deg_MAX_LENGTH_WWW_ON_SCREEN)
- fprintf (Gbl.F.Out,"...");
+ fprintf (Gbl.F.Out,"…");
fprintf (Gbl.F.Out,"");
}
fprintf (Gbl.F.Out,"");
diff --git a/swad_institution.c b/swad_institution.c
index ffb2e9d92..02685eacb 100644
--- a/swad_institution.c
+++ b/swad_institution.c
@@ -1260,7 +1260,7 @@ static void Ins_ListInstitutionsForEdition (void)
fprintf (Gbl.F.Out,"%s",
Ins->WWW,Ins->WWW,WWW);
if (strlen (Ins->WWW) > Ins_MAX_LENGTH_WWW_ON_SCREEN)
- fprintf (Gbl.F.Out,"...");
+ fprintf (Gbl.F.Out,"…");
fprintf (Gbl.F.Out,"");
}
fprintf (Gbl.F.Out,"");
diff --git a/swad_pagination.c b/swad_pagination.c
index 43c798d83..5171cf0bc 100644
--- a/swad_pagination.c
+++ b/swad_pagination.c
@@ -253,7 +253,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
fprintf (Gbl.F.Out,"");
if (Pagination->LeftPage > 2)
fprintf (Gbl.F.Out,"
"
- "..."
+ "…"
" | ",
Font);
}
@@ -314,7 +314,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
fprintf (Gbl.F.Out,"");
if (Pagination->LeftPage < Pagination->StartPage-1)
fprintf (Gbl.F.Out,""
- "..."
+ "…"
" | ",
Font);
}
@@ -388,7 +388,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
{
if (Pagination->RightPage > Pagination->EndPage+1)
fprintf (Gbl.F.Out,""
- "..."
+ "…"
" | ",
Font);
fprintf (Gbl.F.Out,"",
@@ -448,7 +448,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
{
if (Pagination->NumPags > Pagination->RightPage+1)
fprintf (Gbl.F.Out," | "
- "..."
+ "…"
" | ",
Font);
fprintf (Gbl.F.Out,"",
diff --git a/swad_search.c b/swad_search.c
index 66fb6ced5..8c1352afd 100644
--- a/swad_search.c
+++ b/swad_search.c
@@ -317,7 +317,7 @@ void Sch_PutFormToSearch (const char *Icon,const char *IdInputText)
Sch_MAX_LENGTH_STRING_TO_FIND,
Gbl.Search.Str);
if (!Gbl.Search.Str[0])
- fprintf (Gbl.F.Out," placeholder=\"%s...\"",
+ fprintf (Gbl.F.Out," placeholder=\"%s…\"",
Txt_Search);
fprintf (Gbl.F.Out," style=\"margin:0;\" />");
diff --git a/swad_social.c b/swad_social.c
index 9c5ae3f1a..f09700144 100644
--- a/swad_social.c
+++ b/swad_social.c
@@ -249,7 +249,7 @@ static void Soc_GetNoteSummary (const struct SocialNote *SocNot,
static void Soc_PublishSocialNoteInTimeline (struct SocialPublishing *SocPub);
static void Soc_PutFormToWriteNewPost (void);
-static void Soc_PutTextarea (void);
+static void Soc_PutTextarea (const char *Placeholder);
static void Soc_ReceiveSocialPost (void);
@@ -1625,6 +1625,7 @@ static void Soc_PublishSocialNoteInTimeline (struct SocialPublishing *SocPub)
static void Soc_PutFormToWriteNewPost (void)
{
+ extern const char *Txt_New_SOCIAL_post;
bool ShowPhoto;
char PhotoURL[PATH_MAX+1];
char FullName[(Usr_MAX_BYTES_NAME+1)*3];
@@ -1666,7 +1667,7 @@ static void Soc_PutFormToWriteNewPost (void)
Act_FormStart (ActRcvSocPstGbl);
/***** Textarea and button *****/
- Soc_PutTextarea ();
+ Soc_PutTextarea (Txt_New_SOCIAL_post);
/***** End form *****/
Act_FormEnd ();
@@ -1683,7 +1684,7 @@ static void Soc_PutFormToWriteNewPost (void)
/*** Put textarea and button inside a form to submit a new post or comment ***/
/*****************************************************************************/
-static void Soc_PutTextarea (void)
+static void Soc_PutTextarea (const char *Placeholder)
{
extern const char *Txt_Post;
char IdButton[Soc_MAX_LENGTH_ID];
@@ -1693,12 +1694,13 @@ static void Soc_PutTextarea (void)
/***** Textarea to write the content *****/
fprintf (Gbl.F.Out,"",
Soc_MAX_CHARS_IN_POST,
+ Placeholder,
IdButton,IdButton);
/***** Submit button *****/
@@ -1810,6 +1812,8 @@ static void Soc_PutIconToToggleCommentSocialNote (const char UniqueId[Soc_MAX_LE
static void Soc_PutHiddenFormToWriteNewCommentToSocialNote (long NotCod,
const char IdNewComment[Soc_MAX_LENGTH_ID])
{
+ extern const char *Txt_New_SOCIAL_comment;
+
/***** Start container *****/
fprintf (Gbl.F.Out,"(escrito, oral,...)"; // Necessita traduccio
+ "Modalidad (escrito, oral,…)"; // Necessita traduccio
#elif L==2
- "Prüfungsart (schriftlich, mündlich,...)";
+ "Prüfungsart (schriftlich, mündlich,…)";
#elif L==3
- "Mode (written, oral,...)";
+ "Mode (written, oral,…)";
#elif L==4
- "Modalidad (escrito, oral,...)";
+ "Modalidad (escrito, oral,…)";
#elif L==5
- "Mode (écrit, oral,...)";
+ "Mode (écrit, oral,…)";
#elif L==6
- "Modalidad (escrito, oral,...)"; // Okoteve traducción
+ "Modalidad (escrito, oral,…)"; // Okoteve traducción
#elif L==7
- "Modalità (scritto, orale,...)";
+ "Modalità (scritto, orale,…)";
#elif L==8
- "Tryb (pisemnej, ustnej,...)";
+ "Tryb (pisemnej, ustnej,…)";
#elif L==9
- "Modalidade (escrita, oral,...)";
+ "Modalidade (escrita, oral,…)";
#endif
const char *Txt_EXAM_ANNOUNCEMENT_Other_information =
@@ -10556,23 +10556,23 @@ const char *Txt_EXAM_ANNOUNCEMENT_Place_of_exam =
const char *Txt_EXAM_ANNOUNCEMENT_Session =
#if L==1
- "Convocatoria (junio, septiembre,...)"; // Necessita traduccio
+ "Convocatoria (junio, septiembre,…)"; // Necessita traduccio
#elif L==2
- "Einberufung (Juni, September,...)";
+ "Einberufung (Juni, September,…)";
#elif L==3
- "Session (june, september,...)";
+ "Session (june, september,…)";
#elif L==4
- "Convocatoria (junio, septiembre,...)";
+ "Convocatoria (junio, septiembre,…)";
#elif L==5
- "Période (juin, septembre,...)";
+ "Période (juin, septembre,…)";
#elif L==6
- "Convocatoria (junio, septiembre,...)"; // Okoteve traducción
+ "Convocatoria (junio, septiembre,…)"; // Okoteve traducción
#elif L==7
- "Sessione (giugno, settembre,...)";
+ "Sessione (giugno, settembre,…)";
#elif L==8
- "Sesja (czerwiec, wrzesien,...)";
+ "Sesja (czerwiec, wrzesien,…)";
#elif L==9
- "Período (junho, setembro,...)";
+ "Período (junho, setembro,…)";
#endif
const char *Txt_EXAM_ANNOUNCEMENT_Start_time =
@@ -18793,11 +18793,11 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
#elif L==3
"List of institutions of the current country"
#elif L==4
- "Lista de instituciones (universidades, institutos...) de este país"
+ "Lista de instituciones (universidades, institutos…) de este país"
#elif L==5
"Établissement"
#elif L==6
- "Lista de instituciones (universidades, institutos...) de este país"// Okoteve traducción
+ "Lista de instituciones (universidades, institutos…) de este país"// Okoteve traducción
#elif L==7
"Istituzioni"
#elif L==8
@@ -18876,11 +18876,11 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
#elif L==3
"List of centres of the current institution"
#elif L==4
- "Lista de centros (facultades, escuelas...) de esta institución"
+ "Lista de centros (facultades, escuelas…) de esta institución"
#elif L==5
"Centres"
#elif L==6
- "Lista de centros (facultades, escuelas...) de esta institución" // Okoteve traducción
+ "Lista de centros (facultades, escuelas…) de esta institución" // Okoteve traducción
#elif L==7
"Centri"
#elif L==8
@@ -19063,11 +19063,11 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
#elif L==3
"List of degrees of the current centre"
#elif L==4
- "Lista de titulaciones (carreras, másteres...) de este centro"
+ "Lista de titulaciones (carreras, másteres…) de este centro"
#elif L==5
"Études"
#elif L==6
- "Lista de titulaciones (carreras, másteres...) de este centro"// Okoteve traducción
+ "Lista de titulaciones (carreras, másteres…) de este centro"// Okoteve traducción
#elif L==7
"Lauree"
#elif L==8
@@ -20392,17 +20392,17 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
,
// ActEdiPrf
#if L==1
- "Les meves preferències (idioma, colors, notificacions ...)"
+ "Les meves preferències (idioma, colors, notificacions …)"
#elif L==2
"Einstellungen"
#elif L==3
"Preferences"
#elif L==4
- "Mis preferencias (idioma, colores, notificaciones...)"
+ "Mis preferencias (idioma, colores, notificaciones…)"
#elif L==5
"Préférences"
#elif L==6
- "Mis preferencias (idioma, colores, notificaciones...)" // Okoteve traducción
+ "Mis preferencias (idioma, colores, notificaciones…)" // Okoteve traducción
#elif L==7
"Preferenze"
#elif L==8
@@ -22368,27 +22368,6 @@ const char *Txt_New_centre_of_INSTITUTION_X = // Warning: it is very important t
"Novo centro de %s";
#endif
-const char *Txt_New_comment =
-#if L==1
- "Nou comentari";
-#elif L==2
- "Neue Kommentar";
-#elif L==3
- "New comment";
-#elif L==4
- "Nuevo comentario";
-#elif L==5
- "Nouvelle commentaire";
-#elif L==6
- "Nuevo comentario"; // Okoteve traducción
-#elif L==7
- "Nuovo commento";
-#elif L==8
- "Nowy komentarz";
-#elif L==9
- "Novo comentário";
-#endif
-
const char *Txt_New_country =
#if L==1
"Nuevo país"; // Necessita traduccio
@@ -22830,6 +22809,48 @@ const char *Txt_New_record_field =
"Novo campo de cartão";
#endif
+const char *Txt_New_SOCIAL_comment =
+#if L==1
+ "Nou comentari";
+#elif L==2
+ "Neue Kommentar";
+#elif L==3
+ "New comment";
+#elif L==4
+ "Nuevo comentario";
+#elif L==5
+ "Nouvelle commentaire";
+#elif L==6
+ "Nuevo comentario"; // Okoteve traducción
+#elif L==7
+ "Nuovo commento";
+#elif L==8
+ "Nowy komentarz";
+#elif L==9
+ "Novo comentário";
+#endif
+
+const char *Txt_New_SOCIAL_post =
+#if L==1
+ "Novo missatge";
+#elif L==2
+ "Neue Beitrag";
+#elif L==3
+ "New post";
+#elif L==4
+ "Nuevo mensaje";
+#elif L==5
+ "Nouveau message";
+#elif L==6
+ "Nuevo mensaje"; // Okoteve traducción
+#elif L==7
+ "Nuovo post";
+#elif L==8
+ "Nowy post";
+#elif L==9
+ "Novo post";
+#endif
+
const char *Txt_New_survey =
#if L==1
"Nova enquesta";
@@ -26104,121 +26125,121 @@ const char *Txt_optional =
const char *Txt_or_you_can_create_a_new_link_inside_the_folder_X = // Warning: it is very important to include %s in the following sentences
#if L==1
- "...o pot crear un novo enllaç"
+ "…o pot crear un novo enllaç"
" dins de la carpeta %s:";
#elif L==2
- "...Oder Sie können ein neues Link"
+ "…Oder Sie können ein neues Link"
" im Verzeichnis %s anlegen:";
#elif L==3
- "...or you can create a new link"
+ "…or you can create a new link"
" inside the folder %s:";
#elif L==4
- "...o puede crear un nuevo enlace"
+ "…o puede crear un nuevo enlace"
" dentro de la carpeta %s:";
#elif L==5
- "...ou vous pouvez créer un nouveau lien"
+ "…ou vous pouvez créer un nouveau lien"
" dans le répertoire %s:";
#elif L==6
- "...o puede crear un nuevo enlace"
+ "…o puede crear un nuevo enlace"
" dentro de la carpeta %s:"; // Okoteve traducción
#elif L==7
- "...oppure è possibile creare una nuova cartella"
+ "…oppure è possibile creare una nuova cartella"
" all'interno della cartella %s:";
#elif L==8
- "...czy możesz utworzyć nowy link"
+ "…czy możesz utworzyć nowy link"
" wewnątrz folderu %s:";
#elif L==9
- "...ou você pode criar uma nova ligação"
+ "…ou você pode criar uma nova ligação"
" dentro do diretório %s:";
#endif
const char *Txt_or_you_can_make_a_file_copy_to_the_folder_X = // Warning: it is very important to include %s in the following sentences
#if L==1
- "...o pot realitzar una còpia d'arxius"
+ "…o pot realitzar una còpia d'arxius"
" a la carpeta %s:";
#elif L==2
- "...Oder Sie können die Kopie einer Datei"
+ "…Oder Sie können die Kopie einer Datei"
" in das Verzeichnis %s:";
#elif L==3
- "...or you can make a file copy"
+ "…or you can make a file copy"
" to the folder %s:";
#elif L==4
- "...o puede realizar una copia de archivos"
+ "…o puede realizar una copia de archivos"
" a la carpeta %s:";
#elif L==5
- "...ou vous pouvez faire une copie de fichiers"
+ "…ou vous pouvez faire une copie de fichiers"
" vers le répertoire %s:";
#elif L==6
- "...o puede realizar una copia de archivos"
+ "…o puede realizar una copia de archivos"
" a la carpeta %s:"; // Okoteve traducción
#elif L==7
- "...oppure è possibile effettuare una copia dei file"
+ "…oppure è possibile effettuare una copia dei file"
" nella cartella %s:";
#elif L==8
- "...czy mozna zrobic kopie pliku"
+ "…czy mozna zrobic kopie pliku"
" do folderu %s:";
#elif L==9
- "...ou você pode fazer uma cópia de arquivo"
+ "…ou você pode fazer uma cópia de arquivo"
" na diretório %s:";
#endif
const char *Txt_or_you_can_upload_a_new_file_to_the_folder_X = // Warning: it is very important to include %s in the following sentences
#if L==1
- "...o puede subir un nuevo archivo"
+ "…o puede subir un nuevo archivo"
" a la carpeta %s:"; // Necessita traduccio
#elif L==2
- "...oder senden Sie eine neue Datei"
+ "…oder senden Sie eine neue Datei"
" in das Verzeichnis %s:";
#elif L==3
- "...or you can upload a new file"
+ "…or you can upload a new file"
" to the folder %s:";
#elif L==4
- "...o puede subir un nuevo archivo"
+ "…o puede subir un nuevo archivo"
" a la carpeta %s:";
#elif L==5
- "...ou vous pouvez envoyer un nouveau fichier"
+ "…ou vous pouvez envoyer un nouveau fichier"
" dans le répertoire %s:";
#elif L==6
- "...o puede subir un nuevo archivo"
+ "…o puede subir un nuevo archivo"
" a la carpeta %s:"; // Okoteve traducción
#elif L==7
- "...oppure si può inviare un nuovo file"
+ "…oppure si può inviare un nuovo file"
" nella cartella %s:";
#elif L==8
- "...lub wyslac nowy plik"
+ "…lub wyslac nowy plik"
" do folderu %s:";
#elif L==9
- "...ou você pode enviar um novo arquivo"
+ "…ou você pode enviar um novo arquivo"
" para o diretório %s:";
#endif
const char *Txt_or_you_can_upload_new_files_to_the_folder_X = // Warning: it is very important to include %s in the following sentences
#if L==1
- "...o puede subir nuevos archivos"
+ "…o puede subir nuevos archivos"
" a la carpeta %s:"; // Necessita traduccio
#elif L==2
- "...oder senden Sie neue Dateien"
+ "…oder senden Sie neue Dateien"
" in das Verzeichnis %s:";
#elif L==3
- "...or you can upload new files"
+ "…or you can upload new files"
" to the folder %s:";
#elif L==4
- "...o puede subir nuevos archivos"
+ "…o puede subir nuevos archivos"
" a la carpeta %s:";
#elif L==5
- "...ou vous pouvez envoyer des nouveaux fichiers"
+ "…ou vous pouvez envoyer des nouveaux fichiers"
" dans le répertoire %s:";
#elif L==6
- "...o puede subir nuevos archivos"
+ "…o puede subir nuevos archivos"
" a la carpeta %s:"; // Okoteve traducción
#elif L==7
- "...oppure si può inviare nuovi file"
+ "…oppure si può inviare nuovi file"
" nella cartella %s:";
#elif L==8
- "...lub wyslac nowy plik"
+ "…lub wyslac nowy plik"
" do folderu %s:";
#elif L==9
- "...ou você pode enviar novos arquivos"
+ "…ou você pode enviar novos arquivos"
" para o diretório %s:";
#endif
|