diff --git a/swad_QR.c b/swad_QR.c index 494a47cb..90acabaa 100644 --- a/swad_QR.c +++ b/swad_QR.c @@ -127,7 +127,7 @@ void QR_ImageQRCode (const char *QRString) void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod) { extern const char *Txt_Shortcut; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; /***** Show QR code with direct link to the current centre *****/ fprintf (Gbl.F.Out,"", Size,Size, Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language],ParamStr,Cod, + Lan_STR_LANG_ID[Gbl.Prefs.Language],ParamStr,Cod, Txt_Shortcut, Txt_Shortcut, Size,Size); diff --git a/swad_account.c b/swad_account.c index 7fb4e65e..9c2eb25f 100644 --- a/swad_account.c +++ b/swad_account.c @@ -706,7 +706,7 @@ void Acc_CreateNewUsr (struct UsrData *UsrDat,bool CreatingMyOwnAccount) extern const char *The_ThemeId[The_NUM_THEMES]; extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS]; extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY]; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Usr_StringsSexDB[Usr_NUM_SEXS]; char BirthdayStrDB[Usr_BIRTHDAY_STR_DB_LENGTH + 1]; size_t CommentsLength; @@ -759,7 +759,7 @@ void Acc_CreateNewUsr (struct UsrData *UsrDat,bool CreatingMyOwnAccount) Usr_StringsSexDB[UsrDat->Sex], The_ThemeId[UsrDat->Prefs.Theme], Ico_IconSetId[UsrDat->Prefs.IconSet], - Txt_STR_LANG_ID[UsrDat->Prefs.Language], + Lan_STR_LANG_ID[UsrDat->Prefs.Language], Cal_FIRST_DAY_OF_WEEK_DEFAULT, (unsigned) Dat_FORMAT_DEFAULT, Pri_VisibilityDB[UsrDat->PhotoVisibility], diff --git a/swad_action.c b/swad_action.c index 0c9aee84..6cf1560c 100644 --- a/swad_action.c +++ b/swad_action.c @@ -5115,7 +5115,7 @@ const char *Act_GetSubtitleAction (Act_Action_t Action) char *Act_GetActionTextFromDB (long ActCod, char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1]) { - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; MYSQL_RES *mysql_res; MYSQL_ROW row; @@ -5123,7 +5123,7 @@ char *Act_GetActionTextFromDB (long ActCod, if (DB_QuerySELECT (&mysql_res,"can not get text for an action", "SELECT Txt FROM actions" " WHERE ActCod=%ld AND Language='%s'", - ActCod,Txt_STR_LANG_ID[Txt_LANGUAGE_ES])) // !!! TODO: Replace Txt_LANGUAGE_ES by Gbl.Prefs.Language !!! + ActCod,Lan_STR_LANG_ID[Lan_LANGUAGE_ES])) // !!! TODO: Replace Lan_LANGUAGE_ES by Gbl.Prefs.Language !!! { /***** Get text *****/ row = mysql_fetch_row (mysql_res); diff --git a/swad_action.h b/swad_action.h index fd96a071..beab2519 100644 --- a/swad_action.h +++ b/swad_action.h @@ -31,9 +31,9 @@ #include "swad_constant.h" #include "swad_cryptography.h" +#include "swad_language.h" #include "swad_string.h" #include "swad_tab.h" -#include "swad_text.h" /*****************************************************************************/ /****************************** Public constants *****************************/ diff --git a/swad_agenda.c b/swad_agenda.c index 69b8c8de..b07a704f 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -399,15 +399,15 @@ void Agd_ShowUsrAgenda (void) void Agd_ShowOtherAgendaAfterLogIn (void) { extern const char *Hlp_PROFILE_Agenda_public_agenda; - extern const unsigned Txt_Current_CGI_SWAD_Language; + extern const unsigned Lan_Current_CGI_SWAD_Language; extern const char *Txt_Public_agenda_USER; extern const char *Txt_User_not_found_or_you_do_not_have_permission_; - extern const char *Txt_Switching_to_LANGUAGE[1 + Txt_NUM_LANGUAGES]; + extern const char *Txt_Switching_to_LANGUAGE[1 + Lan_NUM_LANGUAGES]; bool ItsMe; if (Gbl.Usrs.Me.Logged) { - if (Gbl.Usrs.Me.UsrDat.Prefs.Language == Txt_Current_CGI_SWAD_Language) + if (Gbl.Usrs.Me.UsrDat.Prefs.Language == Lan_Current_CGI_SWAD_Language) { /***** Get user *****/ /* If nickname is correct, user code is already got from nickname */ @@ -667,12 +667,12 @@ static void Agd_PutIconToViewEditMyFullAgenda (void) static void Agd_PutIconToShowQR (void) { char URL[Cns_MAX_BYTES_WWW + 1]; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; snprintf (URL,sizeof (URL), "%s/%s?agd=@%s", Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Gbl.Usrs.Me.UsrDat.Nickname); Gbl.QR.Str = URL; QR_PutLinkToPrintQRCode (ActPrnAgdQR,QR_PutParamQRString); diff --git a/swad_banner.c b/swad_banner.c index a9ba4493..e0be1bee 100644 --- a/swad_banner.c +++ b/swad_banner.c @@ -37,10 +37,10 @@ #include "swad_database.h" #include "swad_form.h" #include "swad_global.h" +#include "swad_language.h" #include "swad_parameter.h" #include "swad_photo.h" #include "swad_table.h" -#include "swad_text.h" /*****************************************************************************/ /************** External global variables from others modules ****************/ diff --git a/swad_calendar.c b/swad_calendar.c index a2c1c6ea..695bd6f5 100644 --- a/swad_calendar.c +++ b/swad_calendar.c @@ -202,7 +202,7 @@ unsigned Cal_GetFirstDayOfWeekFromStr (const char *Str) void Cal_DrawCurrentMonth (void) { - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; char ParamsStr[Frm_MAX_BYTES_PARAMS_STR]; /***** Get list of holidays *****/ @@ -225,7 +225,7 @@ void Cal_DrawCurrentMonth (void) (long) Gbl.StartExecutionTimeUTC, Gbl.CurrentCtr.Ctr.PlcCod, Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language]); + Lan_STR_LANG_ID[Gbl.Prefs.Language]); Frm_SetParamsForm (ParamsStr,Cal_GetActionToSeeCalendar (),true); fprintf (Gbl.F.Out,"'%s',",ParamsStr); Frm_SetParamsForm (ParamsStr,ActSeeDatExaAnn,true); @@ -302,7 +302,7 @@ static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar, bool PrintView) { extern const char *Hlp_Calendar; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; char ParamsStr[Frm_MAX_BYTES_PARAMS_STR]; /***** Get list of holidays *****/ @@ -340,7 +340,7 @@ static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar, PrintView ? "true" : "false", Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language]); + Lan_STR_LANG_ID[Gbl.Prefs.Language]); Frm_SetParamsForm (ParamsStr,ActionSeeCalendar,true); fprintf (Gbl.F.Out,"'%s',", ParamsStr); diff --git a/swad_centre.c b/swad_centre.c index 4ce91962..b2ccf8fb 100644 --- a/swad_centre.c +++ b/swad_centre.c @@ -43,12 +43,12 @@ #include "swad_help.h" #include "swad_hierarchy.h" #include "swad_institution.h" +#include "swad_language.h" #include "swad_logo.h" #include "swad_parameter.h" #include "swad_QR.h" #include "swad_string.h" #include "swad_table.h" -#include "swad_text.h" /*****************************************************************************/ /************** External global variables from others modules ****************/ @@ -295,7 +295,7 @@ static void Ctr_Configuration (bool PrintView) extern const char *Txt_Another_place; extern const char *Txt_Web; extern const char *Txt_Shortcut; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_QR_code; extern const char *Txt_Users_of_the_centre; extern const char *Txt_Place; @@ -596,10 +596,10 @@ static void Ctr_Configuration (bool PrintView) The_ClassForm[Gbl.Prefs.Theme], Txt_Shortcut, Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Gbl.CurrentCtr.Ctr.CtrCod, Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Gbl.CurrentCtr.Ctr.CtrCod); if (PrintView) diff --git a/swad_changelog.h b/swad_changelog.h index 40b81604..9d638b9e 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -360,10 +360,11 @@ En OpenSWAD: ps2pdf source.ps destination.pdf */ -#define Log_PLATFORM_VERSION "SWAD 18.20.1 (2018-12-08)" +#define Log_PLATFORM_VERSION "SWAD 18.21 (2018-12-08)" #define CSS_FILE "swad18.4.css" #define JS_FILE "swad17.17.1.js" /* + Version 18.21: Dec 08, 2018 Code refactoring related to languages. (237098 lines) Version 18.20.1: Dec 08, 2018 Some messages translated to portuguese. (237125 lines) Version 18.20: Dec 08, 2018 New module swad_text_no_html for messages without HTML entities. Changed translation of degree in portuguese. (237124 lines) diff --git a/swad_chat.c b/swad_chat.c index bf2508ad..3a2845e6 100644 --- a/swad_chat.c +++ b/swad_chat.c @@ -37,10 +37,10 @@ #include "swad_database.h" #include "swad_form.h" #include "swad_global.h" +#include "swad_language.h" #include "swad_logo.h" #include "swad_parameter.h" #include "swad_string.h" -#include "swad_text.h" /*****************************************************************************/ /************** External global variables from others modules ****************/ diff --git a/swad_config.h b/swad_config.h index 97907c56..447d4042 100644 --- a/swad_config.h +++ b/swad_config.h @@ -71,7 +71,7 @@ #define Cfg_AUTOMATIC_EMAIL_SMTP_PORT "465" // SMTP port for sending automatic emails #define Cfg_AUTOMATIC_EMAIL_FROM "acanas@openswad.org" // Email address from where automatic emails will be sent #define Cfg_DATABASE_HOST "localhost" // Database host -#define Cfg_DEFAULT_LANGUAGE Txt_LANGUAGE_ES // Default language +#define Cfg_DEFAULT_LANGUAGE Lan_LANGUAGE_ES // Default language #define Cfg_LOG_START_YEAR 2012 // Year when the log started in the database // Footer of page with info about the institution where this platform is installed @@ -112,7 +112,7 @@ #define Cfg_AUTOMATIC_EMAIL_SMTP_PORT "465" // SMTP port for sending automatic emails #define Cfg_AUTOMATIC_EMAIL_FROM "acanas@openswad.org" // Email address from where automatic emails will be sent #define Cfg_DATABASE_HOST "localhost" // Database host -#define Cfg_DEFAULT_LANGUAGE Txt_LANGUAGE_EN // Default language +#define Cfg_DEFAULT_LANGUAGE Lan_LANGUAGE_EN // Default language #define Cfg_LOG_START_YEAR 2012 // Year when the log started in the database // Footer of page with info about the institution where this platform is installed @@ -170,7 +170,7 @@ #define Cfg_AUTOMATIC_EMAIL_SMTP_PORT "587" // SMTP port for sending automatic emails #define Cfg_AUTOMATIC_EMAIL_FROM "swad@ugr.es" // Email address from where automatic emails will be sent #define Cfg_DATABASE_HOST "localhost" // Database host -#define Cfg_DEFAULT_LANGUAGE Txt_LANGUAGE_ES // Default language +#define Cfg_DEFAULT_LANGUAGE Lan_LANGUAGE_ES // Default language #define Cfg_LOG_START_YEAR 2005 // Year when the log started in the database // Footer of page with info about the institution where this platform is installed @@ -225,7 +225,7 @@ #define Cfg_AUTOMATIC_EMAIL_SMTP_PORT "587" // SMTP port for sending automatic emails #define Cfg_AUTOMATIC_EMAIL_FROM "swad@ugr.es" // Email address from where automatic emails will be sent #define Cfg_DATABASE_HOST "localhost" // Database host -#define Cfg_DEFAULT_LANGUAGE Txt_LANGUAGE_ES // Default language +#define Cfg_DEFAULT_LANGUAGE Lan_LANGUAGE_ES // Default language #define Cfg_LOG_START_YEAR 2016 // Year when the log started in the database // Footer of page with info about the institution where this platform is installed diff --git a/swad_country.c b/swad_country.c index 5b96cdd3..cd220387 100644 --- a/swad_country.c +++ b/swad_country.c @@ -44,7 +44,6 @@ #include "swad_preference.h" #include "swad_QR.h" #include "swad_table.h" -#include "swad_text.h" /*****************************************************************************/ /************** External global variables from others modules ****************/ @@ -94,7 +93,7 @@ static long Cty_GetParamOtherCtyCod (void); static bool Cty_CheckIfNumericCountryCodeExists (long CtyCod); static bool Cty_CheckIfAlpha2CountryCodeExists (const char Alpha2[2 + 1]); -static bool Cty_CheckIfCountryNameExists (Txt_Language_t Language,const char *Name,long CtyCod); +static bool Cty_CheckIfCountryNameExists (Lan_Language_t Language,const char *Name,long CtyCod); static void Cty_UpdateCtyNameDB (long CtyCod,const char *FieldName,const char *NewCtyName); static void Cty_PutFormToCreateCountry (void); @@ -108,7 +107,7 @@ static void Cty_CreateCountry (struct Country *Cty); void Cty_SeeCtyWithPendingInss (void) { extern const char *Hlp_SYSTEM_Hierarchy_pending; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_Countries_with_pending_institutions; extern const char *Txt_Country; extern const char *Txt_Institutions_ABBREVIATION; @@ -133,7 +132,7 @@ void Cty_SeeCtyWithPendingInss (void) " GROUP BY institutions.CtyCod" " ORDER BY countries.Name_%s", (unsigned) Ins_STATUS_BIT_PENDING, - Txt_STR_LANG_ID[Gbl.Prefs.Language]); + Lan_STR_LANG_ID[Gbl.Prefs.Language]); break; default: // Forbidden for other users return; @@ -235,7 +234,7 @@ static void Cty_Configuration (bool PrintView) extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *Txt_Country; extern const char *Txt_Shortcut; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_QR_code; extern const char *Txt_Institutions; extern const char *Txt_Institutions_of_COUNTRY_X; @@ -343,10 +342,10 @@ static void Cty_Configuration (bool PrintView) The_ClassForm[Gbl.Prefs.Theme], Txt_Shortcut, Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Gbl.CurrentCty.Cty.CtyCod, Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Gbl.CurrentCty.Cty.CtyCod); if (PrintView) @@ -1012,11 +1011,11 @@ static void Cty_PutIconToViewCountries (void) /************************** List all the countries ***************************/ /*****************************************************************************/ -#define Cty_MAX_BYTES_SUBQUERY_CTYS ((1 + Txt_NUM_LANGUAGES) * 32) +#define Cty_MAX_BYTES_SUBQUERY_CTYS ((1 + Lan_NUM_LANGUAGES) * 32) void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData) { - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; char StrField[32]; char SubQueryNam1[Cty_MAX_BYTES_SUBQUERY_CTYS + 1]; char SubQueryNam2[Cty_MAX_BYTES_SUBQUERY_CTYS + 1]; @@ -1028,7 +1027,7 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData) unsigned long NumRows = 0; unsigned NumCty; struct Country *Cty; - Txt_Language_t Lan; + Lan_Language_t Lan; /***** Get countries from database *****/ switch (GetExtraData) @@ -1037,37 +1036,37 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData) NumRows = DB_QuerySELECT (&mysql_res,"can not get countries", "SELECT CtyCod,Alpha2,Name_%s" " FROM countries ORDER BY Name_%s", - Txt_STR_LANG_ID[Gbl.Prefs.Language], - Txt_STR_LANG_ID[Gbl.Prefs.Language]); + Lan_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language]); break; case Cty_GET_EXTRA_DATA: SubQueryNam1[0] = '\0'; SubQueryNam2[0] = '\0'; SubQueryWWW1[0] = '\0'; SubQueryWWW2[0] = '\0'; - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) { snprintf (StrField,sizeof (StrField), "countries.Name_%s,", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Str_Concat (SubQueryNam1,StrField, Cty_MAX_BYTES_SUBQUERY_CTYS); snprintf (StrField,sizeof (StrField), "Name_%s,", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Str_Concat (SubQueryNam2,StrField, Cty_MAX_BYTES_SUBQUERY_CTYS); snprintf (StrField,sizeof (StrField), "countries.WWW_%s,", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Str_Concat (SubQueryWWW1,StrField, Cty_MAX_BYTES_SUBQUERY_CTYS); snprintf (StrField,sizeof (StrField), "WWW_%s,", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Str_Concat (SubQueryWWW2,StrField, Cty_MAX_BYTES_SUBQUERY_CTYS); } @@ -1076,12 +1075,12 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData) { case Cty_ORDER_BY_COUNTRY: if (asprintf (&OrderBySubQuery,"Name_%s", - Txt_STR_LANG_ID[Gbl.Prefs.Language]) < 0) + Lan_STR_LANG_ID[Gbl.Prefs.Language]) < 0) Lay_NotEnoughMemoryExit (); break; case Cty_ORDER_BY_NUM_USRS: if (asprintf (&OrderBySubQuery,"NumUsrs DESC,Name_%s", - Txt_STR_LANG_ID[Gbl.Prefs.Language]) < 0) + Lan_STR_LANG_ID[Gbl.Prefs.Language]) < 0) Lay_NotEnoughMemoryExit (); break; } @@ -1136,8 +1135,8 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData) switch (GetExtraData) { case Cty_GET_BASIC_DATA: - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) { Cty->Name[Lan][0] = '\0'; @@ -1153,18 +1152,18 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData) break; case Cty_GET_EXTRA_DATA: /* Get the name of the country in several languages */ - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) { Str_Copy (Cty->Name[Lan],row[1 + Lan], Cty_MAX_BYTES_NAME); - Str_Copy (Cty->WWW[Lan],row[1 + Txt_NUM_LANGUAGES + Lan], + Str_Copy (Cty->WWW[Lan],row[1 + Lan_NUM_LANGUAGES + Lan], Cns_MAX_BYTES_WWW); } /* Get number of users who claim to belong to this country */ - if (sscanf (row[1 + Txt_NUM_LANGUAGES * 2 + 1],"%u", + if (sscanf (row[1 + Lan_NUM_LANGUAGES * 2 + 1],"%u", &Cty->NumUsrsWhoClaimToBelongToCty) != 1) Cty->NumUsrsWhoClaimToBelongToCty = 0; @@ -1200,7 +1199,7 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData) void Cty_WriteSelectorOfCountry (void) { extern const char *Txt_Country; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; MYSQL_RES *mysql_res; MYSQL_ROW row; unsigned NumCtys; @@ -1223,8 +1222,8 @@ void Cty_WriteSelectorOfCountry (void) "SELECT DISTINCT CtyCod,Name_%s" " FROM countries" " ORDER BY countries.Name_%s", - Txt_STR_LANG_ID[Gbl.Prefs.Language], - Txt_STR_LANG_ID[Gbl.Prefs.Language]); + Lan_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language]); /***** List countries *****/ for (NumCty = 0; @@ -1291,7 +1290,7 @@ void Cty_WriteCountryName (long CtyCod,const char *ClassLink) bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraData) { extern const char *Txt_Another_country; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; char StrField[32]; char SubQueryNam1[Cty_MAX_BYTES_SUBQUERY_CTYS + 1]; char SubQueryNam2[Cty_MAX_BYTES_SUBQUERY_CTYS + 1]; @@ -1300,15 +1299,15 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD MYSQL_RES *mysql_res; MYSQL_ROW row; unsigned long NumRows = 0; - Txt_Language_t Lan; + Lan_Language_t Lan; bool CtyFound; if (Cty->CtyCod < 0) return false; /***** Clear data *****/ - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) { Cty->Name[Lan][0] = '\0'; @@ -1321,8 +1320,8 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD /***** Check if country code is correct *****/ if (Cty->CtyCod == 0) { - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) if (Lan == Gbl.Prefs.Language) Str_Copy (Cty->Name[Lan],Txt_Another_country, @@ -1342,8 +1341,8 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD "SELECT Alpha2,Name_%s,WWW_%s" " FROM countries" " WHERE CtyCod='%03ld'", - Txt_STR_LANG_ID[Gbl.Prefs.Language], - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Cty->CtyCod); break; case Cty_GET_EXTRA_DATA: @@ -1351,29 +1350,29 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD SubQueryNam2[0] = '\0'; SubQueryWWW1[0] = '\0'; SubQueryWWW2[0] = '\0'; - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) { snprintf (StrField,sizeof (StrField), "countries.Name_%s,", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Str_Concat (SubQueryNam1,StrField, Cty_MAX_BYTES_SUBQUERY_CTYS); snprintf (StrField,sizeof (StrField), "Name_%s,", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Str_Concat (SubQueryNam2,StrField, Cty_MAX_BYTES_SUBQUERY_CTYS); snprintf (StrField,sizeof (StrField), "countries.WWW_%s,", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Str_Concat (SubQueryWWW1,StrField, Cty_MAX_BYTES_SUBQUERY_CTYS); snprintf (StrField,sizeof (StrField), "WWW_%s,", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Str_Concat (SubQueryWWW2,StrField, Cty_MAX_BYTES_SUBQUERY_CTYS); } @@ -1416,18 +1415,18 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD break; case Cty_GET_EXTRA_DATA: /* Get name and WWW of the country in several languages */ - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) { Str_Copy (Cty->Name[Lan],row[Lan], Cty_MAX_BYTES_NAME); - Str_Copy (Cty->WWW[Lan],row[Txt_NUM_LANGUAGES + Lan], + Str_Copy (Cty->WWW[Lan],row[Lan_NUM_LANGUAGES + Lan], Cns_MAX_BYTES_WWW); } /* Get number of users who claim to belong to this country */ - if (sscanf (row[Txt_NUM_LANGUAGES * 2 + 1],"%u", + if (sscanf (row[Lan_NUM_LANGUAGES * 2 + 1],"%u", &Cty->NumUsrsWhoClaimToBelongToCty) != 1) Cty->NumUsrsWhoClaimToBelongToCty = 0; @@ -1461,7 +1460,7 @@ void Cty_FlushCacheCountryName (void) void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_NAME + 1]) { - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; MYSQL_RES *mysql_res; MYSQL_ROW row; @@ -1485,7 +1484,7 @@ void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_NAME + 1]) if (DB_QuerySELECT (&mysql_res,"can not get the name of a country", "SELECT Name_%s FROM countries WHERE CtyCod='%03ld'", - Txt_STR_LANG_ID[Gbl.Prefs.Language],CtyCod)) // Country found... + Lan_STR_LANG_ID[Gbl.Prefs.Language],CtyCod)) // Country found... { /* Get row */ row = mysql_fetch_row (mysql_res); @@ -1575,10 +1574,10 @@ void Cty_FreeListCountries (void) static void Cty_ListCountriesForEdition (void) { - extern const char *Txt_STR_LANG_NAME[1 + Txt_NUM_LANGUAGES]; + extern const char *Txt_STR_LANG_NAME[1 + Lan_NUM_LANGUAGES]; unsigned NumCty; struct Country *Cty; - Txt_Language_t Lan; + Lan_Language_t Lan; /***** Write heading *****/ Tbl_StartTableWide (2); @@ -1594,7 +1593,7 @@ static void Cty_ListCountriesForEdition (void) /* Put icon to remove country */ fprintf (Gbl.F.Out,"" "", - 1 + Txt_NUM_LANGUAGES); + 1 + Lan_NUM_LANGUAGES); if (Cty->NumInss || Cty->NumUsrsWhoClaimToBelongToCty || Cty->NumUsrs) // Country has institutions or users ==> deletion forbidden @@ -1612,13 +1611,13 @@ static void Cty_ListCountriesForEdition (void) fprintf (Gbl.F.Out,"" "%03ld" "", - 1 + Txt_NUM_LANGUAGES,Cty->CtyCod); + 1 + Lan_NUM_LANGUAGES,Cty->CtyCod); /* Alphabetic country code with 2 letters (ISO 3166-1) */ fprintf (Gbl.F.Out,"" "%s" "", - 1 + Txt_NUM_LANGUAGES,Cty->Alpha2); + 1 + Lan_NUM_LANGUAGES,Cty->Alpha2); fprintf (Gbl.F.Out,"" "" @@ -1628,18 +1627,18 @@ static void Cty_ListCountriesForEdition (void) fprintf (Gbl.F.Out,"" "%u" "", - 1 + Txt_NUM_LANGUAGES,Cty->NumUsrsWhoClaimToBelongToCty); + 1 + Lan_NUM_LANGUAGES,Cty->NumUsrsWhoClaimToBelongToCty); /* Number of institutions */ fprintf (Gbl.F.Out,"" "%u" "" "", - 1 + Txt_NUM_LANGUAGES,Cty->NumInss); + 1 + Lan_NUM_LANGUAGES,Cty->NumInss); /* Country name in several languages */ - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) { /* Language */ @@ -1776,11 +1775,11 @@ void Cty_RenameCountry (void) extern const char *Txt_You_can_not_leave_the_name_of_the_country_X_empty; extern const char *Txt_The_country_X_already_exists; extern const char *Txt_The_country_X_has_been_renamed_as_Y; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_The_name_of_the_country_X_has_not_changed; struct Country *Cty; char NewCtyName[Cty_MAX_BYTES_NAME + 1]; - Txt_Language_t Language; + Lan_Language_t Language; char FieldName[4 + 1 + 2 + 1]; // Example: "Name_en" Cty = &Gbl.Ctys.EditingCty; @@ -1823,7 +1822,7 @@ void Cty_RenameCountry (void) /* Update the table changing old name by new name */ snprintf (FieldName,sizeof (FieldName), "Name_%s", - Txt_STR_LANG_ID[Language]); + Lan_STR_LANG_ID[Language]); Cty_UpdateCtyNameDB (Cty->CtyCod,FieldName,NewCtyName); /* Write message to show the change made */ @@ -1882,16 +1881,16 @@ static bool Cty_CheckIfAlpha2CountryCodeExists (const char Alpha2[2 + 1]) /******************** Check if the name of country exists ********************/ /*****************************************************************************/ -static bool Cty_CheckIfCountryNameExists (Txt_Language_t Language,const char *Name,long CtyCod) +static bool Cty_CheckIfCountryNameExists (Lan_Language_t Language,const char *Name,long CtyCod) { - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; /***** Get number of countries with a name from database *****/ return (DB_QueryCOUNT ("can not check if the name" " of a country already existed", "SELECT COUNT(*) FROM countries" " WHERE Name_%s='%s' AND CtyCod<>'%03ld'", - Txt_STR_LANG_ID[Language],Name,CtyCod) != 0); + Lan_STR_LANG_ID[Language],Name,CtyCod) != 0); } /*****************************************************************************/ @@ -1916,10 +1915,10 @@ static void Cty_UpdateCtyNameDB (long CtyCod,const char *FieldName,const char *N void Cty_ChangeCtyWWW (void) { extern const char *Txt_The_new_web_address_is_X; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; struct Country *Cty; char NewWWW[Cns_MAX_BYTES_WWW + 1]; - Txt_Language_t Language; + Lan_Language_t Language; Cty = &Gbl.Ctys.EditingCty; @@ -1939,7 +1938,7 @@ void Cty_ChangeCtyWWW (void) DB_QueryUPDATE ("can not update the web of a country", "UPDATE countries SET WWW_%s='%s'" " WHERE CtyCod='%03ld'", - Txt_STR_LANG_ID[Language],NewWWW,Cty->CtyCod); + Lan_STR_LANG_ID[Language],NewWWW,Cty->CtyCod); Str_Copy (Cty->WWW[Language],NewWWW, Cns_MAX_BYTES_WWW); @@ -1982,11 +1981,11 @@ void Cty_ChangeCtyMapAttribution (void) static void Cty_PutFormToCreateCountry (void) { extern const char *Txt_New_country; - extern const char *Txt_STR_LANG_NAME[1 + Txt_NUM_LANGUAGES]; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Txt_STR_LANG_NAME[1 + Lan_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_Create_country; struct Country *Cty; - Txt_Language_t Lan; + Lan_Language_t Lan; /***** Country data *****/ Cty = &Gbl.Ctys.EditingCty; @@ -2004,13 +2003,13 @@ static void Cty_PutFormToCreateCountry (void) /***** Column to remove country, disabled here *****/ fprintf (Gbl.F.Out,"" "", - 1 + Txt_NUM_LANGUAGES); + 1 + Lan_NUM_LANGUAGES); /***** Numerical country code (ISO 3166-1) *****/ fprintf (Gbl.F.Out,"" "CtyCod > 0) fprintf (Gbl.F.Out,"%03ld",Cty->CtyCod); fprintf (Gbl.F.Out,"\" required=\"required\" />" @@ -2022,7 +2021,7 @@ static void Cty_PutFormToCreateCountry (void) " size=\"2\" maxlength=\"2\" value=\"%s\"" " required=\"required\" />" "", - 1 + Txt_NUM_LANGUAGES,Cty->Alpha2); + 1 + Lan_NUM_LANGUAGES,Cty->Alpha2); fprintf (Gbl.F.Out,"" "" @@ -2032,18 +2031,18 @@ static void Cty_PutFormToCreateCountry (void) fprintf (Gbl.F.Out,"" "0" "", - 1 + Txt_NUM_LANGUAGES); + 1 + Lan_NUM_LANGUAGES); /* Number of institutions */ fprintf (Gbl.F.Out,"" "0" "" "", - 1 + Txt_NUM_LANGUAGES); + 1 + Lan_NUM_LANGUAGES); /***** Country name in several languages *****/ - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) { /* Language */ @@ -2059,7 +2058,7 @@ static void Cty_PutFormToCreateCountry (void) " size=\"15\" maxlength=\"%u\" value=\"%s\"" " required=\"required\" />" "", - Txt_STR_LANG_ID[Lan], + Lan_STR_LANG_ID[Lan], Cty_MAX_CHARS_NAME, Cty->Name[Lan]); @@ -2070,7 +2069,7 @@ static void Cty_PutFormToCreateCountry (void) " class=\"INPUT_WWW\" />" "" "", - Txt_STR_LANG_ID[Lan], + Lan_STR_LANG_ID[Lan], Cns_MAX_CHARS_WWW, Cty->WWW[Lan]); } @@ -2135,13 +2134,13 @@ void Cty_RecFormNewCountry (void) extern const char *Txt_The_numerical_code_X_already_exists; extern const char *Txt_The_alphabetical_code_X_is_not_correct; extern const char *Txt_The_alphabetical_code_X_already_exists; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_The_country_X_already_exists; extern const char *Txt_You_must_specify_the_name_of_the_new_country_in_all_languages; char ParamName[32]; struct Country *Cty; bool CreateCountry = true; - Txt_Language_t Lan; + Lan_Language_t Lan; unsigned i; Cty = &Gbl.Ctys.EditingCty; @@ -2191,13 +2190,13 @@ void Cty_RecFormNewCountry (void) else // Alphabetic code correct { /* Get country name and WWW in different languages */ - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) { snprintf (ParamName,sizeof (ParamName), "Name_%s", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Par_GetParToText (ParamName,Cty->Name[Lan],Cty_MAX_BYTES_NAME); if (Cty->Name[Lan][0]) // If there's a country name @@ -2222,7 +2221,7 @@ void Cty_RecFormNewCountry (void) snprintf (ParamName,sizeof (ParamName), "WWW_%s", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Par_GetParToText (ParamName,Cty->WWW[Lan],Cns_MAX_BYTES_WWW); } } @@ -2240,14 +2239,14 @@ void Cty_RecFormNewCountry (void) /**************************** Create a new country ***************************/ /*****************************************************************************/ -#define Cty_MAX_BYTES_SUBQUERY_CTYS_NAME ((1 + Txt_NUM_LANGUAGES) * Cty_MAX_BYTES_NAME) -#define Cty_MAX_BYTES_SUBQUERY_CTYS_WWW ((1 + Txt_NUM_LANGUAGES) * Cns_MAX_BYTES_WWW) +#define Cty_MAX_BYTES_SUBQUERY_CTYS_NAME ((1 + Lan_NUM_LANGUAGES) * Cty_MAX_BYTES_NAME) +#define Cty_MAX_BYTES_SUBQUERY_CTYS_WWW ((1 + Lan_NUM_LANGUAGES) * Cns_MAX_BYTES_WWW) static void Cty_CreateCountry (struct Country *Cty) { - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_Created_new_country_X; - Txt_Language_t Lan; + Lan_Language_t Lan; char StrField[32]; char SubQueryNam1[Cty_MAX_BYTES_SUBQUERY_CTYS + 1]; char SubQueryNam2[Cty_MAX_BYTES_SUBQUERY_CTYS_NAME + 1]; @@ -2259,13 +2258,13 @@ static void Cty_CreateCountry (struct Country *Cty) SubQueryNam2[0] = '\0'; SubQueryWWW1[0] = '\0'; SubQueryWWW2[0] = '\0'; - for (Lan = (Txt_Language_t) 1; - Lan <= Txt_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= Lan_NUM_LANGUAGES; Lan++) { snprintf (StrField,sizeof (StrField), ",Name_%s", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Str_Concat (SubQueryNam1,StrField, Cty_MAX_BYTES_SUBQUERY_CTYS); @@ -2278,7 +2277,7 @@ static void Cty_CreateCountry (struct Country *Cty) snprintf (StrField,sizeof (StrField), ",WWW_%s", - Txt_STR_LANG_ID[Lan]); + Lan_STR_LANG_ID[Lan]); Str_Concat (SubQueryWWW1,StrField, Cty_MAX_BYTES_SUBQUERY_CTYS); diff --git a/swad_country.h b/swad_country.h index 12b8e1c8..4a2896de 100644 --- a/swad_country.h +++ b/swad_country.h @@ -32,8 +32,8 @@ #include "swad_action.h" #include "swad_hierarchy.h" +#include "swad_language.h" #include "swad_role_type.h" -#include "swad_text.h" /*****************************************************************************/ /************************** Public types and constants ***********************/ @@ -48,8 +48,8 @@ struct Country { long CtyCod; char Alpha2[2 + 1]; - char Name[1 + Txt_NUM_LANGUAGES][Cty_MAX_BYTES_NAME + 1]; - char WWW [1 + Txt_NUM_LANGUAGES][Cns_MAX_BYTES_WWW + 1]; + char Name[1 + Lan_NUM_LANGUAGES][Cty_MAX_BYTES_NAME + 1]; + char WWW [1 + Lan_NUM_LANGUAGES][Cns_MAX_BYTES_WWW + 1]; unsigned NumUsrsWhoClaimToBelongToCty; unsigned NumInss; unsigned NumCtrs; diff --git a/swad_course.c b/swad_course.c index 0f73dc31..df10ede5 100644 --- a/swad_course.c +++ b/swad_course.c @@ -176,7 +176,7 @@ static void Crs_Configuration (bool PrintView) extern const char *Txt_Institutional_code; extern const char *Txt_Internal_code; extern const char *Txt_Shortcut; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_QR_code; extern const char *Txt_Indicators; extern const char *Txt_of_PART_OF_A_TOTAL; @@ -413,10 +413,10 @@ static void Crs_Configuration (bool PrintView) The_ClassForm[Gbl.Prefs.Theme], Txt_Shortcut, Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Gbl.CurrentCrs.Crs.CrsCod, Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Gbl.CurrentCrs.Crs.CrsCod); if (PrintView) diff --git a/swad_database.c b/swad_database.c index f7dae6cd..168eaa66 100644 --- a/swad_database.c +++ b/swad_database.c @@ -36,7 +36,7 @@ #include "swad_config.h" #include "swad_database.h" #include "swad_global.h" -#include "swad_text.h" +#include "swad_language.h" /*****************************************************************************/ /************** External global variables from others modules ****************/ diff --git a/swad_degree.c b/swad_degree.c index 63fadce9..3bbd958c 100644 --- a/swad_degree.c +++ b/swad_degree.c @@ -47,6 +47,7 @@ #include "swad_hierarchy.h" #include "swad_indicator.h" #include "swad_info.h" +#include "swad_language.h" #include "swad_logo.h" #include "swad_notification.h" #include "swad_parameter.h" @@ -55,7 +56,6 @@ #include "swad_string.h" #include "swad_tab.h" #include "swad_table.h" -#include "swad_text.h" #include "swad_theme.h" /*****************************************************************************/ @@ -297,7 +297,7 @@ static void Deg_Configuration (bool PrintView) extern const char *Txt_Short_name; extern const char *Txt_Web; extern const char *Txt_Shortcut; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_Courses; extern const char *Txt_Courses_of_DEGREE_X; extern const char *Txt_QR_code; @@ -483,10 +483,10 @@ static void Deg_Configuration (bool PrintView) The_ClassForm[Gbl.Prefs.Theme], Txt_Shortcut, Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Gbl.CurrentDeg.Deg.DegCod, Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Gbl.CurrentDeg.Deg.DegCod); if (PrintView) diff --git a/swad_department.c b/swad_department.c index 6dc54bd7..ec8d18f8 100644 --- a/swad_department.c +++ b/swad_department.c @@ -39,9 +39,9 @@ #include "swad_form.h" #include "swad_global.h" #include "swad_institution.h" +#include "swad_language.h" #include "swad_parameter.h" #include "swad_string.h" -#include "swad_text.h" /*****************************************************************************/ /************** External global variables from others modules ****************/ diff --git a/swad_file_browser.c b/swad_file_browser.c index 5fca0c60..b346021c 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -8715,7 +8715,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow) extern const char *Txt_Upload_files; extern const char *Txt_or_you_can_upload_new_files_to_the_folder_X; extern const char *Txt_Select_one_or_more_files_from_your_computer_or_drag_and_drop_here; - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Txt_Done; /***** Start box *****/ @@ -8739,7 +8739,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow) " style=\"display:inline-block; width:100%%;" " background:url('%s/upload320x320.gif') no-repeat center;\">", Cfg_URL_SWAD_CGI, - Txt_STR_LANG_ID[Gbl.Prefs.Language], + Lan_STR_LANG_ID[Gbl.Prefs.Language], Gbl.Prefs.IconsURL); Par_PutHiddenParamLong ("act",Act_GetActCod (Brw_ActUploadFileDropzone[Gbl.FileBrowser.Type])); Par_PutHiddenParamString ("ses",Gbl.Session.Id); diff --git a/swad_form.c b/swad_form.c index 179701a4..729e995f 100644 --- a/swad_form.c +++ b/swad_form.c @@ -107,7 +107,7 @@ void Frm_StartFormId (Act_Action_t NextAction,const char *Id) static void Frm_StartFormInternal (Act_Action_t NextAction,bool PutParameterLocationIfNoSesion, const char *Id,const char *Anchor,const char *OnSubmit) { - extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; + extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; char ParamsStr[Frm_MAX_BYTES_PARAMS_STR + 1]; if (!Gbl.Form.Inside) @@ -115,7 +115,7 @@ static void Frm_StartFormInternal (Act_Action_t NextAction,bool PutParameterLoca /* Start form */ fprintf (Gbl.F.Out,"
InsCod) == 1) + Lan_STR_LANG_ID[Gbl.Prefs.Language],Ins->InsCod) == 1) { /* Get row */ row = mysql_fetch_row (mysql_res); diff --git a/swad_language.c b/swad_language.c index 83fe0ea5..d9bf1de1 100644 --- a/swad_language.c +++ b/swad_language.c @@ -41,6 +41,25 @@ extern struct Globals Gbl; +/*****************************************************************************/ +/****************************** Public constants *****************************/ +/*****************************************************************************/ + +const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES] = // ISO 639-1 language codes + { + "", // Lan_LANGUAGE_UNKNOWN + "ca", // Lan_LANGUAGE_CA + "de", // Lan_LANGUAGE_DE + "en", // Lan_LANGUAGE_EN + "es", // Lan_LANGUAGE_ES + "fr", // Lan_LANGUAGE_FR + "gn", // Lan_LANGUAGE_GN + "it", // Lan_LANGUAGE_IT + "pl", // Lan_LANGUAGE_PL + "pt", // Lan_LANGUAGE_PT + }; +const unsigned Lan_Current_CGI_SWAD_Language = ((unsigned) L); + /*****************************************************************************/ /****************************** Private constants ****************************/ /*****************************************************************************/ @@ -97,16 +116,16 @@ static void Lan_PutIconsLanguage (void) void Lan_PutSelectorToSelectLanguage (void) { - extern const char *Txt_STR_LANG_NAME[1 + Txt_NUM_LANGUAGES]; - Txt_Language_t Lan; + extern const char *Txt_STR_LANG_NAME[1 + Lan_NUM_LANGUAGES]; + Lan_Language_t Lan; Frm_StartForm (ActReqChgLan); fprintf (Gbl.F.Out,"