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