diff --git a/swad_centre.c b/swad_centre.c index 97737114..a44f2ef1 100644 --- a/swad_centre.c +++ b/swad_centre.c @@ -1052,7 +1052,7 @@ void Ctr_GetListCentres (long InsCod) static const char *OrderBySubQuery[Ctr_NUM_ORDERS] = { [Ctr_ORDER_BY_CENTRE ] = "FullName", - [Ctr_ORDER_BY_NUM_TCHS] = "NumUsrs DESC,FullName", + [Ctr_ORDER_BY_NUM_USRS] = "NumUsrs DESC,FullName", }; MYSQL_RES *mysql_res; MYSQL_ROW row; @@ -2576,8 +2576,8 @@ static void Ctr_PutHeadCentresForSeeing (bool OrderSelectable) HTM_TH_Empty (1); - for (Order = Ctr_ORDER_BY_CENTRE; - Order <= Ctr_ORDER_BY_NUM_TCHS; + for (Order = (Ctr_Order_t) 0; + Order <= (Ctr_Order_t) (Ctr_NUM_ORDERS - 1); Order++) { HTM_TH_Begin (1,1,Order == Ctr_ORDER_BY_CENTRE ? "LM" : diff --git a/swad_centre.h b/swad_centre.h index af3bd591..7dc3578b 100644 --- a/swad_centre.h +++ b/swad_centre.h @@ -79,7 +79,7 @@ struct Centre typedef enum { Ctr_ORDER_BY_CENTRE = 0, - Ctr_ORDER_BY_NUM_TCHS = 1, + Ctr_ORDER_BY_NUM_USRS = 1, } Ctr_Order_t; #define Ctr_ORDER_DEFAULT Ctr_ORDER_BY_CENTRE diff --git a/swad_changelog.h b/swad_changelog.h index dd05c7f9..f28faa8d 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -490,13 +490,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - * En OpenSWAD: ps2pdf source.ps destination.pdf */ -#define Log_PLATFORM_VERSION "SWAD 19.92.1 (2019-12-15)" +#define Log_PLATFORM_VERSION "SWAD 19.93 (2019-12-15)" #define CSS_FILE "swad19.90.1.css" #define JS_FILE "swad19.91.1.js" /* // TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.) // TODO: Impedir la creación y edición de proyectos si no son editables. + Version 19.93: Dec 15, 2019 Code refactoring. (248907 lines) Version 19.92.1: Dec 15, 2019 Code refactoring. (248629 lines) Version 19.92: Dec 14, 2019 New module for log database tables. (248625 lines) Version 19.91.2: Dec 14, 2019 Code refactoring related to doubles. (248538 lines) diff --git a/swad_figure.c b/swad_figure.c index 85d5dd47..8515c791 100644 --- a/swad_figure.c +++ b/swad_figure.c @@ -2771,8 +2771,8 @@ static void Fig_GetAndShowOERsStats (void) HTM_TR_End (); - for (License = 0; - License < Brw_NUM_LICENSES; + for (License = (Brw_License_t) 0; + License <= (Brw_License_t) (Brw_NUM_LICENSES - 1); License++) { Fig_GetNumberOfOERsFromDB (Gbl.Scope.Current,License,NumFiles); @@ -3088,8 +3088,8 @@ static void Fig_GetAndShowTestsStats (void) HTM_TR_End (); - for (AnsType = (Tst_AnswerType_t) 0; - AnsType < Tst_NUM_ANS_TYPES; + for (AnsType = (Tst_AnswerType_t) 0; + AnsType <= (Tst_AnswerType_t) (Tst_NUM_ANS_TYPES - 1); AnsType++) { /***** Get the stats about test questions from this location *****/ @@ -3293,8 +3293,8 @@ static void Fig_GetAndShowTimelineActivityStats (void) 1 << Rol_TCH); /***** Get total number of following/followers from database *****/ - for (NoteType = (TL_NoteType_t) 0; - NoteType < TL_NUM_NOTE_TYPES; + for (NoteType = (TL_NoteType_t) 0; + NoteType <= (TL_NoteType_t) (TL_NUM_NOTE_TYPES - 1); NoteType++) { switch (Gbl.Scope.Current) @@ -4232,8 +4232,8 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void) Fig_GetNumUsrsWhoChoseAnOption ("usr_data.EmailNtfEvents<>0"); /***** For each notify event... *****/ - for (NotifyEvent = (Ntf_NotifyEvent_t) 1; - NotifyEvent < Ntf_NUM_NOTIFY_EVENTS; + for (NotifyEvent = (Ntf_NotifyEvent_t) 1; + NotifyEvent <= (Ntf_NotifyEvent_t) (Ntf_NUM_NOTIFY_EVENTS - 1); NotifyEvent++) // 0 is reserved for Ntf_EVENT_UNKNOWN { /* Get the number of users who want to be notified by email on this event, from database */ @@ -4339,8 +4339,8 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void) } /***** Write number of users who want to be notified by email on each event *****/ - for (NotifyEvent = (Ntf_NotifyEvent_t) 1; - NotifyEvent < Ntf_NUM_NOTIFY_EVENTS; + for (NotifyEvent = (Ntf_NotifyEvent_t) 1; + NotifyEvent <= (Ntf_NotifyEvent_t) (Ntf_NUM_NOTIFY_EVENTS - 1); NotifyEvent++) // 0 is reserved for Ntf_EVENT_UNKNOWN { HTM_TR_Begin (NULL); @@ -4422,8 +4422,8 @@ static void Fig_GetAndShowNoticesStats (void) unsigned NumTotalNotifications = 0; /***** Get the number of notices active and obsolete *****/ - for (NoticeStatus = (Not_Status_t) 0; - NoticeStatus < Not_NUM_STATUS; + for (NoticeStatus = (Not_Status_t) 0; + NoticeStatus <= (Not_Status_t) (Not_NUM_STATUS - 1); NoticeStatus++) { NumNotices[NoticeStatus] = Not_GetNumNotices (Gbl.Scope.Current,NoticeStatus,&NumNotif); @@ -4705,8 +4705,8 @@ static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject, HTM_TR_End (); /***** For each privacy option... *****/ - for (Visibility = (Pri_Visibility_t) 0; - Visibility < Pri_NUM_OPTIONS_PRIVACY; + for (Visibility = (Pri_Visibility_t) 0; + Visibility <= (Pri_Visibility_t) (Pri_NUM_OPTIONS_PRIVACY - 1); Visibility++) if (MaskAllowedVisibility & (1 << Visibility)) { @@ -4722,8 +4722,8 @@ static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject, } /***** Write number of users who have chosen each privacy option *****/ - for (Visibility = (Pri_Visibility_t) 0; - Visibility < Pri_NUM_OPTIONS_PRIVACY; + for (Visibility = (Pri_Visibility_t) 0; + Visibility <= (Pri_Visibility_t) (Pri_NUM_OPTIONS_PRIVACY - 1); Visibility++) if (MaskAllowedVisibility & (1 << Visibility)) { @@ -4761,18 +4761,18 @@ static void Fig_GetAndShowNumUsrsPerCookies (void) unsigned i; static const char AcceptedInDB[2] = { - 'N', // false - 'Y' // true + [false] = 'N', + [true ] = 'Y' }; static const char *AcceptedClass[2] = { - "DAT_RED", // false - "DAT_GREEN" // true + [false] = "DAT_RED", + [true ] = "DAT_GREEN" }; static const char *AcceptedSymbol[2] = { - "✗", // false - "✓" // true + [false] = "✗", + [true ] = "✓" }; char *SubQuery; @@ -4868,8 +4868,8 @@ static void Fig_GetAndShowNumUsrsPerLanguage (void) HTM_TR_End (); /***** For each language... *****/ - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { /* Get the number of users who have chosen this language from database */ @@ -4884,8 +4884,8 @@ static void Fig_GetAndShowNumUsrsPerLanguage (void) } /***** Write number of users who have chosen each language *****/ - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { HTM_TR_Begin (NULL); @@ -5029,7 +5029,7 @@ static void Fig_GetAndShowNumUsrsPerDateFormat (void) HTM_TR_End (); /***** For each format... *****/ - for (Format = (Dat_Format_t) 0; + for (Format = (Dat_Format_t) 0; Format <= (Dat_Format_t) (Dat_NUM_OPTIONS_FORMAT - 1); Format++) { @@ -5045,7 +5045,7 @@ static void Fig_GetAndShowNumUsrsPerDateFormat (void) } /***** Write number of users who have chosen each date format *****/ - for (Format = (Dat_Format_t) 0; + for (Format = (Dat_Format_t) 0; Format <= (Dat_Format_t) (Dat_NUM_OPTIONS_FORMAT - 1); Format++) { @@ -5106,8 +5106,8 @@ static void Fig_GetAndShowNumUsrsPerIconSet (void) HTM_TR_End (); /***** For each icon set... *****/ - for (IconSet = (Ico_IconSet_t) 0; - IconSet < Ico_NUM_ICON_SETS; + for (IconSet = (Ico_IconSet_t) 0; + IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1); IconSet++) { /* Get the number of users who have chosen this icon set from database */ @@ -5122,8 +5122,8 @@ static void Fig_GetAndShowNumUsrsPerIconSet (void) } /***** Write number of users who have chosen each icon set *****/ - for (IconSet = (Ico_IconSet_t) 0; - IconSet < Ico_NUM_ICON_SETS; + for (IconSet = (Ico_IconSet_t) 0; + IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1); IconSet++) { HTM_TR_Begin (NULL); @@ -5186,8 +5186,8 @@ static void Fig_GetAndShowNumUsrsPerMenu (void) HTM_TR_End (); /***** For each menu... *****/ - for (Menu = (Mnu_Menu_t) 0; - Menu < Mnu_NUM_MENUS; + for (Menu = (Mnu_Menu_t) 0; + Menu <= (Mnu_Menu_t) (Mnu_NUM_MENUS - 1); Menu++) { /* Get number of users who have chosen this menu from database */ @@ -5202,8 +5202,8 @@ static void Fig_GetAndShowNumUsrsPerMenu (void) } /***** Write number of users who have chosen each menu *****/ - for (Menu = (Mnu_Menu_t) 0; - Menu < Mnu_NUM_MENUS; + for (Menu = (Mnu_Menu_t) 0; + Menu <= (Mnu_Menu_t) (Mnu_NUM_MENUS - 1); Menu++) { HTM_TR_Begin (NULL); @@ -5262,8 +5262,8 @@ static void Fig_GetAndShowNumUsrsPerTheme (void) HTM_TR_End (); /***** For each theme... *****/ - for (Theme = (The_Theme_t) 0; - Theme < The_NUM_THEMES; + for (Theme = (The_Theme_t) 0; + Theme <= (The_Theme_t) (The_NUM_THEMES - 1); Theme++) { /* Get number of users who have chosen this theme from database */ @@ -5278,8 +5278,8 @@ static void Fig_GetAndShowNumUsrsPerTheme (void) } /***** Write number of users who have chosen each theme *****/ - for (Theme = (The_Theme_t) 0; - Theme < The_NUM_THEMES; + for (Theme = (The_Theme_t) 0; + Theme <= (The_Theme_t) (The_NUM_THEMES - 1); Theme++) { HTM_TR_Begin (NULL); diff --git a/swad_file_browser.c b/swad_file_browser.c index 5a56f2c5..291fa742 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -2373,8 +2373,8 @@ static void Brw_GetParamsPathInTreeAndFileName (void) /***** Get the name of the file, folder or link *****/ Gbl.FileBrowser.FilFolLnk.Type = Brw_IS_UNKNOWN; - for (FileType = (Brw_FileType_t) 0; - FileType < Brw_NUM_FILE_TYPES; + for (FileType = (Brw_FileType_t) 0; + FileType <= (Brw_FileType_t) (Brw_NUM_FILE_TYPES - 1); FileType++) // File names with heading and trailing spaces are allowed if (Par_GetParAndChangeFormat (Brw_FileTypeParamName[FileType], @@ -3540,7 +3540,6 @@ static void Brw_ShowFileBrowser (void) extern const char *Txt_Temporary_private_storage_area; extern const char *Txt_Project_documents; extern const char *Txt_Project_assessment; - const char *Brw_TitleOfFileBrowser[Brw_NUM_TYPES_FILE_BROWSER]; const char *Brw_HelpOfFileBrowser[Brw_NUM_TYPES_FILE_BROWSER]; struct Brw_NumObjects Removed; @@ -9649,8 +9648,8 @@ void Brw_ShowFileMetadata (void) { HTM_SELECT_Begin (false, "id=\"License\" name=\"License\" class=\"LICENSE\""); - for (License = 0; - License < Brw_NUM_LICENSES; + for (License = (Brw_License_t) 0; + License <= (Brw_License_t) (Brw_NUM_LICENSES - 1); License++) { LicenseUnsigned = (unsigned) License; @@ -10460,18 +10459,18 @@ void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata) } else { - FileMetadata->FilCod = -1L; - FileMetadata->FileBrowser = Brw_UNKNOWN; - FileMetadata->Cod = -1L; - FileMetadata->ZoneUsrCod = -1L; - FileMetadata->PublisherUsrCod = -1L; - FileMetadata->FilFolLnk.Type = Brw_IS_UNKNOWN; - FileMetadata->FilFolLnk.Full[0] = '\0'; + FileMetadata->FilCod = -1L; + FileMetadata->FileBrowser = Brw_UNKNOWN; + FileMetadata->Cod = -1L; + FileMetadata->ZoneUsrCod = -1L; + FileMetadata->PublisherUsrCod = -1L; + FileMetadata->FilFolLnk.Type = Brw_IS_UNKNOWN; + FileMetadata->FilFolLnk.Full[0] = '\0'; FileMetadata->FilFolLnk.Path[0] = '\0'; - FileMetadata->FilFolLnk.Name[0] = '\0'; - FileMetadata->IsHidden = false; - FileMetadata->IsPublic = false; - FileMetadata->License = Brw_LICENSE_DEFAULT; + FileMetadata->FilFolLnk.Name[0] = '\0'; + FileMetadata->IsHidden = false; + FileMetadata->IsPublic = false; + FileMetadata->License = Brw_LICENSE_DEFAULT; } /***** Free structure that stores the query result *****/ diff --git a/swad_forum.c b/swad_forum.c index bdde894d..74a5b779 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -1749,8 +1749,8 @@ static void For_PutFormWhichForums (void) HTM_DIV_Begin ("class=\"SEL_BELOW_TITLE\""); HTM_UL_Begin (NULL); - for (ForumSet = (For_ForumSet_t) 0; - ForumSet < For_NUM_FORUM_SETS; + for (ForumSet = (For_ForumSet_t) 0; + ForumSet <= (For_ForumSet_t) (For_NUM_FORUM_SETS - 1); ForumSet++) { HTM_LI_Begin (NULL); diff --git a/swad_global.c b/swad_global.c index fe709630..108705f5 100644 --- a/swad_global.c +++ b/swad_global.c @@ -194,8 +194,8 @@ void Gbl_InitializeGlobals (void) Gbl.Usrs.Selected.Filled = false; // Lists of encrypted codes of users selected from form are not filled Gbl.Usrs.Selected.ParamSuffix = NULL;// Don't add suffix to param names Gbl.Usrs.Selected.Option = Usr_OPTION_UNKNOWN; - for (Role = (Rol_Role_t) 0; - Role < Rol_NUM_ROLES; + for (Role = (Rol_Role_t) 0; + Role <= (Rol_Role_t) (Rol_NUM_ROLES - 1); Role++) { Gbl.Usrs.LstUsrs[Role].Lst = NULL; @@ -461,8 +461,8 @@ void Gbl_Cleanup (void) Lnk_FreeListLinks (); Plg_FreeListPlugins (); - for (Role = (Rol_Role_t) 0; - Role < Rol_NUM_ROLES; + for (Role = (Rol_Role_t) 0; + Role <= (Rol_Role_t) (Rol_NUM_ROLES - 1); Role++) Usr_FreeUsrsList (Role); diff --git a/swad_holiday.c b/swad_holiday.c index 71490a18..7e45c2d9 100644 --- a/swad_holiday.c +++ b/swad_holiday.c @@ -605,8 +605,8 @@ static void Hld_ListHolidaysForEdition (void) Hld_PutParamHldCod (Hld->HldCod); HTM_SELECT_Begin (true, "name=\"HldTyp\" style=\"width:62px;\""); - for (HolidayType = (Hld_HolidayType_t) 0; - HolidayType < Hld_NUM_TYPES_HOLIDAY; + for (HolidayType = (Hld_HolidayType_t) 0; + HolidayType <= (Hld_HolidayType_t) (Hld_NUM_TYPES_HOLIDAY - 1); HolidayType++) { HolidayTypeUnsigned = (unsigned) HolidayType; @@ -785,7 +785,7 @@ void Hld_ChangeHolidayType (void) void Hld_ChangeStartDate (void) { - Hld_ChangeDate (HLD_START_DATE); + Hld_ChangeDate (Hld_START_DATE); } /*****************************************************************************/ @@ -794,7 +794,7 @@ void Hld_ChangeStartDate (void) void Hld_ChangeEndDate (void) { - Hld_ChangeDate (HLD_END_DATE); + Hld_ChangeDate (Hld_END_DATE); } /*****************************************************************************/ @@ -822,7 +822,7 @@ static void Hld_ChangeDate (Hld_StartOrEndDate_t StartOrEndDate) /***** Get the new date for the holiday *****/ switch (StartOrEndDate) { - case HLD_START_DATE: + case Hld_START_DATE: StrStartOrEndDate = "StartDate"; PtrDate = &Hld_EditingHld->StartDate; Dat_GetDateFromForm ("StartDay","StartMonth","StartYear", @@ -832,7 +832,7 @@ static void Hld_ChangeDate (Hld_StartOrEndDate_t StartOrEndDate) NewDate.Year == 0) Dat_AssignDate (&NewDate,&Gbl.Now.Date); break; - case HLD_END_DATE: + case Hld_END_DATE: StrStartOrEndDate = "EndDate"; PtrDate = &Hld_EditingHld->EndDate; switch (Hld_EditingHld->HldTyp) @@ -999,8 +999,8 @@ static void Hld_PutFormToCreateHoliday (void) HTM_TD_Begin ("class=\"CM\""); HTM_SELECT_Begin (false, "name=\"HldTyp\" style=\"width:62px;\""); - for (HolidayType = (Hld_HolidayType_t) 0; - HolidayType < Hld_NUM_TYPES_HOLIDAY; + for (HolidayType = (Hld_HolidayType_t) 0; + HolidayType <= (Hld_HolidayType_t) (Hld_NUM_TYPES_HOLIDAY - 1); HolidayType++) { HolidayTypeUnsigned = (unsigned) HolidayType; diff --git a/swad_holiday.h b/swad_holiday.h index c35aa91a..472e8788 100644 --- a/swad_holiday.h +++ b/swad_holiday.h @@ -47,8 +47,8 @@ typedef enum typedef enum { - HLD_START_DATE, - HLD_END_DATE + Hld_START_DATE, + Hld_END_DATE } Hld_StartOrEndDate_t; struct Holiday diff --git a/swad_icon.c b/swad_icon.c index ee9c8195..065a7fec 100644 --- a/swad_icon.c +++ b/swad_icon.c @@ -120,8 +120,8 @@ void Ico_PutIconsToSelectIconSet (void) Hlp_PROFILE_Settings_icons,Box_NOT_CLOSABLE); Set_StartSettingsHead (); Set_StartOneSettingSelector (); - for (IconSet = (Ico_IconSet_t) 0; - IconSet < Ico_NUM_ICON_SETS; + for (IconSet = (Ico_IconSet_t) 0; + IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1); IconSet++) { HTM_DIV_Begin ("class=\"%s\"", @@ -187,8 +187,8 @@ Ico_IconSet_t Ico_GetParamIconSet (void) Ico_IconSet_t IconSet; Par_GetParToText ("IconSet",IconSetId,Ico_MAX_BYTES_ICON_SET_ID); - for (IconSet = (Ico_IconSet_t) 0; - IconSet < Ico_NUM_ICON_SETS; + for (IconSet = (Ico_IconSet_t) 0; + IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1); IconSet++) if (!strcmp (IconSetId,Ico_IconSetId[IconSet])) return IconSet; @@ -204,8 +204,8 @@ Ico_IconSet_t Ico_GetIconSetFromStr (const char *Str) { Ico_IconSet_t IconSet; - for (IconSet = (Ico_IconSet_t) 0; - IconSet < Ico_NUM_ICON_SETS; + for (IconSet = (Ico_IconSet_t) 0; + IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1); IconSet++) if (!strcasecmp (Str,Ico_IconSetId[IconSet])) return IconSet; diff --git a/swad_info.c b/swad_info.c index 9bab17ae..14c843fe 100644 --- a/swad_info.c +++ b/swad_info.c @@ -515,8 +515,8 @@ bool Inf_GetIfIMustReadAnyCrsInfoInThisCrs (void) Inf_InfoType_t InfoType; /***** Reset must-be-read to false for all info types *****/ - for (InfoType = (Inf_InfoType_t) 0; - InfoType < Inf_NUM_INFO_TYPES; + for (InfoType = (Inf_InfoType_t) 0; + InfoType <= (Inf_InfoType_t) (Inf_NUM_INFO_TYPES - 1); InfoType++) Gbl.Crs.Info.MustBeRead[InfoType] = false; @@ -572,8 +572,8 @@ void Inf_WriteMsgYouMustReadInfo (void) /***** Write every information I must read *****/ HTM_DIV_Begin ("class=\"CM\""); HTM_UL_Begin ("class=\"LIST_I_MUST_READ\""); - for (InfoType = (Inf_InfoType_t) 0; - InfoType < Inf_NUM_INFO_TYPES; + for (InfoType = (Inf_InfoType_t) 0; + InfoType <= (Inf_InfoType_t) (Inf_NUM_INFO_TYPES - 1); InfoType++) if (Gbl.Crs.Info.MustBeRead[InfoType]) { @@ -1060,14 +1060,14 @@ void Inf_FormsToSelSendInfo (void) bool MustBeRead; const char *HelpEdit[Inf_NUM_INFO_TYPES] = { - Hlp_COURSE_Information_edit, // Inf_INTRODUCTION - Hlp_COURSE_Guide_edit, // Inf_TEACHING_GUIDE - Hlp_COURSE_Syllabus_edit, // Inf_LECTURES - Hlp_COURSE_Syllabus_edit, // Inf_PRACTICALS - Hlp_COURSE_Bibliography_edit, // Inf_BIBLIOGRAPHY - Hlp_COURSE_FAQ_edit, // Inf_FAQ - Hlp_COURSE_Links_edit, // Inf_LINKS - Hlp_ASSESSMENT_System_edit, // Inf_ASSESSMENT + [Inf_INTRODUCTION ] = Hlp_COURSE_Information_edit, + [Inf_TEACHING_GUIDE] = Hlp_COURSE_Guide_edit, + [Inf_LECTURES ] = Hlp_COURSE_Syllabus_edit, + [Inf_PRACTICALS ] = Hlp_COURSE_Syllabus_edit, + [Inf_BIBLIOGRAPHY ] = Hlp_COURSE_Bibliography_edit, + [Inf_FAQ ] = Hlp_COURSE_FAQ_edit, + [Inf_LINKS ] = Hlp_COURSE_Links_edit, + [Inf_ASSESSMENT ] = Hlp_ASSESSMENT_System_edit, }; /***** Set info type *****/ @@ -1079,8 +1079,8 @@ void Inf_FormsToSelSendInfo (void) &InfoSrcSelected,&MustBeRead); /***** Check if info available *****/ - for (InfoSrc = (Inf_InfoSrc_t) 0; - InfoSrc < Inf_NUM_INFO_SOURCES; + for (InfoSrc = (Inf_InfoSrc_t) 0; + InfoSrc <= (Inf_InfoSrc_t) (Inf_NUM_INFO_SOURCES - 1); InfoSrc++) InfoAvailable[InfoSrc] = Inf_CheckIfInfoAvailable (InfoSrc); @@ -1099,8 +1099,8 @@ void Inf_FormsToSelSendInfo (void) HelpEdit[Gbl.Crs.Info.Type],Box_NOT_CLOSABLE,4); /* Options */ - for (InfoSrc = (Inf_InfoSrc_t) 0; - InfoSrc < Inf_NUM_INFO_SOURCES; + for (InfoSrc = (Inf_InfoSrc_t) 0; + InfoSrc <= (Inf_InfoSrc_t) (Inf_NUM_INFO_SOURCES - 1); InfoSrc++) { HTM_TR_Begin (NULL); @@ -1616,8 +1616,8 @@ Inf_InfoType_t Inf_ConvertFromStrDBToInfoType (const char *StrInfoTypeDB) { Inf_InfoType_t InfoType; - for (InfoType = (Inf_InfoType_t) 0; - InfoType < Inf_NUM_INFO_TYPES; + for (InfoType = (Inf_InfoType_t) 0; + InfoType <= (Inf_InfoType_t) (Inf_NUM_INFO_TYPES - 1); InfoType++) if (!strcmp (StrInfoTypeDB,Inf_NamesInDBForInfoType[InfoType])) return InfoType; @@ -1633,8 +1633,8 @@ Inf_InfoSrc_t Inf_ConvertFromStrDBToInfoSrc (const char *StrInfoSrcDB) { Inf_InfoSrc_t InfoSrc; - for (InfoSrc = (Inf_InfoSrc_t) 0; - InfoSrc < Inf_NUM_INFO_SOURCES; + for (InfoSrc = (Inf_InfoSrc_t) 0; + InfoSrc <= (Inf_InfoSrc_t) (Inf_NUM_INFO_SOURCES - 1); InfoSrc++) if (!strcmp (StrInfoSrcDB,Inf_NamesInDBForInfoSrc[InfoSrc])) return InfoSrc; @@ -2016,14 +2016,14 @@ void Inf_EditPlainTxtInfo (void) char TxtHTML[Cns_MAX_BYTES_LONG_TEXT + 1]; const char *HelpEdit[Inf_NUM_INFO_TYPES] = { - Hlp_COURSE_Information_edit, // Inf_INTRODUCTION - Hlp_COURSE_Guide_edit, // Inf_TEACHING_GUIDE - Hlp_COURSE_Syllabus_edit, // Inf_LECTURES - Hlp_COURSE_Syllabus_edit, // Inf_PRACTICALS - Hlp_COURSE_Bibliography_edit, // Inf_BIBLIOGRAPHY - Hlp_COURSE_FAQ_edit, // Inf_FAQ - Hlp_COURSE_Links_edit, // Inf_LINKS - Hlp_ASSESSMENT_System_edit, // Inf_ASSESSMENT + [Inf_INTRODUCTION ] = Hlp_COURSE_Information_edit, + [Inf_TEACHING_GUIDE] = Hlp_COURSE_Guide_edit, + [Inf_LECTURES ] = Hlp_COURSE_Syllabus_edit, + [Inf_PRACTICALS ] = Hlp_COURSE_Syllabus_edit, + [Inf_BIBLIOGRAPHY ] = Hlp_COURSE_Bibliography_edit, + [Inf_FAQ ] = Hlp_COURSE_FAQ_edit, + [Inf_LINKS ] = Hlp_COURSE_Links_edit, + [Inf_ASSESSMENT ] = Hlp_ASSESSMENT_System_edit, }; /***** Set info type *****/ @@ -2066,14 +2066,14 @@ void Inf_EditRichTxtInfo (void) char TxtHTML[Cns_MAX_BYTES_LONG_TEXT + 1]; const char *HelpEdit[Inf_NUM_INFO_TYPES] = { - Hlp_COURSE_Information_edit, // Inf_INTRODUCTION - Hlp_COURSE_Guide_edit, // Inf_TEACHING_GUIDE - Hlp_COURSE_Syllabus_edit, // Inf_LECTURES - Hlp_COURSE_Syllabus_edit, // Inf_PRACTICALS - Hlp_COURSE_Bibliography_edit, // Inf_BIBLIOGRAPHY - Hlp_COURSE_FAQ_edit, // Inf_FAQ - Hlp_COURSE_Links_edit, // Inf_LINKS - Hlp_ASSESSMENT_System_edit, // Inf_ASSESSMENT + [Inf_INTRODUCTION ] = Hlp_COURSE_Information_edit, + [Inf_TEACHING_GUIDE] = Hlp_COURSE_Guide_edit, + [Inf_LECTURES ] = Hlp_COURSE_Syllabus_edit, + [Inf_PRACTICALS ] = Hlp_COURSE_Syllabus_edit, + [Inf_BIBLIOGRAPHY ] = Hlp_COURSE_Bibliography_edit, + [Inf_FAQ ] = Hlp_COURSE_FAQ_edit, + [Inf_LINKS ] = Hlp_COURSE_Links_edit, + [Inf_ASSESSMENT ] = Hlp_ASSESSMENT_System_edit, }; /***** Set info type *****/ diff --git a/swad_institution.c b/swad_institution.c index f121d80e..520fa015 100644 --- a/swad_institution.c +++ b/swad_institution.c @@ -849,8 +849,8 @@ static void Ins_PutHeadInstitutionsForSeeing (bool OrderSelectable) HTM_TR_Begin (NULL); HTM_TH_Empty (1); - for (Order = Ins_ORDER_BY_INSTITUTION; - Order <= Ins_ORDER_BY_NUM_USRS; + for (Order = (Ins_Order_t) 0; + Order <= (Ins_Order_t) (Ins_NUM_ORDERS - 1); Order++) { HTM_TH_Begin (1,1,Order == Ins_ORDER_BY_INSTITUTION ? "LM" : diff --git a/swad_language.c b/swad_language.c index 9ef0a61b..375519ad 100644 --- a/swad_language.c +++ b/swad_language.c @@ -119,8 +119,8 @@ void Lan_PutSelectorToSelectLanguage (void) Frm_StartForm (ActReqChgLan); HTM_SELECT_Begin (true, "name=\"Lan\" style=\"width:112px; margin:0;\""); - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { LanUnsigned = (unsigned) Lan; diff --git a/swad_match.c b/swad_match.c index c57f193e..5c354de7 100644 --- a/swad_match.c +++ b/swad_match.c @@ -363,7 +363,7 @@ void Mch_GetDataOfMatchByCod (struct Match *Match) Match->MchCod = -1L; Match->GamCod = -1L; Match->UsrCod = -1L; - for (StartEndTime = (Dat_StartEndTime_t) 0; + for (StartEndTime = (Dat_StartEndTime_t) 0; StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1); StartEndTime++) Match->TimeUTC[StartEndTime] = (time_t) 0; @@ -583,7 +583,7 @@ static void Mch_ListOneOrMoreMatchesTimes (const struct Match *Match,unsigned Un Dat_StartEndTime_t StartEndTime; char *Id; - for (StartEndTime = (Dat_StartEndTime_t) 0; + for (StartEndTime = (Dat_StartEndTime_t) 0; StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1); StartEndTime++) { @@ -887,7 +887,7 @@ static void Mch_GetMatchDataFromRow (MYSQL_RES *mysql_res, Match->UsrCod = Str_ConvertStrCodToLongCod (row[2]); /* Get start/end times (row[3], row[4] hold start/end UTC times) */ - for (StartEndTime = (Dat_StartEndTime_t) 0; + for (StartEndTime = (Dat_StartEndTime_t) 0; StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1); StartEndTime++) Match->TimeUTC[StartEndTime] = Dat_GetUNIXTimeFromStr (row[3 + StartEndTime]); diff --git a/swad_match_result.c b/swad_match_result.c index 6dbc17c2..d546c247 100644 --- a/swad_match_result.c +++ b/swad_match_result.c @@ -783,7 +783,7 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther, HTM_TR_Begin (NULL); /* Write start/end times (row[1], row[2] hold UTC start/end times) */ - for (StartEndTime = (Dat_StartEndTime_t) 0; + for (StartEndTime = (Dat_StartEndTime_t) 0; StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1); StartEndTime++) { @@ -1143,7 +1143,7 @@ void McR_ShowOneMchResult (void) HTM_TR_End (); /* Start/end time (for user in this match) */ - for (StartEndTime = (Dat_StartEndTime_t) 0; + for (StartEndTime = (Dat_StartEndTime_t) 0; StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1); StartEndTime++) { diff --git a/swad_media.c b/swad_media.c index 62a55b43..121b65d4 100644 --- a/swad_media.c +++ b/swad_media.c @@ -350,33 +350,32 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput) struct ParamUploadMedia ParamUploadMedia; char Id[Frm_MAX_BYTES_ID + 1]; size_t NumUploader; - #define Med_NUM_MEDIA_UPLOADERS 3 struct MediaUploader MediaUploader[Med_NUM_MEDIA_UPLOADERS] = { {/* Upload */ - Med_FORM_FILE, - "ico_upl", // _ico_upl - "par_upl", // _par_upl - "mediaClickOnActivateUpload", - "photo-video.svg", - Txt_Image_video + .FormType = Med_FORM_FILE, + .IconSuffix = "ico_upl", // _ico_upl + .ParamSuffix = "par_upl", // _par_upl + .FunctionName = "mediaClickOnActivateUpload", + .Icon = "photo-video.svg", + .Title = Txt_Image_video }, {/* YouTube */ - Med_FORM_YOUTUBE, - "ico_you", // _ico_you - "par_you", // _par_you - "mediaClickOnActivateYoutube", - "youtube-brands.svg", - "YouTube" + .FormType = Med_FORM_YOUTUBE, + .IconSuffix = "ico_you", // _ico_you + .ParamSuffix = "par_you", // _par_you + .FunctionName = "mediaClickOnActivateYoutube", + .Icon = "youtube-brands.svg", + .Title = "YouTube" }, {/* Embed */ - Med_FORM_EMBED, - "ico_emb", // _ico_emb - "par_emb", // _par_emb - "mediaClickOnActivateEmbed", - "code.svg", - "Embed" + .FormType = Med_FORM_EMBED, + .IconSuffix = "ico_emb", // _ico_emb + .ParamSuffix = "par_emb", // _par_emb + .FunctionName = "mediaClickOnActivateEmbed", + .Icon = "code.svg", + .Title = "Embed" } }; @@ -1918,8 +1917,8 @@ static Med_Type_t Med_GetTypeFromStrInDB (const char *Str) { Med_Type_t Type; - for (Type = (Med_Type_t) 0; - Type < Med_NUM_TYPES; + for (Type = (Med_Type_t) 0; + Type <= (Med_Type_t) (Med_NUM_TYPES - 1); Type++) if (!strcasecmp (Str,Med_StringsTypeDB[Type])) return Type; diff --git a/swad_menu.c b/swad_menu.c index 0095eba8..f8594fb0 100644 --- a/swad_menu.c +++ b/swad_menu.c @@ -279,8 +279,8 @@ void Mnu_PutIconsToSelectMenu (void) Hlp_PROFILE_Settings_menu,Box_NOT_CLOSABLE); Set_StartSettingsHead (); Set_StartOneSettingSelector (); - for (Menu = (Mnu_Menu_t) 0; - Menu < Mnu_NUM_MENUS; + for (Menu = (Mnu_Menu_t) 0; + Menu <= (Mnu_Menu_t) (Mnu_NUM_MENUS - 1); Menu++) { HTM_DIV_Begin ("class=\"%s\"",Menu == Gbl.Prefs.Menu ? "PREF_ON" : diff --git a/swad_message.c b/swad_message.c index 4426330d..36213107 100644 --- a/swad_message.c +++ b/swad_message.c @@ -2605,8 +2605,8 @@ void Msg_ShowFormSelectCourseSentOrRecMsgs (void) unsigned NumOriginCrs; const char *TxtSelector[Msg_NUM_TYPES_OF_MSGS] = { - Txt_Messages_received_from_A_COURSE, - Txt_Messages_sent_from_A_COURSE + [Msg_MESSAGES_RECEIVED] = Txt_Messages_received_from_A_COURSE, + [Msg_MESSAGES_SENT ] = Txt_Messages_sent_from_A_COURSE }; /***** Course selection *****/ @@ -2641,8 +2641,8 @@ void Msg_ShowFormToFilterMsgs (void) extern const char *Txt_MSG_Content; const char *TxtFromTo[Msg_NUM_TYPES_OF_MSGS] = { - Txt_MSG_From, - Txt_MSG_To + [Msg_MESSAGES_RECEIVED] = Txt_MSG_From, + [Msg_MESSAGES_SENT ] = Txt_MSG_To }; /***** Begin table *****/ diff --git a/swad_network.c b/swad_network.c index a5d99a89..6d606d84 100644 --- a/swad_network.c +++ b/swad_network.c @@ -214,8 +214,8 @@ void Net_ShowWebsAndSocialNets (const struct UsrData *UsrDat) "swad64x64.png",Cfg_PLATFORM_SHORT_NAME); /***** Show the rest of webs / social networks *****/ - for (NumURL = (Net_WebsAndSocialNetworks_t) 0; - NumURL < Net_NUM_WEBS_AND_SOCIAL_NETWORKS; + for (NumURL = (Net_WebsAndSocialNetworks_t) 0; + NumURL <= (Net_WebsAndSocialNetworks_t) (Net_NUM_WEBS_AND_SOCIAL_NETWORKS - 1); NumURL++) { /***** Check if exists the web / social network for this user *****/ @@ -293,8 +293,8 @@ void Net_ShowFormMyWebsAndSocialNets (void) Frm_StartFormAnchor (ActChgMyNet,Net_MY_WEBS_ID); /***** List webs and social networks *****/ - for (NumURL = (Net_WebsAndSocialNetworks_t) 0; - NumURL < Net_NUM_WEBS_AND_SOCIAL_NETWORKS; + for (NumURL = (Net_WebsAndSocialNetworks_t) 0; + NumURL <= (Net_WebsAndSocialNetworks_t) (Net_NUM_WEBS_AND_SOCIAL_NETWORKS - 1); NumURL++) { /***** Get user's web / social network from database *****/ @@ -391,8 +391,8 @@ static void Net_GetMyWebsAndSocialNetsFromForm (void) char URL[Cns_MAX_BYTES_WWW + 1]; /***** Get URLs *****/ - for (NumURL = (Net_WebsAndSocialNetworks_t) 0; - NumURL < Net_NUM_WEBS_AND_SOCIAL_NETWORKS; + for (NumURL = (Net_WebsAndSocialNetworks_t) 0; + NumURL <= (Net_WebsAndSocialNetworks_t) (Net_NUM_WEBS_AND_SOCIAL_NETWORKS - 1); NumURL++) { /***** Get URL from the form *****/ @@ -563,8 +563,8 @@ void Net_ShowWebAndSocialNetworksStats (void) /* Get web / social network (row[0]) */ Str_Copy (NetName,row[0], Net_MAX_BYTES_NETWORK_NAME); - for (Web = (Net_WebsAndSocialNetworks_t) 0; - Web < Net_NUM_WEBS_AND_SOCIAL_NETWORKS; + for (Web = (Net_WebsAndSocialNetworks_t) 0; + Web <= (Net_WebsAndSocialNetworks_t) (Net_NUM_WEBS_AND_SOCIAL_NETWORKS - 1); Web++) if (!strcmp (Net_WebsAndSocialNetworksDB[Web],NetName)) break; diff --git a/swad_notification.c b/swad_notification.c index 3ac3148d..7dd1653c 100644 --- a/swad_notification.c +++ b/swad_notification.c @@ -1926,8 +1926,8 @@ void Ntf_PutFormChangeNotifSentByEMail (void) /***** Checkbox to activate internal notifications and email notifications about events *****/ - for (NotifyEvent = (Ntf_NotifyEvent_t) 1; - NotifyEvent < Ntf_NUM_NOTIFY_EVENTS; + for (NotifyEvent = (Ntf_NotifyEvent_t) 1; + NotifyEvent <= (Ntf_NotifyEvent_t) (Ntf_NUM_NOTIFY_EVENTS - 1); NotifyEvent++) // O is reserved for Ntf_EVENT_UNKNOWN { HTM_TR_Begin (NULL); @@ -1979,8 +1979,8 @@ static void Ntf_GetParamsNotifyEvents (void) Gbl.Usrs.Me.UsrDat.NtfEvents.CreateNotif = 0; Gbl.Usrs.Me.UsrDat.NtfEvents.SendEmail = 0; - for (NotifyEvent = (Ntf_NotifyEvent_t) 1; - NotifyEvent < Ntf_NUM_NOTIFY_EVENTS; + for (NotifyEvent = (Ntf_NotifyEvent_t) 1; + NotifyEvent <= (Ntf_NotifyEvent_t) (Ntf_NUM_NOTIFY_EVENTS - 1); NotifyEvent++) // 0 is reserved for Ntf_EVENT_UNKNOWN { if ((CreateNotifForThisEvent = Par_GetParToBool (Ntf_ParamNotifMeAboutNotifyEvents[NotifyEvent]))) diff --git a/swad_photo.c b/swad_photo.c index eeaf09b5..c9dc9429 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -1372,13 +1372,13 @@ void Pho_CalcPhotoDegree (void) /***** Get list of students in this degree *****/ Usr_GetUnorderedStdsCodesInDeg (DegCod); - for (Sex = (Usr_Sex_t) 0; - Sex < Usr_NUM_SEXS; + for (Sex = (Usr_Sex_t) 0; + Sex <= (Usr_Sex_t) (Usr_NUM_SEXS - 1); Sex++) { TotalTimeToComputeAvgPhotoInMicroseconds = 0; - for (TypeOfAverage = (Pho_AvgPhotoTypeOfAverage_t) 0; - TypeOfAverage < Pho_NUM_AVERAGE_PHOTO_TYPES; + for (TypeOfAverage = (Pho_AvgPhotoTypeOfAverage_t) 0; + TypeOfAverage <= (Pho_AvgPhotoTypeOfAverage_t) (Pho_NUM_AVERAGE_PHOTO_TYPES - 1); TypeOfAverage++) { /***** Compute average photos of students belonging this degree *****/ @@ -1545,8 +1545,8 @@ static long Pho_GetTimeToComputeAvgPhoto (long DegCod) if (NumRows == Usr_NUM_SEXS) { TotalTimeToComputeAvgPhoto = 0; - for (Sex = (Usr_Sex_t) 0; - Sex < Usr_NUM_SEXS; + for (Sex = (Usr_Sex_t) 0; + Sex <= (Usr_Sex_t) (Usr_NUM_SEXS - 1); Sex++) { /***** Get row *****/ @@ -1805,8 +1805,8 @@ static void Pho_PutSelectorForTypeOfAvg (void) Usr_PutParamsPrefsAboutUsrList (); HTM_SELECT_Begin (true, "id=\"AvgType\" name=\"AvgType\""); - for (TypeOfAvg = (Pho_AvgPhotoTypeOfAverage_t) 0; - TypeOfAvg < Pho_NUM_AVERAGE_PHOTO_TYPES; + for (TypeOfAvg = (Pho_AvgPhotoTypeOfAverage_t) 0; + TypeOfAvg <= (Pho_AvgPhotoTypeOfAverage_t) (Pho_NUM_AVERAGE_PHOTO_TYPES - 1); TypeOfAvg++) { TypeOfAvgUnsigned = (unsigned) TypeOfAvg; @@ -1870,8 +1870,8 @@ static void Pho_PutSelectorForHowComputePhotoSize (void) Usr_PutParamsPrefsAboutUsrList (); HTM_SELECT_Begin (true, "id=\"PhotoSize\" name=\"PhotoSize\""); - for (PhoSi = (Pho_HowComputePhotoSize_t) 0; - PhoSi < Pho_NUM_HOW_COMPUTE_PHOTO_SIZES; + for (PhoSi = (Pho_HowComputePhotoSize_t) 0; + PhoSi <= (Pho_HowComputePhotoSize_t) (Pho_NUM_HOW_COMPUTE_PHOTO_SIZES - 1); PhoSi++) { PhoSiUnsigned = (unsigned) PhoSi; @@ -1935,8 +1935,8 @@ static void Pho_PutSelectorForHowOrderDegrees (void) Usr_PutParamsPrefsAboutUsrList (); HTM_SELECT_Begin (true, "id=\"Order\" name=\"Order\""); - for (Order = (Pho_HowOrderDegrees_t) 0; - Order < Pho_NUM_HOW_ORDER_DEGREES; + for (Order = (Pho_HowOrderDegrees_t) 0; + Order <= (Pho_HowOrderDegrees_t) (Pho_NUM_HOW_ORDER_DEGREES - 1); Order++) { OrderUnsigned = (unsigned) Order; @@ -2230,8 +2230,8 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint) HTM_TH (1,1,"RT",Txt_No_INDEX); HTM_TH (1,1,"CT",Txt_Degree); - for (Sex = (Usr_Sex_t) 0; - Sex < Usr_NUM_SEXS; + for (Sex = (Usr_Sex_t) 0; + Sex <= (Usr_Sex_t) (Usr_NUM_SEXS - 1); Sex++) HTM_TH (1,1,"CT",Txt_SEX_PLURAL_Abc[Sex]); @@ -2271,8 +2271,8 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint) } HTM_TD_End (); - for (Sex = (Usr_Sex_t) 0; - Sex < Usr_NUM_SEXS; + for (Sex = (Usr_Sex_t) 0; + Sex <= (Usr_Sex_t) (Usr_NUM_SEXS - 1); Sex++) { /***** Show average photo of students belonging to this degree *****/ diff --git a/swad_place.c b/swad_place.c index cfda3539..5e18c224 100644 --- a/swad_place.c +++ b/swad_place.c @@ -115,8 +115,8 @@ void Plc_SeePlaces (void) Hlp_INSTITUTION_Places,Box_NOT_CLOSABLE); HTM_TABLE_BeginWideMarginPadding (2); HTM_TR_Begin (NULL); - for (Order = Plc_ORDER_BY_PLACE; - Order <= Plc_ORDER_BY_NUM_CTRS; + for (Order = (Plc_Order_t) 0; + Order <= (Plc_Order_t) (Plc_NUM_ORDERS - 1); Order++) { HTM_TH_Begin (1,1,"LM"); diff --git a/swad_privacy.c b/swad_privacy.c index 3ca7ca02..8aaa504c 100644 --- a/swad_privacy.c +++ b/swad_privacy.c @@ -202,8 +202,8 @@ Pri_Visibility_t Pri_GetVisibilityFromStr (const char *Str) { Pri_Visibility_t Visibility; - for (Visibility = (Pri_Visibility_t) 0; - Visibility < Pri_NUM_OPTIONS_PRIVACY; + for (Visibility = (Pri_Visibility_t) 0; + Visibility <= (Pri_Visibility_t) (Pri_NUM_OPTIONS_PRIVACY - 1); Visibility++) if (!strcasecmp (Str,Pri_VisibilityDB[Visibility])) return Visibility; diff --git a/swad_project.c b/swad_project.c index 337624e0..87e03973 100644 --- a/swad_project.c +++ b/swad_project.c @@ -538,7 +538,7 @@ static void Prj_ShowFormToFilterByAssign (void) Prj_AssignedNonassig_t Assign; Set_StartOneSettingSelector (); - for (Assign = (Prj_AssignedNonassig_t) 0; + for (Assign = (Prj_AssignedNonassig_t) 0; Assign <= (Prj_AssignedNonassig_t) (Prj_NUM_ASSIGNED_NONASSIG - 1); Assign++) { @@ -579,7 +579,7 @@ static void Prj_ShowFormToFilterByHidden (void) }; Set_StartOneSettingSelector (); - for (HidVis = (Prj_HiddenVisibl_t) 0; + for (HidVis = (Prj_HiddenVisibl_t) 0; HidVis <= (Prj_HiddenVisibl_t) (Prj_NUM_HIDDEN_VISIBL - 1); HidVis++) { @@ -620,7 +620,7 @@ static void Prj_ShowFormToFilterByWarning (void) }; Set_StartOneSettingSelector (); - for (Faultiness = (Prj_Faultiness_t) 0; + for (Faultiness = (Prj_Faultiness_t) 0; Faultiness <= (Prj_Faultiness_t) (Prj_NUM_FAULTINESS - 1); Faultiness++) { @@ -888,7 +888,7 @@ static void Prj_ShowProjectsHead (Prj_ProjectView_t ProjectView) } /***** Rest of columns *****/ - for (Order = (Prj_Order_t) 0; + for (Order = (Prj_Order_t) 0; Order <= (Prj_Order_t) (Prj_NUM_ORDERS - 1); Order++) { @@ -937,7 +937,7 @@ static void Prj_ShowTableAllProjectsHead (void) HTM_TR_Begin (NULL); - for (Order = (Prj_Order_t) 0; + for (Order = (Prj_Order_t) 0; Order <= (Prj_Order_t) (Prj_NUM_ORDERS - 1); Order++) HTM_TH (1,1,"LT DAT_N",Txt_PROJECT_ORDER[Order]); @@ -2271,10 +2271,10 @@ static void Prj_ReqAddUsrs (Prj_RoleInProject_t RoleInProject) extern const char *Txt_PROJECT_ROLES_PLURAL_abc[Prj_NUM_ROLES_IN_PROJECT]; static Act_Action_t ActionAddUsr[Prj_NUM_ROLES_IN_PROJECT] = { - ActUnk, // Prj_ROLE_UNK, Unknown - ActAddStdPrj, // Prj_ROLE_STD, Student - ActAddTutPrj, // Prj_ROLE_TUT, Tutor - ActAddEvlPrj, // Prj_ROLE_EVL, Evaluator + [Prj_ROLE_UNK] = ActUnk, // Unknown + [Prj_ROLE_STD] = ActAddStdPrj, // Student + [Prj_ROLE_TUT] = ActAddTutPrj, // Tutor + [Prj_ROLE_EVL] = ActAddEvlPrj, // Evaluator }; char TxtButton[Lay_MAX_BYTES_TITLE + 1]; @@ -2421,10 +2421,10 @@ static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject) extern const char *Txt_Remove_USER_from_this_project; static Act_Action_t ActionRemUsr[Prj_NUM_ROLES_IN_PROJECT] = { - ActUnk, // Prj_ROLE_UNK, Unknown - ActRemStdPrj, // Prj_ROLE_STD, Student - ActRemTutPrj, // Prj_ROLE_TUT, Tutor - ActRemEvlPrj, // Prj_ROLE_EVL, Evaluator + [Prj_ROLE_UNK] = ActUnk, // Unknown + [Prj_ROLE_STD] = ActRemStdPrj, // Student + [Prj_ROLE_TUT] = ActRemTutPrj, // Tutor + [Prj_ROLE_EVL] = ActRemEvlPrj, // Evaluator }; struct Project Prj; bool ItsMe; diff --git a/swad_record.c b/swad_record.c index 786b321e..b2fc8d06 100644 --- a/swad_record.c +++ b/swad_record.c @@ -335,8 +335,8 @@ void Rec_ListFieldsRecordsForEdition (void) Par_PutHiddenParamLong (NULL,"FieldCod",Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod); HTM_SELECT_Begin (true, "name=\"Visibility\""); - for (Vis = (Rec_VisibilityRecordFields_t) 0; - Vis < (Rec_VisibilityRecordFields_t) Rec_NUM_TYPES_VISIBILITY; + for (Vis = (Rec_VisibilityRecordFields_t) 0; + Vis <= (Rec_VisibilityRecordFields_t) (Rec_NUM_TYPES_VISIBILITY - 1); Vis++) { VisUnsigned = (unsigned) Vis; @@ -400,8 +400,8 @@ void Rec_ShowFormCreateRecordField (void) HTM_TD_Begin ("class=\"CM\""); HTM_SELECT_Begin (false, "name=\"Visibility\""); - for (Vis = (Rec_VisibilityRecordFields_t) 0; - Vis < (Rec_VisibilityRecordFields_t) Rec_NUM_TYPES_VISIBILITY; + for (Vis = (Rec_VisibilityRecordFields_t) 0; + Vis <= (Rec_VisibilityRecordFields_t) (Rec_NUM_TYPES_VISIBILITY - 1); Vis++) { VisUnsigned = (unsigned) Vis; diff --git a/swad_role.c b/swad_role.c index c70fbdae..960259a7 100644 --- a/swad_role.c +++ b/swad_role.c @@ -211,7 +211,7 @@ void Rol_SetMyRoles (void) if (!(Gbl.Usrs.Me.Role.Available & (1 << Gbl.Usrs.Me.Role.Logged))) // Current type I am logged is not available for me /* Set the lowest role available for me */ - for (Gbl.Usrs.Me.Role.Logged = Rol_UNK; + for (Gbl.Usrs.Me.Role.Logged = (Rol_Role_t) 0; Gbl.Usrs.Me.Role.Logged <= (Rol_Role_t) (Rol_NUM_ROLES - 1); Gbl.Usrs.Me.Role.Logged++) if (Gbl.Usrs.Me.Role.Available & (1 << Gbl.Usrs.Me.Role.Logged)) @@ -227,8 +227,8 @@ unsigned Rol_GetNumAvailableRoles (void) Rol_Role_t Role; unsigned NumAvailableRoles = 0; - for (Role = Rol_GST; - Role < Rol_NUM_ROLES; + for (Role = (Rol_Role_t) 1; + Role <= (Rol_Role_t) Rol_NUM_ROLES - 1; Role++) if (Gbl.Usrs.Me.Role.Available & (1 << Role)) NumAvailableRoles++; @@ -485,8 +485,8 @@ void Rol_PutFormToChangeMyRole (const char *ClassSelect) else HTM_SELECT_Begin (true, "name=\"MyRole\""); - for (Role = Rol_GST; - Role < Rol_NUM_ROLES; + for (Role = (Rol_Role_t) 1; + Role <= (Rol_Role_t) (Rol_NUM_ROLES - 1); Role++) if (Gbl.Usrs.Me.Role.Available & (1 << Role)) { @@ -578,7 +578,7 @@ void Rol_PutHiddenParamRoles (unsigned Roles) unsigned Rol_GetSelectedRoles (void) { - char StrRoles[Rol_NUM_ROLES * (10 + 1)]; + char StrRoles[Rol_NUM_ROLES * (Cns_MAX_DECIMAL_DIGITS_UINT + 1)]; const char *Ptr; char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; Rol_Role_t Role; @@ -592,7 +592,7 @@ unsigned Rol_GetSelectedRoles (void) 0); // 000...000 /***** Try to get multiple param "Role" *****/ - Par_GetParMultiToText ("Role",StrRoles,Rol_NUM_ROLES * (10 + 1)); + Par_GetParMultiToText ("Role",StrRoles,Rol_NUM_ROLES * (Cns_MAX_DECIMAL_DIGITS_UINT + 1)); for (Ptr = StrRoles; *Ptr;) { diff --git a/swad_scope.c b/swad_scope.c index 7ec40482..b403e858 100644 --- a/swad_scope.c +++ b/swad_scope.c @@ -78,8 +78,8 @@ void Sco_PutSelectorScope (const char *ParamName,bool SendOnChange) HTM_SELECT_Begin (SendOnChange, "id=\"%s\" name=\"%s\"",ParamName,ParamName); - for (Scope = (Hie_Level_t) 0; - Scope < Hie_NUM_LEVELS; + for (Scope = (Hie_Level_t) 0; + Scope <= (Hie_Level_t) (Hie_NUM_LEVELS - 1); Scope++) if ((Gbl.Scope.Allowed & (1 << Scope))) { @@ -333,8 +333,8 @@ Hie_Level_t Sco_GetScopeFromDBStr (const char *ScopeDBStr) { Hie_Level_t Scope; - for (Scope = Hie_UNK; - Scope < Hie_NUM_LEVELS; + for (Scope = (Hie_Level_t) 0; + Scope <= (Hie_Level_t) (Hie_NUM_LEVELS - 1); Scope++) if (!strcmp (Sco_GetDBStrFromScope (Scope),ScopeDBStr)) return Scope; diff --git a/swad_search.c b/swad_search.c index 4c02034f..d5a7f1b6 100644 --- a/swad_search.c +++ b/swad_search.c @@ -167,8 +167,8 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Act_Action_t Action,Hie HTM_TxtF (" %s ",Txt_SEARCH_X_in_Y); HTM_SELECT_Begin (false, "name=\"WhatToSearch\" class=\"WHAT_TO_SEARCH\""); - for (WhatToSearch = (Sch_WhatToSearch_t) 0; - WhatToSearch < Sch_NUM_WHAT_TO_SEARCH; + for (WhatToSearch = (Sch_WhatToSearch_t) 0; + WhatToSearch <= (Sch_WhatToSearch_t) (Sch_NUM_WHAT_TO_SEARCH - 1); WhatToSearch++) if (Sch_CheckIfIHavePermissionToSearch (WhatToSearch)) { diff --git a/swad_statistic.c b/swad_statistic.c index cd7ac8be..d00630c0 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -436,8 +436,8 @@ void Sta_AskShowGblHits (void) HTM_TD_Begin ("class=\"LM\""); HTM_SELECT_Begin (false, "id=\"Role\" name=\"Role\" class=\"STAT_SEL\""); - for (RoleStat = (Sta_Role_t) 0; - RoleStat < Sta_NUM_ROLES_STAT; + for (RoleStat = (Sta_Role_t) 0; + RoleStat <= (Sta_Role_t) (Sta_NUM_ROLES_STAT - 1); RoleStat++) { RoleStatUnsigned = (unsigned) RoleStat; @@ -575,8 +575,8 @@ static void Sta_WriteSelectorCountType (void) /**** Count type *****/ HTM_SELECT_Begin (false, "id=\"CountType\" name=\"CountType\""); - for (StatCountType = (Sta_CountType_t) 0; - StatCountType < Sta_NUM_COUNT_TYPES; + for (StatCountType = (Sta_CountType_t) 0; + StatCountType <= (Sta_CountType_t) (Sta_NUM_COUNT_TYPES - 1); StatCountType++) { StatCountTypeUnsigned = (unsigned) StatCountType; @@ -615,8 +615,8 @@ static void Sta_WriteSelectorAction (void) "id=\"StatAct\" name=\"StatAct\" class=\"STAT_SEL\""); HTM_OPTION (HTM_Type_STRING,"0",Gbl.Stat.NumAction == 0,false, "%s",Txt_Any_action); - for (Action = (Act_Action_t) 1; - Action < Act_NUM_ACTIONS; + for (Action = (Act_Action_t) 1; + Action <= (Act_Action_t) (Act_NUM_ACTIONS - 1); Action++) { Tab = Act_GetTab (Act_GetSuperAction (Action)); @@ -1974,8 +1974,8 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES HTM_TxtF ("%s: ",Txt_Color_of_the_graphic); HTM_SELECT_Begin (true, "name=\"ColorType\""); - for (ColorType = (Sta_ColorType_t) 0; - ColorType < Sta_NUM_COLOR_TYPES; + for (ColorType = (Sta_ColorType_t) 0; + ColorType <= (Sta_ColorType_t) (Sta_NUM_COLOR_TYPES - 1); ColorType++) { ColorTypeUnsigned = (unsigned) ColorType; diff --git a/swad_survey.c b/swad_survey.c index e8ee957a..d03aba63 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -62,8 +62,8 @@ extern struct Globals Gbl; const char *Svy_StrAnswerTypesDB[Svy_NUM_ANS_TYPES] = { - "unique_choice", - "multiple_choice", + [Svy_ANS_UNIQUE_CHOICE ] = "unique_choice", + [Svy_ANS_MULTIPLE_CHOICE] = "multiple_choice", }; #define Svy_MAX_ANSWERS_PER_QUESTION 10 @@ -2714,8 +2714,8 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst, HTM_TD_End (); HTM_TD_Begin ("class=\"%s LT\"",The_ClassFormInBox[Gbl.Prefs.Theme]); - for (AnsType = (Svy_AnswerType_t) 0; - AnsType < Svy_NUM_ANS_TYPES; + for (AnsType = (Svy_AnswerType_t) 0; + AnsType <= (Svy_AnswerType_t) (Svy_NUM_ANS_TYPES - 1); AnsType++) { HTM_LABEL_Begin (NULL); @@ -2844,8 +2844,8 @@ static Svy_AnswerType_t Svy_ConvertFromStrAnsTypDBToAnsTyp (const char *StrAnsTy { Svy_AnswerType_t AnsType; - for (AnsType = (Svy_AnswerType_t) 0; - AnsType < Svy_NUM_ANS_TYPES; + for (AnsType = (Svy_AnswerType_t) 0; + AnsType <= (Svy_AnswerType_t) (Svy_NUM_ANS_TYPES - 1); AnsType++) if (!strcmp (StrAnsTypeBD,Svy_StrAnswerTypesDB[AnsType])) return AnsType; diff --git a/swad_syllabus.c b/swad_syllabus.c index 5ee6bd09..7e8828c2 100644 --- a/swad_syllabus.c +++ b/swad_syllabus.c @@ -65,17 +65,17 @@ extern struct Globals Gbl; static const char *StyleSyllabus[1 + Syl_MAX_LEVELS_SYLLABUS] = { - "", - "T1", - "T2", - "T3", - "T3", - "T3", - "T3", - "T3", - "T3", - "T3", - "T3", + [ 0] = "", + [ 1] = "T1", + [ 2] = "T2", + [ 3] = "T3", + [ 4] = "T3", + [ 5] = "T3", + [ 6] = "T3", + [ 7] = "T3", + [ 8] = "T3", + [ 9] = "T3", + [10] = "T3", }; /*****************************************************************************/ @@ -144,8 +144,8 @@ void Syl_PutFormWhichSyllabus (void) HTM_DIV_Begin ("class=\"CM\""); HTM_UL_Begin ("class=\"LIST_LEFT\""); - for (WhichSyllabus = (Syl_WhichSyllabus_t) 0; - WhichSyllabus < For_NUM_FORUM_SETS; + for (WhichSyllabus = (Syl_WhichSyllabus_t) 0; + WhichSyllabus <= (Syl_WhichSyllabus_t) (For_NUM_FORUM_SETS - 1); WhichSyllabus++) { HTM_LI_Begin ("class=\"DAT LM\""); diff --git a/swad_tab.c b/swad_tab.c index 4ccb537e..089e36fd 100644 --- a/swad_tab.c +++ b/swad_tab.c @@ -86,8 +86,8 @@ void Tab_DrawTabs (void) HTM_UL_Begin ("class=\"TAB_LIST\""); /***** Draw the tabs *****/ - for (NumTab = (Tab_Tab_t) 1; - NumTab <= (Tab_Tab_t) Tab_NUM_TABS - 1; + for (NumTab = (Tab_Tab_t) 1; + NumTab <= (Tab_Tab_t) (Tab_NUM_TABS - 1); NumTab++) { ICanViewTab = Tab_CheckIfICanViewTab (NumTab); @@ -201,7 +201,8 @@ static const char *Tab_GetIcon (Tab_Tab_t NumTab) [TabPrf] = "user", }; - if (NumTab < (Tab_Tab_t) 1 || NumTab >= Tab_NUM_TABS) + if (NumTab < (Tab_Tab_t) 1 || + NumTab > (Tab_Tab_t) (Tab_NUM_TABS - 1)) return NULL; return Ico_GetIcon (Tab_TabIcons[NumTab]); diff --git a/swad_test.c b/swad_test.c index 5893bc07..b091e08e 100644 --- a/swad_test.c +++ b/swad_test.c @@ -86,31 +86,31 @@ const char *Tst_StrAnswerTypesXML[Tst_NUM_ANS_TYPES] = #define Tst_MAX_BYTES_TAGS_LIST (16 * 1024) #define Tst_MAX_BYTES_FLOAT_ANSWER 30 // Maximum length of the strings that store an floating point answer -const char *Tst_PluggableDB[Tst_NUM_OPTIONS_PLUGGABLE] = +static const char *Tst_PluggableDB[Tst_NUM_OPTIONS_PLUGGABLE] = { - "unknown", - "N", - "Y", + [Tst_PLUGGABLE_UNKNOWN] = "unknown", + [Tst_PLUGGABLE_NO ] = "N", + [Tst_PLUGGABLE_YES ] = "Y", }; // Feedback to students in tests -const char *Tst_FeedbackDB[Tst_NUM_TYPES_FEEDBACK] = +static const char *Tst_FeedbackDB[Tst_NUM_TYPES_FEEDBACK] = { - "nothing", // No feedback - "total_result", // Little - "each_result", // Medium - "each_good_bad", // High - "full_feedback", // Maximum + [Tst_FEEDBACK_NOTHING ] = "nothing", // No feedback + [Tst_FEEDBACK_TOTAL_RESULT ] = "total_result", // Little + [Tst_FEEDBACK_EACH_RESULT ] = "each_result", // Medium + [Tst_FEEDBACK_EACH_GOOD_BAD] = "each_good_bad", // High + [Tst_FEEDBACK_FULL_FEEDBACK] = "full_feedback", // Maximum }; -const char *Tst_StrAnswerTypesDB[Tst_NUM_ANS_TYPES] = +static const char *Tst_StrAnswerTypesDB[Tst_NUM_ANS_TYPES] = { - "int", - "float", - "true_false", - "unique_choice", - "multiple_choice", - "text", + [Tst_ANS_INT ] = "int", + [Tst_ANS_FLOAT ] = "float", + [Tst_ANS_TRUE_FALSE ] = "true_false", + [Tst_ANS_UNIQUE_CHOICE ] = "unique_choice", + [Tst_ANS_MULTIPLE_CHOICE] = "multiple_choice", + [Tst_ANS_TEXT ] = "text", }; // Test images will be saved with: @@ -1979,8 +1979,8 @@ static void Tst_ShowFormConfigTst (void) HTM_TD_End (); HTM_TD_Begin ("class=\"LB\""); - for (Feedback = (Tst_Feedback_t) 0; - Feedback < Tst_NUM_TYPES_FEEDBACK; + for (Feedback = (Tst_Feedback_t) 0; + Feedback <= (Tst_Feedback_t) (Tst_NUM_TYPES_FEEDBACK - 1); Feedback++) { HTM_LABEL_Begin ("class=\"DAT\""); @@ -2126,8 +2126,8 @@ void Tst_GetConfigFromRow (MYSQL_ROW row) (unsigned long) LongNum; /***** Get feedback type (row[5]) *****/ - for (Feedback = (Tst_Feedback_t) 0; - Feedback < Tst_NUM_TYPES_FEEDBACK; + for (Feedback = (Tst_Feedback_t) 0; + Feedback <= (Tst_Feedback_t) (Tst_NUM_TYPES_FEEDBACK - 1); Feedback++) if (!strcmp (row[5],Tst_FeedbackDB[Feedback])) { @@ -2343,8 +2343,8 @@ static void Tst_ShowFormAnswerTypes (void) HTM_TR_End (); /***** Type of answer *****/ - for (AnsType = (Tst_AnswerType_t) 0; - AnsType < Tst_NUM_ANS_TYPES; + for (AnsType = (Tst_AnswerType_t) 0; + AnsType <= (Tst_AnswerType_t) (Tst_NUM_ANS_TYPES - 1); AnsType++) { HTM_TR_Begin (NULL); @@ -2824,8 +2824,8 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows, /* Stem and answers of question */ /* Number of times that the question has been answered */ /* Average score */ - for (Order = (Tst_QuestionsOrder_t) 0; - Order < (Tst_QuestionsOrder_t) Tst_NUM_TYPES_ORDER_QST; + for (Order = (Tst_QuestionsOrder_t) 0; + Order <= (Tst_QuestionsOrder_t) (Tst_NUM_TYPES_ORDER_QST - 1); Order++) { HTM_TH_Begin (1,1,"LT"); @@ -5242,8 +5242,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1], HTM_TD_End (); HTM_TD_Begin ("class=\"%s LT\"",The_ClassFormInBox[Gbl.Prefs.Theme]); - for (AnsType = (Tst_AnswerType_t) 0; - AnsType < Tst_NUM_ANS_TYPES; + for (AnsType = (Tst_AnswerType_t) 0; + AnsType <= (Tst_AnswerType_t) (Tst_NUM_ANS_TYPES - 1); AnsType++) { HTM_LABEL_Begin (NULL); @@ -5837,8 +5837,8 @@ Tst_AnswerType_t Tst_ConvertFromStrAnsTypDBToAnsTyp (const char *StrAnsTypeBD) Tst_AnswerType_t AnsType; if (StrAnsTypeBD != NULL) - for (AnsType = (Tst_AnswerType_t) 0; - AnsType < Tst_NUM_ANS_TYPES; + for (AnsType = (Tst_AnswerType_t) 0; + AnsType <= (Tst_AnswerType_t) (Tst_NUM_ANS_TYPES - 1); AnsType++) if (!strcmp (StrAnsTypeBD,Tst_StrAnswerTypesDB[AnsType])) return AnsType; @@ -6285,6 +6285,111 @@ bool Tst_CheckIfQstFormatIsCorrectAndCountNumOptions (void) return true; // Question format without errors } +/*****************************************************************************/ +/*********** Check if a test question already exists in database *************/ +/*****************************************************************************/ + +bool Tst_CheckIfQuestionExistsInDB (void) + { + extern const char *Tst_StrAnswerTypesDB[Tst_NUM_ANS_TYPES]; + MYSQL_RES *mysql_res_qst; + MYSQL_RES *mysql_res_ans; + MYSQL_ROW row; + bool IdenticalQuestionFound = false; + bool IdenticalAnswers; + unsigned NumQst; + unsigned NumQstsWithThisStem; + unsigned NumOpt; + unsigned NumOptsExistingQstInDB; + long QstCod; + unsigned i; + + /***** Check if stem exists *****/ + NumQstsWithThisStem = + (unsigned) DB_QuerySELECT (&mysql_res_qst,"can not check" + " if a question exists", + "SELECT QstCod FROM tst_questions" + " WHERE CrsCod=%ld AND AnsType='%s' AND Stem='%s'", + Gbl.Hierarchy.Crs.CrsCod, + Tst_StrAnswerTypesDB[Gbl.Test.AnswerType], + Gbl.Test.Stem.Text); + + if (NumQstsWithThisStem) // There are questions in database with the same stem that the one of this question + { + /***** Check if the answer exists in any of the questions with the same stem *****/ + /* For each question with the same stem */ + for (NumQst = 0; + !IdenticalQuestionFound && NumQst < NumQstsWithThisStem; + NumQst++) + { + row = mysql_fetch_row (mysql_res_qst); + if ((QstCod = Str_ConvertStrCodToLongCod (row[0])) < 0) + Lay_ShowErrorAndExit ("Wrong code of question."); + + /* Get answers from this question */ + NumOptsExistingQstInDB = + (unsigned) DB_QuerySELECT (&mysql_res_ans,"can not get the answer" + " of a question", + "SELECT Answer FROM tst_answers" + " WHERE QstCod=%ld ORDER BY AnsInd", + QstCod); + + switch (Gbl.Test.AnswerType) + { + case Tst_ANS_INT: + row = mysql_fetch_row (mysql_res_ans); + IdenticalQuestionFound = (Tst_GetIntAnsFromStr (row[0]) == Gbl.Test.Answer.Integer); + break; + case Tst_ANS_FLOAT: + for (IdenticalAnswers = true, i = 0; + IdenticalAnswers && i < 2; + i++) + { + row = mysql_fetch_row (mysql_res_ans); + IdenticalAnswers = (Str_GetDoubleFromStr (row[0]) == Gbl.Test.Answer.FloatingPoint[i]); + } + IdenticalQuestionFound = IdenticalAnswers; + break; + case Tst_ANS_TRUE_FALSE: + row = mysql_fetch_row (mysql_res_ans); + IdenticalQuestionFound = (Str_ConvertToUpperLetter (row[0][0]) == Gbl.Test.Answer.TF); + break; + case Tst_ANS_UNIQUE_CHOICE: + case Tst_ANS_MULTIPLE_CHOICE: + case Tst_ANS_TEXT: + if (NumOptsExistingQstInDB == Gbl.Test.Answer.NumOptions) + { + for (IdenticalAnswers = true, NumOpt = 0; + IdenticalAnswers && NumOpt < NumOptsExistingQstInDB; + NumOpt++) + { + row = mysql_fetch_row (mysql_res_ans); + + if (strcasecmp (row[0],Gbl.Test.Answer.Options[NumOpt].Text)) + IdenticalAnswers = false; + } + } + else // Different number of answers (options) + IdenticalAnswers = false; + IdenticalQuestionFound = IdenticalAnswers; + break; + default: + break; + } + + /* Free structure that stores the query result for answers */ + DB_FreeMySQLResult (&mysql_res_ans); + } + } + else // Stem does not exist + IdenticalQuestionFound = false; + + /* Free structure that stores the query result for questions */ + DB_FreeMySQLResult (&mysql_res_qst); + + return IdenticalQuestionFound; + } + /*****************************************************************************/ /* Move images associates to a test question to their definitive directories */ /*****************************************************************************/ diff --git a/swad_test.h b/swad_test.h index 67402fe1..a21f43e3 100644 --- a/swad_test.h +++ b/swad_test.h @@ -197,6 +197,9 @@ int Tst_AllocateTextChoiceAnswer (unsigned NumOpt); Tst_AnswerType_t Tst_ConvertFromStrAnsTypDBToAnsTyp (const char *StrAnsTypeBD); void Tst_ReceiveQst (void); bool Tst_CheckIfQstFormatIsCorrectAndCountNumOptions (void); + +bool Tst_CheckIfQuestionExistsInDB (void); + long Tst_GetIntAnsFromStr (char *Str); void Tst_RequestRemoveQst (void); void Tst_RemoveQst (void); diff --git a/swad_test_import.c b/swad_test_import.c index 84448402..21d93ca8 100644 --- a/swad_test_import.c +++ b/swad_test_import.c @@ -72,7 +72,6 @@ static void TsI_WriteAnswersOfAQstXML (long QstCod); static void TsI_ReadQuestionsFromXMLFileAndStoreInDB (const char *FileNameXML); static void TsI_ImportQuestionsFromXMLBuffer (const char *XMLBuffer); static Tst_AnswerType_t TsI_ConvertFromStrAnsTypXMLToAnsTyp (const char *StrAnsTypeXML); -static bool TsI_CheckIfQuestionExistsInDB (void); static void TsI_GetAnswerFromXML (struct XMLElement *AnswerElem); static void TsI_WriteHeadingListImportedQst (void); static void TsI_WriteRowImportedQst (struct XMLElement *StemElem, @@ -641,7 +640,7 @@ static void TsI_ImportQuestionsFromXMLBuffer (const char *XMLBuffer) if (Tst_CheckIfQstFormatIsCorrectAndCountNumOptions ()) { /* Check if question already exists in database */ - QuestionExists = TsI_CheckIfQuestionExistsInDB (); + QuestionExists = Tst_CheckIfQuestionExistsInDB (); /* Write row with this imported question */ TsI_WriteRowImportedQst (StemElem,FeedbackElem,QuestionExists); @@ -681,8 +680,8 @@ static Tst_AnswerType_t TsI_ConvertFromStrAnsTypXMLToAnsTyp (const char *StrAnsT Tst_AnswerType_t AnsType; if (StrAnsTypeXML != NULL) - for (AnsType = (Tst_AnswerType_t) 0; - AnsType < Tst_NUM_ANS_TYPES; + for (AnsType = (Tst_AnswerType_t) 0; + AnsType <= (Tst_AnswerType_t) (Tst_NUM_ANS_TYPES - 1); AnsType++) // comparison must be case insensitive, because users can edit XML if (!strcasecmp (StrAnsTypeXML,Tst_StrAnswerTypesXML[AnsType])) @@ -692,111 +691,6 @@ static Tst_AnswerType_t TsI_ConvertFromStrAnsTypXMLToAnsTyp (const char *StrAnsT return (Tst_AnswerType_t) 0; // Not reached } -/*****************************************************************************/ -/**************** Get answer inside an XML question elements *****************/ -/*****************************************************************************/ - -static bool TsI_CheckIfQuestionExistsInDB (void) - { - extern const char *Tst_StrAnswerTypesDB[Tst_NUM_ANS_TYPES]; - MYSQL_RES *mysql_res_qst; - MYSQL_RES *mysql_res_ans; - MYSQL_ROW row; - bool IdenticalQuestionFound = false; - bool IdenticalAnswers; - unsigned NumQst; - unsigned NumQstsWithThisStem; - unsigned NumOpt; - unsigned NumOptsExistingQstInDB; - long QstCod; - unsigned i; - - /***** Check if stem exists *****/ - NumQstsWithThisStem = - (unsigned) DB_QuerySELECT (&mysql_res_qst,"can not check" - " if a question exists", - "SELECT QstCod FROM tst_questions" - " WHERE CrsCod=%ld AND AnsType='%s' AND Stem='%s'", - Gbl.Hierarchy.Crs.CrsCod, - Tst_StrAnswerTypesDB[Gbl.Test.AnswerType], - Gbl.Test.Stem.Text); - - if (NumQstsWithThisStem) // There are questions in database with the same stem that the one of this question - { - /***** Check if the answer exists in any of the questions with the same stem *****/ - /* For each question with the same stem */ - for (NumQst = 0; - !IdenticalQuestionFound && NumQst < NumQstsWithThisStem; - NumQst++) - { - row = mysql_fetch_row (mysql_res_qst); - if ((QstCod = Str_ConvertStrCodToLongCod (row[0])) < 0) - Lay_ShowErrorAndExit ("Wrong code of question."); - - /* Get answers from this question */ - NumOptsExistingQstInDB = - (unsigned) DB_QuerySELECT (&mysql_res_ans,"can not get the answer" - " of a question", - "SELECT Answer FROM tst_answers" - " WHERE QstCod=%ld ORDER BY AnsInd", - QstCod); - - switch (Gbl.Test.AnswerType) - { - case Tst_ANS_INT: - row = mysql_fetch_row (mysql_res_ans); - IdenticalQuestionFound = (Tst_GetIntAnsFromStr (row[0]) == Gbl.Test.Answer.Integer); - break; - case Tst_ANS_FLOAT: - for (IdenticalAnswers = true, i = 0; - IdenticalAnswers && i < 2; - i++) - { - row = mysql_fetch_row (mysql_res_ans); - IdenticalAnswers = (Str_GetDoubleFromStr (row[0]) == Gbl.Test.Answer.FloatingPoint[i]); - } - IdenticalQuestionFound = IdenticalAnswers; - break; - case Tst_ANS_TRUE_FALSE: - row = mysql_fetch_row (mysql_res_ans); - IdenticalQuestionFound = (Str_ConvertToUpperLetter (row[0][0]) == Gbl.Test.Answer.TF); - break; - case Tst_ANS_UNIQUE_CHOICE: - case Tst_ANS_MULTIPLE_CHOICE: - case Tst_ANS_TEXT: - if (NumOptsExistingQstInDB == Gbl.Test.Answer.NumOptions) - { - for (IdenticalAnswers = true, NumOpt = 0; - IdenticalAnswers && NumOpt < NumOptsExistingQstInDB; - NumOpt++) - { - row = mysql_fetch_row (mysql_res_ans); - - if (strcasecmp (row[0],Gbl.Test.Answer.Options[NumOpt].Text)) - IdenticalAnswers = false; - } - } - else // Different number of answers (options) - IdenticalAnswers = false; - IdenticalQuestionFound = IdenticalAnswers; - break; - default: - break; - } - - /* Free structure that stores the query result for answers */ - DB_FreeMySQLResult (&mysql_res_ans); - } - } - else // Stem does not exist - IdenticalQuestionFound = false; - - /* Free structure that stores the query result for questions */ - DB_FreeMySQLResult (&mysql_res_qst); - - return IdenticalQuestionFound; - } - /*****************************************************************************/ /**************** Get answer inside an XML question elements *****************/ /*****************************************************************************/ diff --git a/swad_text.c b/swad_text.c index 3d0863ed..0d11b685 100644 --- a/swad_text.c +++ b/swad_text.c @@ -115,68 +115,68 @@ const char *Txt_NEW_LINE = "\r\n"; // End of line in a file. If we put only \n t /***** Languages *****/ const char *Txt_STR_LANG_NAME[1 + Lan_NUM_LANGUAGES] = { - "", - "Català", // ca - "Deutsch", // de - "English", // en - "Español", // es - "Français", // fr - "Avañe'ẽ", // gn - "Italiano", // it - "Polski", // pl - "Português", // pt + [Lan_LANGUAGE_UNKNOWN] = "", + [Lan_LANGUAGE_CA ] = "Català", + [Lan_LANGUAGE_DE ] = "Deutsch", + [Lan_LANGUAGE_EN ] = "English", + [Lan_LANGUAGE_ES ] = "Español", + [Lan_LANGUAGE_FR ] = "Français", + [Lan_LANGUAGE_GN ] = "Avañe'ẽ", + [Lan_LANGUAGE_IT ] = "Italiano", + [Lan_LANGUAGE_PL ] = "Polski", + [Lan_LANGUAGE_PT ] = "Português", }; const char *Txt_Do_you_want_to_change_the_language_to_LANGUAGE[1 + Lan_NUM_LANGUAGES] = { - "", - "Voleu canviar l'idioma a català?", // ca - "Wollen Sie die Sprache auf Deutsch umstellen?", // de - "Do you want to change the language to English?", // en - "¿Desea cambiar el idioma a español?", // es - "Voulez-vous changer la langue au français?", // fr - "¿Oipota moambue pe ñe'ẽ pe avañe'ẽ?", // gn - "Vuoi cambiare la lingua in italiano?", // it - "Czy chcesz zmienić język na polski?", // pl - "Você quer mudar o idioma para português?", // pt + [Lan_LANGUAGE_UNKNOWN] = "", + [Lan_LANGUAGE_CA ] = "Voleu canviar l'idioma a català?", + [Lan_LANGUAGE_DE ] = "Wollen Sie die Sprache auf Deutsch umstellen?", + [Lan_LANGUAGE_EN ] = "Do you want to change the language to English?", + [Lan_LANGUAGE_ES ] = "¿Desea cambiar el idioma a español?", + [Lan_LANGUAGE_FR ] = "Voulez-vous changer la langue au français?", + [Lan_LANGUAGE_GN ] = "¿Oipota moambue pe ñe'ẽ pe avañe'ẽ?", + [Lan_LANGUAGE_IT ] = "Vuoi cambiare la lingua in italiano?", + [Lan_LANGUAGE_PL ] = "Czy chcesz zmienić język na polski?", + [Lan_LANGUAGE_PT ] = "Você quer mudar o idioma para português?", }; const char *Txt_Do_you_want_to_change_your_language_to_LANGUAGE[1 + Lan_NUM_LANGUAGES] = { - "", - "Voleu canviar el seu idioma a català?", // ca - "Wollen Sie Ihre Sprache auf Deutsch umstellen?", // de - "Do you want to change your language to English?", // en - "¿Desea cambiar su idioma a español?", // es - "Voulez-vous changer votre langue au français?", // fr - "¿Oipota moambue pe ñe'ẽ pe avañe'ẽ?", // gn - "Vuoi cambiare la tua lingua in italiano?", // it - "Czy chcesz zmienić język na polski?", // pl - "Você quer mudar suo idioma para português?", // pt + [Lan_LANGUAGE_UNKNOWN] = "", + [Lan_LANGUAGE_CA ] = "Voleu canviar el seu idioma a català?", + [Lan_LANGUAGE_DE ] = "Wollen Sie Ihre Sprache auf Deutsch umstellen?", + [Lan_LANGUAGE_EN ] = "Do you want to change your language to English?", + [Lan_LANGUAGE_ES ] = "¿Desea cambiar su idioma a español?", + [Lan_LANGUAGE_FR ] = "Voulez-vous changer votre langue au français?", + [Lan_LANGUAGE_GN ] = "¿Oipota moambue pe ñe'ẽ pe avañe'ẽ?", + [Lan_LANGUAGE_IT ] = "Vuoi cambiare la tua lingua in italiano?", + [Lan_LANGUAGE_PL ] = "Czy chcesz zmienić język na polski?", + [Lan_LANGUAGE_PT ] = "Você quer mudar suo idioma para português?", }; const char *Txt_Switch_to_LANGUAGE[1 + Lan_NUM_LANGUAGES] = { - "", - "Canviar a català", // ca - "Umschalten auf Deutsch", // de - "Switch to English", // en - "Cambiar a español", // es - "Passer au français", // fr - "Moambue pe ñe'ẽ avañe'ẽ", // gn - "Passare a italiano", // it - "Przełącz na polski", // pl - "Mudar para português", // pt + [Lan_LANGUAGE_UNKNOWN] = "", + [Lan_LANGUAGE_CA ] = "Canviar a català", + [Lan_LANGUAGE_DE ] = "Umschalten auf Deutsch", + [Lan_LANGUAGE_EN ] = "Switch to English", + [Lan_LANGUAGE_ES ] = "Cambiar a español", + [Lan_LANGUAGE_FR ] = "Passer au français", + [Lan_LANGUAGE_GN ] = "Moambue pe ñe'ẽ avañe'ẽ", + [Lan_LANGUAGE_IT ] = "Passare a italiano", + [Lan_LANGUAGE_PL ] = "Przełącz na polski", + [Lan_LANGUAGE_PT ] = "Mudar para português", }; const char *Txt_Switching_to_LANGUAGE[1 + Lan_NUM_LANGUAGES] = { - "", - "Canviant a català…", // ca - "Umschaltung auf Deutsch…", // de - "Switching to English…", // en - "Cambiando a español…", // es - "Passant au français…", // fr - "Moambue pe ñe'ẽ avañe'ẽ…", // gn - "Passando a italiano…", // it - "Przełącz na polski…", // pl - "Mudando para português…", // pt + [Lan_LANGUAGE_UNKNOWN] = "", + [Lan_LANGUAGE_CA ] = "Canviant a català…", + [Lan_LANGUAGE_DE ] = "Umschaltung auf Deutsch…", + [Lan_LANGUAGE_EN ] = "Switching to English…", + [Lan_LANGUAGE_ES ] = "Cambiando a español…", + [Lan_LANGUAGE_FR ] = "Passant au français…", + [Lan_LANGUAGE_GN ] = "Moambue pe ñe'ẽ avañe'ẽ…", + [Lan_LANGUAGE_IT ] = "Passando a italiano…", + [Lan_LANGUAGE_PL ] = "Przełącz na polski…", + [Lan_LANGUAGE_PT ] = "Mudando para português…", }; /***** Messages translated (use HTML entities) *****/ @@ -201,7 +201,7 @@ const char *Txt_A_face_marked_in_green_has_been_detected_ = #elif L==5 // fr "Un visage (marqué en vert) a été détecté en position avant" " et l'arrière-plan est assez clair.
" - "Cliquez sur pour confirmer la mise à jour de l'image."; + "Cliquez sur pour confirmer la mise à jour de l'image."; #elif L==6 // gn "Se ha detectado un rostro (señalado en verde) en posición frontal" " y con el fondo suficientemente claro.
" @@ -1591,23 +1591,23 @@ const char *Txt_Announcement_of_exam_removed = const char *Txt_Announcements_of_exams = #if L==1 // ca - "Convocatòries d'exàmens"; + "Convocatòries d'exàmens"; #elif L==2 // de - "Aufrufe für Prüfung"; + "Aufrufe für Prüfung"; #elif L==3 // en - "Announcements of exams"; + "Announcements of exams"; #elif L==4 // es - "Convocatorias de exámenes"; + "Convocatorias de exámenes"; #elif L==5 // fr - "Convocations à examens"; + "Convocations à examens"; #elif L==6 // gn - "Convocatorias de exámenes"; // Okoteve traducción + "Convocatorias de exámenes"; // Okoteve traducción #elif L==7 // it - "Appelli d'esame"; + "Appelli d'esame"; #elif L==8 // pl - "Ogloszenia egzaminów"; + "Ogloszenia egzaminów"; #elif L==9 // pt - "Chamadas para exames"; + "Chamadas para exames"; #endif const char *Txt_Another_centre = @@ -2178,88 +2178,92 @@ const char *Txt_Assignments_and_other_works = #endif const char *Txt_START_END_TIME_HELP[Dat_NUM_START_END_TIME] = - { + { + [Dat_START_TIME] = #if L==1 // ca - "Ordenar per data de començament" + "Ordenar per data de començament" #elif L==2 // de - "Sortieren nach Startdatum" + "Sortieren nach Startdatum" #elif L==3 // en - "Sort by start date" + "Sort by start date" #elif L==4 // es - "Ordenar por fecha de comienzo" + "Ordenar por fecha de comienzo" #elif L==5 // fr - "Trier par date de début" + "Trier par date de début" #elif L==6 // gn - "Ordenar por fecha de comienzo" // Okoteve traducción + "Ordenar por fecha de comienzo" // Okoteve traducción #elif L==7 // it - "Ordina per data di inizio" + "Ordina per data di inizio" #elif L==8 // pl - "Sortuj wedlug daty rozpoczecia" + "Sortuj wedlug daty rozpoczecia" #elif L==9 // pt - "Classificar por data de início" + "Classificar por data de início" #endif - , + , + [Dat_END_TIME] = #if L==1 // ca - "Ordenar per data de finalització" + "Ordenar per data de finalització" #elif L==2 // de - "Sortieren nach Enddatum" + "Sortieren nach Enddatum" #elif L==3 // en - "Sort by end date" + "Sort by end date" #elif L==4 // es - "Ordenar por fecha de finalización" + "Ordenar por fecha de finalización" #elif L==5 // fr - "Trier par date de fin" + "Trier par date de fin" #elif L==6 // gn - "Ordenar por fecha de finalización" // Okoteve traducción + "Ordenar por fecha de finalización" // Okoteve traducción #elif L==7 // it - "Ordina per data di fine" + "Ordina per data di fine" #elif L==8 // pl - "Sortuj wedlug daty zakonczenia" + "Sortuj wedlug daty zakonczenia" #elif L==9 // pt - "Classificar por data de término" + "Classificar por data de término" #endif }; const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME] = - { + { + [Dat_START_TIME] = #if L==1 // ca - "Inici" + "Inici" #elif L==2 // de - "Start" + "Start" #elif L==3 // en - "Start" + "Start" #elif L==4 // es - "Inicio" + "Inicio" #elif L==5 // fr - "Début" + "Début" #elif L==6 // gn - "Ñepyrũ" + "Ñepyrũ" #elif L==7 // it - "Inizio" + "Inizio" #elif L==8 // pl - "Początek" + "Początek" #elif L==9 // pt - "Início" + "Início" #endif - , + , + [Dat_END_TIME] = #if L==1 // ca - "Final" + "Final" #elif L==2 // de - "Ende" + "Ende" #elif L==3 // en - "End" + "End" #elif L==4 // es - "Final" + "Final" #elif L==5 // fr - "Fin" + "Fin" #elif L==6 // gn - "Paha" + "Paha" #elif L==7 // it - "Fine" + "Fine" #elif L==8 // pl - "Koniec" + "Koniec" #elif L==9 // pt - "Fim" + "Fim" #endif }; @@ -2579,45 +2583,47 @@ const char *Txt_Average_number_of_users_belonging_to_a_course = #endif const char *Txt_AVERAGE_PHOTO_TYPES[Pho_NUM_AVERAGE_PHOTO_TYPES] = - { + { + [Pho_PHOTO_MEDIAN_ALL] = #if L==1 // ca - "mitjana de totes les fotos" + "mitjana de totes les fotos" #elif L==2 // de - "Median aller Fotos" + "Median aller Fotos" #elif L==3 // en - "median of all the photos" + "median of all the photos" #elif L==4 // es - "mediana de todas las fotos" + "mediana de todas las fotos" #elif L==5 // fr - "médian de toutes les photos" + "médian de toutes les photos" #elif L==6 // gn - "mediana de todas las fotos" // Okoteve traducción + "mediana de todas las fotos" // Okoteve traducción #elif L==7 // it - "mediana di tutte le foto" + "mediana di tutte le foto" #elif L==8 // pl - "mediana wszystkich zdjec" + "mediana wszystkich zdjec" #elif L==9 // pt - "mediana de todas as fotos" + "mediana de todas as fotos" #endif - , + , + [Pho_PHOTO_AVERAGE_ALL] = #if L==1 // ca - "mitjana aritmètica de totes les fotos" + "mitjana aritmètica de totes les fotos" #elif L==2 // de - "arithmetischer Mittelwert aller Fotos" + "arithmetischer Mittelwert aller Fotos" #elif L==3 // en - "arithmetic mean of all the photos" + "arithmetic mean of all the photos" #elif L==4 // es - "media aritmética de todas las fotos" + "media aritmética de todas las fotos" #elif L==5 // fr - "moyenne arithmétique de toutes les photos" + "moyenne arithmétique de toutes les photos" #elif L==6 // gn - "media aritmética de todas las fotos" // Okoteve traducción + "media aritmética de todas las fotos" // Okoteve traducción #elif L==7 // it - "media aritmetica di tutte le foto" + "media aritmetica di tutte le foto" #elif L==8 // pl - "średnia arytmetyczna wszystkich zdjec" + "średnia arytmetyczna wszystkich zdjec" #elif L==9 // pt - "média aritmética de todas as fotos" + "média aritmética de todas as fotos" #endif }; @@ -3240,85 +3246,89 @@ const char *Txt_Centre_X_removed = // Warning: it is very important to include % #endif const char *Txt_CENTRE_STATUS[Crs_NUM_STATUS_TXT] = - { -#if L==1 // ca // Ctr_STATUS_UNKNOWN - "Desconegudo" + { + [Ctr_STATUS_UNKNOWN] = +#if L==1 // ca + "Desconegudo" #elif L==2 // de - "Unbekannt" + "Unbekannt" #elif L==3 // en - "Unknown" + "Unknown" #elif L==4 // es - "Desconocido" + "Desconocido" #elif L==5 // fr - "Inconnu" + "Inconnu" #elif L==6 // gn - "Desconocido" // Okoteve traducción + "Desconocido" // Okoteve traducción #elif L==7 // it - "Sconosciuto" + "Sconosciuto" #elif L==8 // pl - "Nieznany" + "Nieznany" #elif L==9 // pt - "Desconhecido" + "Desconhecido" #endif - , -#if L==1 // ca // Ctr_STATUS_ACTIVE - "Activo" + , + [Ctr_STATUS_ACTIVE] = +#if L==1 // ca + "Activo" #elif L==2 // de - "Aktive" + "Aktive" #elif L==3 // en - "Active" + "Active" #elif L==4 // es - "Activo" + "Activo" #elif L==5 // fr - "Actif" + "Actif" #elif L==6 // gn - "Activo" // Okoteve traducción + "Activo" // Okoteve traducción #elif L==7 // it - "Attivo" + "Attivo" #elif L==8 // pl - "Aktywne" + "Aktywne" #elif L==9 // pt - "Ativo" + "Ativo" #endif - , -#if L==1 // ca // Ctr_STATUS_PENDING - "Novo" + , + [Ctr_STATUS_PENDING] = +#if L==1 // ca + "Novo" #elif L==2 // de - "Neu" + "Neu" #elif L==3 // en - "New" + "New" #elif L==4 // es - "Nuevo" + "Nuevo" #elif L==5 // fr - "Nouveau" + "Nouveau" #elif L==6 // gn - "Pyahu" + "Pyahu" #elif L==7 // it - "Nuovo" + "Nuovo" #elif L==8 // pl - "Nowy" + "Nowy" #elif L==9 // pt - "Novo" + "Novo" #endif - , -#if L==1 // ca // Ctr_STATUS_REMOVED - "Eliminado" + , + [Ctr_STATUS_REMOVED] = +#if L==1 // ca + "Eliminado" #elif L==2 // de - "Entfernt" + "Entfernt" #elif L==3 // en - "Removed" + "Removed" #elif L==4 // es - "Eliminado" + "Eliminado" #elif L==5 // fr - "Supprimé" + "Supprimé" #elif L==6 // gn - "Eliminado" // Okoteve traducción + "Eliminado" // Okoteve traducción #elif L==7 // it - "Rimosso" + "Rimosso" #elif L==8 // pl - "Usuniete" + "Usuniete" #elif L==9 // pt - "Suprimido" + "Suprimido" #endif }; @@ -3386,45 +3396,47 @@ const char *Txt_centres = #endif const char *Txt_CENTRES_HELP_ORDER[Ctr_NUM_ORDERS] = - { + { + [Ctr_ORDER_BY_CENTRE] = #if L==1 // ca - "Ordenar per centre" + "Ordenar per centre" #elif L==2 // de - "Nach Lehrinstitut Sortieren" + "Nach Lehrinstitut Sortieren" #elif L==3 // en - "Sort by centre" + "Sort by centre" #elif L==4 // es - "Ordenar por centro" + "Ordenar por centro" #elif L==5 // fr - "Trier par centre" + "Trier par centre" #elif L==6 // gn - "Ordenar por centro" // Okoteve traducción + "Ordenar por centro" // Okoteve traducción #elif L==7 // it - "Ordina per centro" + "Ordina per centro" #elif L==8 // pl - "Sortuj centrum" + "Sortuj centrum" #elif L==9 // pt - "Classificar por centro" + "Classificar por centro" #endif - , + , + [Ctr_ORDER_BY_NUM_USRS] = #if L==1 // ca - "Ordenar per nº d'usuaris" + "Ordenar per nº d'usuaris" #elif L==2 // de - "Nach Anzahl der Benutzer sortieren" + "Nach Anzahl der Benutzer sortieren" #elif L==3 // en - "Sort by no. of users" + "Sort by no. of users" #elif L==4 // es - "Ordenar por nº de usuarios" + "Ordenar por nº de usuarios" #elif L==5 // fr - "Trier par nombre d'utilisateurs" + "Trier par nombre d'utilisateurs" #elif L==6 // gn - "Ordenar por nº de usuarios" // Okoteve traducción + "Ordenar por nº de usuarios" // Okoteve traducción #elif L==7 // it - "Ordina per numero di utenti" + "Ordina per numero di utenti" #elif L==8 // pl - "Sortuj wedlug liczby uzytkownikow" + "Sortuj wedlug liczby uzytkownikow" #elif L==9 // pt - "Classificar por nº de utilizadores" + "Classificar por nº de utilizadores" #endif }; @@ -3450,45 +3462,47 @@ const char *Txt_Centres_of_INSTITUTION_X = // Warning: it is very important to i #endif const char *Txt_CENTRES_ORDER[Ctr_NUM_ORDERS] = - { + { + [Ctr_ORDER_BY_CENTRE] = #if L==1 // ca - "Centre" + "Centre" #elif L==2 // de - "Lehrinstitut" + "Lehrinstitut" #elif L==3 // en - "Centre" + "Centre" #elif L==4 // es - "Centro" + "Centro" #elif L==5 // fr - "Centre" + "Centre" #elif L==6 // gn - "Mbo'ehao" + "Mbo'ehao" #elif L==7 // it - "Centro" + "Centro" #elif L==8 // pl - "Centrum" + "Centrum" #elif L==9 // pt - "Centro" + "Centro" #endif - , + , + [Ctr_ORDER_BY_NUM_USRS] = #if L==1 // ca - "Usuaris del centre" + "Usuaris del centre" #elif L==2 // de - "Benutzer der Lehrinstitut" + "Benutzer der Lehrinstitut" #elif L==3 // en - "Users of the centre" + "Users of the centre" #elif L==4 // es - "Usuarios del centro" + "Usuarios del centro" #elif L==5 // fr - "Utilisateurs du centre" + "Utilisateurs du centre" #elif L==6 // gn - "Usuarios del centro" // Okoteve traducción + "Usuarios del centro" // Okoteve traducción #elif L==7 // it - "Utenti del centro" + "Utenti del centro" #elif L==8 // pl - "Użytkownicy centrum" + "Użytkownicy centrum" #elif L==9 // pt - "Utilizadores do centro" + "Utilizadores do centro" #endif }; @@ -3871,130 +3885,137 @@ const char *Txt_Classroom_X_removed = // Warning: it is very important to includ #endif const char *Txt_CLASSROOMS_HELP_ORDER[Cla_NUM_ORDERS] = - { // Cla_ORDER_BY_SHRT_NAME + { + [Cla_ORDER_BY_SHRT_NAME] = #if L==1 // ca - "Ordenar per nom breu" + "Ordenar per nom breu" #elif L==2 // de - "Nach Kurzname sortieren" + "Nach Kurzname sortieren" #elif L==3 // en - "Sort by short name" + "Sort by short name" #elif L==4 // es - "Ordenar por nombre breve" + "Ordenar por nombre breve" #elif L==5 // fr - "Trier par nom abrégé" + "Trier par nom abrégé" #elif L==6 // gn - "Ordenar por nombre breve" // Okoteve traducción + "Ordenar por nombre breve" // Okoteve traducción #elif L==7 // it - "Ordina per nome breve" + "Ordina per nome breve" #elif L==8 // pl - "Sortuj według krótkiej nazwy" + "Sortuj według krótkiej nazwy" #elif L==9 // pt - "Classificar por nome abreviado" + "Classificar por nome abreviado" #endif - , // Cla_ORDER_BY_FULL_NAME + , + [Cla_ORDER_BY_FULL_NAME] = #if L==1 // ca - "Ordenar per nom complet" + "Ordenar per nom complet" #elif L==2 // de - "Nach vollständiger Name sortieren" + "Nach vollständiger Name sortieren" #elif L==3 // en - "Sort by full name" + "Sort by full name" #elif L==4 // es - "Ordenar por nombre completo" + "Ordenar por nombre completo" #elif L==5 // fr - "Trier par nom complet" + "Trier par nom complet" #elif L==6 // gn - "Ordenar por nombre completo" // Okoteve traducción + "Ordenar por nombre completo" // Okoteve traducción #elif L==7 // it - "Ordina per nome completo" + "Ordina per nome completo" #elif L==8 // pl - "Sortuj według pełna nazwa" + "Sortuj według pełna nazwa" #elif L==9 // pt - "Classificar por nome completo" + "Classificar por nome completo" #endif - , // Cla_ORDER_BY_CAPACITY + , + [Cla_ORDER_BY_CAPACITY] = #if L==1 // ca - "Ordenar per aforo" + "Ordenar per aforo" #elif L==2 // de - "Sortieren nach Sitzplatzkapazität" + "Sortieren nach Sitzplatzkapazität" #elif L==3 // en - "Sort by seating capacity" + "Sort by seating capacity" #elif L==4 // es - "Ordenar por aforo" + "Ordenar por aforo" #elif L==5 // fr - "Trier par nombre de places" + "Trier par nombre de places" #elif L==6 // gn - "Ordenar por aforo" // Okoteve traducción + "Ordenar por aforo" // Okoteve traducción #elif L==7 // it - "Ordina per capacità di posti" + "Ordina per capacità di posti" #elif L==8 // pl - "Sortuj wed&lsgtrok;ug pojemności miejsc" + "Sortuj wed&lsgtrok;ug pojemności miejsc" #elif L==9 // pt - "Ordenar por capacidade" + "Ordenar por capacidade" #endif - , // Cla_ORDER_BY_LOCATION + , + [Cla_ORDER_BY_LOCATION] = #if L==1 // ca - "Ordenar per ubicació" + "Ordenar per ubicació" #elif L==2 // de - "Nach Standort sortieren" + "Nach Standort sortieren" #elif L==3 // en - "Sort by location" + "Sort by location" #elif L==4 // es - "Ordenar por ubicación" + "Ordenar por ubicación" #elif L==5 // fr - "Trier par emplacement" + "Trier par emplacement" #elif L==6 // gn - "Ordenar por ubicación" // Okoteve traducción + "Ordenar por ubicación" // Okoteve traducción #elif L==7 // it - "Ordina per posizione" + "Ordina per posizione" #elif L==8 // pl - "Sortuj według lokacja" + "Sortuj według lokacja" #elif L==9 // pt - "Classificar por localização" + "Classificar por localização" #endif - }; + }; const char *Txt_CLASSROOMS_ORDER[Cla_NUM_ORDERS] = - { // Cla_ORDER_BY_SHRT_NAME + { + [Cla_ORDER_BY_SHRT_NAME] = #if L==1 // ca - "Nom breu" + "Nom breu" #elif L==2 // de - "Kurzname" + "Kurzname" #elif L==3 // en - "Short name" + "Short name" #elif L==4 // es - "Nombre breve" + "Nombre breve" #elif L==5 // fr - "Nom abrégé" + "Nom abrégé" #elif L==6 // gn - "Nombre breve" // Okoteve traducción + "Nombre breve" // Okoteve traducción #elif L==7 // it - "Nome breve" + "Nome breve" #elif L==8 // pl - "Krótkiej nazwy" + "Krótkiej nazwy" #elif L==9 // pt - "Nome abreviado" + "Nome abreviado" #endif - , // Cla_ORDER_BY_FULL_NAME + , + [Cla_ORDER_BY_FULL_NAME] = #if L==1 // ca - "Nom complet" + "Nom complet" #elif L==2 // de - "Vollständiger Name" + "Vollständiger Name" #elif L==3 // en - "Full name" + "Full name" #elif L==4 // es - "Nombre completo" + "Nombre completo" #elif L==5 // fr - "Nom complet" + "Nom complet" #elif L==6 // gn - "Nombre completo" // Okoteve traducción + "Nombre completo" // Okoteve traducción #elif L==7 // it - "Nome completo" + "Nome completo" #elif L==8 // pl - "Pełna nazwa" + "Pełna nazwa" #elif L==9 // pt - "Nome completo" + "Nome completo" #endif - , // Cla_ORDER_BY_CAPACITY + , + [Cla_ORDER_BY_CAPACITY] = #if L==1 // ca "Aforo" #elif L==2 // de @@ -4014,7 +4035,8 @@ const char *Txt_CLASSROOMS_ORDER[Cla_NUM_ORDERS] = #elif L==9 // pt "Capacidade" #endif - , // // Cla_ORDER_BY_LOCATION + , + [Cla_ORDER_BY_LOCATION] = #if L==1 // ca "Ubicació" #elif L==2 // de @@ -4881,45 +4903,47 @@ const char *Txt_countries = #endif const char *Txt_COUNTRIES_HELP_ORDER[Cty_NUM_ORDERS] = - { + { + [Cty_ORDER_BY_COUNTRY] = #if L==1 // ca - "Ordenar por país" // Necessita traduccio + "Ordenar por país" // Necessita traduccio #elif L==2 // de - "Nach Land sortieren" + "Nach Land sortieren" #elif L==3 // en - "Sort by country" + "Sort by country" #elif L==4 // es - "Ordenar por país" + "Ordenar por país" #elif L==5 // fr - "Trier par pays" + "Trier par pays" #elif L==6 // gn - "Ordenar por país" // Okoteve traducción + "Ordenar por país" // Okoteve traducción #elif L==7 // it - "Ordina per paese" + "Ordina per paese" #elif L==8 // pl - "Sortuj wedlug kraju" + "Sortuj wedlug kraju" #elif L==9 // pt - "Classificar por país" + "Classificar por país" #endif - , + , + [Cty_ORDER_BY_NUM_USRS] = #if L==1 // ca - "Ordenar per nº d'usuaris" + "Ordenar per nº d'usuaris" #elif L==2 // de - "Nach Anzahl der Benutzer sortieren" + "Nach Anzahl der Benutzer sortieren" #elif L==3 // en - "Sort by no. of users" + "Sort by no. of users" #elif L==4 // es - "Ordenar por nº de usuarios" + "Ordenar por nº de usuarios" #elif L==5 // fr - "Trier par nombre d'utilisateurs" + "Trier par nombre d'utilisateurs" #elif L==6 // gn - "Ordenar por nº de usuarios" // Okoteve traducción + "Ordenar por nº de usuarios" // Okoteve traducción #elif L==7 // it - "Ordina per numero di utenti" + "Ordina per numero di utenti" #elif L==8 // pl - "Sortuj wedlug liczby uzytkownikow" + "Sortuj wedlug liczby uzytkownikow" #elif L==9 // pt - "Classificar por nº de utilizadores" + "Classificar por nº de utilizadores" #endif }; @@ -4945,45 +4969,47 @@ const char *Txt_Countries_with_pending_institutions = #endif const char *Txt_COUNTRIES_ORDER[Cty_NUM_ORDERS] = - { + { + [Cty_ORDER_BY_COUNTRY] = #if L==1 // ca - "País" + "País" #elif L==2 // de - "Land" + "Land" #elif L==3 // en - "Country" + "Country" #elif L==4 // es - "País" + "País" #elif L==5 // fr - "Pays" + "Pays" #elif L==6 // gn - "Tetã" + "Tetã" #elif L==7 // it - "Paese" + "Paese" #elif L==8 // pl - "Kraj" + "Kraj" #elif L==9 // pt - "País" + "País" #endif - , + , + [Cty_ORDER_BY_NUM_USRS] = #if L==1 // ca - "Usuaris del país" + "Usuaris del país" #elif L==2 // de - "Benutzer des Landes" + "Benutzer des Landes" #elif L==3 // en - "Users of the country" + "Users of the country" #elif L==4 // es - "Usuarios del país" + "Usuarios del país" #elif L==5 // fr - "Utilisateurs du pays" + "Utilisateurs du pays" #elif L==6 // gn - "Usuarios del país" // Okoteve traducción + "Usuarios del país" // Okoteve traducción #elif L==7 // it - "Utenti del paese" + "Utenti del paese" #elif L==8 // pl - "Użytkownicy kraju" + "Użytkownicy kraju" #elif L==9 // pt - "Utilizadores do país" + "Utilizadores do país" #endif }; @@ -5114,85 +5140,89 @@ const char *Txt_course = #endif const char *Txt_COURSE_STATUS[Crs_NUM_STATUS_TXT] = - { -#if L==1 // ca // Crs_STATUS_UNKNOWN - "Desconegudo" + { + [Crs_STATUS_UNKNOWN] = +#if L==1 // ca + "Desconegudo" #elif L==2 // de - "Unbekannt" + "Unbekannt" #elif L==3 // en - "Unknown" + "Unknown" #elif L==4 // es - "Desconocido" + "Desconocido" #elif L==5 // fr - "Inconnu" + "Inconnu" #elif L==6 // gn - "Desconocido" // Okoteve traducción + "Desconocido" // Okoteve traducción #elif L==7 // it - "Sconosciuto" + "Sconosciuto" #elif L==8 // pl - "Nieznany" + "Nieznany" #elif L==9 // pt - "Desconhecido" + "Desconhecido" #endif - , -#if L==1 // ca // Crs_STATUS_ACTIVE - "Activa" + , + [Crs_STATUS_ACTIVE] = +#if L==1 // ca + "Activa" #elif L==2 // de - "Aktive" + "Aktive" #elif L==3 // en - "Active" + "Active" #elif L==4 // es - "Activa" + "Activa" #elif L==5 // fr - "Actif" + "Actif" #elif L==6 // gn - "Activa" // Okoteve traducción + "Activa" // Okoteve traducción #elif L==7 // it - "Attivo" + "Attivo" #elif L==8 // pl - "Aktywne" + "Aktywne" #elif L==9 // pt - "Ativa" + "Ativa" #endif - , -#if L==1 // ca // Crs_STATUS_PENDING - "Nova" + , + [Crs_STATUS_PENDING] = +#if L==1 // ca + "Nova" #elif L==2 // de - "Neu" + "Neu" #elif L==3 // en - "New" + "New" #elif L==4 // es - "Nueva" + "Nueva" #elif L==5 // fr - "Nouvelle" + "Nouvelle" #elif L==6 // gn - "Pyahu" + "Pyahu" #elif L==7 // it - "Nuovo" + "Nuovo" #elif L==8 // pl - "Nowy" + "Nowy" #elif L==9 // pt - "Nova" + "Nova" #endif - , -#if L==1 // ca // Crs_STATUS_REMOVED - "Eliminada" + , + [Crs_STATUS_REMOVED] = +#if L==1 // ca + "Eliminada" #elif L==2 // de - "Entfernt" + "Entfernt" #elif L==3 // en - "Removed" + "Removed" #elif L==4 // es - "Eliminada" + "Eliminada" #elif L==5 // fr - "Supprimé" + "Supprimé" #elif L==6 // gn - "Eliminada" // Okoteve traducción + "Eliminada" // Okoteve traducción #elif L==7 // it - "Rimosso" + "Rimosso" #elif L==8 // pl - "Usuniete" + "Usuniete" #elif L==9 // pt - "Suprimida" + "Suprimida" #endif }; @@ -6961,288 +6991,288 @@ const char *Txt_days = #endif const char *Txt_DAYS_CAPS[7] = - { + { #if L==1 // ca - "DILLUNS" + "DILLUNS" #elif L==2 // de - "MONTAG" + "MONTAG" #elif L==3 // en - "MONDAY" + "MONDAY" #elif L==4 // es - "LUNES" + "LUNES" #elif L==5 // fr - "LUNDI" + "LUNDI" #elif L==6 // gn - "ARAKOI" + "ARAKOI" #elif L==7 // it - "LUNEDÌ" + "LUNEDÌ" #elif L==8 // pl - "Poniedzialek" + "Poniedzialek" #elif L==9 // pt - "SEGUNDA-FEIRA" + "SEGUNDA-FEIRA" #endif - , + , #if L==1 // ca - "DIMARTS" + "DIMARTS" #elif L==2 // de - "DIENSTAG" + "DIENSTAG" #elif L==3 // en - "TUESDAY" + "TUESDAY" #elif L==4 // es - "MARTES" + "MARTES" #elif L==5 // fr - "MARDI" + "MARDI" #elif L==6 // gn - "ARAAPY" + "ARAAPY" #elif L==7 // it - "MARTEDÌ" + "MARTEDÌ" #elif L==8 // pl - "Wtorek" + "Wtorek" #elif L==9 // pt - "TERÇA-FEIRA" + "TERÇA-FEIRA" #endif - , + , #if L==1 // ca - "DIMECRES" + "DIMECRES" #elif L==2 // de - "MITTWOCH" + "MITTWOCH" #elif L==3 // en - "WEDNESDAY" + "WEDNESDAY" #elif L==4 // es - "MIÉRCOLES" + "MIÉRCOLES" #elif L==5 // fr - "MERCREDI" + "MERCREDI" #elif L==6 // gn - "ARARUNDY" + "ARARUNDY" #elif L==7 // it - "MERCOLEDÌ" + "MERCOLEDÌ" #elif L==8 // pl - "Sroda" + "Sroda" #elif L==9 // pt - "QUARTA-FEIRA" + "QUARTA-FEIRA" #endif - , + , #if L==1 // ca - "DIJOUS" + "DIJOUS" #elif L==2 // de - "DONNERSTAG" + "DONNERSTAG" #elif L==3 // en - "THURSDAY" + "THURSDAY" #elif L==4 // es - "JUEVES" + "JUEVES" #elif L==5 // fr - "JEUDI" + "JEUDI" #elif L==6 // gn - "ARAPO" + "ARAPO" #elif L==7 // it - "GIOVEDÌ" + "GIOVEDÌ" #elif L==8 // pl - "Czwartek" + "Czwartek" #elif L==9 // pt - "QUINTA-FEIRA" + "QUINTA-FEIRA" #endif - , + , #if L==1 // ca - "DIVENDRES" + "DIVENDRES" #elif L==2 // de - "FREITAG" + "FREITAG" #elif L==3 // en - "FRIDAY" + "FRIDAY" #elif L==4 // es - "VIERNES" + "VIERNES" #elif L==5 // fr - "VENDREDI" + "VENDREDI" #elif L==6 // gn - "ARAPOTEĨ" + "ARAPOTEĨ" #elif L==7 // it - "VENERDÌ" + "VENERDÌ" #elif L==8 // pl - "Piatek" + "Piatek" #elif L==9 // pt - "SEXTA-FEIRA" + "SEXTA-FEIRA" #endif - , + , #if L==1 // ca - "DISSABTE" + "DISSABTE" #elif L==2 // de - "SAMSTAG" + "SAMSTAG" #elif L==3 // en - "SATURDAY" + "SATURDAY" #elif L==4 // es - "SÁBADO" + "SÁBADO" #elif L==5 // fr - "SAMEDI" + "SAMEDI" #elif L==6 // gn - "ARAPOKÕI" + "ARAPOKÕI" #elif L==7 // it - "SABATO" + "SABATO" #elif L==8 // pl - "Sobota" + "Sobota" #elif L==9 // pt - "SABADO" + "SABADO" #endif - , + , #if L==1 // ca - "DIUMENGE" + "DIUMENGE" #elif L==2 // de - "SONNTAG" + "SONNTAG" #elif L==3 // en - "SUNDAY" + "SUNDAY" #elif L==4 // es - "DOMINGO" + "DOMINGO" #elif L==5 // fr - "DIMANCHE" + "DIMANCHE" #elif L==6 // gn - "ARATEĨ" + "ARATEĨ" #elif L==7 // it - "DOMENICA" + "DOMENICA" #elif L==8 // pl - "Niedziela" + "Niedziela" #elif L==9 // pt - "DOMINGO" + "DOMINGO" #endif }; const char *Txt_DAYS_SMALL[7] = - { + { #if L==1 // ca - "dilluns" + "dilluns" #elif L==2 // de - "Montag" + "Montag" #elif L==3 // en - "Monday" + "Monday" #elif L==4 // es - "lunes" + "lunes" #elif L==5 // fr - "Lundi" + "Lundi" #elif L==6 // gn - "arakõi" + "arakõi" #elif L==7 // it - "Lunedì" + "Lunedì" #elif L==8 // pl - "Poniedzialek" + "Poniedzialek" #elif L==9 // pt - "Segunda-feira" + "Segunda-feira" #endif - , + , #if L==1 // ca - "dimarts" + "dimarts" #elif L==2 // de - "Dienstag" + "Dienstag" #elif L==3 // en - "Tuesday" + "Tuesday" #elif L==4 // es - "martes" + "martes" #elif L==5 // fr - "Mardi" + "Mardi" #elif L==6 // gn - "araapy" + "araapy" #elif L==7 // it - "Martedì" + "Martedì" #elif L==8 // pl - "Wtorek" + "Wtorek" #elif L==9 // pt - "Terça-feira" + "Terça-feira" #endif - , + , #if L==1 // ca - "dimecres" + "dimecres" #elif L==2 // de - "Mittwoch" + "Mittwoch" #elif L==3 // en - "Wednesday" + "Wednesday" #elif L==4 // es - "miércoles" + "miércoles" #elif L==5 // fr - "Mercredi" + "Mercredi" #elif L==6 // gn - "ararundy" + "ararundy" #elif L==7 // it - "Mercoledì" + "Mercoledì" #elif L==8 // pl - "Sroda" + "Sroda" #elif L==9 // pt - "Quarta-feira" + "Quarta-feira" #endif - , + , #if L==1 // ca - "dijous" + "dijous" #elif L==2 // de - "Donnerstag" + "Donnerstag" #elif L==3 // en - "Thursday" + "Thursday" #elif L==4 // es - "jueves" + "jueves" #elif L==5 // fr - "Jeudi" + "Jeudi" #elif L==6 // gn - "arapo" + "arapo" #elif L==7 // it - "Giovedì" + "Giovedì" #elif L==8 // pl - "Czwartek" + "Czwartek" #elif L==9 // pt - "Quinta-feira" + "Quinta-feira" #endif - , + , #if L==1 // ca - "divendres" + "divendres" #elif L==2 // de - "Freitag" + "Freitag" #elif L==3 // en - "Friday" + "Friday" #elif L==4 // es - "viernes" + "viernes" #elif L==5 // fr - "Vendredi" + "Vendredi" #elif L==6 // gn - "arapoteĩ" + "arapoteĩ" #elif L==7 // it - "Venerdì" + "Venerdì" #elif L==8 // pl - "Piatek" + "Piatek" #elif L==9 // pt - "Sexta-feira" + "Sexta-feira" #endif - , + , #if L==1 // ca - "dissabte" + "dissabte" #elif L==2 // de - "Samstag" + "Samstag" #elif L==3 // en - "Saturday" + "Saturday" #elif L==4 // es - "sábado" + "sábado" #elif L==5 // fr - "Samedi" + "Samedi" #elif L==6 // gn - "arapokõi" + "arapokõi" #elif L==7 // it - "Sabato" + "Sabato" #elif L==8 // pl - "Sobota" + "Sobota" #elif L==9 // pt - "Sabado" + "Sabado" #endif - , + , #if L==1 // ca - "diumenge" + "diumenge" #elif L==2 // de - "Sonntag" + "Sonntag" #elif L==3 // en - "Sunday" + "Sunday" #elif L==4 // es - "domingo" + "domingo" #elif L==5 // fr - "Dimanche" + "Dimanche" #elif L==6 // gn - "arateĩ" + "arateĩ" #elif L==7 // it - "Domenica" + "Domenica" #elif L==8 // pl - "Niedziela" + "Niedziela" #elif L==9 // pt - "Domingo" + "Domingo" #endif }; @@ -7331,133 +7361,140 @@ const char *Txt_degree = #endif const char *Txt_DEGREE_STATUS[Deg_NUM_STATUS_TXT] = - { -#if L==1 // ca // Deg_STATUS_UNKNOWN - "Desconegudo" + { + [Deg_STATUS_UNKNOWN] = +#if L==1 // ca + "Desconegudo" #elif L==2 // de - "Unbekannt" + "Unbekannt" #elif L==3 // en - "Unknown" + "Unknown" #elif L==4 // es - "Desconocido" + "Desconocido" #elif L==5 // fr - "Inconnu" + "Inconnu" #elif L==6 // gn - "Desconocido" // Okoteve traducción + "Desconocido" // Okoteve traducción #elif L==7 // it - "Sconosciuto" + "Sconosciuto" #elif L==8 // pl - "Nieznany" + "Nieznany" #elif L==9 // pt - "Desconhecido" + "Desconhecido" #endif - , -#if L==1 // ca // Deg_STATUS_ACTIVE - "Activa" + , + [Deg_STATUS_ACTIVE] = +#if L==1 // ca + "Activa" #elif L==2 // de - "Aktive" + "Aktive" #elif L==3 // en - "Active" + "Active" #elif L==4 // es - "Activa" + "Activa" #elif L==5 // fr - "Actif" + "Actif" #elif L==6 // gn - "Activa" // Okoteve traducción + "Activa" // Okoteve traducción #elif L==7 // it - "Attiva" + "Attiva" #elif L==8 // pl - "Aktywne" + "Aktywne" #elif L==9 // pt - "Ativa" + "Ativa" #endif - , -#if L==1 // ca // Deg_STATUS_PENDING - "Nova" + , + [Deg_STATUS_PENDING] = +#if L==1 // ca + "Nova" #elif L==2 // de - "Neu" + "Neu" #elif L==3 // en - "New" + "New" #elif L==4 // es - "Nueva" + "Nueva" #elif L==5 // fr - "Nouveau" + "Nouveau" #elif L==6 // gn - "Pyahu" + "Pyahu" #elif L==7 // it - "Nuovo" + "Nuovo" #elif L==8 // pl - "Nowy" + "Nowy" #elif L==9 // pt - "Nova" + "Nova" #endif - , -#if L==1 // ca // Deg_STATUS_REMOVED - "Eliminada" + , + [Deg_STATUS_REMOVED] = +#if L==1 // ca + "Eliminada" #elif L==2 // de - "Entfernt" + "Entfernt" #elif L==3 // en - "Removed" + "Removed" #elif L==4 // es - "Eliminada" + "Eliminada" #elif L==5 // fr - "Supprimé" + "Supprimé" #elif L==6 // gn - "Eliminada" // Okoteve traducción + "Eliminada" // Okoteve traducción #elif L==7 // it - "Rimossa" + "Rimossa" #elif L==8 // pl - "Usuniete" + "Usuniete" #elif L==9 // pt - "Suprimida" + "Suprimida" #endif }; const char *Txt_DEGREE_TYPES_HELP_ORDER[DT_NUM_ORDERS] = { + [DT_ORDER_BY_DEGREE_TYPE] = #if L==1 // ca - "Ordenar por tipus de titulació" + "Ordenar por tipus de titulació" #elif L==2 // de - "Nach Art des Grades sortieren" + "Nach Art des Grades sortieren" #elif L==3 // en - "Sort by type of degree" + "Sort by type of degree" #elif L==4 // es - "Ordenar por tipo de titulación" + "Ordenar por tipo de titulación" #elif L==5 // fr - "Trier par type d'étude" + "Trier par type d'étude" #elif L==6 // gn - "Ordenar por tipo de titulación" // Okoteve traducción + "Ordenar por tipo de titulación" // Okoteve traducción #elif L==7 // it - "Ordina per tipo di laurea" + "Ordina per tipo di laurea" #elif L==8 // pl - "Sortuj według rodzaju stopnia" + "Sortuj według rodzaju stopnia" #elif L==9 // pt - "Classificar por tipo de grau" + "Classificar por tipo de grau" #endif - , + , + [DT_ORDER_BY_NUM_DEGREES] = #if L==1 // ca - "Ordenar per nombre de titulacions" + "Ordenar per nombre de titulacions" #elif L==2 // de - "Nach Anzahl der Studiengänge sortieren" + "Nach Anzahl der Studiengänge sortieren" #elif L==3 // en - "Sort by no. of degrees" + "Sort by no. of degrees" #elif L==4 // es - "Ordenar por nº de titulaciones" + "Ordenar por nº de titulaciones" #elif L==5 // fr - "Trier par nombre d'études" + "Trier par nombre d'études" #elif L==6 // gn - "Ordenar por nº de titulaciones" // Okoteve traducción + "Ordenar por nº de titulaciones" // Okoteve traducción #elif L==7 // it - "Ordina per numero di lauree" + "Ordina per numero di lauree" #elif L==8 // pl - "Sortuj wedlug stopni" + "Sortuj wedlug stopni" #elif L==9 // pt - "Classificar por nº de graus" + "Classificar por nº de graus" #endif }; const char *Txt_DEGREE_TYPES_ORDER[DT_NUM_ORDERS] = { + [DT_ORDER_BY_DEGREE_TYPE] = #if L==1 // ca "Tipus de titulació" #elif L==2 // de @@ -7477,7 +7514,8 @@ const char *Txt_DEGREE_TYPES_ORDER[DT_NUM_ORDERS] = #elif L==9 // pt "Tipos de grau" #endif - , + , + [DT_ORDER_BY_NUM_DEGREES] = #if L==1 // ca "Titulacions" #elif L==2 // de @@ -7857,88 +7895,92 @@ const char *Txt_Departments_ABBREVIATION = #endif const char *Txt_DEPARTMENTS_HELP_ORDER[Dpt_NUM_ORDERS] = - { + { + [Dpt_ORDER_BY_DEPARTMENT] = #if L==1 // ca - "Ordenar por departamento" // Necessita traduccio + "Ordenar por departamento" // Necessita traduccio #elif L==2 // de - "Sortieren nach Abteilung" + "Sortieren nach Abteilung" #elif L==3 // en - "Sort by department" + "Sort by department" #elif L==4 // es - "Ordenar por departamento" + "Ordenar por departamento" #elif L==5 // fr - "Trier par département" + "Trier par département" #elif L==6 // gn - "Ordenar por departamento" // Okoteve traducción + "Ordenar por departamento" // Okoteve traducción #elif L==7 // it - "Ordina per dipartimento" + "Ordina per dipartimento" #elif L==8 // pl - "Sortuj wedlug dzialów" + "Sortuj wedlug dzialów" #elif L==9 // pt - "Classificar por departamento" + "Classificar por departamento" #endif - , + , + [Dpt_ORDER_BY_NUM_TCHS] = #if L==1 // ca - "Ordenar por nº de profesores" // Necessita traduccio + "Ordenar por nº de profesores" // Necessita traduccio #elif L==2 // de - "Sortieren nach Anzahl der Lehrkräfte" + "Sortieren nach Anzahl der Lehrkräfte" #elif L==3 // en - "Sort by no. of teachers" + "Sort by no. of teachers" #elif L==4 // es - "Ordenar por nº de profesores" + "Ordenar por nº de profesores" #elif L==5 // fr - "Trier par nombre d'enseignants" + "Trier par nombre d'enseignants" #elif L==6 // gn - "Ordenar por nº de profesores" // Okoteve traducción + "Ordenar por nº de profesores" // Okoteve traducción #elif L==7 // it - "Ordina per numero di professori" + "Ordina per numero di professori" #elif L==8 // pl - "Sortuj wedlug liczby nauczycieli" + "Sortuj wedlug liczby nauczycieli" #elif L==9 // pt - "Classificar por nº de professores" + "Classificar por nº de professores" #endif }; const char *Txt_DEPARTMENTS_ORDER[Dpt_NUM_ORDERS] = - { + { + [Dpt_ORDER_BY_DEPARTMENT] = #if L==1 // ca - "Departament" + "Departament" #elif L==2 // de - "Abteilung" + "Abteilung" #elif L==3 // en - "Department" + "Department" #elif L==4 // es - "Departamento" + "Departamento" #elif L==5 // fr - "Département" + "Département" #elif L==6 // gn - "Pehẽ" + "Pehẽ" #elif L==7 // it - "Dipartimento" + "Dipartimento" #elif L==8 // pl - "Wydział" + "Wydział" #elif L==9 // pt - "Departamento" + "Departamento" #endif - , + , + [Dpt_ORDER_BY_NUM_TCHS] = #if L==1 // ca - "Professors" + "Professors" #elif L==2 // de - "Lehrkräfte" + "Lehrkräfte" #elif L==3 // en - "Teachers" + "Teachers" #elif L==4 // es - "Profesores" + "Profesores" #elif L==5 // fr - "Enseignants" + "Enseignants" #elif L==6 // gn - "Profesores" // Okoteve traducción + "Profesores" // Okoteve traducción #elif L==7 // it - "Professori" + "Professori" #elif L==8 // pl - "Nauczycieli" + "Nauczycieli" #elif L==9 // pt - "Professores" + "Professores" #endif }; @@ -10381,128 +10423,134 @@ const char *Txt_Email_domains_allowed_for_notifications = #endif const char *Txt_EMAIL_DOMAIN_HELP_ORDER[Mai_NUM_ORDERS] = - { + { + [Mai_ORDER_BY_DOMAIN] = #if L==1 // ca - "Ordenar por dominio de correo" // Necessita traduccio + "Ordenar por dominio de correo" // Necessita traduccio #elif L==2 // de - "Nach E-Mail-Domäne sortieren" + "Nach E-Mail-Domäne sortieren" #elif L==3 // en - "Sort by email domain" + "Sort by email domain" #elif L==4 // es - "Ordenar por dominio de correo" + "Ordenar por dominio de correo" #elif L==5 // fr - "Trier par domaine de messagerie" + "Trier par domaine de messagerie" #elif L==6 // gn - "Ordenar por dominio de correo" // Okoteve traducción + "Ordenar por dominio de correo" // Okoteve traducción #elif L==7 // it - "Ordina per campo mail" + "Ordina per campo mail" #elif L==8 // pl - "Sortuj wedlug domeny poczty" + "Sortuj wedlug domeny poczty" #elif L==9 // pt - "Classificar por domínio de email" + "Classificar por domínio de email" #endif - , + , + [Mai_ORDER_BY_INFO] = #if L==1 // ca - "Ordenar por información" // Necessita traduccio + "Ordenar por información" // Necessita traduccio #elif L==2 // de - "Nach Information sortieren" + "Nach Information sortieren" #elif L==3 // en - "Sort by information" + "Sort by information" #elif L==4 // es - "Ordenar por información" + "Ordenar por información" #elif L==5 // fr - "Trier par information" + "Trier par information" #elif L==6 // gn - "Ordenar por información" // Okoteve traducción + "Ordenar por información" // Okoteve traducción #elif L==7 // it - "Ordina per informazione" + "Ordina per informazione" #elif L==8 // pl - "Sortuj wedlug informacji" + "Sortuj wedlug informacji" #elif L==9 // pt - "Classificar por informação" + "Classificar por informação" #endif - , + , + [Mai_ORDER_BY_USERS] = #if L==1 // ca - "Ordenar por nº de usuarios" // Necessita traduccio + "Ordenar por nº de usuarios" // Necessita traduccio #elif L==2 // de - "Nach Anzahl der Benutzer sortieren" + "Nach Anzahl der Benutzer sortieren" #elif L==3 // en - "Sort by no. of users" + "Sort by no. of users" #elif L==4 // es - "Ordenar por nº de usuarios" + "Ordenar por nº de usuarios" #elif L==5 // fr - "Trier par nombre d'utilisateurs" + "Trier par nombre d'utilisateurs" #elif L==6 // gn - "Ordenar por nº de usuarios" // Okoteve traducción + "Ordenar por nº de usuarios" // Okoteve traducción #elif L==7 // it - "Ordina per numero di utenti" + "Ordina per numero di utenti" #elif L==8 // pl - "Sortuj wedlug numerow uzytkownikow" + "Sortuj wedlug numerow uzytkownikow" #elif L==9 // pt - "Classificar por nº de utilizadores" + "Classificar por nº de utilizadores" #endif }; const char *Txt_EMAIL_DOMAIN_ORDER[Mai_NUM_ORDERS] = - { + { + [Mai_ORDER_BY_DOMAIN] = #if L==1 // ca - "Domini de correu" + "Domini de correu" #elif L==2 // de - "E-Mail-Domäne" + "E-Mail-Domäne" #elif L==3 // en - "Email domain" + "Email domain" #elif L==4 // es - "Dominio de correo" + "Dominio de correo" #elif L==5 // fr - "Domaine de messagerie" + "Domaine de messagerie" #elif L==6 // gn - "Dominio de correo" // Okoteve traducción + "Dominio de correo" // Okoteve traducción #elif L==7 // it - "Campo mail" + "Campo mail" #elif L==8 // pl - "Domeny poczty" + "Domeny poczty" #elif L==9 // pt - "Domínio de email" + "Domínio de email" #endif - , + , + [Mai_ORDER_BY_INFO] = #if L==1 // ca - "Informació" + "Informació" #elif L==2 // de - "Information" + "Information" #elif L==3 // en - "Information" + "Information" #elif L==4 // es - "Información" + "Información" #elif L==5 // fr - "Information" + "Information" #elif L==6 // gn - "Información" // Okoteve traducción + "Información" // Okoteve traducción #elif L==7 // it - "Informazione" + "Informazione" #elif L==8 // pl - "Informacja" + "Informacja" #elif L==9 // pt - "Informação" + "Informação" #endif - , + , + [Mai_ORDER_BY_USERS] = #if L==1 // ca - "Usuaris" + "Usuaris" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "Users" + "Users" #elif L==4 // es - "Usuarios" + "Usuarios" #elif L==5 // fr - "Utilisateurs" + "Utilisateurs" #elif L==6 // gn - "Usuarios" // Okoteve traducción + "Usuarios" // Okoteve traducción #elif L==7 // it - "Utenti" + "Utenti" #elif L==8 // pl - "Uzytkownikow" + "Uzytkownikow" #elif L==9 // pt - "Utilizadores" + "Utilizadores" #endif }; @@ -10967,23 +11015,23 @@ const char *Txt_Event_visible_to_the_users_of_your_courses_click_to_make_it_priv const char *Txt_Events = #if L==1 // ca - "Esdeveniments"; + "Esdeveniments"; #elif L==2 // de - "Ereignisse"; + "Ereignisse"; #elif L==3 // en - "Events"; + "Events"; #elif L==4 // es - "Eventos"; + "Eventos"; #elif L==5 // fr - "Événements"; + "Événements"; #elif L==6 // gn - "Eventos"; // Okoteve traducción + "Eventos"; // Okoteve traducción #elif L==7 // it - "Eventi"; + "Eventi"; #elif L==8 // pl - "Wydarzen"; + "Wydarzen"; #elif L==9 // pt - "Eventos"; + "Eventos"; #endif const char *Txt_Exam = @@ -12627,7 +12675,7 @@ const char *Txt_Follow = #endif const char *Txt_FollowPerFollow[2] = - { + { #if L==1 // ca "Mitjana de seguits per cada seguidor" #elif L==2 // de @@ -12645,7 +12693,7 @@ const char *Txt_FollowPerFollow[2] = #elif L==8 // pl "Średnia liczba obserwowani za obserwują" #elif L==9 // pt - "Média por seguidos por seguidor" + "Média por seguidos por seguidor" #endif , #if L==1 // ca @@ -13153,133 +13201,137 @@ const char *Txt_Forum_threads = #endif const char *Txt_FORUM_THREAD_HELP_ORDER[For_NUM_ORDERS] = - { + { + [For_FIRST_MSG] = #if L==1 // ca - "Ordenar por fecha del primer mensaje" // Necessita traduccio + "Ordenar por fecha del primer mensaje" // Necessita traduccio #elif L==2 // de - "Nach Datum der Nachrichten sortieren (aufsteigend)" + "Nach Datum der Nachrichten sortieren (aufsteigend)" #elif L==3 // en - "Sort by date of first message" + "Sort by date of first message" #elif L==4 // es - "Ordenar por fecha del primer mensaje" + "Ordenar por fecha del primer mensaje" #elif L==5 // fr - "Trier par date du premier message" + "Trier par date du premier message" #elif L==6 // gn - "Ordenar por fecha del primer mensaje" // Okoteve traducción + "Ordenar por fecha del primer mensaje" // Okoteve traducción #elif L==7 // it - "Ordina per data del primo messaggio" + "Ordina per data del primo messaggio" #elif L==8 // pl - "Sortuj wedlug daty pierwszej wiadomosci" + "Sortuj wedlug daty pierwszej wiadomosci" #elif L==9 // pt - "Classificar por data da primeira mensagem" + "Classificar por data da primeira mensagem" #endif - , + , + [For_LAST_MSG] = #if L==1 // ca - "Ordenar por fecha del último mensaje" // Necessita traduccio + "Ordenar por fecha del último mensaje" // Necessita traduccio #elif L==2 // de - "Nach Datum der Nachrichten sortieren (absteigend)" + "Nach Datum der Nachrichten sortieren (absteigend)" #elif L==3 // en - "Sort by date of the last message" + "Sort by date of the last message" #elif L==4 // es - "Ordenar por fecha del último mensaje" + "Ordenar por fecha del último mensaje" #elif L==5 // fr - "Trier par date du dernier message" + "Trier par date du dernier message" #elif L==6 // gn - "Ordenar por fecha del último mensaje" // Okoteve traducción + "Ordenar por fecha del último mensaje" // Okoteve traducción #elif L==7 // it - "Ordina per data dell'ultimo messaggio" + "Ordina per data dell'ultimo messaggio" #elif L==8 // pl - "Sortuj wedlug daty ostatniego komunikatu" + "Sortuj wedlug daty ostatniego komunikatu" #elif L==9 // pt - "Classificar pela data da última mensagem" + "Classificar pela data da última mensagem" #endif }; const char *Txt_FORUM_THREAD_ORDER[For_NUM_ORDERS] = - { + { + [For_FIRST_MSG] = #if L==1 // ca - "Primer comentari" + "Primer comentari" #elif L==2 // de - "Erste Post" + "Erste Post" #elif L==3 // en - "First post" + "First post" #elif L==4 // es - "Primer comentario" + "Primer comentario" #elif L==5 // fr - "Premier post" + "Premier post" #elif L==6 // gn - "Primer comentario" // Okoteve traducción + "Primer comentario" // Okoteve traducción #elif L==7 // it - "Primo post" + "Primo post" #elif L==8 // pl - "Pierwsza post" + "Pierwsza post" #elif L==9 // pt - "Primeira post" + "Primeira post" #endif - , + , + [For_LAST_MSG] = #if L==1 // ca - "Últim comentari" + "Últim comentari" #elif L==2 // de - "Letzte Post" + "Letzte Post" #elif L==3 // en - "Last post" + "Last post" #elif L==4 // es - "Último comentario" + "Último comentario" #elif L==5 // fr - "Dernier post" + "Dernier post" #elif L==6 // gn - "Último comentario" // Okoteve traducción + "Último comentario" // Okoteve traducción #elif L==7 // it - "Ultimo post" + "Ultimo post" #elif L==8 // pl - "Ostatnia post" + "Ostatnia post" #elif L==9 // pt - "Última post" + "Última post" #endif }; const char *Txt_FORUM_WHICH_FORUM[For_NUM_FORUM_SETS] = - { - // For_ONLY_CURRENT_FORUMS + { + [For_ONLY_CURRENT_FORUMS] = #if L==1 // ca - "Fòrums d'aquest lloc" + "Fòrums d'aquest lloc" #elif L==2 // de - "Foren zu diesem Standort" + "Foren zu diesem Standort" #elif L==3 // en - "Forums of this location" + "Forums of this location" #elif L==4 // es - "Foros de este sitio" + "Foros de este sitio" #elif L==5 // fr - "Forums de cet emplacement" + "Forums de cet emplacement" #elif L==6 // gn - "Foros de este sitio" // Okoteve traducción + "Foros de este sitio" // Okoteve traducción #elif L==7 // it - "Forum di questo sito" + "Forum di questo sito" #elif L==8 // pl - "Forum tej lokalizacji" + "Forum tej lokalizacji" #elif L==9 // pt - "Fóruns deste site" + "Fóruns deste site" #endif - , - // For_ALL_MY_FORUMS + , + [For_ALL_MY_FORUMS] = #if L==1 // ca - "Tots els meus fòrums" + "Tots els meus fòrums" #elif L==2 // de - "Alle meine Foren" + "Alle meine Foren" #elif L==3 // en - "All my forums" + "All my forums" #elif L==4 // es - "Todos mis foros" + "Todos mis foros" #elif L==5 // fr - "Tous mes forums" + "Tous mes forums" #elif L==6 // gn - "Todos mis foros" // Okoteve traducción + "Todos mis foros" // Okoteve traducción #elif L==7 // it - "Tutti i miei forum" + "Tutti i miei forum" #elif L==8 // pl - "Wszystkie moje forum" + "Wszystkie moje forum" #elif L==9 // pt - "Todos os meus fóruns" + "Todos os meus fóruns" #endif }; @@ -13680,47 +13732,50 @@ const char *Txt_Games = #endif const char *Txt_GAMES_ORDER[Gam_NUM_ORDERS] = - { // Gam_ORDER_BY_START_DATE + { + [Gam_ORDER_BY_START_DATE] = #if L==1 // ca - "Inici" + "Inici" #elif L==2 // de - "Start" + "Start" #elif L==3 // en - "Start" + "Start" #elif L==4 // es - "Inicio" + "Inicio" #elif L==5 // fr - "Début" + "Début" #elif L==6 // gn - "Ñepyrũ" + "Ñepyrũ" #elif L==7 // it - "Inizio" + "Inizio" #elif L==8 // pl - "Początek" + "Początek" #elif L==9 // pt - "Início" + "Início" #endif - , // Gam_ORDER_BY_END_DATE + , + [Gam_ORDER_BY_END_DATE] = #if L==1 // ca - "Final" + "Final" #elif L==2 // de - "Ende" + "Ende" #elif L==3 // en - "End" + "End" #elif L==4 // es - "Final" + "Final" #elif L==5 // fr - "Fin" + "Fin" #elif L==6 // gn - "Paha" + "Paha" #elif L==7 // it - "Fine" + "Fine" #elif L==8 // pl - "Koniec" + "Koniec" #elif L==9 // pt - "Fim" + "Fim" #endif - , // Gam_ORDER_BY_TITLE + , + [Gam_ORDER_BY_TITLE] = #if L==1 // ca "Joc" #elif L==2 // de @@ -13743,65 +13798,68 @@ const char *Txt_GAMES_ORDER[Gam_NUM_ORDERS] = }; const char *Txt_GAMES_ORDER_HELP[Gam_NUM_ORDERS] = - { // Gam_ORDER_BY_START_DATE + { + [Gam_ORDER_BY_START_DATE] = #if L==1 // ca - "Ordenar per data de començament" + "Ordenar per data de començament" #elif L==2 // de - "Sortieren nach Startdatum" + "Sortieren nach Startdatum" #elif L==3 // en - "Sort by start date" + "Sort by start date" #elif L==4 // es - "Ordenar por fecha de comienzo" + "Ordenar por fecha de comienzo" #elif L==5 // fr - "Trier par date de début" + "Trier par date de début" #elif L==6 // gn - "Ordenar por fecha de comienzo" // Okoteve traducción + "Ordenar por fecha de comienzo" // Okoteve traducción #elif L==7 // it - "Ordina per data di inizio" + "Ordina per data di inizio" #elif L==8 // pl - "Sortuj wedlug daty rozpoczecia" + "Sortuj wedlug daty rozpoczecia" #elif L==9 // pt - "Classificar por data de início" + "Classificar por data de início" #endif - , + , + [Gam_ORDER_BY_END_DATE] = #if L==1 // ca - "Ordenar per data de finalització" + "Ordenar per data de finalització" #elif L==2 // de - "Sortieren nach Enddatum" + "Sortieren nach Enddatum" #elif L==3 // en - "Sort by end date" + "Sort by end date" #elif L==4 // es - "Ordenar por fecha de finalización" + "Ordenar por fecha de finalización" #elif L==5 // fr - "Trier par date de fin" + "Trier par date de fin" #elif L==6 // gn - "Ordenar por fecha de finalización" // Okoteve traducción + "Ordenar por fecha de finalización" // Okoteve traducción #elif L==7 // it - "Ordina per data di fine" + "Ordina per data di fine" #elif L==8 // pl - "Sortuj wedlug daty zakonczenia" + "Sortuj wedlug daty zakonczenia" #elif L==9 // pt - "Classificar por data de término" + "Classificar por data de término" #endif - , // Gam_ORDER_BY_TITLE + , + [Gam_ORDER_BY_TITLE] = #if L==1 // ca - "Ordenar per títol del joc" + "Ordenar per títol del joc" #elif L==2 // de - "Sortieren nach Spieltitel" + "Sortieren nach Spieltitel" #elif L==3 // en - "Sort by game title" + "Sort by game title" #elif L==4 // es - "Ordenar por título del juego" + "Ordenar por título del juego" #elif L==5 // fr - "Trier par titre de jeu" + "Trier par titre de jeu" #elif L==6 // gn - "Ordenar por título del juego" // Okoteve traducción + "Ordenar por título del juego" // Okoteve traducción #elif L==7 // it - "Ordina per titolo del gioco" + "Ordina per titolo del gioco" #elif L==8 // pl - "Sortuj według tytułu gry" + "Sortuj według tytułu gry" #elif L==9 // pt - "Classificar por título do jogo" + "Classificar por título do jogo" #endif }; @@ -14268,7 +14326,7 @@ const char *Txt_Group_X_removed = // Warning: it is very important to include %s #endif const char *Txt_GROUP_WHICH_GROUPS[2] = - { + { #if L==1 // ca "Només els meus grups" #elif L==2 // de @@ -14836,45 +14894,47 @@ const char *Txt_Holiday_X_removed = // Warning: it is very important to include #endif const char *Txt_HOLIDAY_TYPES[Hld_NUM_TYPES_HOLIDAY] = - { + { + [Hld_HOLIDAY] = #if L==1 // ca - "Día festivo" // Necessita traduccio + "Día festivo" // Necessita traduccio #elif L==2 // de - "Urlaub" + "Urlaub" #elif L==3 // en - "Holiday" + "Holiday" #elif L==4 // es - "Día festivo" + "Día festivo" #elif L==5 // fr - "Jour férié" + "Jour férié" #elif L==6 // gn - "Arete" + "Arete" #elif L==7 // it - "Festività" + "Festività" #elif L==8 // pl - "wakacje" + "wakacje" #elif L==9 // pt - "Feriado" + "Feriado" #endif - , + , + [Hld_NON_SCHOOL_PERIOD] = #if L==1 // ca - "Período no lectivo" // Necessita traduccio + "Período no lectivo" // Necessita traduccio #elif L==2 // de - "Non-Schule Zeitraum" + "Non-Schule Zeitraum" #elif L==3 // en - "Non school period" + "Non school period" #elif L==4 // es - "Período no lectivo" + "Período no lectivo" #elif L==5 // fr - "Période sans école" + "Période sans école" #elif L==6 // gn - "Período no lectivo" // Okoteve traducción + "Período no lectivo" // Okoteve traducción #elif L==7 // it - "Periodo senza lezione" + "Periodo senza lezione" #elif L==8 // pl - "Okres nauki szkolnej dla" + "Okres nauki szkolnej dla" #elif L==9 // pt - "Período sem escola" + "Período sem escola" #endif }; @@ -14900,88 +14960,92 @@ const char *Txt_Holidays = #endif const char *Txt_HOLIDAYS_HELP_ORDER[Hld_NUM_ORDERS] = - { + { + [Hld_ORDER_BY_PLACE] = #if L==1 // ca - "Ordenar por lugar" // Necessita traduccio + "Ordenar por lugar" // Necessita traduccio #elif L==2 // de - "Nach Standort sortieren" + "Nach Standort sortieren" #elif L==3 // en - "Sort by place" + "Sort by place" #elif L==4 // es - "Ordenar por lugar" + "Ordenar por lugar" #elif L==5 // fr - "Trier par emplacement" + "Trier par emplacement" #elif L==6 // gn - "Ordenar por lugar" // Okoteve traducción + "Ordenar por lugar" // Okoteve traducción #elif L==7 // it - "Ordina per localit`" + "Ordina per localit`" #elif L==8 // pl - "Sortuj wedlug miejsca" + "Sortuj wedlug miejsca" #elif L==9 // pt - "Classificar por localização" + "Classificar por localização" #endif - , + , + [Hld_ORDER_BY_START_DATE] = #if L==1 // ca - "Ordenar por fecha" // Necessita traduccio + "Ordenar por fecha" // Necessita traduccio #elif L==2 // de - "Sortieren nach Datum" + "Sortieren nach Datum" #elif L==3 // en - "Sort by date" + "Sort by date" #elif L==4 // es - "Ordenar por fecha" + "Ordenar por fecha" #elif L==5 // fr - "Trier par date" + "Trier par date" #elif L==6 // gn - "Ordenar por fecha" // Okoteve traducción + "Ordenar por fecha" // Okoteve traducción #elif L==7 // it - "Ordina per data" + "Ordina per data" #elif L==8 // pl - "Sortuj wedlug daty" + "Sortuj wedlug daty" #elif L==9 // pt - "Classificar por data" + "Classificar por data" #endif }; const char *Txt_HOLIDAYS_ORDER[Hld_NUM_ORDERS] = - { + { + [Hld_ORDER_BY_PLACE] = #if L==1 // ca - "Lloc" + "Lloc" #elif L==2 // de - "Standort" + "Standort" #elif L==3 // en - "Place" + "Place" #elif L==4 // es - "Lugar" + "Lugar" #elif L==5 // fr - "Emplacement" + "Emplacement" #elif L==6 // gn - "Tenda" + "Tenda" #elif L==7 // it - "Luogo" + "Luogo" #elif L==8 // pl - "Miejsce" + "Miejsce" #elif L==9 // pt - "Localização" + "Localização" #endif - , + , + [Hld_ORDER_BY_START_DATE] = #if L==1 // ca - "Data inicial" + "Data inicial" #elif L==2 // de - "Startdatum" + "Startdatum" #elif L==3 // en - "Start date" + "Start date" #elif L==4 // es - "Fecha inicial" + "Fecha inicial" #elif L==5 // fr - "Date initiale" + "Date initiale" #elif L==6 // gn - "Fecha inicial" // Okoteve traducción + "Fecha inicial" // Okoteve traducción #elif L==7 // it - "Data iniziale" + "Data iniziale" #elif L==8 // pl - "Data rozpoczecia" + "Data rozpoczecia" #elif L==9 // pt - "Data de início" + "Data de início" #endif }; @@ -15715,322 +15779,330 @@ const char *Txt_Indicators_of_courses = const char *Txt_Info = #if L==1 // ca - "Info"; + "Info"; #elif L==2 // de - "Info"; + "Info"; #elif L==3 // en - "Info"; + "Info"; #elif L==4 // es - "Info"; + "Info"; #elif L==5 // fr - "Info"; + "Info"; #elif L==6 // gn - "Info"; // Okoteve traducción + "Info"; // Okoteve traducción #elif L==7 // it - "Informazione"; + "Informazione"; #elif L==8 // pl - "Info"; + "Info"; #elif L==9 // pt - "Info"; + "Info"; #endif const char *Txt_INFO_TITLE[Inf_NUM_INFO_TYPES] = - { - // Inf_INTRODUCTION + { + [Inf_INTRODUCTION] = #if L==1 // ca - "Informació" + "Informació" #elif L==2 // de - "Information" + "Information" #elif L==3 // en - "Information" + "Information" #elif L==4 // es - "Información" + "Información" #elif L==5 // fr - "Information" + "Information" #elif L==6 // gn - "Información" // Okoteve traducción + "Información" // Okoteve traducción #elif L==7 // it - "Informazione" + "Informazione" #elif L==8 // pl - "Informacja" + "Informacja" #elif L==9 // pt - "Informação" + "Informação" #endif - , - // Inf_TEACHING_GUIDE + , + [Inf_TEACHING_GUIDE] = #if L==1 // ca - "Guia docent" + "Guia docent" #elif L==2 // de - "Hinweise zur Kurs" + "Hinweise zur Kurs" #elif L==3 // en - "Teaching guide" + "Teaching guide" #elif L==4 // es - "Guía docente" + "Guía docente" #elif L==5 // fr - "Guide pédagogique" + "Guide pédagogique" #elif L==6 // gn - "Guía docente" // Okoteve traducción + "Guía docente" // Okoteve traducción #elif L==7 // it - "Guida didattica" + "Guida didattica" #elif L==8 // pl - "Nauczanie przypomnienie" + "Nauczanie przypomnienie" #elif L==9 // pt - "Guia de ensino" + "Guia de ensino" #endif - , - // Inf_LECTURES + , + [Inf_LECTURES] = #if L==1 // ca - "Programa teoria" + "Programa teoria" #elif L==2 // de - "Studienplan (Vorlesungen)" + "Studienplan (Vorlesungen)" #elif L==3 // en - "Syllabus (lectures)" + "Syllabus (lectures)" #elif L==4 // es - "Programa teoría" + "Programa teoría" #elif L==5 // fr - "Plan théorie" + "Plan théorie" #elif L==6 // gn - "Programa teoría" // Okoteve traducción + "Programa teoría" // Okoteve traducción #elif L==7 // it - "Programma teoria" + "Programma teoria" #elif L==8 // pl - "Syllabus (wyklady)" + "Syllabus (wyklady)" #elif L==9 // pt - "Programa teoria" + "Programa teoria" #endif - , - // Inf_PRACTICALS + , + [Inf_PRACTICALS] = #if L==1 // ca - "Programa pràctiques" + "Programa pràctiques" #elif L==2 // de - "Studienplan (Übungen)" + "Studienplan (Übungen)" #elif L==3 // en - "Syllabus (practicals)" + "Syllabus (practicals)" #elif L==4 // es - "Programa prácticas" + "Programa prácticas" #elif L==5 // fr - "Plan pratique" + "Plan pratique" #elif L==6 // gn - "Programa prácticas" // Okoteve traducción + "Programa prácticas" // Okoteve traducción #elif L==7 // it - "Programma pratica" + "Programma pratica" #elif L==8 // pl - "Syllabus (practicals)" + "Syllabus (practicals)" #elif L==9 // pt - "Programa prática" + "Programa prática" #endif - , - // Inf_BIBLIOGRAPHY + , + [Inf_BIBLIOGRAPHY] = #if L==1 // ca - "Bibliografia" + "Bibliografia" #elif L==2 // de - "Literatur" + "Literatur" #elif L==3 // en - "Bibliography" + "Bibliography" #elif L==4 // es - "Bibliografía" + "Bibliografía" #elif L==5 // fr - "Bibliographie" + "Bibliographie" #elif L==6 // gn - "Arandukapurupyre" + "Arandukapurupyre" #elif L==7 // it - "Bibliografia" + "Bibliografia" #elif L==8 // pl - "Bibliografia" + "Bibliografia" #elif L==9 // pt - "Bibliografia" + "Bibliografia" #endif - , - // Inf_FAQ + , + [Inf_FAQ] = #if L==1 // ca - "FAQ" + "FAQ" #elif L==2 // de - "FAQ" + "FAQ" #elif L==3 // en - "FAQ" + "FAQ" #elif L==4 // es - "FAQ" + "FAQ" #elif L==5 // fr - "FAQ" + "FAQ" #elif L==6 // gn - "FAQ" // Okoteve traducción + "FAQ" // Okoteve traducción #elif L==7 // it - "FAQ" + "FAQ" #elif L==8 // pl - "FAQ" + "FAQ" #elif L==9 // pt - "FAQ" + "FAQ" #endif - , - // Inf_LINKS + , + [Inf_LINKS] = #if L==1 // ca - "Enllaços" + "Enllaços" #elif L==2 // de - "Links" + "Links" #elif L==3 // en - "Links" + "Links" #elif L==4 // es - "Enlaces" + "Enlaces" #elif L==5 // fr - "Liens" + "Liens" #elif L==6 // gn - "Ambuére joaju" + "Ambuére joaju" #elif L==7 // it - "Link" + "Link" #elif L==8 // pl - "Linki" + "Linki" #elif L==9 // pt - "Ligações" + "Ligações" #endif - , - // Inf_ASSESSMENT + , + [Inf_ASSESSMENT] = #if L==1 // ca - "Sistema d'avaluació" + "Sistema d'avaluació" #elif L==2 // de - "Bewertungssystem" + "Bewertungssystem" #elif L==3 // en - "Assessment system" + "Assessment system" #elif L==4 // es - "Sistema de evaluación" + "Sistema de evaluación" #elif L==5 // fr - "Système d'évaluation" + "Système d'évaluation" #elif L==6 // gn - "Sistema de evaluación" // Okoteve traducción + "Sistema de evaluación" // Okoteve traducción #elif L==7 // it - "Sistema di valutazione" + "Sistema di valutazione" #elif L==8 // pl - "System oceniania" + "System oceniania" #elif L==9 // pt - "Sistema de avaliação" + "Sistema de avaliação" #endif }; const char *Txt_INFO_SRC_FULL_TEXT[Inf_NUM_INFO_SOURCES] = - { + { + [Inf_INFO_SRC_NONE] = #if L==1 // ca - "No ofrecer ninguna información" // Necessita traduccio + "No ofrecer ninguna información" // Necessita traduccio #elif L==2 // de - "Geben keine Auskunft" + "Geben keine Auskunft" #elif L==3 // en - "Do not give any information" + "Do not give any information" #elif L==4 // es - "No ofrecer ninguna información" + "No ofrecer ninguna información" #elif L==5 // fr - "Ne pas donner d'information" + "Ne pas donner d'information" #elif L==6 // gn - "No ofrecer ninguna información" // Okoteve traducción + "No ofrecer ninguna información" // Okoteve traducción #elif L==7 // it - "Non dare alcuna informazione" + "Non dare alcuna informazione" #elif L==8 // pl - "Nie podawaj zadnych informacji" + "Nie podawaj zadnych informacji" #elif L==9 // pt - "Não dê nenhuma informação" + "Não dê nenhuma informação" #endif - , + , + [Inf_INFO_SRC_EDITOR] = #if L==1 // ca - "Editor interno" // Necessita traduccio + "Editor interno" // Necessita traduccio #elif L==2 // de - "Interner Editor" + "Interner Editor" #elif L==3 // en - "Internal editor" + "Internal editor" #elif L==4 // es - "Editor interno" + "Editor interno" #elif L==5 // fr - "Éditeur interne" + "Éditeur interne" #elif L==6 // gn - "Editor interno" // Okoteve traducción + "Editor interno" // Okoteve traducción #elif L==7 // it - "Editor interno" + "Editor interno" #elif L==8 // pl - "Wewnetrzny edytor" + "Wewnetrzny edytor" #elif L==9 // pt - "Interno editor" + "Interno editor" #endif - , + , + [Inf_INFO_SRC_PLAIN_TEXT] = #if L==1 // ca - "Text sense format" + "Text sense format" #elif L==2 // de - "Plain Text" + "Plain Text" #elif L==3 // en - "Plain text" + "Plain text" #elif L==4 // es - "Texto sin formato" + "Texto sin formato" #elif L==5 // fr - "Texte brut" + "Texte brut" #elif L==6 // gn - "Texto sin formato" // Okoteve traducción + "Texto sin formato" // Okoteve traducción #elif L==7 // it - "Testo normale" + "Testo normale" #elif L==8 // pl - "Zwykly tekst" + "Zwykly tekst" #elif L==9 // pt - "Texto plano" + "Texto plano" #endif - , + , + [Inf_INFO_SRC_RICH_TEXT] = #if L==1 // ca - "Text enriquit" + "Text enriquit" #elif L==2 // de - "Rich Text" + "Rich Text" #elif L==3 // en - "Rich text" + "Rich text" #elif L==4 // es - "Texto enriquecido" + "Texto enriquecido" #elif L==5 // fr - "Texte enrichi" + "Texte enrichi" #elif L==6 // gn - "Texto enriquecido" // Okoteve traducción + "Texto enriquecido" // Okoteve traducción #elif L==7 // it - "Testo formattato" + "Testo formattato" #elif L==8 // pl - "Rich text" // Potrzebujesz tlumaczenie + "Rich text" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Texto enriquecido" + "Texto enriquecido" #endif - , + , + [Inf_INFO_SRC_PAGE] = #if L==1 // ca - "Página web alojada aquí" // Necessita traduccio + "Página web alojada aquí" // Necessita traduccio #elif L==2 // de - "Webseite gehostet hier" + "Webseite gehostet hier" #elif L==3 // en - "Web page hosted here" + "Web page hosted here" #elif L==4 // es - "Página web alojada aquí" + "Página web alojada aquí" #elif L==5 // fr - "Page web hébergée ici" + "Page web hébergée ici" #elif L==6 // gn - "Página web alojada aquí" // Okoteve traducción + "Página web alojada aquí" // Okoteve traducción #elif L==7 // it - "Pagina web ospitata qui" + "Pagina web ospitata qui" #elif L==8 // pl - "Strona internetowa hostowana tutaj" + "Strona internetowa hostowana tutaj" #elif L==9 // pt - "Página Web hospedada aqui" + "Página Web hospedada aqui" #endif - , + , + [Inf_INFO_SRC_URL] = #if L==1 // ca - "Página web alojada en otro servidor" // Necessita traduccio + "Página web alojada en otro servidor" // Necessita traduccio #elif L==2 // de - "Webseite auf einem anderen Server gehostet" + "Webseite auf einem anderen Server gehostet" #elif L==3 // en - "Web page hosted on another server" + "Web page hosted on another server" #elif L==4 // es - "Página web alojada en otro servidor" + "Página web alojada en otro servidor" #elif L==5 // fr - "Page Web hébergée sur un autre serveur" + "Page Web hébergée sur un autre serveur" #elif L==6 // gn - "Página web alojada en otro servidor" // Okoteve traducción + "Página web alojada en otro servidor" // Okoteve traducción #elif L==7 // it - "Pagina Web ospitata su un altro server" + "Pagina Web ospitata su un altro server" #elif L==8 // pl - "Strona internetowa umieszczona na innym serwerze" + "Strona internetowa umieszczona na innym serwerze" #elif L==9 // pt - "Página Web hospedada em outro servidor" + "Página Web hospedada em outro servidor" #endif }; const char *Txt_INFO_SRC_HELP[Inf_NUM_INFO_SOURCES] = { + [Inf_INFO_SRC_NONE] = NULL, + [Inf_INFO_SRC_EDITOR] = #if L==1 // ca "editor integrado, solo para los temarios de teoría y prácticas"// Necessita traduccio #elif L==2 // de @@ -16051,6 +16123,7 @@ const char *Txt_INFO_SRC_HELP[Inf_NUM_INFO_SOURCES] = "interno editor, apenas para programas de teoria y prática" #endif , + [Inf_INFO_SRC_PLAIN_TEXT] = #if L==1 // ca "editor de text sense format" #elif L==2 // de @@ -16071,6 +16144,7 @@ const char *Txt_INFO_SRC_HELP[Inf_NUM_INFO_SOURCES] = "editor de texto simples" #endif , + [Inf_INFO_SRC_RICH_TEXT] = #if L==1 // ca "editor de text enriquit" #elif L==2 // de @@ -16091,6 +16165,7 @@ const char *Txt_INFO_SRC_HELP[Inf_NUM_INFO_SOURCES] = "editor de texto rico" #endif , + [Inf_INFO_SRC_PAGE] = #if L==1 // ca "envíe un archivo HTML, o bien un archivo ZIP que contenga un archivo index.html/index.htm y archivos con imágenes"// Necessita traduccio #elif L==2 // de @@ -16111,6 +16186,7 @@ const char *Txt_INFO_SRC_HELP[Inf_NUM_INFO_SOURCES] = "enviar um arquivo HTML, ou um arquivo ZIP que contém um arquivo index.html / index.htm e limas da imagem" #endif , + [Inf_INFO_SRC_URL] = #if L==1 // ca "escriba la dirección web de una página que se encuentre alojada en otro servidor" // Necessita traduccio #elif L==2 // de @@ -16133,125 +16209,131 @@ const char *Txt_INFO_SRC_HELP[Inf_NUM_INFO_SOURCES] = }; const char *Txt_INFO_SRC_SHORT_TEXT[Inf_NUM_INFO_SOURCES] = - { + { + [Inf_INFO_SRC_NONE] = #if L==1 // ca - "Ninguna información" // Necessita traduccio + "Ninguna información" // Necessita traduccio #elif L==2 // de - "Keine Angaben" + "Keine Angaben" #elif L==3 // en - "No information" + "No information" #elif L==4 // es - "Ninguna información" + "Ninguna información" #elif L==5 // fr - "Aucune information" + "Aucune information" #elif L==6 // gn - "Ninguna información" // Okoteve traducción + "Ninguna información" // Okoteve traducción #elif L==7 // it - "Nessuna informazione" + "Nessuna informazione" #elif L==8 // pl - "Brak informacji" + "Brak informacji" #elif L==9 // pt - "Sem informação" + "Sem informação" #endif - , + , + [Inf_INFO_SRC_EDITOR] = #if L==1 // ca - "Editor interno" // Necessita traduccio + "Editor interno" // Necessita traduccio #elif L==2 // de - "Interner Editor" + "Interner Editor" #elif L==3 // en - "Internal editor" + "Internal editor" #elif L==4 // es - "Editor interno" + "Editor interno" #elif L==5 // fr - "Éditeur interne" + "Éditeur interne" #elif L==6 // gn - "Editor interno" // Okoteve traducción + "Editor interno" // Okoteve traducción #elif L==7 // it - "Editor interno" + "Editor interno" #elif L==8 // pl - "Wewnetrzny edytor" + "Wewnetrzny edytor" #elif L==9 // pt - "Interno editor" + "Interno editor" #endif - , + , + [Inf_INFO_SRC_PLAIN_TEXT] = #if L==1 // ca - "Text sense format" + "Text sense format" #elif L==2 // de - "Plain Text" + "Plain Text" #elif L==3 // en - "Plain text" + "Plain text" #elif L==4 // es - "Texto sin formato" + "Texto sin formato" #elif L==5 // fr - "Plain text" + "Plain text" #elif L==6 // gn - "Texto sin formato" // Okoteve traducción + "Texto sin formato" // Okoteve traducción #elif L==7 // it - "Testo normale" + "Testo normale" #elif L==8 // pl - "Zwykly tekst" + "Zwykly tekst" #elif L==9 // pt - "Texto plano" + "Texto plano" #endif - , + , + [Inf_INFO_SRC_RICH_TEXT] = #if L==1 // ca - "Text enriquit" + "Text enriquit" #elif L==2 // de - "Rich Text" + "Rich Text" #elif L==3 // en - "Rich text" + "Rich text" #elif L==4 // es - "Texto enriquecido" + "Texto enriquecido" #elif L==5 // fr - "Texte enrichi" + "Texte enrichi" #elif L==6 // gn - "Texto enriquecido" // Okoteve traducción + "Texto enriquecido" // Okoteve traducción #elif L==7 // it - "Testo formattato" + "Testo formattato" #elif L==8 // pl - "Rich text" // Potrzebujesz tlumaczenie + "Rich text" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Texto enriquecido" + "Texto enriquecido" #endif - , + , + [Inf_INFO_SRC_PAGE] = #if L==1 // ca - "Página interna" // Necessita traduccio + "Página interna" // Necessita traduccio #elif L==2 // de - "Interne Webseite" + "Interne Webseite" #elif L==3 // en - "Internal page" + "Internal page" #elif L==4 // es - "Página interna" + "Página interna" #elif L==5 // fr - "Page interne" + "Page interne" #elif L==6 // gn - "Página interna" // Okoteve traducción + "Página interna" // Okoteve traducción #elif L==7 // it - "Pagina interna" + "Pagina interna" #elif L==8 // pl - "Strona wewnetrzna" + "Strona wewnetrzna" #elif L==9 // pt - "Interna página" + "Interna página" #endif - , + , + [Inf_INFO_SRC_URL] = #if L==1 // ca - "Página externa" // Necessita traduccio + "Página externa" // Necessita traduccio #elif L==2 // de - "Externe Webseite" + "Externe Webseite" #elif L==3 // en - "External page" + "External page" #elif L==4 // es - "Página externa" + "Página externa" #elif L==5 // fr - "Page externe" + "Page externe" #elif L==6 // gn - "Página externa" // Okoteve traducción + "Página externa" // Okoteve traducción #elif L==7 // it - "Pagina esterna" + "Pagina esterna" #elif L==8 // pl - "Strona zewnetrzna" + "Strona zewnetrzna" #elif L==9 // pt - "Externa página" + "Externa página" #endif }; @@ -16383,85 +16465,89 @@ const char *Txt_Institution_X_removed = // Warning: it is very important to incl const char *Txt_INSTITUTION_STATUS[Ins_NUM_STATUS_TXT] = - { -#if L==1 // ca // Ins_STATUS_UNKNOWN - "Desconegudo" + { + [Ins_STATUS_UNKNOWN] = +#if L==1 // ca + "Desconegudo" #elif L==2 // de - "Unbekannt" + "Unbekannt" #elif L==3 // en - "Unknown" + "Unknown" #elif L==4 // es - "Desconocido" + "Desconocido" #elif L==5 // fr - "Inconnu" + "Inconnu" #elif L==6 // gn - "Desconocido" // Okoteve traducción + "Desconocido" // Okoteve traducción #elif L==7 // it - "Sconosciuto" + "Sconosciuto" #elif L==8 // pl - "Nieznany" + "Nieznany" #elif L==9 // pt - "Desconhecido" + "Desconhecido" #endif - , -#if L==1 // ca // Ins_STATUS_ACTIVE - "Activa" + , + [Ins_STATUS_ACTIVE] = +#if L==1 // ca + "Activa" #elif L==2 // de - "Aktive" + "Aktive" #elif L==3 // en - "Active" + "Active" #elif L==4 // es - "Activa" + "Activa" #elif L==5 // fr - "Actif" + "Actif" #elif L==6 // gn - "Activa" // Okoteve traducción + "Activa" // Okoteve traducción #elif L==7 // it - "Attiva" + "Attiva" #elif L==8 // pl - "Aktywne" + "Aktywne" #elif L==9 // pt - "Ativa" + "Ativa" #endif - , -#if L==1 // ca // Ins_STATUS_PENDING - "Nova" + , + [Ins_STATUS_PENDING] = +#if L==1 // ca + "Nova" #elif L==2 // de - "Neu" + "Neu" #elif L==3 // en - "New" + "New" #elif L==4 // es - "Nueva" + "Nueva" #elif L==5 // fr - "Nouvelle" + "Nouvelle" #elif L==6 // gn - "Pyahu" + "Pyahu" #elif L==7 // it - "Nuovo" + "Nuovo" #elif L==8 // pl - "Nowy" + "Nowy" #elif L==9 // pt - "Nova" + "Nova" #endif - , -#if L==1 // ca // Ins_STATUS_REMOVED - "Eliminada" + , + [Ins_STATUS_REMOVED] = +#if L==1 // ca + "Eliminada" #elif L==2 // de - "Entfernt" + "Entfernt" #elif L==3 // en - "Removed" + "Removed" #elif L==4 // es - "Eliminada" + "Eliminada" #elif L==5 // fr - "Supprimé" + "Supprimé" #elif L==6 // gn - "Eliminada" // Okoteve traducción + "Eliminada" // Okoteve traducción #elif L==7 // it - "Rimossa" + "Rimossa" #elif L==8 // pl - "Usuniete" + "Usuniete" #elif L==9 // pt - "Suprimida" + "Suprimida" #endif }; @@ -16571,45 +16657,47 @@ const char *Txt_institutions = #endif const char *Txt_INSTITUTIONS_HELP_ORDER[Ins_NUM_ORDERS] = - { + { + [Ins_ORDER_BY_INSTITUTION] = #if L==1 // ca - "Ordenar por institución" // Necessita traduccio + "Ordenar por institución" // Necessita traduccio #elif L==2 // de - "Nach Hochschule sortieren" + "Nach Hochschule sortieren" #elif L==3 // en - "Sort by institution" + "Sort by institution" #elif L==4 // es - "Ordenar por institución" + "Ordenar por institución" #elif L==5 // fr - "Trier par établissement" + "Trier par établissement" #elif L==6 // gn - "Ordenar por institución" // Okoteve traducción + "Ordenar por institución" // Okoteve traducción #elif L==7 // it - "Ordina per istituzione" + "Ordina per istituzione" #elif L==8 // pl - "Sortuj wedlug instytucji" + "Sortuj wedlug instytucji" #elif L==9 // pt - "Classificar por instituição" + "Classificar por instituição" #endif - , + , + [Ins_ORDER_BY_NUM_USRS] = #if L==1 // ca - "Ordenar por nº de usuarios" // Necessita traduccio + "Ordenar por nº de usuarios" // Necessita traduccio #elif L==2 // de - "Nach Anzahl der Benutzer sortieren" + "Nach Anzahl der Benutzer sortieren" #elif L==3 // en - "Sort by no. of users" + "Sort by no. of users" #elif L==4 // es - "Ordenar por nº de usuarios" + "Ordenar por nº de usuarios" #elif L==5 // fr - "Trier par nombre d'utilisateurs" + "Trier par nombre d'utilisateurs" #elif L==6 // gn - "Ordenar por nº de usuarios" // Okoteve traducción + "Ordenar por nº de usuarios" // Okoteve traducción #elif L==7 // it - "Ordina per numero di utenti" + "Ordina per numero di utenti" #elif L==8 // pl - "Sortowanie wedlug liczby uzytkownikow" + "Sortowanie wedlug liczby uzytkownikow" #elif L==9 // pt - "Classificar por nº de utilizadores" + "Classificar por nº de utilizadores" #endif }; @@ -16740,45 +16828,47 @@ const char *Txt_Institutions_of_COUNTRY_X = // Warning: it is very important to #endif const char *Txt_INSTITUTIONS_ORDER[Ins_NUM_ORDERS] = - { + { + [Ins_ORDER_BY_INSTITUTION] = #if L==1 // ca - "Institució" + "Institució" #elif L==2 // de - "Hochschule" + "Hochschule" #elif L==3 // en - "Institution" + "Institution" #elif L==4 // es - "Institución" + "Institución" #elif L==5 // fr - "Établissement" + "Établissement" #elif L==6 // gn - "Mbo'ehao" + "Mbo'ehao" #elif L==7 // it - "Istituzione" + "Istituzione" #elif L==8 // pl - "Instytucji" + "Instytucji" #elif L==9 // pt - "Instituição" + "Instituição" #endif - , + , + [Ins_ORDER_BY_NUM_USRS] = #if L==1 // ca - "Usuaris de la institució" + "Usuaris de la institució" #elif L==2 // de - "Benutzer der Hochschule" + "Benutzer der Hochschule" #elif L==3 // en - "Users of the institution" + "Users of the institution" #elif L==4 // es - "Usuarios de la institución" + "Usuarios de la institución" #elif L==5 // fr - "Utilisateurs du établissement" + "Utilisateurs du établissement" #elif L==6 // gn - "Usuarios de la institución" // Okoteve traducción + "Usuarios de la institución" // Okoteve traducción #elif L==7 // it - "Utenti della istituzione" + "Utenti della istituzione" #elif L==8 // pl - "Użytkownicy instytucji" + "Użytkownicy instytucji" #elif L==9 // pt - "Utilizadores da institução" + "Utilizadores da institução" #endif }; @@ -17014,85 +17104,85 @@ const char *Txt_Last_clicks_in_real_time = #endif const char *Txt_LAYOUT_SIDE_COLUMNS[4] = - { + { #if L==1 // ca - "Solo zona central" // Necessita traduccio + "Solo zona central" // Necessita traduccio #elif L==2 // de - "Nur mittleren Bereich anzeigen" + "Nur mittleren Bereich anzeigen" #elif L==3 // en - "Display central area only" + "Display central area only" #elif L==4 // es - "Solo zona central" + "Solo zona central" #elif L==5 // fr - "Display central area only" // Besoin de traduction + "Display central area only" // Besoin de traduction #elif L==6 // gn - "Solo zona central" // Okoteve traducción + "Solo zona central" // Okoteve traducción #elif L==7 // it - "Mostra solo la parte centrale" + "Mostra solo la parte centrale" #elif L==8 // pl - "Wyswietl centralnej czesci tylko" + "Wyswietl centralnej czesci tylko" #elif L==9 // pt - "Somente área central" + "Somente área central" #endif - , + , #if L==1 // ca - "Columna derecha visible" // Necessita traduccio + "Columna derecha visible" // Necessita traduccio #elif L==2 // de - "Rechte Spalte anzeigen" + "Rechte Spalte anzeigen" #elif L==3 // en - "Display right column" + "Display right column" #elif L==4 // es - "Columna derecha visible" + "Columna derecha visible" #elif L==5 // fr - "Display right column" // Besoin de traduction + "Display right column" // Besoin de traduction #elif L==6 // gn - "Columna derecha visible" // Okoteve traducción + "Columna derecha visible" // Okoteve traducción #elif L==7 // it - "Mostra la colonna destra" + "Mostra la colonna destra" #elif L==8 // pl - "Wyswietl prawa kolumne" + "Wyswietl prawa kolumne" #elif L==9 // pt - "Coluna direita visível" + "Coluna direita visível" #endif - , + , #if L==1 // ca - "Columna izquierda visible" // Necessita traduccio + "Columna izquierda visible" // Necessita traduccio #elif L==2 // de - "Linke Spalte anzeigen" + "Linke Spalte anzeigen" #elif L==3 // en - "Display left column" + "Display left column" #elif L==4 // es - "Columna izquierda visible" + "Columna izquierda visible" #elif L==5 // fr - "Display left column" // Besoin de traduction + "Display left column" // Besoin de traduction #elif L==6 // gn - "Columna izquierda visible" // Okoteve traducción + "Columna izquierda visible" // Okoteve traducción #elif L==7 // it - "Mostra la colonna sinistra" + "Mostra la colonna sinistra" #elif L==8 // pl - "Wyswietl lewa kolumne" + "Wyswietl lewa kolumne" #elif L==9 // pt - "Coluna esquerda visível" + "Coluna esquerda visível" #endif - , + , #if L==1 // ca - "Columnas izquierda y derecha visibles" // Necessita traduccio + "Columnas izquierda y derecha visibles" // Necessita traduccio #elif L==2 // de - "Linke und rechte Spalte anzeigen" + "Linke und rechte Spalte anzeigen" #elif L==3 // en - "Display left and right columns" + "Display left and right columns" #elif L==4 // es - "Columnas izquierda y derecha visibles" + "Columnas izquierda y derecha visibles" #elif L==5 // fr - "Display left and right columns" // Besoin de traduction + "Display left and right columns" // Besoin de traduction #elif L==6 // gn - "Columnas izquierda y derecha visibles" // Okoteve traducción + "Columnas izquierda y derecha visibles" // Okoteve traducción #elif L==7 // it - "Mostra la colonna sinistra e destra" + "Mostra la colonna sinistra e destra" #elif L==8 // pl - "Wyswietl lewa i prawa kolumne" + "Wyswietl lewa i prawa kolumne" #elif L==9 // pt - "Colunas esquerda e direita visíveis" + "Colunas esquerda e direita visíveis" #endif }; @@ -17182,6 +17272,7 @@ const char *Txt_License = const char *Txt_LICENSES[Brw_NUM_LICENSES] = { + [Brw_LICENSE_UNKNOWN] = #if L==1 // ca "desconeguda / altra" #elif L==2 // de @@ -17202,6 +17293,7 @@ const char *Txt_LICENSES[Brw_NUM_LICENSES] = "desconhecida / outra" #endif , + [Brw_LICENSE_ALL_RIGHTS_RESERVED] = #if L==1 // ca "Tots els drets reservats" // All Rights Reserved #elif L==2 // de @@ -17222,6 +17314,7 @@ const char *Txt_LICENSES[Brw_NUM_LICENSES] = "Todos os direitos reservados" // All Rights Reserved #endif , + [Brw_LICENSE_CC_BY] = #if L==1 // ca "CC Reconeixement" // CC Attribution License #elif L==2 // de @@ -17242,6 +17335,7 @@ const char *Txt_LICENSES[Brw_NUM_LICENSES] = "CC Atribuição" // CC Attribution License #endif , + [Brw_LICENSE_CC_BY_SA] = #if L==1 // ca "CC Reconeixement - Compartir igual" // CC Attribution-ShareAlike License #elif L==2 // de @@ -17262,6 +17356,7 @@ const char *Txt_LICENSES[Brw_NUM_LICENSES] = "CC Atribuição - Compartilha Igual" // CC Attribution-ShareAlike License #endif , + [Brw_LICENSE_CC_BY_ND] = #if L==1 // ca "CC Reconeixement - Sense obra derivada" // CC Attribution-NoDerivs License #elif L==2 // de @@ -17282,6 +17377,7 @@ const char *Txt_LICENSES[Brw_NUM_LICENSES] = "CC Atribuição - Trabalhos Derivados Proíbidos" // CC Attribution-NoDerivs License #endif , + [Brw_LICENSE_CC_BY_NC] = #if L==1 // ca "CC Reconeixement - No comercial" // CC Attribution-NonCommercial License #elif L==2 // de @@ -17302,6 +17398,7 @@ const char *Txt_LICENSES[Brw_NUM_LICENSES] = "CC Atribuição - NãoComercial" // CC Attribution-NonCommercial License #endif , + [Brw_LICENSE_CC_BY_NC_SA] = #if L==1 // ca "CC Reconeixement - No comercial - Compartir igual" // CC Attribution-NonCommercial-ShareAlike License #elif L==2 // de @@ -17322,6 +17419,7 @@ const char *Txt_LICENSES[Brw_NUM_LICENSES] = "CC Atribuição - NãoComercial - Compartilha Igual" // CC Attribution-NonCommercial-ShareAlike License #endif , + [Brw_LICENSE_CC_BY_NC_ND] = #if L==1 // ca "CC Reconeixement - No comercial - Sense obra derivada" // CC Attribution-NonCommercial-NoDerivs License #elif L==2 // de @@ -17617,7 +17715,8 @@ const char *Txt_Locations = #endif const char *Txt_LOCKED_UNLOCKED[Prj_NUM_LOCKED_UNLOCKED] = - { + { + [Prj_LOCKED] = #if L==1 // ca "Edició bloquejada" #elif L==2 // de @@ -17638,6 +17737,7 @@ const char *Txt_LOCKED_UNLOCKED[Prj_NUM_LOCKED_UNLOCKED] = "Edição bloqueada" #endif , + [Prj_UNLOCKED] = #if L==1 // ca "Edició permesa" #elif L==2 // de @@ -17808,84 +17908,88 @@ const char *Txt_Log_out = const char *Txt_logged[Usr_NUM_SEXS] = { -#if L==1 // ca // Usr_SEX_UNKNOWN - "identificado/a" // Necessita traduccio + [Usr_SEX_UNKNOWN] = +#if L==1 // ca + "identificado/a" // Necessita traduccio #elif L==2 // de - "angemeldet" + "angemeldet" #elif L==3 // en - "logged" + "logged" #elif L==4 // es - "identificado/a" + "identificado/a" #elif L==5 // fr - "connecté/e" + "connecté/e" #elif L==6 // gn - "identificado/a" // Okoteve traducción + "identificado/a" // Okoteve traducción #elif L==7 // it - "loggato/a" + "loggato/a" #elif L==8 // pl - "zalogowany" + "zalogowany" #elif L==9 // pt - "logado/a" + "logado/a" #endif - , -#if L==1 // ca // Usr_SEX_FEMALE - "identificada" // Necessita traduccio + , + [Usr_SEX_FEMALE] = +#if L==1 // ca + "identificada" // Necessita traduccio #elif L==2 // de - "angemeldet" + "angemeldet" #elif L==3 // en - "logged" + "logged" #elif L==4 // es - "identificada" + "identificada" #elif L==5 // fr - "connectée" + "connectée" #elif L==6 // gn - "identificada" // Okoteve traducción + "identificada" // Okoteve traducción #elif L==7 // it - "loggata" + "loggata" #elif L==8 // pl - "zalogowana" + "zalogowana" #elif L==9 // pt - "logada" + "logada" #endif - , -#if L==1 // ca // Usr_SEX_MALE - "identificado" // Necessita traduccio + , + [Usr_SEX_MALE] = +#if L==1 // ca + "identificado" // Necessita traduccio #elif L==2 // de - "angemeldet" + "angemeldet" #elif L==3 // en - "logged" + "logged" #elif L==4 // es - "identificado" + "identificado" #elif L==5 // fr - "connecté" + "connecté" #elif L==6 // gn - "identificado" // Okoteve traducción + "identificado" // Okoteve traducción #elif L==7 // it - "loggato" + "loggato" #elif L==8 // pl - "zalogowany" + "zalogowany" #elif L==9 // pt - "logado" + "logado" #endif - , -#if L==1 // ca // Usr_SEX_ALL - "identificado/a" // Necessita traduccio + , + [Usr_SEX_ALL] = +#if L==1 // ca + "identificado/a" // Necessita traduccio #elif L==2 // de - "angemeldet" + "angemeldet" #elif L==3 // en - "logged" + "logged" #elif L==4 // es - "identificado/a" + "identificado/a" #elif L==5 // fr - "connecté/e" + "connecté/e" #elif L==6 // gn - "identificado/a" // Okoteve traducción + "identificado/a" // Okoteve traducción #elif L==7 // it - "loggato/a" + "loggato/a" #elif L==8 // pl - "zalogowani" + "zalogowani" #elif L==9 // pt - "logado/a" + "logado/a" #endif }; @@ -18059,44 +18163,44 @@ const char *Txt_Match = // of a game const char *Txt_MATCH_End = #if L==1 // ca - "Final"; + "Final"; #elif L==2 // de - "Ende"; + "Ende"; #elif L==3 // en - "End"; + "End"; #elif L==4 // es - "Final"; + "Final"; #elif L==5 // fr - "Fin"; + "Fin"; #elif L==6 // gn - "Paha"; + "Paha"; #elif L==7 // it - "Fine"; + "Fine"; #elif L==8 // pl - "Koniec"; + "Koniec"; #elif L==9 // pt - "Fim"; + "Fim"; #endif const char *Txt_MATCH_Paused = #if L==1 // ca - "En pausa"; + "En pausa"; #elif L==2 // de - "Angehalten"; + "Angehalten"; #elif L==3 // en - "Paused"; + "Paused"; #elif L==4 // es - "En pausa"; + "En pausa"; #elif L==5 // fr - "En pause"; + "En pause"; #elif L==6 // gn - "En pausa"; // Okoteve traducción + "En pausa"; // Okoteve traducción #elif L==7 // it - "In pausa"; + "In pausa"; #elif L==8 // pl - "Wstrzymany"; + "Wstrzymany"; #elif L==9 // pt - "Pausado"; + "Pausado"; #endif const char *Txt_MATCH_QUESTION_Answered = @@ -18143,23 +18247,23 @@ const char *Txt_MATCH_QUESTION_Unanswered = const char *Txt_MATCH_Start = #if L==1 // ca - "Inici"; + "Inici"; #elif L==2 // de - "Start"; + "Start"; #elif L==3 // en - "Start"; + "Start"; #elif L==4 // es - "Inicio"; + "Inicio"; #elif L==5 // fr - "Début"; + "Début"; #elif L==6 // gn - "Ñepyrũ"; + "Ñepyrũ"; #elif L==7 // it - "Inizio"; + "Inizio"; #elif L==8 // pl - "Początek"; + "Początek"; #elif L==9 // pt - "Início"; + "Início"; #endif const char *Txt_Match_X_removed = // Warning: it is very important to include %s in the following sentences @@ -18185,23 +18289,23 @@ const char *Txt_Match_X_removed = // Warning: it is very important to include %s const char *Txt_MATCH_respond = #if L==1 // ca - "responen"; + "responen"; #elif L==2 // de - "antworten"; + "antworten"; #elif L==3 // en - "respond"; + "respond"; #elif L==4 // es - "responden"; + "responden"; #elif L==5 // fr - "répondent"; + "répondent"; #elif L==6 // gn - "responden"; // Okoteve traducción + "responden"; // Okoteve traducción #elif L==7 // it - "rispondono"; + "rispondono"; #elif L==8 // pl - "odpowiadają"; + "odpowiadają"; #elif L==9 // pt - "respondem"; + "respondem"; #endif const char *Txt_Match_result = @@ -18394,52 +18498,54 @@ const char *Txt_Menu = #endif const char *Txt_MENU_NAMES[Mnu_NUM_MENUS] = - { + { + [Mnu_MENU_HORIZONTAL] = #if L==1 // ca - "Horitzontal" + "Horitzontal" #elif L==2 // de - "Horizontal" + "Horizontal" #elif L==3 // en - "Horizontal" + "Horizontal" #elif L==4 // es - "Horizontal" + "Horizontal" #elif L==5 // fr - "Horizontal" + "Horizontal" #elif L==6 // gn - "Horizontal" // Okoteve traducción + "Horizontal" // Okoteve traducción #elif L==7 // it - "Orizzontale" + "Orizzontale" #elif L==8 // pl - "Poziomy" + "Poziomy" #elif L==9 // pt - "Horizontal" + "Horizontal" #endif - , + , + [Mnu_MENU_VERTICAL] = #if L==1 // ca - "Vertical" + "Vertical" #elif L==2 // de - "Vertikal" + "Vertikal" #elif L==3 // en - "Vertical" + "Vertical" #elif L==4 // es - "Vertical" + "Vertical" #elif L==5 // fr - "Vertical" + "Vertical" #elif L==6 // gn - "Vertical" // Okoteve traducción + "Vertical" // Okoteve traducción #elif L==7 // it - "Verticale" + "Verticale" #elif L==8 // pl - "Pionowy" + "Pionowy" #elif L==9 // pt - "Vertical" + "Vertical" #endif }; const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = { +[TabUnk] = { - // TabUnk **************************************************** NULL, // 0 NULL, // 1 NULL, // 2 @@ -18454,8 +18560,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabStr] = { - // TabStr ***************************************************** // 0: ActFrmLogIn #if L==1 // ca "Entrar" @@ -18500,44 +18606,44 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = , // 2: ActSeeSocTmlGbl #if L==1 // ca - "Timeline" + "Timeline" #elif L==2 // de - "Timeline" + "Timeline" #elif L==3 // en - "Timeline" + "Timeline" #elif L==4 // es - "Timeline" + "Timeline" #elif L==5 // fr - "Chronologie" + "Chronologie" #elif L==6 // gn - "Timeline" // Okoteve traducción + "Timeline" // Okoteve traducción #elif L==7 // it - "Timeline" + "Timeline" #elif L==8 // pl - "Timeline" + "Timeline" #elif L==9 // pt - "Timeline" + "Timeline" #endif , // 3: ActSeeSocPrf #if L==1 // ca - "Perfils" + "Perfils" #elif L==2 // de - "Profiles" + "Profiles" #elif L==3 // en - "Profiles" + "Profiles" #elif L==4 // es - "Perfiles" + "Perfiles" #elif L==5 // fr - "Profils" + "Profils" #elif L==6 // gn - "Che" + "Che" #elif L==7 // it - "Profili" + "Profili" #elif L==8 // pl - "Profile" + "Profile" #elif L==9 // pt - "Perfiles" + "Perfiles" #endif , // 4: ActSeeCal @@ -18590,8 +18696,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabSys] = { - // TabSys ***************************************************** // 0: ActSeeCty #if L==1 // ca "Països" @@ -18615,23 +18721,23 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = , // 1: ActSeePen #if L==1 // ca - "Jerarquia" + "Jerarquia" #elif L==2 // de - "Hierarchie" + "Hierarchie" #elif L==3 // en - "Hierarchy" + "Hierarchy" #elif L==4 // es - "Jerarquía" + "Jerarquía" #elif L==5 // fr - "Hiérarchie" + "Hiérarchie" #elif L==6 // gn - "Sãmbyhyha reko" + "Sãmbyhyha reko" #elif L==7 // it - "Gerarchia" + "Gerarchia" #elif L==8 // pl - "Hierarchia" + "Hierarchia" #elif L==9 // pt - "Hierarquia" + "Hierarquia" #endif , // 2: ActSeeLnk @@ -18706,8 +18812,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabCty] = { - // TabCty ***************************************************** // 0: ActSeeCtyInf #if L==1 // ca "Informació" @@ -18762,8 +18868,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabIns] = { - // TabIns ***************************************************** // 0: ActSeeInsInf #if L==1 // ca "Informació" @@ -18878,8 +18984,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabCtr] = { - // TabCtr ***************************************************** // 0: ActSeeCtrInf #if L==1 // ca "Informació" @@ -18954,8 +19060,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabDeg] = { - // TabDeg ***************************************************** // 0: ActSeeDegInf #if L==1 // ca "Informació" @@ -19010,8 +19116,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabCrs] = { - // TabCrs ***************************************************** // 0: ActSeeCrsInf #if L==1 // ca "Informació" @@ -19166,27 +19272,27 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabAss] = { - // TabAss ***************************************************** // 0: ActSeeAss #if L==1 // ca - "Sistema" + "Sistema" #elif L==2 // de - "System" + "System" #elif L==3 // en - "System" + "System" #elif L==4 // es - "Sistema" + "Sistema" #elif L==5 // fr - "Système" + "Système" #elif L==6 // gn - "Sistema" // Okoteve traducción + "Sistema" // Okoteve traducción #elif L==7 // it - "Sistema" + "Sistema" #elif L==8 // pl - "System" + "System" #elif L==9 // pt - "Sistema" + "Sistema" #endif , // 1: ActSeeAsg @@ -19322,8 +19428,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabFil] = { - // TabFil ***************************************************** // 0: ActSeeAdmDocIns #if L==1 // ca "Documents" @@ -19597,8 +19703,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Pasta" #endif }, +[TabUsr] = { - // TabUsr ***************************************************** // 0: ActReqSelGrp #if L==1 // ca "Grups" @@ -19773,8 +19879,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabMsg] = { - // TabMsg ***************************************************** // 0: ActSeeAnn #if L==1 // ca "Anuncis" @@ -19949,8 +20055,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabAna] = { - // TabAna ********************************************************************** // 0: ActReqUseGbl #if L==1 // ca "Xifres" @@ -20085,8 +20191,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabPrf] = { - // TabPrf ***************************************************** // 0: ActFrmRolSes #if L==1 // ca "Sessió" @@ -20245,8 +20351,8 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = { +[TabUnk] = { - // TabUnk **************************************************** NULL, // 0 NULL, // 1 NULL, // 2 @@ -20261,8 +20367,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabStr] = { - // TabStr ***************************************************** // 0: ActFrmLogIn #if L==1 // ca "Rol en aquesta sessió" @@ -20307,44 +20413,44 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = , // 2: ActSeeSocTmlGbl #if L==1 // ca - "Timeline dels usuaris que segueixo o de tots els usuaris" + "Timeline dels usuaris que segueixo o de tots els usuaris" #elif L==2 // de - "Timeline der Benutzer Ich folge oder alle Benutzern" + "Timeline der Benutzer Ich folge oder alle Benutzern" #elif L==3 // en - "Timeline of users I follow or all users" + "Timeline of users I follow or all users" #elif L==4 // es - "Timeline de los usuarios que sigo o de todos los usuarios" + "Timeline de los usuarios que sigo o de todos los usuarios" #elif L==5 // fr - "Chronologie des utilisateurs que je suis ou de tous les utilisateurs" + "Chronologie des utilisateurs que je suis ou de tous les utilisateurs" #elif L==6 // gn - "Timeline de los usuarios que sigo o de todos los usuarios" // Okoteve traducción + "Timeline de los usuarios que sigo o de todos los usuarios" // Okoteve traducción #elif L==7 // it - "Timeline degli utenti che seguo o tutti gli utenti" + "Timeline degli utenti che seguo o tutti gli utenti" #elif L==8 // pl - "Timeline użytkowników śledzę lub wszystkich użytkowników" + "Timeline użytkowników śledzę lub wszystkich użytkowników" #elif L==9 // pt - "Timeline dos usuários que eu sigo ou de todos os usuários" + "Timeline dos usuários que eu sigo ou de todos os usuários" #endif , - // 3: ActSeeSocPrf + // 3: ActSeeSocPrf #if L==1 // ca - "Perfils públics" + "Perfils públics" #elif L==2 // de - "Öffentliche Profile" + "Öffentliche Profile" #elif L==3 // en - "Public profiles" + "Public profiles" #elif L==4 // es - "Perfiles públicos de usuarios" + "Perfiles públicos de usuarios" #elif L==5 // fr - "Profils publics" + "Profils publics" #elif L==6 // gn - "Perfiles públicos de usuarios" // Okoteve traducción + "Perfiles públicos de usuarios" // Okoteve traducción #elif L==7 // it - "Profili pubblici" + "Profili pubblici" #elif L==8 // pl - "Profile publiczne" + "Profile publiczne" #elif L==9 // pt - "Perfis públicos" + "Perfis públicos" #endif , // 4: ActSeeCal @@ -20397,8 +20503,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabSys] = { - // TabSys ***************************************************** // 0: ActSeeCty #if L==1 // ca "Llista de països i del nombre d'usuaris de cada país" @@ -20513,8 +20619,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabCty] = { - // TabCty ***************************************************** // 0: ActSeeCtyInf #if L==1 // ca "Informació d'aquest país" @@ -20569,8 +20675,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabIns] = { - // TabIns ***************************************************** // 0: ActSeeInsInf #if L==1 // ca "Informació d'aquesta institució" @@ -20694,8 +20800,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabCtr] = { - // TabCtr ***************************************************** // 0: ActSeeCtrInf #if L==1 // ca "Informació d'aquest centre" @@ -20770,8 +20876,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabDeg] = { - // TabDeg ***************************************************** // 0: ActSeeDegInf #if L==1 // ca "Informació d'aquesta titulació" @@ -20826,8 +20932,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabCrs] = { - // TabCrs ***************************************************** // 0: ActSeeCrsInf #if L==1 // ca "Informació d'aquesta assignatura" @@ -20982,8 +21088,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabAss] = { - // TabAss ***************************************************** // 0: ActSeeAss #if L==1 // ca "Sistema o criteris d'avaluació" @@ -21141,8 +21247,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabFil] = { - // TabFil ***************************************************** // 0: ActSeeAdmDocIns #if L==1 // ca "Documents" @@ -21441,8 +21547,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Pasta" #endif }, +[TabUsr] = { - // TabUsr ***************************************************** // 0: ActReqSelGrp #if L==1 // ca "Grups en aquesta assignatura" @@ -21621,8 +21727,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabMsg] = { - // TabMsg ***************************************************** // 0: ActSeeAnn #if L==1 // ca "Anuncis globals mostrat en iniciar sessió" @@ -21809,8 +21915,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabAna] = { - // TabAna ***************************************************** // 0: ActReqUseGbl #if L==1 // ca "Grans nombres sobre l'ús actual de tota la plataforma," @@ -21952,8 +22058,8 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, // 11 NULL, // 12 }, +[TabPrf] = { - // TabPrf ***************************************************** // 0: ActFrmRolSes #if L==1 // ca "Rol en aquesta sessió" @@ -22657,488 +22763,488 @@ const char *Txt_months = #endif const char *Txt_MONTHS_SMALL[12] = - { + { #if L==1 // ca - "gener" + "gener" #elif L==2 // de - "Januar" + "Januar" #elif L==3 // en - "January" + "January" #elif L==4 // es - "enero" + "enero" #elif L==5 // fr - "janvier" + "janvier" #elif L==6 // gn - "jasyteĩ" + "jasyteĩ" #elif L==7 // it - "gennaio" + "gennaio" #elif L==8 // pl - "Stycznia" + "Stycznia" #elif L==9 // pt - "janeiro" + "janeiro" #endif - , + , #if L==1 // ca - "febrer" + "febrer" #elif L==2 // de - "Februar" + "Februar" #elif L==3 // en - "February" + "February" #elif L==4 // es - "febrero" + "febrero" #elif L==5 // fr - "février" + "février" #elif L==6 // gn - "jasykõi" + "jasykõi" #elif L==7 // it - "febbraio" + "febbraio" #elif L==8 // pl - "Lutego" + "Lutego" #elif L==9 // pt - "fevereiro" + "fevereiro" #endif - , + , #if L==1 // ca - "març" + "març" #elif L==2 // de - "M;ärz" + "M;ärz" #elif L==3 // en - "March" + "March" #elif L==4 // es - "marzo" + "marzo" #elif L==5 // fr - "mars" + "mars" #elif L==6 // gn - "jasyapy" + "jasyapy" #elif L==7 // it - "marzo" + "marzo" #elif L==8 // pl - "Marca" + "Marca" #elif L==9 // pt - "março" + "março" #endif - , + , #if L==1 // ca - "abril" + "abril" #elif L==2 // de - "April" + "April" #elif L==3 // en - "April" + "April" #elif L==4 // es - "abril" + "abril" #elif L==5 // fr - "avril" + "avril" #elif L==6 // gn - "jasyrundy" + "jasyrundy" #elif L==7 // it - "aprile" + "aprile" #elif L==8 // pl - "Kwietnia" + "Kwietnia" #elif L==9 // pt - "abril" + "abril" #endif - , + , #if L==1 // ca - "maig" + "maig" #elif L==2 // de - "Mai" + "Mai" #elif L==3 // en - "May" + "May" #elif L==4 // es - "mayo" + "mayo" #elif L==5 // fr - "mai" + "mai" #elif L==6 // gn - "jasypo" + "jasypo" #elif L==7 // it - "maggio" + "maggio" #elif L==8 // pl - "Maja" + "Maja" #elif L==9 // pt - "maio" + "maio" #endif - , + , #if L==1 // ca - "juny" + "juny" #elif L==2 // de - "Juni" + "Juni" #elif L==3 // en - "June" + "June" #elif L==4 // es - "junio" + "junio" #elif L==5 // fr - "juin" + "juin" #elif L==6 // gn - "jasypoteĩ" + "jasypoteĩ" #elif L==7 // it - "giugno" + "giugno" #elif L==8 // pl - "Czerwca" + "Czerwca" #elif L==9 // pt - "junho" + "junho" #endif - , + , #if L==1 // ca - "juliol" + "juliol" #elif L==2 // de - "Juli" + "Juli" #elif L==3 // en - "July" + "July" #elif L==4 // es - "julio" + "julio" #elif L==5 // fr - "juillet" + "juillet" #elif L==6 // gn - "jasypokõi" + "jasypokõi" #elif L==7 // it - "luglio" + "luglio" #elif L==8 // pl - "Lipca" + "Lipca" #elif L==9 // pt - "julho" + "julho" #endif - , + , #if L==1 // ca - "agost" + "agost" #elif L==2 // de - "August" + "August" #elif L==3 // en - "August" + "August" #elif L==4 // es - "agosto" + "agosto" #elif L==5 // fr - "août" + "août" #elif L==6 // gn - "jasypoapy" + "jasypoapy" #elif L==7 // it - "agosto" + "agosto" #elif L==8 // pl - "Sierpnia" + "Sierpnia" #elif L==9 // pt - "agosto" + "agosto" #endif - , + , #if L==1 // ca - "setembre" + "setembre" #elif L==2 // de - "September" + "September" #elif L==3 // en - "September" + "September" #elif L==4 // es - "septiembre" + "septiembre" #elif L==5 // fr - "septembre" + "septembre" #elif L==6 // gn - "jasyporundy" + "jasyporundy" #elif L==7 // it - "settembre" + "settembre" #elif L==8 // pl - "Września" + "Września" #elif L==9 // pt - "setembro" + "setembro" #endif - , + , #if L==1 // ca - "octubre" + "octubre" #elif L==2 // de - "Oktober" + "Oktober" #elif L==3 // en - "October" + "October" #elif L==4 // es - "octubre" + "octubre" #elif L==5 // fr - "octobre" + "octobre" #elif L==6 // gn - "jasypa" + "jasypa" #elif L==7 // it - "ottobre" + "ottobre" #elif L==8 // pl - "Października" + "Października" #elif L==9 // pt - "outubro" + "outubro" #endif - , + , #if L==1 // ca - "novembre" + "novembre" #elif L==2 // de - "November" + "November" #elif L==3 // en - "November" + "November" #elif L==4 // es - "noviembre" + "noviembre" #elif L==5 // fr - "novembre" + "novembre" #elif L==6 // gn - "jasypateĩ" + "jasypateĩ" #elif L==7 // it - "novembre" + "novembre" #elif L==8 // pl - "Listopada" + "Listopada" #elif L==9 // pt - "novembro" + "novembro" #endif - , + , #if L==1 // ca - "desembre" + "desembre" #elif L==2 // de - "Dezember" + "Dezember" #elif L==3 // en - "December" + "December" #elif L==4 // es - "diciembre" + "diciembre" #elif L==5 // fr - "décembre" + "décembre" #elif L==6 // gn - "jasypakõi" + "jasypakõi" #elif L==7 // it - "dicembre" + "dicembre" #elif L==8 // pl - "Grudnia" + "Grudnia" #elif L==9 // pt - "dezembro" + "dezembro" #endif }; const char *Txt_MONTHS_SMALL_SHORT[12] = - { + { #if L==1 // ca - "gen" + "gen" #elif L==2 // de - "Jan" + "Jan" #elif L==3 // en - "Jan" + "Jan" #elif L==4 // es - "ene" + "ene" #elif L==5 // fr - "jan" + "jan" #elif L==6 // gn - "ene" // Okoteve traducción + "ene" // Okoteve traducción #elif L==7 // it - "gen" + "gen" #elif L==8 // pl - "Sty" + "Sty" #elif L==9 // pt - "jan" + "jan" #endif - , + , #if L==1 // ca - "feb" + "feb" #elif L==2 // de - "Feb" + "Feb" #elif L==3 // en - "Feb" + "Feb" #elif L==4 // es - "feb" + "feb" #elif L==5 // fr - "fév" + "fév" #elif L==6 // gn - "feb" // Okoteve traducción + "feb" // Okoteve traducción #elif L==7 // it - "feb" + "feb" #elif L==8 // pl - "Lut" + "Lut" #elif L==9 // pt - "fev" + "fev" #endif - , + , #if L==1 // ca - "mar" + "mar" #elif L==2 // de - "M;är" + "M;är" #elif L==3 // en - "Mar" + "Mar" #elif L==4 // es - "mar" + "mar" #elif L==5 // fr - "mar" + "mar" #elif L==6 // gn - "mar" // Okoteve traducción + "mar" // Okoteve traducción #elif L==7 // it - "mar" + "mar" #elif L==8 // pl - "Mar" + "Mar" #elif L==9 // pt - "mar" + "mar" #endif - , + , #if L==1 // ca - "abr" + "abr" #elif L==2 // de - "Apr" + "Apr" #elif L==3 // en - "Apr" + "Apr" #elif L==4 // es - "abr" + "abr" #elif L==5 // fr - "avr" + "avr" #elif L==6 // gn - "abr" // Okoteve traducción + "abr" // Okoteve traducción #elif L==7 // it - "apr" + "apr" #elif L==8 // pl - "Kwi" + "Kwi" #elif L==9 // pt - "abr" + "abr" #endif - , + , #if L==1 // ca - "mai" + "mai" #elif L==2 // de - "Mai" + "Mai" #elif L==3 // en - "May" + "May" #elif L==4 // es - "may" + "may" #elif L==5 // fr - "mai" + "mai" #elif L==6 // gn - "may" // Okoteve traducción + "may" // Okoteve traducción #elif L==7 // it - "mag" + "mag" #elif L==8 // pl - "Maj" + "Maj" #elif L==9 // pt - "mai" + "mai" #endif - , + , #if L==1 // ca - "jun" + "jun" #elif L==2 // de - "Jun" + "Jun" #elif L==3 // en - "Jun" + "Jun" #elif L==4 // es - "jun" + "jun" #elif L==5 // fr - "jui" + "jui" #elif L==6 // gn - "jun" // Okoteve traducción + "jun" // Okoteve traducción #elif L==7 // it - "giu" + "giu" #elif L==8 // pl - "Cze" + "Cze" #elif L==9 // pt - "jun" + "jun" #endif - , + , #if L==1 // ca - "jul" + "jul" #elif L==2 // de - "Jul" + "Jul" #elif L==3 // en - "Jul" + "Jul" #elif L==4 // es - "jul" + "jul" #elif L==5 // fr - "jui" + "jui" #elif L==6 // gn - "jul" // Okoteve traducción + "jul" // Okoteve traducción #elif L==7 // it - "lug" + "lug" #elif L==8 // pl - "Lip" + "Lip" #elif L==9 // pt - "jul" + "jul" #endif - , + , #if L==1 // ca - "ago" + "ago" #elif L==2 // de - "Aug" + "Aug" #elif L==3 // en - "Aug" + "Aug" #elif L==4 // es - "ago" + "ago" #elif L==5 // fr - "aoû" + "aoû" #elif L==6 // gn - "ago" // Okoteve traducción + "ago" // Okoteve traducción #elif L==7 // it - "ago" + "ago" #elif L==8 // pl - "Sie" + "Sie" #elif L==9 // pt - "ago" + "ago" #endif - , + , #if L==1 // ca - "set" + "set" #elif L==2 // de - "Sep" + "Sep" #elif L==3 // en - "Sep" + "Sep" #elif L==4 // es - "sep" + "sep" #elif L==5 // fr - "sep" + "sep" #elif L==6 // gn - "sep" // Okoteve traducción + "sep" // Okoteve traducción #elif L==7 // it - "set" + "set" #elif L==8 // pl - "Wrz" + "Wrz" #elif L==9 // pt - "set" + "set" #endif - , + , #if L==1 // ca - "oct" + "oct" #elif L==2 // de - "Okt" + "Okt" #elif L==3 // en - "Oct" + "Oct" #elif L==4 // es - "oct" + "oct" #elif L==5 // fr - "oct" + "oct" #elif L==6 // gn - "oct" // Okoteve traducción + "oct" // Okoteve traducción #elif L==7 // it - "ott" + "ott" #elif L==8 // pl - "Paź" + "Paź" #elif L==9 // pt - "out" + "out" #endif - , + , #if L==1 // ca - "nov" + "nov" #elif L==2 // de - "Nov" + "Nov" #elif L==3 // en - "Nov" + "Nov" #elif L==4 // es - "nov" + "nov" #elif L==5 // fr - "nov" + "nov" #elif L==6 // gn - "nov" // Okoteve traducción + "nov" // Okoteve traducción #elif L==7 // it - "nov" + "nov" #elif L==8 // pl - "Lis" + "Lis" #elif L==9 // pt - "nov" + "nov" #endif - , + , #if L==1 // ca - "des" + "des" #elif L==2 // de - "Dez" + "Dez" #elif L==3 // en - "Dec" + "Dec" #elif L==4 // es - "dic" + "dic" #elif L==5 // fr - "déc" + "déc" #elif L==6 // gn - "dic" // Okoteve traducción + "dic" // Okoteve traducción #elif L==7 // it - "dic" + "dic" #elif L==8 // pl - "Gru" + "Gru" #elif L==9 // pt - "dez" + "dez" #endif }; @@ -26005,205 +26111,215 @@ const char *Txt_No_user_to_whom_you_can_follow_Try_again_later = #endif const char *Txt_No_users_found[Rol_NUM_ROLES] = - { -#if L==1 // ca // Rol_UNK - "No hi ha usuaris." + { + [Rol_UNK] = +#if L==1 // ca + "No hi ha usuaris." #elif L==2 // de - "Keine Benutzer gefunden." + "Keine Benutzer gefunden." #elif L==3 // en - "No users found." + "No users found." #elif L==4 // es - "No hay usuarios." + "No hay usuarios." #elif L==5 // fr - "Aucun utilisateur trouvé." + "Aucun utilisateur trouvé." #elif L==6 // gn - "No hay usuarios." // Okoteve traducción + "No hay usuarios." // Okoteve traducción #elif L==7 // it - "Nessun utente trovato." + "Nessun utente trovato." #elif L==8 // pl - "Nie znaleziono uzytkowników." + "Nie znaleziono uzytkowników." #elif L==9 // pt - "Nenhum utilizador encontrado." + "Nenhum utilizador encontrado." #endif - , -#if L==1 // ca // Rol_GST - "No hi ha convidats." + , + [Rol_GST] = +#if L==1 // ca + "No hi ha convidats." #elif L==2 // de - "Keine Eingeladen gefunden." + "Keine Eingeladen gefunden." #elif L==3 // en - "No guests found." + "No guests found." #elif L==4 // es - "No hay invitados." + "No hay invitados." #elif L==5 // fr - "Aucun invité trouvé." + "Aucun invité trouvé." #elif L==6 // gn - "No hay invitados." // Okoteve traducción + "No hay invitados." // Okoteve traducción #elif L==7 // it - "Nessun ospite trovato." + "Nessun ospite trovato." #elif L==8 // pl - "Nie znaleziono zaproszeni." + "Nie znaleziono zaproszeni." #elif L==9 // pt - "Nenhum convidado encontrado." + "Nenhum convidado encontrado." #endif - , -#if L==1 // ca // Rol_USR - "No hi ha usuaris." + , + [Rol_USR] = +#if L==1 // ca + "No hi ha usuaris." #elif L==2 // de - "Keine Benutzer gefunden." + "Keine Benutzer gefunden." #elif L==3 // en - "No users found." + "No users found." #elif L==4 // es - "No hay usuarios." + "No hay usuarios." #elif L==5 // fr - "Aucun utilisateur trouvé." + "Aucun utilisateur trouvé." #elif L==6 // gn - "No hay usuarios." // Okoteve traducción + "No hay usuarios." // Okoteve traducción #elif L==7 // it - "Nessun utente trovato." + "Nessun utente trovato." #elif L==8 // pl - "Nie znaleziono uzytkowników." + "Nie znaleziono uzytkowników." #elif L==9 // pt - "Nenhum utilizador encontrado." + "Nenhum utilizador encontrado." #endif - , -#if L==1 // ca // Rol_STD - "No hi ha estudiants." + , + [Rol_STD] = +#if L==1 // ca + "No hi ha estudiants." #elif L==2 // de - "Keine Studenten gefunden." + "Keine Studenten gefunden." #elif L==3 // en - "No students found." + "No students found." #elif L==4 // es - "No hay estudiantes." + "No hay estudiantes." #elif L==5 // fr - "Aucun étudiant trouvé." + "Aucun étudiant trouvé." #elif L==6 // gn - "No hay estudiantes." // Okoteve traducción + "No hay estudiantes." // Okoteve traducción #elif L==7 // it - "Non ci sono studenti." + "Non ci sono studenti." #elif L==8 // pl - "Nie znaleziono uczniów." + "Nie znaleziono uczniów." #elif L==9 // pt - "Nenhum estudante encontrado." + "Nenhum estudante encontrado." #endif - , -#if L==1 // ca // Rol_NET - "No hi ha professors no editors." + , + [Rol_NET] = +#if L==1 // ca + "No hi ha professors no editors." #elif L==2 // de - "Keine nicht bearbeiteter Lehrkräften gefunden." + "Keine nicht bearbeiteter Lehrkräften gefunden." #elif L==3 // en - "No non-editing teachers found." + "No non-editing teachers found." #elif L==4 // es - "No hay profesores no editores." + "No hay profesores no editores." #elif L==5 // fr - "Aucun enseignant non-éditeur trouvé." + "Aucun enseignant non-éditeur trouvé." #elif L==6 // gn - "No hay profesores no editores." // Okoteve traducción + "No hay profesores no editores." // Okoteve traducción #elif L==7 // it - "Non ci sono professori non-editing." + "Non ci sono professori non-editing." #elif L==8 // pl - "Nie znaleziono nauczycieli nie edytujący." + "Nie znaleziono nauczycieli nie edytujący." #elif L==9 // pt - "Nenhum professor não editor encontrado." + "Nenhum professor não editor encontrado." #endif - , -#if L==1 // ca // Rol_TCH - "No hi ha professors." + , + [Rol_TCH] = +#if L==1 // ca + "No hi ha professors." #elif L==2 // de - "Keine Lehrkräften gefunden." + "Keine Lehrkräften gefunden." #elif L==3 // en - "No teachers found." + "No teachers found." #elif L==4 // es - "No hay profesores." + "No hay profesores." #elif L==5 // fr - "Aucun enseignant trouvé." + "Aucun enseignant trouvé." #elif L==6 // gn - "No hay profesores." // Okoteve traducción + "No hay profesores." // Okoteve traducción #elif L==7 // it - "Non ci sono professori." + "Non ci sono professori." #elif L==8 // pl - "Nie znaleziono nauczycieli." + "Nie znaleziono nauczycieli." #elif L==9 // pt - "Nenhum professor encontrado." + "Nenhum professor encontrado." #endif - , -#if L==1 // ca // Rol_DEG_ADM - "No hi ha administradors." + , + [Rol_DEG_ADM] = +#if L==1 // ca + "No hi ha administradors." #elif L==2 // de - "Keine Administratoren gefunden." + "Keine Administratoren gefunden." #elif L==3 // en - "No administrators found." + "No administrators found." #elif L==4 // es - "No hay administradores." + "No hay administradores." #elif L==5 // fr - "Aucun administrateur trouvé." + "Aucun administrateur trouvé." #elif L==6 // gn - "No hay administradores." // Okoteve traducción + "No hay administradores." // Okoteve traducción #elif L==7 // it - "Non ci sono amministratori." + "Non ci sono amministratori." #elif L==8 // pl - "Nie znaleziono administratorów." + "Nie znaleziono administratorów." #elif L==9 // pt - "Nenhum administrador encontrado." + "Nenhum administrador encontrado." #endif - , -#if L==1 // ca // Rol_CTR_ADM - "No hi ha administradors." + , + [Rol_CTR_ADM] = +#if L==1 // ca + "No hi ha administradors." #elif L==2 // de - "Keine Administratoren gefunden." + "Keine Administratoren gefunden." #elif L==3 // en - "No administrators found." + "No administrators found." #elif L==4 // es - "No hay administradores." + "No hay administradores." #elif L==5 // fr - "Aucun administrateur trouvé." + "Aucun administrateur trouvé." #elif L==6 // gn - "No hay administradores." // Okoteve traducción + "No hay administradores." // Okoteve traducción #elif L==7 // it - "Non ci sono amministratori." + "Non ci sono amministratori." #elif L==8 // pl - "Nie znaleziono administratorów." + "Nie znaleziono administratorów." #elif L==9 // pt - "Nenhum administrador encontrado." + "Nenhum administrador encontrado." #endif - , -#if L==1 // ca // Rol_INS_ADM - "No hi ha administradors." + , + [Rol_INS_ADM] = +#if L==1 // ca + "No hi ha administradors." #elif L==2 // de - "Keine Administratoren gefunden." + "Keine Administratoren gefunden." #elif L==3 // en - "No administrators found." + "No administrators found." #elif L==4 // es - "No hay administradores." + "No hay administradores." #elif L==5 // fr - "Aucun administrateur trouvé." + "Aucun administrateur trouvé." #elif L==6 // gn - "No hay administradores." // Okoteve traducción + "No hay administradores." // Okoteve traducción #elif L==7 // it - "Non ci sono amministratori." + "Non ci sono amministratori." #elif L==8 // pl - "Nie znaleziono administratorów." + "Nie znaleziono administratorów." #elif L==9 // pt - "Nenhum administrador encontrado." + "Nenhum administrador encontrado." #endif - , -#if L==1 // ca // Rol_SYS_ADM - "No hi ha superusuaris." + , + [Rol_SYS_ADM] = +#if L==1 // ca + "No hi ha superusuaris." #elif L==2 // de - "Keine Superuser gefunden." + "Keine Superuser gefunden." #elif L==3 // en - "No superusers found." + "No superusers found." #elif L==4 // es - "No hay superusuarios." + "No hay superusuarios." #elif L==5 // fr - "Aucun superutilisateur trouvé." + "Aucun superutilisateur trouvé." #elif L==6 // gn - "No hay superusuarios." // Okoteve traducción + "No hay superusuarios." // Okoteve traducción #elif L==7 // it - "Non ci sono superutenti." + "Non ci sono superutenti." #elif L==8 // pl - "Nie znaleziono superużytkownika." + "Nie znaleziono superużytkownika." #elif L==9 // pt - "Nenhum superutilizador encontrado." + "Nenhum superutilizador encontrado." #endif }; @@ -26491,23 +26607,23 @@ const char *Txt_Notice_removed = const char *Txt_Notices = #if L==1 // ca - "Avisos"; + "Avisos"; #elif L==2 // de - "Ankündigungen"; + "Ankündigungen"; #elif L==3 // en - "Notices"; + "Notices"; #elif L==4 // es - "Avisos"; + "Avisos"; #elif L==5 // fr - "Avis"; + "Avis"; #elif L==6 // gn - "Marandu"; + "Marandu"; #elif L==7 // it - "Avvisi"; + "Avvisi"; #elif L==8 // pl - "Ogloszenia"; + "Ogloszenia"; #elif L==9 // pt - "Avisos"; + "Avisos"; #endif const char *Txt_NOTIF_new_SINGULAR = @@ -26553,85 +26669,89 @@ const char *Txt_NOTIF_new_PLURAL = #endif const char *Txt_NOTIFICATION_STATUS[Ntf_NUM_STATUS_TXT] = - { -#if L==1 // ca // Ntf_STATUS_NO_EMAIL - "No" // Necessita traduccio + { + [Ntf_STATUS_NO_EMAIL] = +#if L==1 // ca + "No" // Necessita traduccio #elif L==2 // de - "Nein" + "Nein" #elif L==3 // en - "No" + "No" #elif L==4 // es - "No" + "No" #elif L==5 // fr - "Non" + "Non" #elif L==6 // gn - "Nahániri" + "Nahániri" #elif L==7 // it - "No" + "No" #elif L==8 // pl - "No" + "No" #elif L==9 // pt - "Não" + "Não" #endif - , -#if L==1 // ca // Ntf_STATUS_EMAIL_PENDING - "Pendiente" // Necessita traduccio + , + [Ntf_STATUS_EMAIL_PENDING] = +#if L==1 // ca + "Pendiente" // Necessita traduccio #elif L==2 // de - "Offen" + "Offen" #elif L==3 // en - "Pending" + "Pending" #elif L==4 // es - "Pendiente" + "Pendiente" #elif L==5 // fr - "En attente" + "En attente" #elif L==6 // gn - "Pendiente" // Okoteve traducción + "Pendiente" // Okoteve traducción #elif L==7 // it - "In attesa" + "In attesa" #elif L==8 // pl - "Do czasu" + "Do czasu" #elif L==9 // pt - "Pendente" + "Pendente" #endif - , -#if L==1 // ca // Ntf_STATUS_EMAIL_CANCELLED - "Cancelado" // Necessita traduccio + , + [Ntf_STATUS_EMAIL_CANCELLED] = +#if L==1 // ca + "Cancelado" // Necessita traduccio #elif L==2 // de - "Abgebrochen" + "Abgebrochen" #elif L==3 // en - "Cancelled" + "Cancelled" #elif L==4 // es - "Cancelado" + "Cancelado" #elif L==5 // fr - "Annulé" + "Annulé" #elif L==6 // gn - "Cancelado" // Okoteve traducción + "Cancelado" // Okoteve traducción #elif L==7 // it - "Rimosso" + "Rimosso" #elif L==8 // pl - "Odwolany" + "Odwolany" #elif L==9 // pt - "Cancelado" + "Cancelado" #endif - , -#if L==1 // ca // Ntf_STATUS_EMAIL_SENT - "Enviado" // Necessita traduccio + , + [Ntf_STATUS_EMAIL_SENT] = +#if L==1 // ca + "Enviado" // Necessita traduccio #elif L==2 // de - "Gesendet" + "Gesendet" #elif L==3 // en - "Sent" + "Sent" #elif L==4 // es - "Enviado" + "Enviado" #elif L==5 // fr - "Envoyée" + "Envoyée" #elif L==6 // gn - "Enviado" // Okoteve traducción + "Enviado" // Okoteve traducción #elif L==7 // it - "Inviata" + "Inviata" #elif L==8 // pl - "Wyslane" + "Wyslane" #elif L==9 // pt - "Enviada" + "Enviada" #endif }; @@ -26699,711 +26819,747 @@ const char *Txt_notifications = #endif const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] = - { -#if L==1 // ca // Ntf_EVENT_UNKNOWN - "Esdeveniments desconeguts" + { + [Ntf_EVENT_UNKNOWN] = +#if L==1 // ca + "Esdeveniments desconeguts" #elif L==2 // de - "Unbekannte Ereignisse" + "Unbekannte Ereignisse" #elif L==3 // en - "Unknown events" + "Unknown events" #elif L==4 // es - "Eventos desconocidos" + "Eventos desconocidos" #elif L==5 // fr - "Événements inconnus" + "Événements inconnus" #elif L==6 // gn - "Eventos desconocidos" // Okoteve traducción + "Eventos desconocidos" // Okoteve traducción #elif L==7 // it - "Eventi sconosciuto" + "Eventi sconosciuto" #elif L==8 // pl - "Brak wydarzen" + "Brak wydarzen" #elif L==9 // pt - "Eventos desconhecidos" + "Eventos desconhecidos" #endif - , -#if L==1 // ca // Ntf_EVENT_DOCUMENT_FILE - "Nous documents" + , + [Ntf_EVENT_DOCUMENT_FILE] = +#if L==1 // ca + "Nous documents" #elif L==2 // de - "Neue Dokumentdateien" + "Neue Dokumentdateien" #elif L==3 // en - "New document files" + "New document files" #elif L==4 // es - "Nuevos documentos" + "Nuevos documentos" #elif L==5 // fr - "Nouveaux fichiers de documents" + "Nouveaux fichiers de documents" #elif L==6 // gn - "Nuevos documentos" // Okoteve traducción + "Nuevos documentos" // Okoteve traducción #elif L==7 // it - "Nuovi documenti" + "Nuovi documenti" #elif L==8 // pl - "Nowy plik dokumentu" + "Nowy plik dokumentu" #elif L==9 // pt - "Novos arquivos de documento" + "Novos arquivos de documento" #endif - , -#if L==1 // ca // Ntf_EVENT_TEACHERS_FILE - "Nous arxiu de professors" + , + [Ntf_EVENT_TEACHERS_FILE] = +#if L==1 // ca + "Nous arxiu de professors" #elif L==2 // de - "New Lehrer Dateien" + "New Lehrer Dateien" #elif L==3 // en - "New teachers' files" + "New teachers' files" #elif L==4 // es - "Nuevos archivos de profesores" + "Nuevos archivos de profesores" #elif L==5 // fr - "Nouveaux fichiers d'enseignants" + "Nouveaux fichiers d'enseignants" #elif L==6 // gn - "Nuevos archivos de profesores" // Okoteve traducción + "Nuevos archivos de profesores" // Okoteve traducción #elif L==7 // it - "Nuovi file di professori" + "Nuovi file di professori" #elif L==8 // pl - "Nowy Nauczyciela plik" + "Nowy Nauczyciela plik" #elif L==9 // pt - "Novos arquivos dos professores" + "Novos arquivos dos professores" #endif - , -#if L==1 // ca // Ntf_EVENT_SHARED_FILE - "Nous arxiu compartit" + , + [Ntf_EVENT_SHARED_FILE] = +#if L==1 // ca + "Nous arxiu compartit" #elif L==2 // de - "New freigegebene Dateien" + "New freigegebene Dateien" #elif L==3 // en - "New shared files" + "New shared files" #elif L==4 // es - "Nuevos archivos compartidos" + "Nuevos archivos compartidos" #elif L==5 // fr - "Nouveaux fichiers partagés" + "Nouveaux fichiers partagés" #elif L==6 // gn - "Nuevos archivos compartidos" // Okoteve traducción + "Nuevos archivos compartidos" // Okoteve traducción #elif L==7 // it - "Nuovi file condiviso" + "Nuovi file condiviso" #elif L==8 // pl - "Nowy Udostępniony plik" + "Nowy Udostępniony plik" #elif L==9 // pt - "Novos arquivos compartilhado" + "Novos arquivos compartilhado" #endif - , -#if L==1 // ca // Ntf_EVENT_ASSIGNMENT - "Noves activitats" + , + [Ntf_EVENT_ASSIGNMENT] = +#if L==1 // ca + "Noves activitats" #elif L==2 // de - "Neue Aufgaben" + "Neue Aufgaben" #elif L==3 // en - "New assignments" + "New assignments" #elif L==4 // es - "Nuevas actividades" + "Nuevas actividades" #elif L==5 // fr - "Nouvelles activités" + "Nouvelles activités" #elif L==6 // gn - "Nuevas actividades" // Okoteve traducción + "Nuevas actividades" // Okoteve traducción #elif L==7 // it - "Nuove attività" + "Nuove attività" #elif L==8 // pl - "Nowe zadania" + "Nowe zadania" #elif L==9 // pt - "Novas atividades" + "Novas atividades" #endif - , -#if L==1 // ca // Ntf_EVENT_EXAM_ANNOUNCEMENT - "Noves convocatòries d'examen" + , + [Ntf_EVENT_EXAM_ANNOUNCEMENT] = +#if L==1 // ca + "Noves convocatòries d'examen" #elif L==2 // de - "Neue Aufrufe für Prüfung" + "Neue Aufrufe für Prüfung" #elif L==3 // en - "New announcements of exam" + "New announcements of exam" #elif L==4 // es - "Nuevas convocatorias de examen" + "Nuevas convocatorias de examen" #elif L==5 // fr - "Nouvelles convocations à un examen" + "Nouvelles convocations à un examen" #elif L==6 // gn - "Nuevas convocatorias de examen" // Okoteve traducción + "Nuevas convocatorias de examen" // Okoteve traducción #elif L==7 // it - "Nuovi appelli d'esame" + "Nuovi appelli d'esame" #elif L==8 // pl - "Nowe anonse egzamin" + "Nowe anonse egzamin" #elif L==9 // pt - "Novas chamadas para exame" + "Novas chamadas para exame" #endif - , -#if L==1 // ca // Ntf_EVENT_MARKS_FILE - "Nous fitxers de qualificacions" + , + [Ntf_EVENT_MARKS_FILE] = +#if L==1 // ca + "Nous fitxers de qualificacions" #elif L==2 // de - "Neue Dateien mit Bewertung" + "Neue Dateien mit Bewertung" #elif L==3 // en - "New files with marks" + "New files with marks" #elif L==4 // es - "Nuevos archivos de calificaciones" + "Nuevos archivos de calificaciones" #elif L==5 // fr - "Nouveaux fichiers avec des notes" + "Nouveaux fichiers avec des notes" #elif L==6 // gn - "Nuevos archivos de calificaciones" // Okoteve traducción + "Nuevos archivos de calificaciones" // Okoteve traducción #elif L==7 // it - "Nuovi file con risultati" + "Nuovi file con risultati" #elif L==8 // pl - "Nowe pliki ze znakami" + "Nowe pliki ze znakami" #elif L==9 // pt - "Novos arquivos de notas" + "Novos arquivos de notas" #endif - , -#if L==1 // ca // Ntf_EVENT_ENROLMENT_STD - "Novas inscripciós com a estudiant" + , + [Ntf_EVENT_ENROLMENT_STD] = +#if L==1 // ca + "Novas inscripciós com a estudiant" #elif L==2 // de - "New Einschreibungen als Student" + "New Einschreibungen als Student" #elif L==3 // en - "New enrolments as a student" + "New enrolments as a student" #elif L==4 // es - "Nuevas inscripciones como estudiante" + "Nuevas inscripciones como estudiante" #elif L==5 // fr - "Nouvelles inscriptions en tant qu'étudiant" + "Nouvelles inscriptions en tant qu'étudiant" #elif L==6 // gn - "Nuevas inscripciones como estudiante" // Okoteve traducción + "Nuevas inscripciones como estudiante" // Okoteve traducción #elif L==7 // it - "Nuova iscrizione come studente" + "Nuova iscrizione come studente" #elif L==8 // pl - "Nowe zapisy jako student" + "Nowe zapisy jako student" #elif L==9 // pt - "Novas inscrições como estudante" + "Novas inscrições como estudante" #endif - , -#if L==1 // ca // Ntf_EVENT_ENROLMENT_TCH - "Novas inscripciós com a professor" + , + [Ntf_EVENT_ENROLMENT_TCH] = +#if L==1 // ca + "Novas inscripciós com a professor" #elif L==2 // de - "New Einschreibungen als Lehrkraft" + "New Einschreibungen als Lehrkraft" #elif L==3 // en - "New enrolments as a teacher" + "New enrolments as a teacher" #elif L==4 // es - "Nuevas inscripciones como profesor/a" + "Nuevas inscripciones como profesor/a" #elif L==5 // fr - "Nouvelles inscriptions en tant qu'enseignant" + "Nouvelles inscriptions en tant qu'enseignant" #elif L==6 // gn - "Nuevas inscripciones como profesor/a" // Okoteve traducción + "Nuevas inscripciones como profesor/a" // Okoteve traducción #elif L==7 // it - "Nuova iscrizione come professore" + "Nuova iscrizione come professore" #elif L==8 // pl - "Nowe zapisy jako nauczyciel" + "Nowe zapisy jako nauczyciel" #elif L==9 // pt - "Novas inscrições como professor" + "Novas inscrições como professor" #endif - , -#if L==1 // ca // Ntf_EVENT_ENROLMENT_REQUEST - "Novas peticiós d'inscripció" + , + [Ntf_EVENT_ENROLMENT_REQUEST] = +#if L==1 // ca + "Novas peticiós d'inscripció" #elif L==2 // de - "New Registrierungsanforderungen" + "New Registrierungsanforderungen" #elif L==3 // en - "New enrolment requests" + "New enrolment requests" #elif L==4 // es - "Nuevas peticiones de inscripción" + "Nuevas peticiones de inscripción" #elif L==5 // fr - "Nouvelles demandes d'inscription" + "Nouvelles demandes d'inscription" #elif L==6 // gn - "Nuevas peticiones de inscripción" // Okoteve traducción + "Nuevas peticiones de inscripción" // Okoteve traducción #elif L==7 // it - "Nuova richiesta di iscrizione" + "Nuova richiesta di iscrizione" #elif L==8 // pl - "Nowe prośby o rejestracji" + "Nowe prośby o rejestracji" #elif L==9 // pt - "Novos pedidos de inscrição" + "Novos pedidos de inscrição" #endif - , -#if L==1 // ca // Ntf_EVENT_TIMELINE_COMMENT - "Nous comentaris als meus missatges socials" + , + [Ntf_EVENT_TIMELINE_COMMENT] = +#if L==1 // ca + "Nous comentaris als meus missatges socials" #elif L==2 // de - "Neue Kommentare zu meinem sozialen Beiträge" + "Neue Kommentare zu meinem sozialen Beiträge" #elif L==3 // en - "New comments to my social posts" + "New comments to my social posts" #elif L==4 // es - "Nuevos comentarios a mis mensajes sociales" + "Nuevos comentarios a mis mensajes sociales" #elif L==5 // fr - "Nouveaux commentaires à mes messages sociaux" + "Nouveaux commentaires à mes messages sociaux" #elif L==6 // gn - "Nuevos comentarios a mis mensajes sociales" // Okoteve traducción + "Nuevos comentarios a mis mensajes sociales" // Okoteve traducción #elif L==7 // it - "Nuovi commenti ai miei post sociali" + "Nuovi commenti ai miei post sociali" #elif L==8 // pl - "Nowe komentarze do moich post społecznej" + "Nowe komentarze do moich post społecznej" #elif L==9 // pt - "Novos comentário às minhos posts sociais" + "Novos comentário às minhos posts sociais" #endif - , -#if L==1 // ca // Ntf_EVENT_TIMELINE_FAV - "Nous favorits als meus missatges socials" + , + [Ntf_EVENT_TIMELINE_FAV] = +#if L==1 // ca + "Nous favorits als meus missatges socials" #elif L==2 // de - "Neue Favorit zu meinem sozialen Beiträge" + "Neue Favorit zu meinem sozialen Beiträge" #elif L==3 // en - "New favourite to my social posts" + "New favourite to my social posts" #elif L==4 // es - "Nuevos favoritos a mis mensajes sociales" + "Nuevos favoritos a mis mensajes sociales" #elif L==5 // fr - "Nouveaux favori à mes messages sociaux" + "Nouveaux favori à mes messages sociaux" #elif L==6 // gn - "Nuevos favoritos a mis mensajes sociales" // Okoteve traducción + "Nuevos favoritos a mis mensajes sociales" // Okoteve traducción #elif L==7 // it - "Nuovi preferito ai miei post sociali" + "Nuovi preferito ai miei post sociali" #elif L==8 // pl - "Nowe ulubiony do moich post społecznej" + "Nowe ulubiony do moich post społecznej" #elif L==9 // pt - "Novos favoritos às minhos posts sociais" + "Novos favoritos às minhos posts sociais" #endif - , -#if L==1 // ca // Ntf_EVENT_TIMELINE_SHARE - "Noves comparticions dels meus missatges socials" + , + [Ntf_EVENT_TIMELINE_SHARE] = +#if L==1 // ca + "Noves comparticions dels meus missatges socials" #elif L==2 // de - "Neue gemeinsame Nutzung zu meinem sozialen Beiträge" + "Neue gemeinsame Nutzung zu meinem sozialen Beiträge" #elif L==3 // en - "New sharings of my social posts" + "New sharings of my social posts" #elif L==4 // es - "Nuevas comparticiones de mis mensajes sociales" + "Nuevas comparticiones de mis mensajes sociales" #elif L==5 // fr - "Nouveaux partages de mes messages sociaux" + "Nouveaux partages de mes messages sociaux" #elif L==6 // gn - "Nuevas comparticiones de mis mensajes sociales" // Okoteve traducción + "Nuevas comparticiones de mis mensajes sociales" // Okoteve traducción #elif L==7 // it - "Nuove condivisioni dei miei post sociali" + "Nuove condivisioni dei miei post sociali" #elif L==8 // pl - "Nowe podzial moich post społecznej" + "Nowe podzial moich post społecznej" #elif L==9 // pt - "Novas partilhas de minhos posts sociais" + "Novas partilhas de minhos posts sociais" #endif - , -#if L==1 // ca // Ntf_EVENT_TIMELINE_MENTION - "Noves mencions" + , + [Ntf_EVENT_TIMELINE_MENTION] = +#if L==1 // ca + "Noves mencions" #elif L==2 // de - "Neue Erwähnungen" + "Neue Erwähnungen" #elif L==3 // en - "New mentions" + "New mentions" #elif L==4 // es - "Nuevas menciones" + "Nuevas menciones" #elif L==5 // fr - "Nouvelles mentions" + "Nouvelles mentions" #elif L==6 // gn - "Nuevas menciones" // Okoteve traducción + "Nuevas menciones" // Okoteve traducción #elif L==7 // it - "Nuovi menzioni" + "Nuovi menzioni" #elif L==8 // pl - "Nowe wzmianki" + "Nowe wzmianki" #elif L==9 // pt - "Novas menções" + "Novas menções" #endif - , -#if L==1 // ca // Ntf_EVENT_FOLLOWER - "Nous seguidors" + , + [Ntf_EVENT_FOLLOWER] = +#if L==1 // ca + "Nous seguidors" #elif L==2 // de - "Neue Anhänger" + "Neue Anhänger" #elif L==3 // en - "New followers" + "New followers" #elif L==4 // es - "Nuevos seguidores" + "Nuevos seguidores" #elif L==5 // fr - "Nouveaux suiveurs" + "Nouveaux suiveurs" #elif L==6 // gn - "Nuevos seguidores" // Okoteve traducción + "Nuevos seguidores" // Okoteve traducción #elif L==7 // it - "Nuovi followers" + "Nuovi followers" #elif L==8 // pl - "Nowe obserwują" + "Nowe obserwują" #elif L==9 // pt - "Novos seguidores" + "Novos seguidores" #endif - , -#if L==1 // ca // Ntf_EVENT_FORUM_POST_COURSE - "Novos comentaris en fòrums" + , + [Ntf_EVENT_FORUM_POST_COURSE] = +#if L==1 // ca + "Novos comentaris en fòrums" #elif L==2 // de - "Neue Beiträge in den Foren" + "Neue Beiträge in den Foren" #elif L==3 // en - "New posts in course forums" + "New posts in course forums" #elif L==4 // es - "Nuevos comentarios en foros de asignaturas" + "Nuevos comentarios en foros de asignaturas" #elif L==5 // fr - "Nouveaux posts dans les forums" + "Nouveaux posts dans les forums" #elif L==6 // gn - "Nuevos comentarios en foros de asignaturas" // Okoteve traducción + "Nuevos comentarios en foros de asignaturas" // Okoteve traducción #elif L==7 // it - "Nuovi post nei forum" + "Nuovi post nei forum" #elif L==8 // pl - "Nowe postów na forum" + "Nowe postów na forum" #elif L==9 // pt - "Novos posts em fóruns" + "Novos posts em fóruns" #endif - , -#if L==1 // ca // Ntf_EVENT_FORUM_REPLY - "Noves respostes als meus comentaris en fòrums" + , + [Ntf_EVENT_FORUM_REPLY] = +#if L==1 // ca + "Noves respostes als meus comentaris en fòrums" #elif L==2 // de - "Neue Antworten auf meine Beiträge in den Foren" + "Neue Antworten auf meine Beiträge in den Foren" #elif L==3 // en - "New replies to my posts in forums" + "New replies to my posts in forums" #elif L==4 // es - "Nuevas respuestas a mis comentarios en foros" + "Nuevas respuestas a mis comentarios en foros" #elif L==5 // fr - "Nouvelles réponses à mes posts dans les forums" + "Nouvelles réponses à mes posts dans les forums" #elif L==6 // gn - "Nuevas respuestas a mis comentarios en foros" // Okoteve traducción + "Nuevas respuestas a mis comentarios en foros" // Okoteve traducción #elif L==7 // it - "Nuove risposte ai miei post nei forum" + "Nuove risposte ai miei post nei forum" #elif L==8 // pl - "Nowe podejscie do moich postów na forum" + "Nowe podejscie do moich postów na forum" #elif L==9 // pt - "Novas respostas aos meus posts em fóruns" + "Novas respostas aos meus posts em fóruns" #endif - , -#if L==1 // ca // Ntf_EVENT_NOTICE - "Nous avisos" + , + [Ntf_EVENT_NOTICE] = +#if L==1 // ca + "Nous avisos" #elif L==2 // de - "Neue Ankündigungen" + "Neue Ankündigungen" #elif L==3 // en - "New notices" + "New notices" #elif L==4 // es - "Nuevos avisos" + "Nuevos avisos" #elif L==5 // fr - "Nouveaux avis" + "Nouveaux avis" #elif L==6 // gn - "Nuevos avisos" // Okoteve traducción + "Nuevos avisos" // Okoteve traducción #elif L==7 // it - "Nuovi avvisi" + "Nuovi avvisi" #elif L==8 // pl - "Nowe ogloszenia" + "Nowe ogloszenia" #elif L==9 // pt - "Novos avisos" + "Novos avisos" #endif - , -#if L==1 // ca // Ntf_EVENT_MESSAGE - "Nous missatges" + , + [Ntf_EVENT_MESSAGE] = +#if L==1 // ca + "Nous missatges" #elif L==2 // de - "Neue Nachrichten" + "Neue Nachrichten" #elif L==3 // en - "New messages" + "New messages" #elif L==4 // es - "Nuevos mensajes" + "Nuevos mensajes" #elif L==5 // fr - "Nouveaux messages" + "Nouveaux messages" #elif L==6 // gn - "Nuevos mensajes" // Okoteve traducción + "Nuevos mensajes" // Okoteve traducción #elif L==7 // it - "Nuovi messaggi" + "Nuovi messaggi" #elif L==8 // pl - "Nowa wiadomosc" + "Nowa wiadomosc" #elif L==9 // pt - "Novas mensagens" + "Novas mensagens" #endif - , -#if L==1 // ca // Ntf_EVENT_SURVEY // TODO: Move to assessment tab (also necessary in database) !!!!!!!!! - "Noves enquestes" + , + [Ntf_EVENT_SURVEY] = // TODO: Move to assessment tab (also necessary in database) !!!!!!!!! +#if L==1 // ca + "Noves enquestes" #elif L==2 // de - "Neue Umfragen" + "Neue Umfragen" #elif L==3 // en - "New surveys" + "New surveys" #elif L==4 // es - "Nuevas encuestas" + "Nuevas encuestas" #elif L==5 // fr - "Nouveaux sondages" + "Nouveaux sondages" #elif L==6 // gn - "Nuevas encuestas" // Okoteve traducción + "Nuevas encuestas" // Okoteve traducción #elif L==7 // it - "Nuove sondaggi" + "Nuove sondaggi" #elif L==8 // pl - "Nowe badania" + "Nowe badania" #elif L==9 // pt - "Novos inquéritos" + "Novos inquéritos" #endif - , -#if L==1 // ca // Ntf_EVENT_ENROLMENT_NET // TODO: Move to users tab (also necessary in database) !!!!!!!!! - "Novas inscripciós com a professor/a no editor/a" + , + [Ntf_EVENT_ENROLMENT_NET] = // TODO: Move to users tab (also necessary in database) !!!!!!!!! +#if L==1 // ca + "Novas inscripciós com a professor/a no editor/a" #elif L==2 // de - "New Einschreibungen als nicht bearbeiteter Lehrkraft" + "New Einschreibungen als nicht bearbeiteter Lehrkraft" #elif L==3 // en - "New enrolments as a non-editing teacher" + "New enrolments as a non-editing teacher" #elif L==4 // es - "Nuevas inscripciones como profesor/a/a no editor/a" + "Nuevas inscripciones como profesor/a/a no editor/a" #elif L==5 // fr - "Nouvelles inscriptions en tant qu'enseignant/e non-éditeur/trice" + "Nouvelles inscriptions en tant qu'enseignant/e non-éditeur/trice" #elif L==6 // gn - "Nuevas inscripciones como profesor/a no editor/a" // Okoteve traducción + "Nuevas inscripciones como profesor/a no editor/a" // Okoteve traducción #elif L==7 // it - "Nuova iscrizione come professore/ssa non-editing" + "Nuova iscrizione come professore/ssa non-editing" #elif L==8 // pl - "Nowe zapisy jako nauczyciel nie edytujący" + "Nowe zapisy jako nauczyciel nie edytujący" #elif L==9 // pt - "Novas inscrições como professor/a não editor/a" + "Novas inscrições como professor/a não editor/a" #endif }; const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] = - { -#if L==1 // ca // Ntf_EVENT_UNKNOWN - "Esdeveniment desconegut" + { + [Ntf_EVENT_UNKNOWN] = +#if L==1 // ca // + "Esdeveniment desconegut" #elif L==2 // de - "Unbekannt Ereignis" + "Unbekannt Ereignis" #elif L==3 // en - "Unknown event" + "Unknown event" #elif L==4 // es - "Evento desconocido" + "Evento desconocido" #elif L==5 // fr - "Événement inconnu" + "Événement inconnu" #elif L==6 // gn - "Evento desconocido" // Okoteve traducción + "Evento desconocido" // Okoteve traducción #elif L==7 // it - "Evento sconosciuto" + "Evento sconosciuto" #elif L==8 // pl - "Nieznane zdarzenia" + "Nieznane zdarzenia" #elif L==9 // pt - "Evento desconhecido" + "Evento desconhecido" #endif - , -#if L==1 // ca // Ntf_EVENT_DOCUMENT_FILE - "Document" + , + [Ntf_EVENT_DOCUMENT_FILE] = +#if L==1 // ca + "Document" #elif L==2 // de - "Dokumentdatei" + "Dokumentdatei" #elif L==3 // en - "Document file" + "Document file" #elif L==4 // es - "Documento" + "Documento" #elif L==5 // fr - "Fichier de document" + "Fichier de document" #elif L==6 // gn - "Documento" // Okoteve traducción + "Documento" // Okoteve traducción #elif L==7 // it - "Documento" + "Documento" #elif L==8 // pl - "Plik dokumentu" + "Plik dokumentu" #elif L==9 // pt - "Arquivo de documento" + "Arquivo de documento" #endif - , -#if L==1 // ca // Ntf_EVENT_TEACHERS_FILE - "Arxiu de professors" + , + [Ntf_EVENT_TEACHERS_FILE] = +#if L==1 // ca + "Arxiu de professors" #elif L==2 // de - "Lehrer Datei" + "Lehrer Datei" #elif L==3 // en - "Teachers' file" + "Teachers' file" #elif L==4 // es - "Archivo de profesores" + "Archivo de profesores" #elif L==5 // fr - "Fichier d'enseignants" + "Fichier d'enseignants" #elif L==6 // gn - "Archivo de profesores" // Okoteve traducción + "Archivo de profesores" // Okoteve traducción #elif L==7 // it - "File di professori" + "File di professori" #elif L==8 // pl - "Nauczyciela plik" + "Nauczyciela plik" #elif L==9 // pt - "Arquivo dos professores" + "Arquivo dos professores" #endif - , -#if L==1 // ca // Ntf_EVENT_SHARED_FILE - "Arxiu compartit" + , + [Ntf_EVENT_SHARED_FILE] = +#if L==1 // ca + "Arxiu compartit" #elif L==2 // de - "Freigegebene Datei" + "Freigegebene Datei" #elif L==3 // en - "Shared file" + "Shared file" #elif L==4 // es - "Archivo compartido" + "Archivo compartido" #elif L==5 // fr - "Fichier partagé" + "Fichier partagé" #elif L==6 // gn - "Archivo compartido" // Okoteve traducción + "Archivo compartido" // Okoteve traducción #elif L==7 // it - "File condiviso" + "File condiviso" #elif L==8 // pl - "Udostępniony plik" + "Udostępniony plik" #elif L==9 // pt - "Arquivo compartilhado" + "Arquivo compartilhado" #endif - , -#if L==1 // ca // Ntf_EVENT_ASSIGNMENT - "Activitat" + , + [Ntf_EVENT_ASSIGNMENT] = +#if L==1 // ca + "Activitat" #elif L==2 // de - "Aufgabe" + "Aufgabe" #elif L==3 // en - "Assignment" + "Assignment" #elif L==4 // es - "Actividad" + "Actividad" #elif L==5 // fr - "Activité" + "Activité" #elif L==6 // gn - "Taréa" + "Taréa" #elif L==7 // it - "Attività" + "Attività" #elif L==8 // pl - "Przyporzadkowanie" + "Przyporzadkowanie" #elif L==9 // pt - "Atividade" + "Atividade" #endif - , -#if L==1 // ca // Ntf_EVENT_EXAM_ANNOUNCEMENT - "Convocatòria d'examen" + , + [Ntf_EVENT_EXAM_ANNOUNCEMENT] = +#if L==1 // ca + "Convocatòria d'examen" #elif L==2 // de - "Aufrufe für Prüfung" + "Aufrufe für Prüfung" #elif L==3 // en - "Announcement of exam" + "Announcement of exam" #elif L==4 // es - "Convocatoria de examen" + "Convocatoria de examen" #elif L==5 // fr - "Convocation à un examen" + "Convocation à un examen" #elif L==6 // gn - "Convocatoria de examen" // Okoteve traducción + "Convocatoria de examen" // Okoteve traducción #elif L==7 // it - "Appello d'esame" + "Appello d'esame" #elif L==8 // pl - "Ogloszenie egzamin" + "Ogloszenie egzamin" #elif L==9 // pt - "Chamada para exame" + "Chamada para exame" #endif - , -#if L==1 // ca // Ntf_EVENT_MARKS_FILE - "Fitxer de qualificacions" + , + [Ntf_EVENT_MARKS_FILE] = +#if L==1 // ca + "Fitxer de qualificacions" #elif L==2 // de - "Datei mit Bewertung" + "Datei mit Bewertung" #elif L==3 // en - "File with marks" + "File with marks" #elif L==4 // es - "Archivo de calificaciones" + "Archivo de calificaciones" #elif L==5 // fr - "Fichier avec des notes" + "Fichier avec des notes" #elif L==6 // gn - "Archivo de calificaciones" // Okoteve traducción + "Archivo de calificaciones" // Okoteve traducción #elif L==7 // it - "File con risultati" + "File con risultati" #elif L==8 // pl - "Plik ze znakami" + "Plik ze znakami" #elif L==9 // pt - "Arquivo de notas" + "Arquivo de notas" #endif - , -#if L==1 // ca // Ntf_EVENT_ENROLMENT_STD - "Inscripció com a estudiant" + , + [Ntf_EVENT_ENROLMENT_STD] = +#if L==1 // ca + "Inscripció com a estudiant" #elif L==2 // de - "Einschreibung als Student" + "Einschreibung als Student" #elif L==3 // en - "Enrolment as a student" + "Enrolment as a student" #elif L==4 // es - "Inscripción como estudiante" + "Inscripción como estudiante" #elif L==5 // fr - "Inscription en tant qu'étudiant" + "Inscription en tant qu'étudiant" #elif L==6 // gn - "Inscripción como estudiante" // Okoteve traducción + "Inscripción como estudiante" // Okoteve traducción #elif L==7 // it - "Iscrizione come studente" + "Iscrizione come studente" #elif L==8 // pl - "Zapisy jako student" + "Zapisy jako student" #elif L==9 // pt - "Inscrição como estudante" + "Inscrição como estudante" #endif - , -#if L==1 // ca // Ntf_EVENT_ENROLMENT_TCH - "Inscripció com a professor/a" + , + [Ntf_EVENT_ENROLMENT_TCH] = +#if L==1 // ca + "Inscripció com a professor/a" #elif L==2 // de - "Einschreibung als Lehrkraft" + "Einschreibung als Lehrkraft" #elif L==3 // en - "Enrolment as a teacher" + "Enrolment as a teacher" #elif L==4 // es - "Inscripción como profesor/a" + "Inscripción como profesor/a" #elif L==5 // fr - "Inscription en tant qu'enseignant" + "Inscription en tant qu'enseignant" #elif L==6 // gn - "Inscripción como profesor/a" // Okoteve traducción + "Inscripción como profesor/a" // Okoteve traducción #elif L==7 // it - "Iscrizione come professore/ssa" + "Iscrizione come professore/ssa" #elif L==8 // pl - "Zapisy jako nauczyciel" + "Zapisy jako nauczyciel" #elif L==9 // pt - "Inscrição como professor/a" + "Inscrição como professor/a" #endif - , -#if L==1 // ca // Ntf_EVENT_ENROLMENT_REQUEST - "Petició d'inscripció" + , + [Ntf_EVENT_ENROLMENT_REQUEST] = +#if L==1 // ca + "Petició d'inscripció" #elif L==2 // de - "Registrierungsanforderung" + "Registrierungsanforderung" #elif L==3 // en - "Enrolment request" + "Enrolment request" #elif L==4 // es - "Petición de inscripción" + "Petición de inscripción" #elif L==5 // fr - "Demande d'inscription" + "Demande d'inscription" #elif L==6 // gn - "Petición de inscripción" // Okoteve traducción + "Petición de inscripción" // Okoteve traducción #elif L==7 // it - "Richiesta di iscrizione" + "Richiesta di iscrizione" #elif L==8 // pl - "Żądanie rejestracji" + "Żądanie rejestracji" #elif L==9 // pt - "Pedido de inscrição" + "Pedido de inscrição" #endif - , -#if L==1 // ca // Ntf_EVENT_TIMELINE_COMMENT - "Comentari a un missatge social" + , + [Ntf_EVENT_TIMELINE_COMMENT] = +#if L==1 // ca + "Comentari a un missatge social" #elif L==2 // de - "Kommentar zu soziale Beitrag" + "Kommentar zu soziale Beitrag" #elif L==3 // en - "Comment to social post" + "Comment to social post" #elif L==4 // es - "Comentario a un mensaje social" + "Comentario a un mensaje social" #elif L==5 // fr - "Commentaire à message social" + "Commentaire à message social" #elif L==6 // gn - "Comentario a un mensaje social" // Okoteve traducción + "Comentario a un mensaje social" // Okoteve traducción #elif L==7 // it - "Commento a un post sociale" + "Commento a un post sociale" #elif L==8 // pl - "Komentarz do post społeczna" + "Komentarz do post społeczna" #elif L==9 // pt - "Comentário a um post sociais" + "Comentário a um post sociais" #endif - , -#if L==1 // ca // Ntf_EVENT_TIMELINE_FAV - "Missatge social marcat com favorit" + , + [Ntf_EVENT_TIMELINE_FAV] = +#if L==1 // ca + "Missatge social marcat com favorit" #elif L==2 // de - "Social Beitrag als Favorit markiert" + "Social Beitrag als Favorit markiert" #elif L==3 // en - "Social post marked as favourite" + "Social post marked as favourite" #elif L==4 // es - "Mensaje social marcado como favorito" + "Mensaje social marcado como favorito" #elif L==5 // fr - "Message social marquée comme favori" + "Message social marquée comme favori" #elif L==6 // gn - "Mensaje social marcado como favorito" // Okoteve traducción + "Mensaje social marcado como favorito" // Okoteve traducción #elif L==7 // it - "Post sociale segnato come preferito" + "Post sociale segnato come preferito" #elif L==8 // pl - "Post społecznej oznaczone jako ulubiony" + "Post społecznej oznaczone jako ulubiony" #elif L==9 // pt - "Post sociais marcado como favorito" + "Post sociais marcado como favorito" #endif - , -#if L==1 // ca // Ntf_EVENT_TIMELINE_SHARE - "Missatge social compartit" + , + [Ntf_EVENT_TIMELINE_SHARE] = +#if L==1 // ca + "Missatge social compartit" #elif L==2 // de - "Social Beitrag gemeinsamer" + "Social Beitrag gemeinsamer" #elif L==3 // en - "Social post shared" + "Social post shared" #elif L==4 // es - "Mensaje social compartido" + "Mensaje social compartido" #elif L==5 // fr - "Message social partagéé" + "Message social partagéé" #elif L==6 // gn - "Mensaje social compartido" // Okoteve traducción + "Mensaje social compartido" // Okoteve traducción #elif L==7 // it - "Post sociale condiviso" + "Post sociale condiviso" #elif L==8 // pl - "Post społecznej wspólne" + "Post społecznej wspólne" #elif L==9 // pt - "Post sociais compartido" + "Post sociais compartido" #endif - , -#if L==1 // ca // Ntf_EVENT_TIMELINE_MENTION - "Menció" + , + [Ntf_EVENT_TIMELINE_MENTION] = +#if L==1 // ca + "Menció" #elif L==2 // de - "Erwähnung" + "Erwähnung" #elif L==3 // en - "Mention" + "Mention" #elif L==4 // es - "Mención" + "Mención" #elif L==5 // fr - "Mention" + "Mention" #elif L==6 // gn - "Mención" // Okoteve traducción + "Mención" // Okoteve traducción #elif L==7 // it - "Menzione" + "Menzione" #elif L==8 // pl - "Wzmianka" + "Wzmianka" #elif L==9 // pt - "Menção" + "Menção" #endif - , -#if L==1 // ca // Ntf_EVENT_FOLLOWER + , + [Ntf_EVENT_FOLLOWER] = +#if L==1 // ca "Seguidor" #elif L==2 // de "Anhänger" @@ -27422,125 +27578,131 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] = #elif L==9 // pt "Seguidor" #endif - , -#if L==1 // ca // Ntf_EVENT_FORUM_POST_COURSE - "Comentari en un fòrum" + , + [Ntf_EVENT_FORUM_POST_COURSE] = +#if L==1 // ca + "Comentari en un fòrum" #elif L==2 // de - "Beiträge in einem Forum" + "Beiträge in einem Forum" #elif L==3 // en - "Post in a forum" + "Post in a forum" #elif L==4 // es - "Comentario en un foro" + "Comentario en un foro" #elif L==5 // fr - "Post dans un forum" + "Post dans un forum" #elif L==6 // gn - "Comentario en un foro" // Okoteve traducción + "Comentario en un foro" // Okoteve traducción #elif L==7 // it - "Post in un forum" + "Post in un forum" #elif L==8 // pl - "Post na forum" + "Post na forum" #elif L==9 // pt - "Post em um fórum" + "Post em um fórum" #endif - , -#if L==1 // ca // Ntf_EVENT_FORUM_REPLY - "Resposta en un fòrum" + , + [Ntf_EVENT_FORUM_REPLY] = +#if L==1 // ca + "Resposta en un fòrum" #elif L==2 // de - "Antwort in einem Forum" + "Antwort in einem Forum" #elif L==3 // en - "Response in a forum" + "Response in a forum" #elif L==4 // es - "Respuesta en un foro" + "Respuesta en un foro" #elif L==5 // fr - "Réponse dans un forum" + "Réponse dans un forum" #elif L==6 // gn - "Respuesta en un foro" // Okoteve traducción + "Respuesta en un foro" // Okoteve traducción #elif L==7 // it - "Risposta in un forum" + "Risposta in un forum" #elif L==8 // pl - "Odpowiedz na forum" + "Odpowiedz na forum" #elif L==9 // pt - "Resposta em um fórum" + "Resposta em um fórum" #endif - , -#if L==1 // ca // Ntf_EVENT_NOTICE - "Avís" + , + [Ntf_EVENT_NOTICE] = +#if L==1 // ca + "Avís" #elif L==2 // de - "Ankündigungen" + "Ankündigungen" #elif L==3 // en - "Notice" + "Notice" #elif L==4 // es - "Aviso" + "Aviso" #elif L==5 // fr - "Avis" + "Avis" #elif L==6 // gn - "Marandu" + "Marandu" #elif L==7 // it - "Avviso" + "Avviso" #elif L==8 // pl - "Informacja" + "Informacja" #elif L==9 // pt - "Anúncio" + "Anúncio" #endif - , -#if L==1 // ca // Ntf_EVENT_MESSAGE - "Missatge" + , + [Ntf_EVENT_MESSAGE] = +#if L==1 // ca + "Missatge" #elif L==2 // de - "Nachricht" + "Nachricht" #elif L==3 // en - "Message" + "Message" #elif L==4 // es - "Mensaje" + "Mensaje" #elif L==5 // fr - "Message" + "Message" #elif L==6 // gn - "Marandu" + "Marandu" #elif L==7 // it - "Messaggio" + "Messaggio" #elif L==8 // pl - "Wiadomość" + "Wiadomość" #elif L==9 // pt - "Mensagem" + "Mensagem" #endif - , -#if L==1 // ca // Ntf_EVENT_SURVEY // TODO: Move to assessment tab (also necessary in database) !!!!!!!!! - "Enquesta" + , + [Ntf_EVENT_SURVEY] = // TODO: Move to assessment tab (also necessary in database) !!!!!!!!! +#if L==1 // ca + "Enquesta" #elif L==2 // de - "Umfrage" + "Umfrage" #elif L==3 // en - "Survey" + "Survey" #elif L==4 // es - "Encuesta" + "Encuesta" #elif L==5 // fr - "Sondage" + "Sondage" #elif L==6 // gn - "Encuesta" // Okoteve traducción + "Encuesta" // Okoteve traducción #elif L==7 // it - "Sondaggio" + "Sondaggio" #elif L==8 // pl - "Badania" + "Badania" #elif L==9 // pt - "Inquérito" + "Inquérito" #endif - , -#if L==1 // ca // Ntf_EVENT_ENROLMENT_NET // TODO: Move to users tab (also necessary in database) !!!!!!!!! - "Inscripció com a professor/a no editor/a" + , + [Ntf_EVENT_ENROLMENT_NET] = // TODO: Move to users tab (also necessary in database) !!!!!!!!! +#if L==1 // ca + "Inscripció com a professor/a no editor/a" #elif L==2 // de - "Einschreibung als nicht bearbeiteter Lehrkraft" + "Einschreibung als nicht bearbeiteter Lehrkraft" #elif L==3 // en - "Enrolment as a non-editing teacher" + "Enrolment as a non-editing teacher" #elif L==4 // es - "Inscripción como profesor/a no editor/a" + "Inscripción como profesor/a no editor/a" #elif L==5 // fr - "Inscription en tant qu'enseignant non-éditeur/trice" + "Inscription en tant qu'enseignant non-éditeur/trice" #elif L==6 // gn - "Inscripción como profesor/a no editor/a" // Okoteve traducción + "Inscripción como profesor/a no editor/a" // Okoteve traducción #elif L==7 // it - "Iscrizione come professore/ssa non-editing" + "Iscrizione come professore/ssa non-editing" #elif L==8 // pl - "Zapisy jako nauczyciel nie edytujący" + "Zapisy jako nauczyciel nie edytujący" #elif L==9 // pt - "Inscrição como professor/a não editor/a" + "Inscrição como professor/a não editor/a" #endif }; @@ -28988,65 +29150,65 @@ const char *Txt_Photo_of_THE_USER_X_has_been_removed = // Warning: it is very im #endif const char *Txt_PHOTO_PROCESSING_CAPTIONS[3] = - { + { #if L==1 // ca - "Rostre seleccionat" + "Rostre seleccionat" #elif L==2 // de - "Gesicht ausgewählt" + "Gesicht ausgewählt" #elif L==3 // en - "Face selected" + "Face selected" #elif L==4 // es - "Rostro seleccionado" + "Rostro seleccionado" #elif L==5 // fr - "Visage sélectionné" + "Visage sélectionné" #elif L==6 // gn - "Rostro seleccionado" // Okoteve traducción + "Rostro seleccionado" // Okoteve traducción #elif L==7 // it - "Viso selezionato" + "Viso selezionato" #elif L==8 // pl - "Twarze wybranych" + "Twarze wybranych" #elif L==9 // pt - "Rosto selecionado" + "Rosto selecionado" #endif - , + , #if L==1 // ca - "Contraste y saturación mejorados" // Necessita traduccio + "Contraste y saturación mejorados" // Necessita traduccio #elif L==2 // de - "Contrast and saturation enhanced" // Need Übersetzung + "Contrast and saturation enhanced" // Need Übersetzung #elif L==3 // en - "Contrast and saturation enhanced" + "Contrast and saturation enhanced" #elif L==4 // es - "Contraste y saturación mejorados" + "Contraste y saturación mejorados" #elif L==5 // fr - "Contrast and saturation enhanced" // Besoin de traduction + "Contrast and saturation enhanced" // Besoin de traduction #elif L==6 // gn - "Contraste y saturación mejorados" // Okoteve traducción + "Contraste y saturación mejorados" // Okoteve traducción #elif L==7 // it - "Contrasto e saturazione migliorata" + "Contrasto e saturazione migliorata" #elif L==8 // pl - "Zwiekszenie kontrastu i nasycenia" + "Zwiekszenie kontrastu i nasycenia" #elif L==9 // pt - "Contraste e saturação aprimorados" + "Contraste e saturação aprimorados" #endif - , + , #if L==1 // ca - "Balance de blancos realizado" // Necessita traduccio + "Balance de blancos realizado" // Necessita traduccio #elif L==2 // de - "White balance made" // Need Übersetzung + "White balance made" // Need Übersetzung #elif L==3 // en - "White balance made" + "White balance made" #elif L==4 // es - "Balance de blancos realizado" + "Balance de blancos realizado" #elif L==5 // fr - "White balance made" // Besoin de traduction + "White balance made" // Besoin de traduction #elif L==6 // gn - "Balance de blancos realizado" // Okoteve traducción + "Balance de blancos realizado" // Okoteve traducción #elif L==7 // it - "Bilanciamento di bianco realizzato" + "Bilanciamento di bianco realizzato" #elif L==8 // pl - "Balans bieli sie" + "Balans bieli sie" #elif L==9 // pt - "Balanço de branco realizado" + "Balanço de branco realizado" #endif }; @@ -29219,70 +29381,74 @@ const char *Txt_Places = #endif const char *Txt_PLACES_HELP_ORDER[Plc_NUM_ORDERS] = - { + { + [Plc_ORDER_BY_PLACE] = #if L==1 // ca - "Ordenar por lugar" // Necessita traduccio + "Ordenar por lugar" // Necessita traduccio #elif L==2 // de - "Nach Standort sortieren" + "Nach Standort sortieren" #elif L==3 // en - "Sort by place" + "Sort by place" #elif L==4 // es - "Ordenar por lugar" + "Ordenar por lugar" #elif L==5 // fr - "Trier par emplacement" + "Trier par emplacement" #elif L==6 // gn - "Ordenar por lugar" // Okoteve traducción + "Ordenar por lugar" // Okoteve traducción #elif L==7 // it - "Ordina per localit`" + "Ordina per localit`" #elif L==8 // pl - "Sortuj wedlug miejsca" + "Sortuj wedlug miejsca" #elif L==9 // pt - "Classificar por localização" + "Classificar por localização" #endif - , + , + [Plc_ORDER_BY_NUM_CTRS] = #if L==1 // ca - "Ordenar per nombre de titulacions" + "Ordenar per nombre de titulacions" #elif L==2 // de - "Nach Anzahl der Studiengänge sortieren" + "Nach Anzahl der Studiengänge sortieren" #elif L==3 // en - "Sort by no. of degrees" + "Sort by no. of degrees" #elif L==4 // es - "Ordenar por nº de titulaciones" + "Ordenar por nº de titulaciones" #elif L==5 // fr - "Trier par nombre d'études" + "Trier par nombre d'études" #elif L==6 // gn - "Ordenar por nº de titulaciones" // Okoteve traducción + "Ordenar por nº de titulaciones" // Okoteve traducción #elif L==7 // it - "Ordina per numero di lauree" + "Ordina per numero di lauree" #elif L==8 // pl - "Sortuj wedlug stopni" + "Sortuj wedlug stopni" #elif L==9 // pt - "Classificar por número de graus" + "Classificar por número de graus" #endif }; const char *Txt_PLACES_ORDER[Plc_NUM_ORDERS] = - { + { + [Plc_ORDER_BY_PLACE] = #if L==1 // ca - "Lloc" + "Lloc" #elif L==2 // de - "Standort" + "Standort" #elif L==3 // en - "Place" + "Place" #elif L==4 // es - "Lugar" + "Lugar" #elif L==5 // fr - "Emplacement" + "Emplacement" #elif L==6 // gn - "Tenda" + "Tenda" #elif L==7 // it - "Luogo" + "Luogo" #elif L==8 // pl - "Miejsce" + "Miejsce" #elif L==9 // pt - "Localização" + "Localização" #endif - , + , + [Plc_ORDER_BY_NUM_CTRS] = #if L==1 // ca "Centres" #elif L==2 // de @@ -29901,105 +30067,110 @@ const char *Txt_Privacy = #endif const char *Txt_PRIVACY_OPTIONS[Pri_NUM_OPTIONS_PRIVACY] = - { // Pri_VISIBILITY_UNKNOWN + { + [Pri_VISIBILITY_UNKNOWN] = #if L==1 // ca - "Desconeguda" + "Desconeguda" #elif L==2 // de - "Unbekannt" + "Unbekannt" #elif L==3 // en - "Unknown" + "Unknown" #elif L==4 // es - "Desconocida" + "Desconocida" #elif L==5 // fr - "Inconnu" + "Inconnu" #elif L==6 // gn - "Desconocida" // Okoteve traducción + "Desconocida" // Okoteve traducción #elif L==7 // it - "Sconosciuta" + "Sconosciuta" #elif L==8 // pl - "Nieznany" + "Nieznany" #elif L==9 // pt - "Desconhecida" + "Desconhecida" #endif - , // Pri_VISIBILITY_USER + , + [Pri_VISIBILITY_USER] = #if L==1 // ca - "Visible por mí y mis profesores / mis estudiantes" // Necessita traduccio + "Visible por mí y mis profesores / mis estudiantes" // Necessita traduccio #elif L==2 // de - "Visible by me and my teachers / my students" // Need Übersetzung + "Visible by me and my teachers / my students" // Need Übersetzung #elif L==3 // en - "Visible by me and my teachers / my students" + "Visible by me and my teachers / my students" #elif L==4 // es - "Visible por mí y mis profesores / mis estudiantes" + "Visible por mí y mis profesores / mis estudiantes" #elif L==5 // fr - "Visible by me and my teachers / my students" // Besoin de traduction + "Visible by me and my teachers / my students" // Besoin de traduction #elif L==6 // gn - "Visible por mí y mis profesores / mis estudiantes" // Okoteve traducción + "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 + "Visible by me and my teachers / my students" // Bisogno di traduzione #elif L==8 // pl - "Visible by me and my teachers / my students" // Potrzebujesz tlumaczenie + "Visible by me and my teachers / my students" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Visível por mim e meus professores / meus estudantes" + "Visível por mim e meus professores / meus estudantes" #endif - , // Pri_VISIBILITY_COURSE + , + [Pri_VISIBILITY_COURSE] = #if L==1 // ca - "Visible por usuarios con los que comparto asignaturas" // Necessita traduccio + "Visible por usuarios con los que comparto asignaturas" // Necessita traduccio #elif L==2 // de - "Visible by users with whom I share courses" // Need Übersetzung + "Visible by users with whom I share courses" // Need Übersetzung #elif L==3 // en - "Visible by users with whom I share courses" + "Visible by users with whom I share courses" #elif L==4 // es - "Visible por usuarios con los que comparto asignaturas" + "Visible por usuarios con los que comparto asignaturas" #elif L==5 // fr - "Visible by users with whom I share courses" // Besoin de traduction + "Visible by users with whom I share courses" // Besoin de traduction #elif L==6 // gn - "Visible por usuarios con los que comparto asignaturas" // Okoteve traducción + "Visible por usuarios con los que comparto asignaturas" // Okoteve traducción #elif L==7 // it - "Visible by users with whom I share courses" // Bisogno di traduzione + "Visible by users with whom I share courses" // Bisogno di traduzione #elif L==8 // pl - "Visible by users with whom I share courses" // Potrzebujesz tlumaczenie + "Visible by users with whom I share courses" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Visível por usuários com quem compartilho disciplinas" + "Visível por usuários com quem compartilho disciplinas" #endif - , // Pri_VISIBILITY_SYSTEM + , + [Pri_VISIBILITY_SYSTEM] = #if L==1 // ca - "Visible por cualquier usuario identificado" // Necessita traduccio + "Visible por cualquier usuario identificado" // Necessita traduccio #elif L==2 // de - "Visible by any logged user" // Need Übersetzung + "Visible by any logged user" // Need Übersetzung #elif L==3 // en - "Visible by any logged user" + "Visible by any logged user" #elif L==4 // es - "Visible por cualquier usuario identificado" + "Visible por cualquier usuario identificado" #elif L==5 // fr - "Visible by any logged user" // Besoin de traduction + "Visible by any logged user" // Besoin de traduction #elif L==6 // gn - "Visible por cualquier usuario identificado" // Okoteve traducción + "Visible por cualquier usuario identificado" // Okoteve traducción #elif L==7 // it - "Visible by any logged user" // Bisogno di traduzione + "Visible by any logged user" // Bisogno di traduzione #elif L==8 // pl - "Visible by any logged user" // Potrzebujesz tlumaczenie + "Visible by any logged user" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Visível por qualquer usuário logado" + "Visível por qualquer usuário logado" #endif - , // Pri_VISIBILITY_WORLD + , + [Pri_VISIBILITY_WORLD] = #if L==1 // ca - "Visible por todo el mundo" // Necessita traduccio + "Visible por todo el mundo" // Necessita traduccio #elif L==2 // de - "Visible by everyone" // Need Übersetzung + "Visible by everyone" // Need Übersetzung #elif L==3 // en - "Visible by everyone" + "Visible by everyone" #elif L==4 // es - "Visible por todo el mundo" + "Visible por todo el mundo" #elif L==5 // fr - "Visible by everyone" // Besoin de traduction + "Visible by everyone" // Besoin de traduction #elif L==6 // gn - "Visible por todo el mundo" // Okoteve traducción + "Visible por todo el mundo" // Okoteve traducción #elif L==7 // it - "Visible by everyone" // Bisogno di traduzione + "Visible by everyone" // Bisogno di traduzione #elif L==8 // pl - "Visible by everyone" // Potrzebujesz tlumaczenie + "Visible by everyone" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Visível em todo o mundo" + "Visível em todo o mundo" #endif }; @@ -30151,8 +30322,8 @@ const char *Txt_Project_files = #endif const char *Txt_PROJECT_ORDER[Prj_NUM_ORDERS] = - { - // Prj_ORDER_START_TIME + { + [Prj_ORDER_START_TIME] = #if L==1 // ca "Data de creació" #elif L==2 // de @@ -30172,8 +30343,8 @@ const char *Txt_PROJECT_ORDER[Prj_NUM_ORDERS] = #elif L==9 // pt "Data da criação" #endif - , - // Prj_ORDER_END_TIME + , + [Prj_ORDER_END_TIME] = #if L==1 // ca "Última edició" #elif L==2 // de @@ -30193,8 +30364,8 @@ const char *Txt_PROJECT_ORDER[Prj_NUM_ORDERS] = #elif L==9 // pt "Última edição" #endif - , - // Prj_ORDER_TITLE + , + [Prj_ORDER_TITLE] = #if L==1 // ca "Títol" #elif L==2 // de @@ -30214,8 +30385,8 @@ const char *Txt_PROJECT_ORDER[Prj_NUM_ORDERS] = #elif L==9 // pt "Título" #endif - , - // Prj_ORDER_DEPARTMENT + , + [Prj_ORDER_DEPARTMENT] = #if L==1 // ca "Departament" #elif L==2 // de @@ -30238,89 +30409,89 @@ const char *Txt_PROJECT_ORDER[Prj_NUM_ORDERS] = }; const char *Txt_PROJECT_ORDER_HELP[Prj_NUM_ORDERS] = - { - // Prj_ORDER_START_TIME + { + [Prj_ORDER_START_TIME] = #if L==1 // ca - "Ordenar per data de creació" + "Ordenar per data de creació" #elif L==2 // de - "Sortieren nach Erstellungsdatum" + "Sortieren nach Erstellungsdatum" #elif L==3 // en - "Sort by date of creation" + "Sort by date of creation" #elif L==4 // es - "Ordenar por fecha de creación" + "Ordenar por fecha de creación" #elif L==5 // fr - "Trier par date de création" + "Trier par date de création" #elif L==6 // gn - "Ordenar por fecha de creación" // Okoteve traducción + "Ordenar por fecha de creación" // Okoteve traducción #elif L==7 // it - "Ordina per data di creazione" + "Ordina per data di creazione" #elif L==8 // pl - "Sortuj według daty utworzenia" + "Sortuj według daty utworzenia" #elif L==9 // pt - "Classificar por data de criação" + "Classificar por data de criação" #endif - , - // Prj_ORDER_END_TIME + , + [Prj_ORDER_END_TIME] = #if L==1 // ca - "Ordenar per data de l'última edició" + "Ordenar per data de l'última edició" #elif L==2 // de - "Sortieren nach letzten Ausgabe" + "Sortieren nach letzten Ausgabe" #elif L==3 // en - "Sort by date of last edition" + "Sort by date of last edition" #elif L==4 // es - "Ordenar por fecha de última edición" + "Ordenar por fecha de última edición" #elif L==5 // fr - "Trier par date de dernière édition" + "Trier par date de dernière édition" #elif L==6 // gn - "Ordenar por fecha de última edición" // Okoteve traducción + "Ordenar por fecha de última edición" // Okoteve traducción #elif L==7 // it - "Ordina per data dell'ultima edizione" + "Ordina per data dell'ultima edizione" #elif L==8 // pl - "Sortuj według daty ostatniej edycji" + "Sortuj według daty ostatniej edycji" #elif L==9 // pt - "Classificar por data da última edição" + "Classificar por data da última edição" #endif - , - // Prj_ORDER_TITLE + , + [Prj_ORDER_TITLE] = #if L==1 // ca - "Ordenar per títol" + "Ordenar per títol" #elif L==2 // de - "Sortieren nach Titel" + "Sortieren nach Titel" #elif L==3 // en - "Sort by title" + "Sort by title" #elif L==4 // es - "Ordenar por título" + "Ordenar por título" #elif L==5 // fr - "Trier par titre" + "Trier par titre" #elif L==6 // gn - "Ordenar por título" // Okoteve traducción + "Ordenar por título" // Okoteve traducción #elif L==7 // it - "Ordina per titolo" + "Ordina per titolo" #elif L==8 // pl - "Sortuj wedlug tytuł" + "Sortuj wedlug tytuł" #elif L==9 // pt - "Classificar por título" + "Classificar por título" #endif - , - // Prj_ORDER_DEPARTMENT + , + [Prj_ORDER_DEPARTMENT] = #if L==1 // ca - "Ordenar per departament" + "Ordenar per departament" #elif L==2 // de - "Sortieren nach Abteilung" + "Sortieren nach Abteilung" #elif L==3 // en - "Sort by department" + "Sort by department" #elif L==4 // es - "Ordenar por departamento" + "Ordenar por departamento" #elif L==5 // fr - "Trier par département" + "Trier par département" #elif L==6 // gn - "Ordenar por departamento" // Okoteve traducción + "Ordenar por departamento" // Okoteve traducción #elif L==7 // it - "Ordina per dipartimento" + "Ordina per dipartimento" #elif L==8 // pl - "Sortuj wedlug wydział" + "Sortuj wedlug wydział" #elif L==9 // pt - "Classificar por departamento" + "Classificar por departamento" #endif }; @@ -30347,7 +30518,8 @@ const char *Txt_Project_X_removed = // Warning: it is very important to include const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT] = { -#if L==1 // ca // Prj_ROLE_UNK + [Prj_ROLE_UNK] = +#if L==1 // ca "Desconegut/da" #elif L==2 // de "Unbekannter/e" @@ -30367,7 +30539,8 @@ const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT] = "Desconhecido/a" #endif , -#if L==1 // ca // Prj_ROLE_STD + [Prj_ROLE_STD] = +#if L==1 // ca "Estudiant" #elif L==2 // de "Student" @@ -30387,7 +30560,8 @@ const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT] = "Estudante" #endif , -#if L==1 // ca // Prj_ROLE_TUT + [Prj_ROLE_TUT] = +#if L==1 // ca "Tutor/a" #elif L==2 // de "Tutor" @@ -30407,7 +30581,8 @@ const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT] = "Tutor/a" #endif , -#if L==1 // ca // Prj_ROLE_EVL + [Prj_ROLE_EVL] = +#if L==1 // ca "Avaluador/a" #elif L==2 // de "Auswerter" @@ -30429,9 +30604,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT] = }; const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] = -{ { -#if L==1 // ca // Prj_ROLE_UNK - Usr_SEX_UNKNOWN + [Prj_ROLE_UNK][Usr_SEX_UNKNOWN] = +#if L==1 // ca "desconegut/da" #elif L==2 // de "Unbekannter/e" @@ -30450,8 +30625,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "desconhecido/a" #endif - , -#if L==1 // ca // Prj_ROLE_UNK - Usr_SEX_FEMALE + , + [Prj_ROLE_UNK][Usr_SEX_FEMALE] = +#if L==1 // ca "desconeguda" #elif L==2 // de "Unbekanntere" @@ -30470,8 +30646,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "desconhecida" #endif - , -#if L==1 // ca // Prj_ROLE_UNK - Usr_SEX_MALE + , + [Prj_ROLE_UNK][Usr_SEX_MALE] = +#if L==1 // ca "desconegut" #elif L==2 // de "Unbekannter" @@ -30490,8 +30667,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "desconhecido" #endif - , -#if L==1 // ca // Prj_ROLE_UNK - Usr_SEX_ALL + , + [Prj_ROLE_UNK][Usr_SEX_ALL] = +#if L==1 // ca "desconegut/da" #elif L==2 // de "Unbekannter/e" @@ -30510,9 +30688,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "desconhecido/a" #endif - }, - { -#if L==1 // ca // Prj_ROLE_STD - Usr_SEX_UNKNOWN + , + [Prj_ROLE_STD][Usr_SEX_UNKNOWN] = +#if L==1 // ca "estudiant" #elif L==2 // de "Student" @@ -30531,8 +30709,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "estudante" #endif - , -#if L==1 // ca // Prj_ROLE_STD - Usr_SEX_FEMALE + , + [Prj_ROLE_STD][Usr_SEX_FEMALE] = +#if L==1 // ca "estudiant" #elif L==2 // de "Student" @@ -30551,8 +30730,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "estudante" #endif - , -#if L==1 // ca // Prj_ROLE_STD - Usr_SEX_MALE + , + [Prj_ROLE_STD][Usr_SEX_MALE] = +#if L==1 // ca "estudiant" #elif L==2 // de "Student" @@ -30571,8 +30751,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "estudante" #endif - , -#if L==1 // ca // Prj_ROLE_STD - Usr_SEX_ALL + , + [Prj_ROLE_STD][Usr_SEX_ALL] = +#if L==1 // ca "estudiant" #elif L==2 // de "Student" @@ -30591,9 +30772,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "estudante" #endif - }, - { -#if L==1 // ca // Prj_ROLE_TUT - Usr_SEX_UNKNOWN + , + [Prj_ROLE_TUT][Usr_SEX_UNKNOWN] = +#if L==1 // ca "tutor/a" #elif L==2 // de "Tutor" @@ -30612,8 +30793,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "tutor/a" #endif - , -#if L==1 // ca // Prj_ROLE_TUT - Usr_SEX_FEMALE + , + [Prj_ROLE_TUT][Usr_SEX_FEMALE] = +#if L==1 // ca "tutora" #elif L==2 // de "Tutor" @@ -30632,8 +30814,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "tutora" #endif - , -#if L==1 // ca // Prj_ROLE_TUT - Usr_SEX_MALE + , + [Prj_ROLE_TUT][Usr_SEX_MALE] = +#if L==1 // ca "tutor" #elif L==2 // de "Tutor" @@ -30652,8 +30835,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "tutor" #endif - , -#if L==1 // ca // Prj_ROLE_TUT - Usr_SEX_ALL + , + [Prj_ROLE_TUT][Usr_SEX_ALL] = +#if L==1 // ca "tutor/a" #elif L==2 // de "Tutor" @@ -30672,9 +30856,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "tutor/a" #endif - }, - { -#if L==1 // ca // Prj_ROLE_EVL - Usr_SEX_UNKNOWN + , + [Prj_ROLE_EVL][Usr_SEX_UNKNOWN] = +#if L==1 // ca "avaluador/a" #elif L==2 // de "Auswerter" @@ -30693,8 +30877,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "avaliador/a" #endif - , -#if L==1 // ca // Prj_ROLE_EVL - Usr_SEX_FEMALE + , + [Prj_ROLE_EVL][Usr_SEX_FEMALE] = +#if L==1 // ca "avaluadora" #elif L==2 // de "Auswerter" @@ -30713,8 +30898,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "avaliadora" #endif - , -#if L==1 // ca // Prj_ROLE_EVL - Usr_SEX_MALE + , + [Prj_ROLE_EVL][Usr_SEX_MALE] = +#if L==1 // ca "avaluador" #elif L==2 // de "Auswerter" @@ -30733,8 +30919,9 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "avaliador" #endif - , -#if L==1 // ca // Prj_ROLE_EVL - Usr_SEX_ALL + , + [Prj_ROLE_EVL][Usr_SEX_ALL] = +#if L==1 // ca "avaluador/a" #elif L==2 // de "Auswerter" @@ -30753,12 +30940,12 @@ const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT][Usr_NUM_SEXS] #elif L==9 // pt "avaliador/a" #endif - } -}; + }; const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT] = { -#if L==1 // ca // Prj_ROLE_UNK + [Prj_ROLE_UNK] = +#if L==1 // ca "Desconeguts" #elif L==2 // de "Unbekannte" @@ -30778,7 +30965,8 @@ const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT] = "Desconhecidos" #endif , -#if L==1 // ca // Prj_ROLE_STD + [Prj_ROLE_STD] = +#if L==1 // ca "Estudiants" #elif L==2 // de "Studenten" @@ -30798,7 +30986,8 @@ const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT] = "Estudantes" #endif , -#if L==1 // ca // Prj_ROLE_TUT + [Prj_ROLE_TUT] = +#if L==1 // ca "Tutors" #elif L==2 // de "Tutoren" @@ -30818,7 +31007,8 @@ const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT] = "Tutores" #endif , -#if L==1 // ca // Prj_ROLE_EVL + [Prj_ROLE_EVL] = +#if L==1 // ca "Avaluadors" #elif L==2 // de "Auswerter" @@ -30841,7 +31031,8 @@ const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT] = const char *Txt_PROJECT_ROLES_PLURAL_abc[Prj_NUM_ROLES_IN_PROJECT] = { -#if L==1 // ca // Prj_ROLE_UNK + [Prj_ROLE_UNK] = +#if L==1 // ca "desconeguts" #elif L==2 // de "Unbekannte" @@ -30861,7 +31052,8 @@ const char *Txt_PROJECT_ROLES_PLURAL_abc[Prj_NUM_ROLES_IN_PROJECT] = "desconhecidos" #endif , -#if L==1 // ca // Prj_ROLE_STD + [Prj_ROLE_STD] = +#if L==1 // ca "estudiants" #elif L==2 // de "Studenten" @@ -30881,7 +31073,8 @@ const char *Txt_PROJECT_ROLES_PLURAL_abc[Prj_NUM_ROLES_IN_PROJECT] = "estudantes" #endif , -#if L==1 // ca // Prj_ROLE_TUT + [Prj_ROLE_TUT] = +#if L==1 // ca "tutors" #elif L==2 // de "Tutoren" @@ -30901,7 +31094,8 @@ const char *Txt_PROJECT_ROLES_PLURAL_abc[Prj_NUM_ROLES_IN_PROJECT] = "tutores" #endif , -#if L==1 // ca // Prj_ROLE_EVL + [Prj_ROLE_EVL] = +#if L==1 // ca "avaluadors" #elif L==2 // de "Auswerter" @@ -30924,7 +31118,8 @@ const char *Txt_PROJECT_ROLES_PLURAL_abc[Prj_NUM_ROLES_IN_PROJECT] = const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES] = { -#if L==1 // ca // Prj_PROPOSAL_NEW + [Prj_PROPOSAL_NEW] = +#if L==1 // ca "Projecte nou" #elif L==2 // de "Neues Projekt" @@ -30944,7 +31139,8 @@ const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES] = "Projeto novo" #endif , -#if L==1 // ca // Prj_PROPOSAL_MODIFIED + [Prj_PROPOSAL_MODIFIED] = +#if L==1 // ca "Projecte ja proposat en convocatòries anteriors, amb modificacions" #elif L==2 // de "Projekt in früheren Anrufen vorgeschlagen, mit Änderungen" @@ -30964,7 +31160,8 @@ const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES] = "Projeto proposto em chamadas anteriores, com modificações" #endif , -#if L==1 // ca // Prj_PROPOSAL_UNMODIFIED + [Prj_PROPOSAL_UNMODIFIED] = +#if L==1 // ca "Projecte ja proposat en convocatòries anteriors, sense modificacions" #elif L==2 // de "Projekt in früheren Anrufen vorgeschlagen, ohne Änderungen" @@ -30987,7 +31184,7 @@ const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES] = const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS] = { - // Prj_FAULTY + [Prj_FAULTY] = #if L==1 // ca "Projectes defectuosos" #elif L==2 // de @@ -31008,7 +31205,7 @@ const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS] = "Projetos defeituosos" #endif , - // Prj_FAULTLESS + [Prj_FAULTLESS] = #if L==1 // ca "Projectes correctos" #elif L==2 // de @@ -31032,7 +31229,7 @@ const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS] = const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Prj_NUM_ASSIGNED_NONASSIG] = { - // Prj_ASSIGNED + [Prj_ASSIGNED] = #if L==1 // ca "Projectes assignats" #elif L==2 // de @@ -31053,7 +31250,7 @@ const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Prj_NUM_ASSIGNED_NONASSIG] = "Projetos atribuídos" #endif , - // Prj_NONASSIG + [Prj_NONASSIG] = #if L==1 // ca "Projectes no assignats" #elif L==2 // de @@ -31077,7 +31274,7 @@ const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Prj_NUM_ASSIGNED_NONASSIG] = const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_SINGUL[Prj_NUM_ASSIGNED_NONASSIG] = { - // Prj_ASSIGNED + [Prj_ASSIGNED] = #if L==1 // ca "Projecte assignat" #elif L==2 // de @@ -31098,7 +31295,7 @@ const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_SINGUL[Prj_NUM_ASSIGNED_NONASSIG] = "Projeto atribuído" #endif , - // Prj_NONASSIG + [Prj_NONASSIG] = #if L==1 // ca "Projecte no assignat" #elif L==2 // de @@ -31122,7 +31319,7 @@ const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_SINGUL[Prj_NUM_ASSIGNED_NONASSIG] = const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[Prj_NUM_HIDDEN_VISIBL] = { - // Prj_HIDDEN + [Prj_HIDDEN] = #if L==1 // ca "Projectes ocults" #elif L==2 // de @@ -31143,7 +31340,7 @@ const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[Prj_NUM_HIDDEN_VISIBL] = "Projetos ocultos" #endif , - // Prj_VISIBL + [Prj_VISIBL] = #if L==1 // ca "Projectes visibles" #elif L==2 // de @@ -31649,70 +31846,74 @@ const char *Txt_Record_field_X_removed = // Warning: it is very important to inc #endif const char *Txt_RECORD_FIELD_VISIBILITY_MENU[Rec_NUM_TYPES_VISIBILITY] = - { + { + [Rec_HIDDEN_FIELD] = #if L==1 // ca - "Oculto" // Necessita traduccio + "Oculto" // Necessita traduccio #elif L==2 // de - "Versteckt" + "Versteckt" #elif L==3 // en - "Hidden" + "Hidden" #elif L==4 // es - "Oculto" + "Oculto" #elif L==5 // fr - "Caché" + "Caché" #elif L==6 // gn - "Oculto" // Okoteve traducción + "Oculto" // Okoteve traducción #elif L==7 // it - "Nascosto" + "Nascosto" #elif L==8 // pl - "Ukryty" + "Ukryty" #elif L==9 // pt - "Oculto" + "Oculto" #endif - , + , + [Rec_VISIBLE_FIELD] = #if L==1 // ca - "Visible pero no editable" // Necessita traduccio + "Visible pero no editable" // Necessita traduccio #elif L==2 // de - "Sichtbar, aber nicht bearbeitet werden" + "Sichtbar, aber nicht bearbeitet werden" #elif L==3 // en - "Visible but not editable" + "Visible but not editable" #elif L==4 // es - "Visible pero no editable" + "Visible pero no editable" #elif L==5 // fr - "Visible mais non modifiable" + "Visible mais non modifiable" #elif L==6 // gn - "Visible pero no editable" // Okoteve traducción + "Visible pero no editable" // Okoteve traducción #elif L==7 // it - "Visibile ma non modificabile" + "Visibile ma non modificabile" #elif L==8 // pl - "Widoczne, ale nie mozna edytować" + "Widoczne, ale nie mozna edytować" #elif L==9 // pt - "Visível, mas não editável" + "Visível, mas não editável" #endif - , + , + [Rec_EDITABLE_FIELD] = #if L==1 // ca - "Visible y editable" // Necessita traduccio + "Visible y editable" // Necessita traduccio #elif L==2 // de - "Sichtbar und bearbeitet werde" + "Sichtbar und bearbeitet werde" #elif L==3 // en - "Visible and editable" + "Visible and editable" #elif L==4 // es - "Visible y editable" + "Visible y editable" #elif L==5 // fr - "Visible et modifiable" + "Visible et modifiable" #elif L==6 // gn - "Visible y editable" // Okoteve traducción + "Visible y editable" // Okoteve traducción #elif L==7 // it - "Visibile e modificabile" + "Visibile e modificabile" #elif L==8 // pl - "Widzialne i mozna edytować" + "Widzialne i mozna edytować" #elif L==9 // pt - "Visível e editável" + "Visível e editável" #endif }; const char *Txt_RECORD_FIELD_VISIBILITY_MSG[Rec_NUM_TYPES_VISIBILITY] = // Warning: it is very important to include %s in the following sentences { + [Rec_HIDDEN_FIELD] = #if L==1 // ca "A partir de ahora los estudiantes" " no podrán ver el campo %s de las fichas."// Necessita traduccio @@ -31742,6 +31943,7 @@ const char *Txt_RECORD_FIELD_VISIBILITY_MSG[Rec_NUM_TYPES_VISIBILITY] = // Warni " os estudantes não podem ver o campo %s dos cartões." #endif , + [Rec_VISIBLE_FIELD] = #if L==1 // ca "A partir de ahora los estudiantes" " podrán ver pero no editar el campo %s de las fichas."// Necessita traduccio @@ -31771,6 +31973,7 @@ const char *Txt_RECORD_FIELD_VISIBILITY_MSG[Rec_NUM_TYPES_VISIBILITY] = // Warni " os estudantes podem visualizar, mas não editar o campo %s dos cartões." #endif , + [Rec_EDITABLE_FIELD] = #if L==1 // ca "A partir de ahora los estudiantes" " podrán ver y editar el campo %s de las fichas."// Necessita traduccio @@ -31802,65 +32005,68 @@ const char *Txt_RECORD_FIELD_VISIBILITY_MSG[Rec_NUM_TYPES_VISIBILITY] = // Warni }; const char *Txt_RECORD_FIELD_VISIBILITY_RECORD[Rec_NUM_TYPES_VISIBILITY] = - { + { + [Rec_HIDDEN_FIELD] = #if L==1 // ca - "oculto" // Necessita traduccio + "oculto" // Necessita traduccio #elif L==2 // de - "versteckt" + "versteckt" #elif L==3 // en - "hidden" + "hidden" #elif L==4 // es - "oculto" + "oculto" #elif L==5 // fr - "caché" + "caché" #elif L==6 // gn - "oculto" // Okoteve traducción + "oculto" // Okoteve traducción #elif L==7 // it - "nascosto" + "nascosto" #elif L==8 // pl - "ukryty" + "ukryty" #elif L==9 // pt - "oculto" + "oculto" #endif - , + , + [Rec_VISIBLE_FIELD] = #if L==1 // ca - "visible" // Necessita traduccio + "visible" // Necessita traduccio #elif L==2 // de - "sichtbar" + "sichtbar" #elif L==3 // en - "visible" + "visible" #elif L==4 // es - "visible" + "visible" #elif L==5 // fr - "visible" + "visible" #elif L==6 // gn - "visible" // Okoteve traducción + "visible" // Okoteve traducción #elif L==7 // it - "visibile" + "visibile" #elif L==8 // pl - "widoczny" + "widoczny" #elif L==9 // pt - "visível" + "visível" #endif - , + , + [Rec_EDITABLE_FIELD] = #if L==1 // ca - "editable" // Necessita traduccio + "editable" // Necessita traduccio #elif L==2 // de - "bearbeitet werde" + "bearbeitet werde" #elif L==3 // en - "editable" + "editable" #elif L==4 // es - "editable" + "editable" #elif L==5 // fr - "modifiable" + "modifiable" #elif L==6 // gn - "editable" // Okoteve traducción + "editable" // Okoteve traducción #elif L==7 // it - "modificabile" + "modificabile" #elif L==8 // pl - "edytowalne" + "edytowalne" #elif L==9 // pt - "editável" + "editável" #endif }; @@ -33509,7 +33715,8 @@ const char *Txt_Role = #endif const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = - { // Sta_ROLE_IDENTIFIED_USRS + { + [Sta_ROLE_IDENTIFIED_USRS] = #if L==1 // ca "identificats" #elif L==2 // de @@ -33529,7 +33736,8 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #elif L==9 // pt "identificados" #endif - , // Sta_ROLE_ALL_USRS + , + [Sta_ROLE_ALL_USRS] = #if L==1 // ca "identificats o desconeguts" #elif L==2 // de @@ -33549,7 +33757,8 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #elif L==9 // pt "identificados ou desconhecidos" #endif - , // Sta_ROLE_INS_ADMINS + , + [Sta_ROLE_INS_ADMINS] = #if L==1 // ca "administradors d'institucions" #elif L==2 // de @@ -33569,7 +33778,8 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #elif L==9 // pt "administradores de instituções" #endif - , // Sta_ROLE_CTR_ADMINS + , + [Sta_ROLE_CTR_ADMINS] = #if L==1 // ca "administradors de centres" #elif L==2 // de @@ -33589,7 +33799,8 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #elif L==9 // pt "administradores de centros" #endif - , // Sta_ROLE_DEG_ADMINS + , + [Sta_ROLE_DEG_ADMINS] = #if L==1 // ca "administradors de titulacions" #elif L==2 // de @@ -33609,7 +33820,8 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #elif L==9 // pt "administradores de graus" #endif - , // Sta_ROLE_TEACHERS + , + [Sta_ROLE_TEACHERS] = #if L==1 // ca "professors" #elif L==2 // de @@ -33629,7 +33841,8 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #elif L==9 // pt "professores" #endif - , // Sta_ROLE_NON_EDITING_TEACHERS + , + [Sta_ROLE_NON_EDITING_TEACHERS] = #if L==1 // ca "professors no editors" #elif L==2 // de @@ -33649,7 +33862,8 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #elif L==9 // pt "professores não editores" #endif - , // Sta_ROLE_STUDENTS + , + [Sta_ROLE_STUDENTS] = #if L==1 // ca "estudiants" #elif L==2 // de @@ -33669,27 +33883,29 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #elif L==9 // pt "estudantes" #endif - , // Sta_ROLE_USERS + , + [Sta_ROLE_USERS] = #if L==1 // ca - "usuaris" + "usuaris" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "users" + "users" #elif L==4 // es - "usuarios" + "usuarios" #elif L==5 // fr - "utilisateurs" + "utilisateurs" #elif L==6 // gn - "puruhára" + "puruhára" #elif L==7 // it - "utenti" + "utenti" #elif L==8 // pl - "użytkownicy" + "użytkownicy" #elif L==9 // pt - "utilizadores" + "utilizadores" #endif - , // Sta_ROLE_GUESTS + , + [Sta_ROLE_GUESTS] = #if L==1 // ca "convidats (sense assignatures)" #elif L==2 // de @@ -33709,7 +33925,8 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #elif L==9 // pt "convidados (sem disciplinas)" #endif - , // Sta_ROLE_UNKNOWN_USRS + , + [Sta_ROLE_UNKNOWN_USRS] = #if L==1 // ca "desconeguts" #elif L==2 // de @@ -33729,7 +33946,8 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #elif L==9 // pt "desconhecidos" #endif - , // Sta_ROLE_ME + , + [Sta_ROLE_ME] = #if L==1 // ca "jo" #elif L==2 // de @@ -33752,9 +33970,9 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = }; const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = -{ { -#if L==1 // ca // Rol_UNK - Usr_SEX_UNKNOWN + [Rol_UNK][Usr_SEX_UNKNOWN] = +#if L==1 // ca "Desconegut/da" #elif L==2 // de "Unbekannter/e" @@ -33774,7 +33992,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Desconhecido/a" #endif , -#if L==1 // ca // Rol_UNK - Usr_SEX_FEMALE + [Rol_UNK][Usr_SEX_FEMALE] = +#if L==1 // ca "Desconeguda" #elif L==2 // de "Unbekannte" @@ -33794,7 +34013,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Desconhecida" #endif , -#if L==1 // ca // Rol_UNK - Usr_SEX_MALE + [Rol_UNK][Usr_SEX_MALE] = +#if L==1 // ca "Desconegut" #elif L==2 // de "Unbekannter" @@ -33814,7 +34034,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Desconhecido" #endif , -#if L==1 // ca // Rol_UNK - Usr_SEX_ALL + [Rol_UNK][Usr_SEX_ALL] = +#if L==1 // ca "Desconegut/da" #elif L==2 // de "Unbekannter/e" @@ -33833,9 +34054,9 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Desconhecido/a" #endif - }, - { -#if L==1 // ca // Rol_GST - Usr_SEX_UNKNOWN + , + [Rol_GST][Usr_SEX_UNKNOWN] = +#if L==1 // ca "Convidat/da" #elif L==2 // de "Gast" @@ -33855,7 +34076,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Convidado/a" #endif , -#if L==1 // ca // Rol_GST - Usr_SEX_FEMALE + [Rol_GST][Usr_SEX_FEMALE] = +#if L==1 // ca "Convidada" #elif L==2 // de "Gast" @@ -33875,7 +34097,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Convidada" #endif , -#if L==1 // ca // Rol_GST - Usr_SEX_MALE + [Rol_GST][Usr_SEX_MALE] = +#if L==1 // ca "Convidat" #elif L==2 // de "Gast" @@ -33895,7 +34118,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Convidado" #endif , -#if L==1 // ca // Rol_GST - Usr_SEX_ALL + [Rol_GST][Usr_SEX_ALL] = +#if L==1 // ca "Convidat/da" #elif L==2 // de "Gast" @@ -33914,9 +34138,9 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Convidado/a" #endif - }, - { -#if L==1 // ca // Rol_USR - Usr_SEX_UNKNOWN + , + [Rol_USR][Usr_SEX_UNKNOWN] = +#if L==1 // ca "Usuari/a" #elif L==2 // de "Benutzer" @@ -33936,7 +34160,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Utilizador/a" #endif , -#if L==1 // ca // Rol_USR - Usr_SEX_FEMALE + [Rol_USR][Usr_SEX_FEMALE] = +#if L==1 // ca "Usuaria" #elif L==2 // de "Benutzer" @@ -33956,7 +34181,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Utilizadora" #endif , -#if L==1 // ca // Rol_USR - Usr_SEX_MALE + [Rol_USR][Usr_SEX_MALE] = +#if L==1 // ca "Usuari" #elif L==2 // de "Benutzer" @@ -33976,7 +34202,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Utilizador" #endif , -#if L==1 // ca // Rol_USR - Usr_SEX_ALL + [Rol_USR][Usr_SEX_ALL] = +#if L==1 // ca "Usuari/a" #elif L==2 // de "Benutzer" @@ -33995,9 +34222,9 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Utilizador/a" #endif - }, - { -#if L==1 // ca // Rol_STD - Usr_SEX_UNKNOWN + , + [Rol_STD][Usr_SEX_UNKNOWN] = +#if L==1 // ca "Estudiant" #elif L==2 // de "Student" @@ -34017,7 +34244,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Estudante" #endif , -#if L==1 // ca // Rol_STD - Usr_SEX_FEMALE + [Rol_STD][Usr_SEX_FEMALE] = +#if L==1 // ca "Estudiant" #elif L==2 // de "Student" @@ -34037,7 +34265,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Estudante" #endif , -#if L==1 // ca // Rol_STD - Usr_SEX_MALE + [Rol_STD][Usr_SEX_MALE] = +#if L==1 // ca "Estudiant" #elif L==2 // de "Student" @@ -34057,7 +34286,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Estudante" #endif , -#if L==1 // ca // Rol_STD - Usr_SEX_ALL + [Rol_STD][Usr_SEX_ALL] = +#if L==1 // ca "Estudiant" #elif L==2 // de "Student" @@ -34076,9 +34306,9 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Estudante" #endif - }, - { -#if L==1 // ca // Rol_NET - Usr_SEX_UNKNOWN + , + [Rol_NET][Usr_SEX_UNKNOWN] = +#if L==1 // ca "Professor/a no editor/a" #elif L==2 // de "Nicht bearbeiteter Lehrkraft" @@ -34098,7 +34328,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Professor/a não editor/a" #endif , -#if L==1 // ca // Rol_NET - Usr_SEX_FEMALE + [Rol_NET][Usr_SEX_FEMALE] = +#if L==1 // ca "Professora no editora" #elif L==2 // de "Nicht bearbeiteter Lehrkraft" @@ -34118,7 +34349,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Professora não editora" #endif , -#if L==1 // ca // Rol_NET - Usr_SEX_MALE + [Rol_NET][Usr_SEX_MALE] = +#if L==1 // ca "Professor no editor" #elif L==2 // de "Nicht bearbeiteter Lehrkraft" @@ -34138,7 +34370,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Professor não editor" #endif , -#if L==1 // ca // Rol_NET - Usr_SEX_ALL + [Rol_NET][Usr_SEX_ALL] = +#if L==1 // ca "Professor/a no editor/a" #elif L==2 // de "Nicht bearbeiteter Lehrkraft" @@ -34157,9 +34390,9 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Professor/a não editor/a" #endif - }, - { -#if L==1 // ca // Rol_TCH - Usr_SEX_UNKNOWN + , + [Rol_TCH][Usr_SEX_UNKNOWN] = +#if L==1 // ca "Professor/a" #elif L==2 // de "Lehrkraft" @@ -34179,7 +34412,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Professor/a" #endif , -#if L==1 // ca // Rol_TCH - Usr_SEX_FEMALE + [Rol_TCH][Usr_SEX_FEMALE] = +#if L==1 // ca "Professora" #elif L==2 // de "Lehrkraft" @@ -34199,7 +34433,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Professora" #endif , -#if L==1 // ca // Rol_TCH - Usr_SEX_MALE + [Rol_TCH][Usr_SEX_MALE] = +#if L==1 // ca "Professor" #elif L==2 // de "Lehrkraft" @@ -34219,7 +34454,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Professor" #endif , -#if L==1 // ca // Rol_TCH - Usr_SEX_ALL + [Rol_TCH][Usr_SEX_ALL] = +#if L==1 // ca "Professor/a" #elif L==2 // de "Lehrkraft" @@ -34238,9 +34474,9 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Professor/a" #endif - }, - { -#if L==1 // ca // Rol_DEG_ADM - Usr_SEX_UNKNOWN + , + [Rol_DEG_ADM][Usr_SEX_UNKNOWN] = +#if L==1 // ca "Admin. titulació" #elif L==2 // de "Admin. Studiengang" @@ -34260,7 +34496,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Admin. grau" #endif , -#if L==1 // ca // Rol_DEG_ADM - Usr_SEX_FEMALE + [Rol_DEG_ADM][Usr_SEX_FEMALE] = +#if L==1 // ca "Admin. titulació" #elif L==2 // de "Admin. Studiengang" @@ -34280,7 +34517,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Admin. grau" #endif , -#if L==1 // ca // Rol_DEG_ADM - Usr_SEX_MALE + [Rol_DEG_ADM][Usr_SEX_MALE] = +#if L==1 // ca "Admin. titulació" #elif L==2 // de "Admin. Studiengang" @@ -34300,7 +34538,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Admin. grau" #endif , -#if L==1 // ca // Rol_DEG_ADM - Usr_SEX_ALL + [Rol_DEG_ADM][Usr_SEX_ALL] = +#if L==1 // ca "Admin. titulació" #elif L==2 // de "Admin. Studiengang" @@ -34319,9 +34558,9 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Admin. grau" #endif - }, - { -#if L==1 // ca // Rol_CTR_ADM - Usr_SEX_UNKNOWN + , + [Rol_CTR_ADM][Usr_SEX_UNKNOWN] = +#if L==1 // ca "Admin. centre" #elif L==2 // de "Admin. Lehrinstitut" @@ -34341,7 +34580,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Admin. centro" #endif , -#if L==1 // ca // Rol_CTR_ADM - Usr_SEX_FEMALE + [Rol_CTR_ADM][Usr_SEX_FEMALE] = +#if L==1 // ca "Admin. centre" #elif L==2 // de "Admin. Lehrinstitut" @@ -34361,7 +34601,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Admin. centro" #endif , -#if L==1 // ca // Rol_CTR_ADM - Usr_SEX_MALE + [Rol_CTR_ADM][Usr_SEX_MALE] = +#if L==1 // ca "Admin. centre" #elif L==2 // de "Admin. Lehrinstitut" @@ -34381,7 +34622,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Admin. centro" #endif , -#if L==1 // ca // Rol_CTR_ADM - Usr_SEX_ALL + [Rol_CTR_ADM][Usr_SEX_ALL] = +#if L==1 // ca "Admin. centre" #elif L==2 // de "Admin. Lehrinstitut" @@ -34400,9 +34642,9 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Admin. centro" #endif - }, - { -#if L==1 // ca // Rol_INS_ADM - Usr_SEX_UNKNOWN + , + [Rol_INS_ADM][Usr_SEX_UNKNOWN] = +#if L==1 // ca "Admin. institució" #elif L==2 // de "Admin. Hochschule" @@ -34422,7 +34664,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Admin. institução" #endif , -#if L==1 // ca // Rol_INS_ADM - Usr_SEX_FEMALE + [Rol_INS_ADM][Usr_SEX_FEMALE] = +#if L==1 // ca "Admin. institució" #elif L==2 // de "Admin. Hochschule" @@ -34442,7 +34685,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Admin. institução" #endif , -#if L==1 // ca // Rol_INS_ADM - Usr_SEX_MALE + [Rol_INS_ADM][Usr_SEX_MALE] = +#if L==1 // ca "Admin. institució" #elif L==2 // de "Admin. Hochschule" @@ -34462,7 +34706,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Admin. institução" #endif , -#if L==1 // ca // Rol_INS_ADM - Usr_SEX_ALL + [Rol_INS_ADM][Usr_SEX_ALL] = +#if L==1 // ca "Admin. institució" #elif L==2 // de "Admin. Hochschule" @@ -34481,9 +34726,9 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Admin. institução" #endif - }, - { -#if L==1 // ca // Rol_SYS_ADM - Usr_SEX_UNKNOWN + , + [Rol_SYS_ADM][Usr_SEX_UNKNOWN] = +#if L==1 // ca "Superusuari/a" #elif L==2 // de "Superuser" @@ -34503,7 +34748,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Superutilizador/a" #endif , -#if L==1 // ca // Rol_SYS_ADM - Usr_SEX_FEMALE + [Rol_SYS_ADM][Usr_SEX_FEMALE] = +#if L==1 // ca "Superusuaria" // Necessita traduccio #elif L==2 // de "Superuser" @@ -34523,7 +34769,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Superutilizadora" #endif , -#if L==1 // ca // Rol_SYS_ADM - Usr_SEX_MALE + [Rol_SYS_ADM][Usr_SEX_MALE] = +#if L==1 // ca "Superusuari" #elif L==2 // de "Superuser" @@ -34543,7 +34790,8 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "Superutilizador" #endif , -#if L==1 // ca // Rol_SYS_ADM - Usr_SEX_ALL + [Rol_SYS_ADM][Usr_SEX_ALL] = +#if L==1 // ca "Superusuari/a" // Necessita traduccio #elif L==2 // de "Superuser" @@ -34562,13 +34810,12 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Superutilizador/a" #endif - } -}; + }; const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = -{ { -#if L==1 // ca // Rol_UNK - Usr_SEX_UNKNOWN + [Rol_UNK][Usr_SEX_UNKNOWN] = +#if L==1 // ca "desconocido/a" // Necessita traduccio #elif L==2 // de "Unbekannter/e" @@ -34588,7 +34835,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "desconhecido/a" #endif , -#if L==1 // ca // Rol_UNK - Usr_SEX_FEMALE + [Rol_UNK][Usr_SEX_FEMALE] = +#if L==1 // ca "desconocida" // Necessita traduccio #elif L==2 // de "Unbekannte" @@ -34608,7 +34856,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "desconhecida" #endif , -#if L==1 // ca // Rol_UNK - Usr_SEX_MALE + [Rol_UNK][Usr_SEX_MALE] = +#if L==1 // ca "desconocido" // Necessita traduccio #elif L==2 // de "Unbekannter" @@ -34628,7 +34877,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "desconhecido" #endif , -#if L==1 // ca // Rol_UNK - Usr_SEX_ALL + [Rol_UNK][Usr_SEX_ALL] = +#if L==1 // ca "desconocido/a" // Necessita traduccio #elif L==2 // de "Unbekannter/e" @@ -34647,9 +34897,9 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "desconhecido/a" #endif - }, - { -#if L==1 // ca // Rol_GST - Usr_SEX_UNKNOWN + , + [Rol_GST][Usr_SEX_UNKNOWN] = +#if L==1 // ca "invitado/a" // Necessita traduccio #elif L==2 // de "Gast" @@ -34669,7 +34919,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "convidado/a" #endif , -#if L==1 // ca // Rol_GST - Usr_SEX_FEMALE + [Rol_GST][Usr_SEX_FEMALE] = +#if L==1 // ca "invitada" // Necessita traduccio #elif L==2 // de "Gast" @@ -34689,7 +34940,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "convidada" #endif , -#if L==1 // ca // Rol_GST - Usr_SEX_MALE + [Rol_GST][Usr_SEX_MALE] = +#if L==1 // ca "invitado" // Necessita traduccio #elif L==2 // de "Gast" @@ -34709,7 +34961,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "convidado" #endif , -#if L==1 // ca // Rol_GST - Usr_SEX_ALL + [Rol_GST][Usr_SEX_ALL] = +#if L==1 // ca "invitado/a" // Necessita traduccio #elif L==2 // de "Gast" @@ -34728,9 +34981,9 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "convidado/a" #endif - }, - { -#if L==1 // ca // Rol_USR - Usr_SEX_UNKNOWN + , + [Rol_USR][Usr_SEX_UNKNOWN] = +#if L==1 // ca "usuari/a" #elif L==2 // de "Benutzer" @@ -34750,7 +35003,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "utilizador/a" #endif , -#if L==1 // ca // Rol_USR - Usr_SEX_FEMALE + [Rol_USR][Usr_SEX_FEMALE] = +#if L==1 // ca "usuaria" #elif L==2 // de "Benutzer" @@ -34770,7 +35024,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "utilizadora" #endif , -#if L==1 // ca // Rol_USR - Usr_SEX_MALE + [Rol_USR][Usr_SEX_MALE] = +#if L==1 // ca "usuari" #elif L==2 // de "Benutzer" @@ -34790,7 +35045,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "utilizador" #endif , -#if L==1 // ca // Rol_USR - Usr_SEX_ALL + [Rol_USR][Usr_SEX_ALL] = +#if L==1 // ca "usuari/a" #elif L==2 // de "Benutzer" @@ -34809,9 +35065,9 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "utilizador/a" #endif - }, - { -#if L==1 // ca // Rol_STD - Usr_SEX_UNKNOWN + , + [Rol_STD][Usr_SEX_UNKNOWN] = +#if L==1 // ca "estudiant" #elif L==2 // de "Student" @@ -34831,7 +35087,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "estudante" #endif , -#if L==1 // ca // Rol_STD - Usr_SEX_FEMALE + [Rol_STD][Usr_SEX_FEMALE] = +#if L==1 // ca "estudiant" #elif L==2 // de "Student" @@ -34851,7 +35108,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "estudante" #endif , -#if L==1 // ca // Rol_STD - Usr_SEX_MALE + [Rol_STD][Usr_SEX_MALE] = +#if L==1 // ca "estudiant" #elif L==2 // de "Student" @@ -34871,7 +35129,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "estudante" #endif , -#if L==1 // ca // Rol_STD - Usr_SEX_ALL + [Rol_STD][Usr_SEX_ALL] = +#if L==1 // ca "estudiant" #elif L==2 // de "Student" @@ -34890,9 +35149,9 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "estudante" #endif - }, - { -#if L==1 // ca // Rol_NET - Usr_SEX_UNKNOWN + , + [Rol_NET][Usr_SEX_UNKNOWN] = +#if L==1 // ca "professor/a no editor/a" #elif L==2 // de "nicht bearbeiteter Lehrkraft" @@ -34912,7 +35171,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "professor/a não editor/a" #endif , -#if L==1 // ca // Rol_NET - Usr_SEX_FEMALE + [Rol_NET][Usr_SEX_FEMALE] = +#if L==1 // ca "professora no editora" #elif L==2 // de "nicht bearbeiteter Lehrkraft" @@ -34932,7 +35192,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "professora não editora" #endif , -#if L==1 // ca // Rol_NET - Usr_SEX_MALE + [Rol_NET][Usr_SEX_MALE] = +#if L==1 // ca "professor no editor" #elif L==2 // de "nicht bearbeiteter Lehrkraft" @@ -34952,7 +35213,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "professor não editor" #endif , -#if L==1 // ca // Rol_NET - Usr_SEX_ALL + [Rol_NET][Usr_SEX_ALL] = +#if L==1 // ca "professor/a no editor/a" #elif L==2 // de "nicht bearbeiteter Lehrkraft" @@ -34971,9 +35233,9 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "professor/a não editor/a" #endif - }, - { -#if L==1 // ca // Rol_TCH - Usr_SEX_UNKNOWN + , + [Rol_TCH][Usr_SEX_UNKNOWN] = +#if L==1 // ca "professor/a" #elif L==2 // de "Lehrkraft" @@ -34993,7 +35255,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "professor/a" #endif , -#if L==1 // ca // Rol_TCH - Usr_SEX_FEMALE + [Rol_TCH][Usr_SEX_FEMALE] = +#if L==1 // ca "professora" #elif L==2 // de "Lehrkraft" @@ -35013,7 +35276,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "professora" #endif , -#if L==1 // ca // Rol_TCH - Usr_SEX_MALE + [Rol_TCH][Usr_SEX_MALE] = +#if L==1 // ca "professor" #elif L==2 // de "Lehrkraft" @@ -35033,7 +35297,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "professor" #endif , -#if L==1 // ca // Rol_TCH - Usr_SEX_ALL + [Rol_TCH][Usr_SEX_ALL] = +#if L==1 // ca "professor/a" #elif L==2 // de "Lehrkraft" @@ -35052,9 +35317,9 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "professor/a" #endif - }, - { -#if L==1 // ca // Rol_DEG_ADM - Usr_SEX_UNKNOWN + , + [Rol_DEG_ADM][Usr_SEX_UNKNOWN] = +#if L==1 // ca "admin. titulación" // Necessita traduccio #elif L==2 // de "Admin. Studiengang" @@ -35074,7 +35339,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "admin. grau" #endif , -#if L==1 // ca // Rol_DEG_ADM - Usr_SEX_FEMALE + [Rol_DEG_ADM][Usr_SEX_FEMALE] = +#if L==1 // ca "admin. titulación" // Necessita traduccio #elif L==2 // de "Admin. Studiengang" @@ -35094,7 +35360,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "admin. grau" #endif , -#if L==1 // ca // Rol_DEG_ADM - Usr_SEX_MALE + [Rol_DEG_ADM][Usr_SEX_MALE] = +#if L==1 // ca "admin. titulación" // Necessita traduccio #elif L==2 // de "Admin. Studiengang" @@ -35114,7 +35381,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "admin. grau" #endif , -#if L==1 // ca // Rol_DEG_ADM - Usr_SEX_ALL + [Rol_DEG_ADM][Usr_SEX_ALL] = +#if L==1 // ca "admin. titulación" // Necessita traduccio #elif L==2 // de "Admin. Studiengang" @@ -35133,9 +35401,9 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "admin. grau" #endif - }, - { -#if L==1 // ca // Rol_CTR_ADM - Usr_SEX_UNKNOWN + , + [Rol_CTR_ADM][Usr_SEX_UNKNOWN] = +#if L==1 // ca "admin. centre" #elif L==2 // de "Admin. Lehrinstitut" @@ -35155,7 +35423,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "admin. centro" #endif , -#if L==1 // ca // Rol_CTR_ADM - Usr_SEX_FEMALE + [Rol_CTR_ADM][Usr_SEX_FEMALE] = +#if L==1 // ca "admin. centre" #elif L==2 // de "Admin. Lehrinstitut" @@ -35175,7 +35444,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "admin. centro" #endif , -#if L==1 // ca // Rol_CTR_ADM - Usr_SEX_MALE + [Rol_CTR_ADM][Usr_SEX_MALE] = +#if L==1 // ca "admin. centre" #elif L==2 // de "Admin. Lehrinstitut" @@ -35195,7 +35465,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "admin. centro" #endif , -#if L==1 // ca // Rol_CTR_ADM - Usr_SEX_ALL + [Rol_CTR_ADM][Usr_SEX_ALL] = +#if L==1 // ca "admin. centre" #elif L==2 // de "Admin. Lehrinstitut" @@ -35214,9 +35485,9 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "admin. centro" #endif - }, - { -#if L==1 // ca // Rol_INS_ADM - Usr_SEX_UNKNOWN + , + [Rol_INS_ADM][Usr_SEX_UNKNOWN] = +#if L==1 // ca "admin. institució" #elif L==2 // de "Admin. Hochschule" @@ -35236,7 +35507,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "admin. institução" #endif , -#if L==1 // ca // Rol_INS_ADM - Usr_SEX_FEMALE + [Rol_INS_ADM][Usr_SEX_FEMALE] = +#if L==1 // ca "admin. institució" #elif L==2 // de "Admin. Hochschule" @@ -35256,7 +35528,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "admin. institução" #endif , -#if L==1 // ca // Rol_INS_ADM - Usr_SEX_MALE + [Rol_INS_ADM][Usr_SEX_MALE] = +#if L==1 // ca "admin. institució" #elif L==2 // de "Admin. Hochschule" @@ -35276,7 +35549,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "admin. institução" #endif , -#if L==1 // ca // Rol_INS_ADM - Usr_SEX_ALL + [Rol_INS_ADM][Usr_SEX_ALL] = +#if L==1 // ca "admin. institució" #elif L==2 // de "Admin. Hochschule" @@ -35295,9 +35569,9 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "admin. institução" #endif - }, - { -#if L==1 // ca // Rol_SYS_ADM - Usr_SEX_UNKNOWN + , + [Rol_SYS_ADM][Usr_SEX_UNKNOWN] = +#if L==1 // ca "superusuari/a" #elif L==2 // de "Superuser" @@ -35317,7 +35591,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "superutilizador/a" #endif , -#if L==1 // ca // Rol_SYS_ADM - Usr_SEX_FEMALE + [Rol_SYS_ADM][Usr_SEX_FEMALE] = +#if L==1 // ca "superusuaria" // Necessita traduccio #elif L==2 // de "Superuser" @@ -35337,7 +35612,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "superutilizadora" #endif , -#if L==1 // ca // Rol_SYS_ADM - Usr_SEX_MALE + [Rol_SYS_ADM][Usr_SEX_MALE] = +#if L==1 // ca "superusuari" #elif L==2 // de "Superuser" @@ -35357,7 +35633,8 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "superutilizador" #endif , -#if L==1 // ca // Rol_SYS_ADM - Usr_SEX_ALL + [Rol_SYS_ADM][Usr_SEX_ALL] = +#if L==1 // ca "superusuari/a" #elif L==2 // de "Superuser" @@ -35376,8 +35653,7 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "superutilizador/a" #endif - } -}; + }; const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = { @@ -35461,8 +35737,8 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Desconhecidos" #endif - }, - { + }, + { #if L==1 // ca // Rol_GST - Usr_SEX_UNKNOWN "Convidats" #elif L==2 // de @@ -35542,89 +35818,89 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Convidados" #endif - }, - { + }, + { #if L==1 // ca // Rol_USR - Usr_SEX_UNKNOWN - "Usuaris" + "Usuaris" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "Users" + "Users" #elif L==4 // es - "Usuarios" + "Usuarios" #elif L==5 // fr - "Utilisateurs" + "Utilisateurs" #elif L==6 // gn - "Puruhára" + "Puruhára" #elif L==7 // it - "Utenti" + "Utenti" #elif L==8 // pl - "Użytkownicy" + "Użytkownicy" #elif L==9 // pt - "Utilizadores" + "Utilizadores" #endif , #if L==1 // ca // Rol_USR - Usr_SEX_FEMALE - "Usuàries" + "Usuàries" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "Users" + "Users" #elif L==4 // es - "Usuarias" + "Usuarias" #elif L==5 // fr - "Utilisateurs" + "Utilisateurs" #elif L==6 // gn - "Puruhára" + "Puruhára" #elif L==7 // it - "Utenti" + "Utenti" #elif L==8 // pl - "Użytkownicy" + "Użytkownicy" #elif L==9 // pt - "Utilizadoras" + "Utilizadoras" #endif , #if L==1 // ca // Rol_USR - Usr_SEX_MALE - "Usuaris" + "Usuaris" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "Users" + "Users" #elif L==4 // es - "Usuarios" + "Usuarios" #elif L==5 // fr - "Utilisateurs" + "Utilisateurs" #elif L==6 // gn - "Puruhára" + "Puruhára" #elif L==7 // it - "Utenti" + "Utenti" #elif L==8 // pl - "Użytkownicy" + "Użytkownicy" #elif L==9 // pt - "Utilizadores" + "Utilizadores" #endif , #if L==1 // ca // Rol_USR - Usr_SEX_ALL - "Usuaris" + "Usuaris" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "Users" + "Users" #elif L==4 // es - "Usuarios" + "Usuarios" #elif L==5 // fr - "Utilisateurs" + "Utilisateurs" #elif L==6 // gn - "Puruhára" + "Puruhára" #elif L==7 // it - "Utenti" + "Utenti" #elif L==8 // pl - "Użytkownicy" + "Użytkownicy" #elif L==9 // pt - "Utilizadores" + "Utilizadores" #endif - }, - { + }, + { #if L==1 // ca // Rol_STD - Usr_SEX_UNKNOWN "Estudiants" #elif L==2 // de @@ -35947,8 +36223,8 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Administradores" #endif - }, - { + }, + { #if L==1 // ca // Rol_CTR_ADM - Usr_SEX_UNKNOWN "Administradors" #elif L==2 // de @@ -36028,8 +36304,8 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Administradores" #endif - }, - { + }, + { #if L==1 // ca // Rol_INS_ADM - Usr_SEX_UNKNOWN "Administradors" #elif L==2 // de @@ -36190,11 +36466,11 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "Superutilizadores" #endif - } + } }; const char *Txt_ROLES_PLURAL_BRIEF_Abc[Rol_NUM_ROLES] = - { + { #if L==1 // ca // Rol_UNK "Desc." #elif L==2 // de @@ -36236,23 +36512,23 @@ const char *Txt_ROLES_PLURAL_BRIEF_Abc[Rol_NUM_ROLES] = #endif , #if L==1 // ca // Rol_USR - "Usua." + "Usua." #elif L==2 // de - "Benu." + "Benu." #elif L==3 // en - "Users" + "Users" #elif L==4 // es - "Usua." + "Usua." #elif L==5 // fr - "Util." + "Util." #elif L==6 // gn - "Puru." + "Puru." #elif L==7 // it - "Uten." + "Uten." #elif L==8 // pl - "Użyt." + "Użyt." #elif L==9 // pt - "Util." + "Util." #endif , #if L==1 // ca // Rol_STD @@ -36562,83 +36838,83 @@ const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = }, { #if L==1 // ca // Rol_USR - Usr_SEX_UNKNOWN - "usuaris" + "usuaris" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "users" + "users" #elif L==4 // es - "usuarios" + "usuarios" #elif L==5 // fr - "utilisateurs" + "utilisateurs" #elif L==6 // gn - "puruhára" + "puruhára" #elif L==7 // it - "utenti" + "utenti" #elif L==8 // pl - "użytkownicy" + "użytkownicy" #elif L==9 // pt - "utilizadores" + "utilizadores" #endif , #if L==1 // ca // Rol_USR - Usr_SEX_FEMALE - "usuàries" + "usuàries" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "users" + "users" #elif L==4 // es - "usuarias" + "usuarias" #elif L==5 // fr - "utilisateurs" + "utilisateurs" #elif L==6 // gn - "puruhára" + "puruhára" #elif L==7 // it - "utenti" + "utenti" #elif L==8 // pl - "użytkownicy" + "użytkownicy" #elif L==9 // pt - "utilizadoras" + "utilizadoras" #endif , #if L==1 // ca // Rol_USR - Usr_SEX_MALE - "usuaris" + "usuaris" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "users" + "users" #elif L==4 // es - "usuarios" + "usuarios" #elif L==5 // fr - "utilisateurs" + "utilisateurs" #elif L==6 // gn - "puruhára" + "puruhára" #elif L==7 // it - "utenti" + "utenti" #elif L==8 // pl - "użytkownicy" + "użytkownicy" #elif L==9 // pt - "utilizadores" + "utilizadores" #endif , #if L==1 // ca // Rol_USR - Usr_SEX_ALL - "usuaris" + "usuaris" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "users" + "users" #elif L==4 // es - "usuarios" + "usuarios" #elif L==5 // fr - "utilisateurs" + "utilisateurs" #elif L==6 // gn - "puruhára" + "puruhára" #elif L==7 // it - "utenti" + "utenti" #elif L==8 // pl - "użytkownicy" + "użytkownicy" #elif L==9 // pt - "utilizadores" + "utilizadores" #endif }, { @@ -37045,8 +37321,8 @@ const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "administradores" #endif - }, - { + }, + { #if L==1 // ca // Rol_INS_ADM - Usr_SEX_UNKNOWN "administradors" #elif L==2 // de @@ -37207,7 +37483,7 @@ const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==9 // pt "superutilizadores" #endif - } + } }; const char *Txt_Rooms_with_users = @@ -37232,514 +37508,514 @@ const char *Txt_Rooms_with_users = #endif const char *Txt_ROOT_FOLDER_EXTERNAL_NAMES[Brw_NUM_TYPES_FILE_BROWSER] = - { - // Brw_UNKNOWN - "", - // Brw_SHOW_DOC_CRS + { + // Brw_UNKNOWN + "", + // Brw_SHOW_DOC_CRS #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_SHOW_MRK_CRS + , + // Brw_SHOW_MRK_CRS #if L==1 // ca - "qualificacions" + "qualificacions" #elif L==2 // de - "Bewertungen" + "Bewertungen" #elif L==3 // en - "marks" + "marks" #elif L==4 // es - "calificaciones" + "calificaciones" #elif L==5 // fr - "notes" + "notes" #elif L==6 // gn - "calificaciones" // Okoteve traducción + "calificaciones" // Okoteve traducción #elif L==7 // it - "risultati" + "risultati" #elif L==8 // pl - "marks" // Potrzebujesz tlumaczenie + "marks" // Potrzebujesz tlumaczenie #elif L==9 // pt - "notas" + "notas" #endif - , - // Brw_ADMI_DOC_CRS + , + // Brw_ADMI_DOC_CRS #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_ADMI_SHR_CRS + , + // Brw_ADMI_SHR_CRS #if L==1 // ca - "compartits" + "compartits" #elif L==2 // de - "Freigegebene" + "Freigegebene" #elif L==3 // en - "shared" + "shared" #elif L==4 // es - "compartidos" + "compartidos" #elif L==5 // fr - "partages" + "partages" #elif L==6 // gn - "compartidos" // Okoteve traducción + "compartidos" // Okoteve traducción #elif L==7 // it - "condivisi" + "condivisi" #elif L==8 // pl - "shared" // Potrzebujesz tlumaczenie + "shared" // Potrzebujesz tlumaczenie #elif L==9 // pt - "comum" + "comum" #endif - , - // Brw_ADMI_SHR_GRP + , + // Brw_ADMI_SHR_GRP #if L==1 // ca - "compartits" + "compartits" #elif L==2 // de - "Freigegebene" + "Freigegebene" #elif L==3 // en - "shared" + "shared" #elif L==4 // es - "compartidos" + "compartidos" #elif L==5 // fr - "partages" + "partages" #elif L==6 // gn - "compartidos" // Okoteve traducción + "compartidos" // Okoteve traducción #elif L==7 // it - "condivisi" + "condivisi" #elif L==8 // pl - "shared" // Potrzebujesz tlumaczenie + "shared" // Potrzebujesz tlumaczenie #elif L==9 // pt - "comum" + "comum" #endif - , - // Brw_ADMI_WRK_USR + , + // Brw_ADMI_WRK_USR #if L==1 // ca - "treballs" + "treballs" #elif L==2 // de - "Hausarbeiten" + "Hausarbeiten" #elif L==3 // en - "homework" + "homework" #elif L==4 // es - "trabajos" + "trabajos" #elif L==5 // fr - "travaux" + "travaux" #elif L==6 // gn - "tembiapo" + "tembiapo" #elif L==7 // it - "lavori" + "lavori" #elif L==8 // pl - "homework" // Potrzebujesz tlumaczenie + "homework" // Potrzebujesz tlumaczenie #elif L==9 // pt - "trabalhos" + "trabalhos" #endif - , - // Brw_ADMI_WRK_CRS + , + // Brw_ADMI_WRK_CRS #if L==1 // ca - "treballs" + "treballs" #elif L==2 // de - "Hausarbeiten" + "Hausarbeiten" #elif L==3 // en - "homework" + "homework" #elif L==4 // es - "trabajos" + "trabajos" #elif L==5 // fr - "travaux" + "travaux" #elif L==6 // gn - "tembiapo" + "tembiapo" #elif L==7 // it - "lavori" + "lavori" #elif L==8 // pl - "homework" // Potrzebujesz tlumaczenie + "homework" // Potrzebujesz tlumaczenie #elif L==9 // pt - "trabalhos" + "trabalhos" #endif - , - // Brw_ADMI_MRK_CRS + , + // Brw_ADMI_MRK_CRS #if L==1 // ca - "qualificacions" + "qualificacions" #elif L==2 // de - "Bewertungen" + "Bewertungen" #elif L==3 // en - "marks" + "marks" #elif L==4 // es - "calificaciones" + "calificaciones" #elif L==5 // fr - "notes" + "notes" #elif L==6 // gn - "calificaciones" // Okoteve traducción + "calificaciones" // Okoteve traducción #elif L==7 // it - "risultati" + "risultati" #elif L==8 // pl - "marks" // Potrzebujesz tlumaczenie + "marks" // Potrzebujesz tlumaczenie #elif L==9 // pt - "notas" + "notas" #endif - , - // Brw_ADMI_BRF_USR + , + // Brw_ADMI_BRF_USR #if L==1 // ca - "maleti" + "maleti" #elif L==2 // de - "Aktentasche" + "Aktentasche" #elif L==3 // en - "briefcase" + "briefcase" #elif L==4 // es - "maletin" + "maletin" #elif L==5 // fr - "porte-documents" + "porte-documents" #elif L==6 // gn - "maletin" // Okoteve traducción + "maletin" // Okoteve traducción #elif L==7 // it - "cartella" + "cartella" #elif L==8 // pl - "briefcase" // Potrzebujesz tlumaczenie + "briefcase" // Potrzebujesz tlumaczenie #elif L==9 // pt - "pasta" + "pasta" #endif - , - // Brw_SHOW_DOC_GRP + , + // Brw_SHOW_DOC_GRP #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_ADMI_DOC_GRP + , + // Brw_ADMI_DOC_GRP #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_SHOW_MRK_GRP + , + // Brw_SHOW_MRK_GRP #if L==1 // ca - "qualificacions" // Necessita traduccio + "qualificacions" // Necessita traduccio #elif L==2 // de - "Bewertungen" + "Bewertungen" #elif L==3 // en - "marks" + "marks" #elif L==4 // es - "calificaciones" + "calificaciones" #elif L==5 // fr - "notes" + "notes" #elif L==6 // gn - "calificaciones" // Okoteve traducción + "calificaciones" // Okoteve traducción #elif L==7 // it - "risultati" + "risultati" #elif L==8 // pl - "marks" // Potrzebujesz tlumaczenie + "marks" // Potrzebujesz tlumaczenie #elif L==9 // pt - "notas" + "notas" #endif - , - // Brw_ADMI_MRK_GRP + , + // Brw_ADMI_MRK_GRP #if L==1 // ca - "qualificacions" + "qualificacions" #elif L==2 // de - "Bewertungen" + "Bewertungen" #elif L==3 // en - "marks" + "marks" #elif L==4 // es - "calificaciones" + "calificaciones" #elif L==5 // fr - "notes" + "notes" #elif L==6 // gn - "calificaciones" // Okoteve traducción + "calificaciones" // Okoteve traducción #elif L==7 // it - "risultati" + "risultati" #elif L==8 // pl - "marks" // Potrzebujesz tlumaczenie + "marks" // Potrzebujesz tlumaczenie #elif L==9 // pt - "notas" + "notas" #endif - , - // Brw_ADMI_ASG_USR + , + // Brw_ADMI_ASG_USR #if L==1 // ca - "activitats" + "activitats" #elif L==2 // de - "Aufgaben" + "Aufgaben" #elif L==3 // en - "assignments" + "assignments" #elif L==4 // es - "actividades" + "actividades" #elif L==5 // fr - "activites" + "activites" #elif L==6 // gn - "taréa" + "taréa" #elif L==7 // it - "attività" + "attività" #elif L==8 // pl - "assignments" // Potrzebujesz tlumaczenie + "assignments" // Potrzebujesz tlumaczenie #elif L==9 // pt - "atividades" + "atividades" #endif - , - // Brw_ADMI_ASG_CRS + , + // Brw_ADMI_ASG_CRS #if L==1 // ca - "activitats" + "activitats" #elif L==2 // de - "Aufgaben" + "Aufgaben" #elif L==3 // en - "assignments" + "assignments" #elif L==4 // es - "actividades" + "actividades" #elif L==5 // fr - "activites" + "activites" #elif L==6 // gn - "taréa" + "taréa" #elif L==7 // it - "attività" + "attività" #elif L==8 // pl - "assignments" // Potrzebujesz tlumaczenie + "assignments" // Potrzebujesz tlumaczenie #elif L==9 // pt - "atividades" + "atividades" #endif - , - // Brw_SHOW_DOC_DEG + , + // Brw_SHOW_DOC_DEG #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_ADMI_DOC_DEG + , + // Brw_ADMI_DOC_DEG #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_SHOW_DOC_CTR + , + // Brw_SHOW_DOC_CTR #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_ADMI_DOC_CTR + , + // Brw_ADMI_DOC_CTR #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_SHOW_DOC_INS + , + // Brw_SHOW_DOC_INS #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_ADMI_DOC_INS + , + // Brw_ADMI_DOC_INS #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_ADMI_SHR_DEG + , + // Brw_ADMI_SHR_DEG #if L==1 // ca - "compartits" + "compartits" #elif L==2 // de - "Freigegebene" + "Freigegebene" #elif L==3 // en - "shared" + "shared" #elif L==4 // es - "compartidos" + "compartidos" #elif L==5 // fr - "partages" + "partages" #elif L==6 // gn - "compartidos" // Okoteve traducción + "compartidos" // Okoteve traducción #elif L==7 // it - "condivisi" + "condivisi" #elif L==8 // pl - "shared" // Potrzebujesz tlumaczenie + "shared" // Potrzebujesz tlumaczenie #elif L==9 // pt - "comum" + "comum" #endif - , - // Brw_ADMI_SHR_CTR + , + // Brw_ADMI_SHR_CTR #if L==1 // ca - "compartits" + "compartits" #elif L==2 // de - "Freigegebene" + "Freigegebene" #elif L==3 // en - "shared" + "shared" #elif L==4 // es - "compartidos" + "compartidos" #elif L==5 // fr - "partages" + "partages" #elif L==6 // gn - "compartidos" // Okoteve traducción + "compartidos" // Okoteve traducción #elif L==7 // it - "condivisi" + "condivisi" #elif L==8 // pl - "shared" // Potrzebujesz tlumaczenie + "shared" // Potrzebujesz tlumaczenie #elif L==9 // pt - "comum" + "comum" #endif - , - // Brw_ADMI_SHR_INS + , + // Brw_ADMI_SHR_INS #if L==1 // ca - "compartits" + "compartits" #elif L==2 // de - "Freigegebene" + "Freigegebene" #elif L==3 // en - "shared" + "shared" #elif L==4 // es - "compartidos" + "compartidos" #elif L==5 // fr - "partages" + "partages" #elif L==6 // gn - "compartidos" // Okoteve traducción + "compartidos" // Okoteve traducción #elif L==7 // it - "condivisi" + "condivisi" #elif L==8 // pl - "shared" // Potrzebujesz tlumaczenie + "shared" // Potrzebujesz tlumaczenie #elif L==9 // pt - "comum" + "comum" #endif - , - // Brw_ADMI_TCH_CRS + , + // Brw_ADMI_TCH_CRS #if L==1 // ca "privats" #elif L==2 // de @@ -37759,8 +38035,8 @@ const char *Txt_ROOT_FOLDER_EXTERNAL_NAMES[Brw_NUM_TYPES_FILE_BROWSER] = #elif L==9 // pt "privados" #endif - , - // Brw_ADMI_TCH_GRP + , + // Brw_ADMI_TCH_GRP #if L==1 // ca "privats" #elif L==2 // de @@ -37780,47 +38056,47 @@ const char *Txt_ROOT_FOLDER_EXTERNAL_NAMES[Brw_NUM_TYPES_FILE_BROWSER] = #elif L==9 // pt "privados" #endif - , - // Brw_ADMI_DOC_PRJ + , + // Brw_ADMI_DOC_PRJ #if L==1 // ca - "documents" + "documents" #elif L==2 // de - "Dokumente" + "Dokumente" #elif L==3 // en - "documents" + "documents" #elif L==4 // es - "documentos" + "documentos" #elif L==5 // fr - "documents" + "documents" #elif L==6 // gn - "kuatia" + "kuatia" #elif L==7 // it - "documenti" + "documenti" #elif L==8 // pl - "dokumenty" + "dokumenty" #elif L==9 // pt - "documentos" + "documentos" #endif - , - // Brw_ADMI_ASS_PRJ + , + // Brw_ADMI_ASS_PRJ #if L==1 // ca - "avaluacio" + "avaluacio" #elif L==2 // de - "Bewertung" + "Bewertung" #elif L==3 // en - "assessment" + "assessment" #elif L==4 // es - "evaluacion" + "evaluacion" #elif L==5 // fr - "evaluation" + "evaluation" #elif L==6 // gn - "mbohepy" + "mbohepy" #elif L==7 // it - "valutazione" + "valutazione" #elif L==8 // pl - "ocena" + "ocena" #elif L==9 // pt - "avaliacao" + "avaliacao" #endif }; @@ -37994,23 +38270,23 @@ const char *Txt_See_full_notice = const char *Txt_See_less = #if L==1 // ca - "Veure menys"; + "Veure menys"; #elif L==2 // de - "Zeige weniger"; + "Zeige weniger"; #elif L==3 // en - "See less"; + "See less"; #elif L==4 // es - "Ver menos"; + "Ver menos"; #elif L==5 // fr - "Voir moins"; + "Voir moins"; #elif L==6 // gn - "Ver menos"; // Okoteve traducción + "Ver menos"; // Okoteve traducción #elif L==7 // it - "Vedi meno"; + "Vedi meno"; #elif L==8 // pl - "Zobacz mniej"; + "Zobacz mniej"; #elif L==9 // pt - "Ver menos"; + "Ver menos"; #endif const char *Txt_See_message = @@ -38057,44 +38333,44 @@ const char *Txt_See_messages_received = const char *Txt_See_more = #if L==1 // ca - "Veure més"; + "Veure més"; #elif L==2 // de - "Siehe mehr"; + "Siehe mehr"; #elif L==3 // en - "See more"; + "See more"; #elif L==4 // es - "Ver más"; + "Ver más"; #elif L==5 // fr - "Voir plus"; + "Voir plus"; #elif L==6 // gn - "Ver más"; // Okoteve traducción + "Ver más"; // Okoteve traducción #elif L==7 // it - "Vedi più"; + "Vedi più"; #elif L==8 // pl - "Zobacz więcej"; + "Zobacz więcej"; #elif L==9 // pt - "Ver mais"; + "Ver mais"; #endif const char *Txt_See_new_activity = #if L==1 // ca - "Veure nova activitat"; + "Veure nova activitat"; #elif L==2 // de - "Siehe neue Aktivität"; + "Siehe neue Aktivität"; #elif L==3 // en - "See new activity"; + "See new activity"; #elif L==4 // es - "Ver nueva actividad"; + "Ver nueva actividad"; #elif L==5 // fr - "Voir nouvelle activité"; + "Voir nouvelle activité"; #elif L==6 // gn - "Ver nueva actividad"; // Okoteve traducción + "Ver nueva actividad"; // Okoteve traducción #elif L==7 // it - "Vedi nuova attività"; + "Vedi nuova attività"; #elif L==8 // pl - "Zobacz nową aktywność"; + "Zobacz nową aktywność"; #elif L==9 // pt - "Ver nova atividade"; + "Ver nova atividade"; #endif const char *Txt_See_notifications = @@ -38120,44 +38396,44 @@ const char *Txt_See_notifications = const char *Txt_See_only_the_latest_COMMENTS = #if L==1 // ca - "Veure només els últims"; + "Veure només els últims"; #elif L==2 // de - "Nur die neuesten anzeigen"; + "Nur die neuesten anzeigen"; #elif L==3 // en - "See only the latest"; + "See only the latest"; #elif L==4 // es - "Ver sólo los últimos"; + "Ver sólo los últimos"; #elif L==5 // fr - "Voir seulement les dernières"; + "Voir seulement les dernières"; #elif L==6 // gn - "Ver sólo los últimos"; // Okoteve traducción + "Ver sólo los últimos"; // Okoteve traducción #elif L==7 // it - "Vedi solo le ultime"; + "Vedi solo le ultime"; #elif L==8 // pl - "Zobacz tylko najnowsze"; + "Zobacz tylko najnowsze"; #elif L==9 // pt - "Ver apenas os últimos"; + "Ver apenas os últimos"; #endif const char *Txt_See_the_previous_X_COMMENTS = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Veure els %u anteriors"; + "Veure els %u anteriors"; #elif L==2 // de - "Siehe die vorherigen %u"; + "Siehe die vorherigen %u"; #elif L==3 // en - "See the previous %u"; + "See the previous %u"; #elif L==4 // es - "Ver los %u anteriores"; + "Ver los %u anteriores"; #elif L==5 // fr - "Voir les %u précédents"; + "Voir les %u précédents"; #elif L==6 // gn - "Ver los %u anteriores"; // Okoteve traducción + "Ver los %u anteriores"; // Okoteve traducción #elif L==7 // it - "Vedi i precedente %u"; + "Vedi i precedente %u"; #elif L==8 // pl - "Zobacz poprzednie %u"; + "Zobacz poprzednie %u"; #elif L==9 // pt - "Ver os %u anteriores"; + "Ver os %u anteriores"; #endif const char *Txt_Select_another_country = @@ -38793,249 +39069,249 @@ const char *Txt_Sex = const char *Txt_SEX_PLURAL_Abc[Usr_NUM_SEXS] = { #if L==1 // ca // Usr_SEX_UNKNOWN - "Desconocidos" // Necessita traduccio + "Desconocidos" // Necessita traduccio #elif L==2 // de - "Unbekannt" + "Unbekannt" #elif L==3 // en - "Unknown" + "Unknown" #elif L==4 // es - "Desconocidos" + "Desconocidos" #elif L==5 // fr - "Inconnus" + "Inconnus" #elif L==6 // gn - "Desconocidos" // Okoteve traducción + "Desconocidos" // Okoteve traducción #elif L==7 // it - "Sconosciuti" + "Sconosciuti" #elif L==8 // pl - "Nieznany" + "Nieznany" #elif L==9 // pt - "Desconhecidos" + "Desconhecidos" #endif - , + , #if L==1 // ca // Usr_SEX_FEMALE - "Dones" // Necessita traduccio + "Dones" // Necessita traduccio #elif L==2 // de - "Frauen" + "Frauen" #elif L==3 // en - "Women" + "Women" #elif L==4 // es - "Mujeres" + "Mujeres" #elif L==5 // fr - "Femmes" + "Femmes" #elif L==6 // gn - "Mujeres" // Okoteve traducción + "Mujeres" // Okoteve traducción #elif L==7 // it - "Donne" + "Donne" #elif L==8 // pl - "Kobiety" + "Kobiety" #elif L==9 // pt - "Mulheres" + "Mulheres" #endif - , + , #if L==1 // ca // Usr_SEX_MALE - "Homes" + "Homes" #elif L==2 // de - "Männer" + "Männer" #elif L==3 // en - "Men" + "Men" #elif L==4 // es - "Hombres" + "Hombres" #elif L==5 // fr - "Hommes" + "Hommes" #elif L==6 // gn - "Hombres" // Okoteve traducción + "Hombres" // Okoteve traducción #elif L==7 // it - "Uomini" + "Uomini" #elif L==8 // pl - "Mezczyzni" + "Mezczyzni" #elif L==9 // pt - "Homens" + "Homens" #endif - , + , #if L==1 // ca // Usr_SEX_ALL - "Todos" // Necessita traduccio + "Todos" // Necessita traduccio #elif L==2 // de - "Alle" + "Alle" #elif L==3 // en - "All" + "All" #elif L==4 // es - "Todos" + "Todos" #elif L==5 // fr - "Tous" + "Tous" #elif L==6 // gn - "Todos" // Okoteve traducción + "Todos" // Okoteve traducción #elif L==7 // it - "Tutti" + "Tutti" #elif L==8 // pl - "Wszyscy" + "Wszyscy" #elif L==9 // pt - "Todos" + "Todos" #endif }; const char *Txt_SEX_PLURAL_abc[Usr_NUM_SEXS] = { #if L==1 // ca // Usr_SEX_UNKNOWN - "desconocidos" // Necessita traduccio + "desconocidos" // Necessita traduccio #elif L==2 // de - "unbekannt" + "unbekannt" #elif L==3 // en - "unknown" + "unknown" #elif L==4 // es - "desconocidos" + "desconocidos" #elif L==5 // fr - "inconnus" + "inconnus" #elif L==6 // gn - "desconocidos" // Okoteve traducción + "desconocidos" // Okoteve traducción #elif L==7 // it - "sconosciuti" + "sconosciuti" #elif L==8 // pl - "nieznany" + "nieznany" #elif L==9 // pt - "desconhecidos" + "desconhecidos" #endif - , + , #if L==1 // ca // Usr_SEX_FEMALE - "dones" + "dones" #elif L==2 // de - "Frauen" + "Frauen" #elif L==3 // en - "women" + "women" #elif L==4 // es - "mujeres" + "mujeres" #elif L==5 // fr - "femmes" + "femmes" #elif L==6 // gn - "mujeres" // Okoteve traducción + "mujeres" // Okoteve traducción #elif L==7 // it - "donne" + "donne" #elif L==8 // pl - "kobiety" + "kobiety" #elif L==9 // pt - "mulheres" + "mulheres" #endif - , + , #if L==1 // ca // Usr_SEX_MALE - "homes" + "homes" #elif L==2 // de - "Männer" + "Männer" #elif L==3 // en - "men" + "men" #elif L==4 // es - "hombres" + "hombres" #elif L==5 // fr - "hommes" + "hommes" #elif L==6 // gn - "hombres" // Okoteve traducción + "hombres" // Okoteve traducción #elif L==7 // it - "uomini" + "uomini" #elif L==8 // pl - "mezczyzni" + "mezczyzni" #elif L==9 // pt - "homens" + "homens" #endif - , + , #if L==1 // ca // Usr_SEX_ALL - "todos" // Necessita traduccio + "todos" // Necessita traduccio #elif L==2 // de - "alle" + "alle" #elif L==3 // en - "all" + "all" #elif L==4 // es - "todos" + "todos" #elif L==5 // fr - "tous" + "tous" #elif L==6 // gn - "todos" // Okoteve traducción + "todos" // Okoteve traducción #elif L==7 // it - "tutti" + "tutti" #elif L==8 // pl - "wszyscy" + "wszyscy" #elif L==9 // pt - "todos" + "todos" #endif }; const char *Txt_SEX_SINGULAR_Abc[Usr_NUM_SEXS] = { #if L==1 // ca // Usr_SEX_UNKNOWN - "Desconocido" // Necessita traduccio + "Desconocido" // Necessita traduccio #elif L==2 // de - "Unbekannt" + "Unbekannt" #elif L==3 // en - "Unknown" + "Unknown" #elif L==4 // es - "Desconocido" + "Desconocido" #elif L==5 // fr - "Inconnu" + "Inconnu" #elif L==6 // gn - "Desconocido" // Okoteve traducción + "Desconocido" // Okoteve traducción #elif L==7 // it - "Sconosciuto" + "Sconosciuto" #elif L==8 // pl - "Nieznany" + "Nieznany" #elif L==9 // pt - "Desconhecido" + "Desconhecido" #endif - , + , #if L==1 // ca // Usr_SEX_FEMALE - "Dona" + "Dona" #elif L==2 // de - "Frau" + "Frau" #elif L==3 // en - "Woman" + "Woman" #elif L==4 // es - "Mujer" + "Mujer" #elif L==5 // fr - "Femme" + "Femme" #elif L==6 // gn - "Kuña" + "Kuña" #elif L==7 // it - "Donna" + "Donna" #elif L==8 // pl - "Kobieta" + "Kobieta" #elif L==9 // pt - "Mulher" + "Mulher" #endif - , + , #if L==1 // ca // Usr_SEX_MALE - "Home" + "Home" #elif L==2 // de - "Mann" + "Mann" #elif L==3 // en - "Man" + "Man" #elif L==4 // es - "Hombre" + "Hombre" #elif L==5 // fr - "Homme" + "Homme" #elif L==6 // gn - "Kuimba'e" + "Kuimba'e" #elif L==7 // it - "Uomo" + "Uomo" #elif L==8 // pl - "Mężczyzna" + "Mężczyzna" #elif L==9 // pt - "Homem" + "Homem" #endif - , + , #if L==1 // ca // Usr_SEX_ALL - "Todos" // Necessita traduccio + "Todos" // Necessita traduccio #elif L==2 // de - "Alle" + "Alle" #elif L==3 // en - "All" + "All" #elif L==4 // es - "Todos" + "Todos" #elif L==5 // fr - "Tous" + "Tous" #elif L==6 // gn - "Todos" // Okoteve traducción + "Todos" // Okoteve traducción #elif L==7 // it - "Tutti" + "Tutti" #elif L==8 // pl - "Wwszyscy" + "Wwszyscy" #elif L==9 // pt - "Todos" + "Todos" #endif }; @@ -39733,128 +40009,128 @@ const char *Txt_Source_of_information = #endif const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY] = - { - // Sta_CLICKS_CRS_DETAILED_LIST + { + // Sta_CLICKS_CRS_DETAILED_LIST #if L==1 // ca - "clics detallats" + "clics detallats" #elif L==2 // de - "detaillierte Klicks" + "detaillierte Klicks" #elif L==3 // en - "detailed clicks" + "detailed clicks" #elif L==4 // es - "clics detallados" + "clics detallados" #elif L==5 // fr - "clics détaillées" + "clics détaillées" #elif L==6 // gn - "clics detallados" // Okoteve traducción + "clics detallados" // Okoteve traducción #elif L==7 // it - "dettagli di scatto" + "dettagli di scatto" #elif L==8 // pl - "szczegółowe kliknięć" + "szczegółowe kliknięć" #elif L==9 // pt - "detalhadamente cliques" + "detalhadamente cliques" #endif - , // Sta_CLICKS_CRS_PER_USR + , // Sta_CLICKS_CRS_PER_USR #if L==1 // ca - "usuari" + "usuari" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "user" + "user" #elif L==4 // es - "usuario" + "usuario" #elif L==5 // fr - "utilisateur" + "utilisateur" #elif L==6 // gn - "puruhára" + "puruhára" #elif L==7 // it - "utente" + "utente" #elif L==8 // pl - "użytkownik" + "użytkownik" #elif L==9 // pt - "utilizador" + "utilizador" #endif - , // Sta_CLICKS_CRS_PER_DAY + , // Sta_CLICKS_CRS_PER_DAY #if L==1 // ca - "dia" + "dia" #elif L==2 // de - "Tag" + "Tag" #elif L==3 // en - "day" + "day" #elif L==4 // es - "día" + "día" #elif L==5 // fr - "jour" + "jour" #elif L==6 // gn - "ára" + "ára" #elif L==7 // it - "giorno" + "giorno" #elif L==8 // pl - "dzień" + "dzień" #elif L==9 // pt - "dia" + "dia" #endif - , // Sta_CLICKS_CRS_PER_DAY_AND_HOUR + , // Sta_CLICKS_CRS_PER_DAY_AND_HOUR #if L==1 // ca - "dia i hora" + "dia i hora" #elif L==2 // de - "Tag und Stunde" + "Tag und Stunde" #elif L==3 // en - "day and hour" + "day and hour" #elif L==4 // es - "día y hora" + "día y hora" #elif L==5 // fr - "jour et heure" + "jour et heure" #elif L==6 // gn - "ára ha aravo" + "ára ha aravo" #elif L==7 // it - "giorno e ora" + "giorno e ora" #elif L==8 // pl - "dzień i godzinę" + "dzień i godzinę" #elif L==9 // pt - "dia e hora" + "dia e hora" #endif - , // Sta_CLICKS_CRS_PER_WEEK + , // Sta_CLICKS_CRS_PER_WEEK #if L==1 // ca - "setmana" + "setmana" #elif L==2 // de - "Woche" + "Woche" #elif L==3 // en - "week" + "week" #elif L==4 // es - "semana" + "semana" #elif L==5 // fr - "semaine" + "semaine" #elif L==6 // gn - "arapokõindy" + "arapokõindy" #elif L==7 // it - "settimana" + "settimana" #elif L==8 // pl - "tydzień" + "tydzień" #elif L==9 // pt - "semana" + "semana" #endif - , // Sta_CLICKS_CRS_PER_MONTH + , // Sta_CLICKS_CRS_PER_MONTH #if L==1 // ca - "mes" + "mes" #elif L==2 // de - "Monat" + "Monat" #elif L==3 // en - "month" + "month" #elif L==4 // es - "mes" + "mes" #elif L==5 // fr - "mois" + "mois" #elif L==6 // gn - "jasy" + "jasy" #elif L==7 // it - "mese" + "mese" #elif L==8 // pl - "miesiąc" + "miesiąc" #elif L==9 // pt - "mês" + "mês" #endif - , // Sta_CLICKS_CRS_PER_YEAR + , // Sta_CLICKS_CRS_PER_YEAR #if L==1 // ca "any" #elif L==2 // de @@ -39874,147 +40150,147 @@ const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY] = #elif L==9 // pt "ano" #endif - , // Sta_CLICKS_CRS_PER_HOUR + , // Sta_CLICKS_CRS_PER_HOUR #if L==1 // ca - "hora" + "hora" #elif L==2 // de - "Stunde" + "Stunde" #elif L==3 // en - "hour" + "hour" #elif L==4 // es - "hora" + "hora" #elif L==5 // fr - "heure" + "heure" #elif L==6 // gn - "aravo" + "aravo" #elif L==7 // it - "ora" + "ora" #elif L==8 // pl - "godzina" + "godzina" #elif L==9 // pt - "hora" + "hora" #endif - , // Sta_CLICKS_CRS_PER_MINUTE + , // Sta_CLICKS_CRS_PER_MINUTE #if L==1 // ca - "minut" + "minut" #elif L==2 // de - "Minute" + "Minute" #elif L==3 // en - "minute" + "minute" #elif L==4 // es - "minuto" + "minuto" #elif L==5 // fr - "minute" + "minute" #elif L==6 // gn - "aravo'i" + "aravo'i" #elif L==7 // it - "minuto" + "minuto" #elif L==8 // pl - "minutę" + "minutę" #elif L==9 // pt - "minuto" + "minuto" #endif - , // Sta_CLICKS_CRS_PER_ACTION + , // Sta_CLICKS_CRS_PER_ACTION #if L==1 // ca - "acció" + "acció" #elif L==2 // de - "Handlung" + "Handlung" #elif L==3 // en - "action" + "action" #elif L==4 // es - "acción" + "acción" #elif L==5 // fr - "action" + "action" #elif L==6 // gn - "tembiapo" + "tembiapo" #elif L==7 // it - "azione" + "azione" #elif L==8 // pl - "działanie" + "działanie" #elif L==9 // pt - "ação" + "ação" #endif - , // Sta_CLICKS_GBL_PER_DAY + , // Sta_CLICKS_GBL_PER_DAY #if L==1 // ca - "dia" + "dia" #elif L==2 // de - "Tag" + "Tag" #elif L==3 // en - "day" + "day" #elif L==4 // es - "día" + "día" #elif L==5 // fr - "jour" + "jour" #elif L==6 // gn - "ára" + "ára" #elif L==7 // it - "giorno" + "giorno" #elif L==8 // pl - "dzień" + "dzień" #elif L==9 // pt - "dia" + "dia" #endif - , // Sta_CLICKS_GBL_PER_DAY_AND_HOUR + , // Sta_CLICKS_GBL_PER_DAY_AND_HOUR #if L==1 // ca - "dia i hora" + "dia i hora" #elif L==2 // de - "Tag und Stunde" + "Tag und Stunde" #elif L==3 // en - "day and hour" + "day and hour" #elif L==4 // es - "día y hora" + "día y hora" #elif L==5 // fr - "jour et heure" + "jour et heure" #elif L==6 // gn - "ára ha aravo" + "ára ha aravo" #elif L==7 // it - "giorno e ora" + "giorno e ora" #elif L==8 // pl - "dzień i godzinę" + "dzień i godzinę" #elif L==9 // pt - "dia e hora" + "dia e hora" #endif - , // Sta_CLICKS_GBL_PER_WEEK + , // Sta_CLICKS_GBL_PER_WEEK #if L==1 // ca - "setmana" + "setmana" #elif L==2 // de - "Woche" + "Woche" #elif L==3 // en - "week" + "week" #elif L==4 // es - "semana" + "semana" #elif L==5 // fr - "semaine" + "semaine" #elif L==6 // gn - "arapokõindy" + "arapokõindy" #elif L==7 // it - "settimana" + "settimana" #elif L==8 // pl - "tydzień" + "tydzień" #elif L==9 // pt - "semana" + "semana" #endif - , // Sta_CLICKS_GBL_PER_MONTH + , // Sta_CLICKS_GBL_PER_MONTH #if L==1 // ca - "mes" + "mes" #elif L==2 // de - "Monat" + "Monat" #elif L==3 // en - "month" + "month" #elif L==4 // es - "mes" + "mes" #elif L==5 // fr - "mois" + "mois" #elif L==6 // gn - "jasy" + "jasy" #elif L==7 // it - "mese" + "mese" #elif L==8 // pl - "miesiąc" + "miesiąc" #elif L==9 // pt - "mês" + "mês" #endif - , // Sta_CLICKS_GBL_PER_YEAR + , // Sta_CLICKS_GBL_PER_YEAR #if L==1 // ca "any" #elif L==2 // de @@ -40034,127 +40310,127 @@ const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY] = #elif L==9 // pt "ano" #endif - , // Sta_CLICKS_GBL_PER_HOUR + , // Sta_CLICKS_GBL_PER_HOUR #if L==1 // ca - "hora" + "hora" #elif L==2 // de - "Stunde" + "Stunde" #elif L==3 // en - "hour" + "hour" #elif L==4 // es - "hora" + "hora" #elif L==5 // fr - "heure" + "heure" #elif L==6 // gn - "aravo" + "aravo" #elif L==7 // it - "ora" + "ora" #elif L==8 // pl - "godzina" + "godzina" #elif L==9 // pt - "hora" + "hora" #endif - , // Sta_CLICKS_GBL_PER_MINUTE + , // Sta_CLICKS_GBL_PER_MINUTE #if L==1 // ca - "minut" + "minut" #elif L==2 // de - "Minute" + "Minute" #elif L==3 // en - "minute" + "minute" #elif L==4 // es - "minuto" + "minuto" #elif L==5 // fr - "minute" + "minute" #elif L==6 // gn - "aravo'i" + "aravo'i" #elif L==7 // it - "minuto" + "minuto" #elif L==8 // pl - "minutę" + "minutę" #elif L==9 // pt - "minuto" + "minuto" #endif - , // Sta_CLICKS_GBL_PER_ACTION + , // Sta_CLICKS_GBL_PER_ACTION #if L==1 // ca - "acció" + "acció" #elif L==2 // de - "Handlung" + "Handlung" #elif L==3 // en - "action" + "action" #elif L==4 // es - "acción" + "acción" #elif L==5 // fr - "action" + "action" #elif L==6 // gn - "tembiapo" + "tembiapo" #elif L==7 // it - "azione" + "azione" #elif L==8 // pl - "działanie" + "działanie" #elif L==9 // pt - "ação" + "ação" #endif - , // Sta_CLICKS_GBL_PER_PLUGIN + , // Sta_CLICKS_GBL_PER_PLUGIN #if L==1 // ca - "complement" + "complement" #elif L==2 // de - "Plugin" + "Plugin" #elif L==3 // en - "plugin" + "plugin" #elif L==4 // es - "complemento" + "complemento" #elif L==5 // fr - "plugin" + "plugin" #elif L==6 // gn - "complemento" // Okoteve traducción + "complemento" // Okoteve traducción #elif L==7 // it - "plugin" + "plugin" #elif L==8 // pl - "wtyczka" + "wtyczka" #elif L==9 // pt - "plugin" + "plugin" #endif - , // Sta_CLICKS_GBL_PER_API_FUNCTION + , // Sta_CLICKS_GBL_PER_API_FUNCTION #if L==1 // ca - "funció" + "funció" #elif L==2 // de - "Funktion" + "Funktion" #elif L==3 // en - "function" + "function" #elif L==4 // es - "función" + "función" #elif L==5 // fr - "fonction" + "fonction" #elif L==6 // gn - "función" // Okoteve traducción + "función" // Okoteve traducción #elif L==7 // it - "funzione" + "funzione" #elif L==8 // pl - "funkcja" + "funkcja" #elif L==9 // pt - "função" + "função" #endif - , // Sta_CLICKS_GBL_PER_BANNER + , // Sta_CLICKS_GBL_PER_BANNER #if L==1 // ca - "banner" + "banner" #elif L==2 // de - "Werbebanner" + "Werbebanner" #elif L==3 // en - "banner" + "banner" #elif L==4 // es - "banner" + "banner" #elif L==5 // fr - "banniére" + "banniére" #elif L==6 // gn - "banner" // Okoteve traducción + "banner" // Okoteve traducción #elif L==7 // it - "banner" + "banner" #elif L==8 // pl - "banner" + "banner" #elif L==9 // pt - "banner" + "banner" #endif - , // Sta_CLICKS_GBL_PER_COUNTRY + , // Sta_CLICKS_GBL_PER_COUNTRY #if L==1 // ca "país" #elif L==2 // de @@ -40174,7 +40450,7 @@ const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY] = #elif L==9 // pt "país" #endif - , // Sta_CLICKS_GBL_PER_INSTITUTION + , // Sta_CLICKS_GBL_PER_INSTITUTION #if L==1 // ca "institució" #elif L==2 // de @@ -40194,7 +40470,7 @@ const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY] = #elif L==9 // pt "institução" #endif - , // Sta_CLICKS_GBL_PER_CENTRE + , // Sta_CLICKS_GBL_PER_CENTRE #if L==1 // ca "centre" #elif L==2 // de @@ -40214,129 +40490,129 @@ const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY] = #elif L==9 // pt "centro" #endif - , // Sta_CLICKS_GBL_PER_DEGREE + , // Sta_CLICKS_GBL_PER_DEGREE #if L==1 // ca - "titulació" + "titulació" #elif L==2 // de - "Studiengang" + "Studiengang" #elif L==3 // en - "degree" + "degree" #elif L==4 // es - "titulación" + "titulación" #elif L==5 // fr - "étude" + "étude" #elif L==6 // gn - "arandurã" + "arandurã" #elif L==7 // it - "laurea" + "laurea" #elif L==8 // pl - "stopień" + "stopień" #elif L==9 // pt - "grau" + "grau" #endif - , // Sta_CLICKS_GBL_PER_COURSE + , // Sta_CLICKS_GBL_PER_COURSE #if L==1 // ca - "assignatura" + "assignatura" #elif L==2 // de - "Kurs" + "Kurs" #elif L==3 // en - "course" + "course" #elif L==4 // es - "asignatura" + "asignatura" #elif L==5 // fr - "matière" + "matière" #elif L==6 // gn - "mbo'esyry" + "mbo'esyry" #elif L==7 // it - "corso" + "corso" #elif L==8 // pl - "kurs" + "kurs" #elif L==9 // pt - "disciplina" + "disciplina" #endif }; const char *Txt_STAT_COLOR_TYPES[Sta_NUM_COLOR_TYPES] = - { + { #if L==1 // ca - "color" + "color" #elif L==2 // de - "Farbe" + "Farbe" #elif L==3 // en - "color" + "color" #elif L==4 // es - "color" + "color" #elif L==5 // fr - "couleur" + "couleur" #elif L==6 // gn - "color" // Okoteve traducción + "color" // Okoteve traducción #elif L==7 // it - "colore" + "colore" #elif L==8 // pl - "kolor" + "kolor" #elif L==9 // pt - "cor" + "cor" #endif - , + , #if L==1 // ca - "de negre a blanc" + "de negre a blanc" #elif L==2 // de - "schwarz zu weiß" + "schwarz zu weiß" #elif L==3 // en - "black to white" + "black to white" #elif L==4 // es - "de negro a blanco" + "de negro a blanco" #elif L==5 // fr - "du noir au blanc" + "du noir au blanc" #elif L==6 // gn - "de negro a blanco" // Okoteve traducción + "de negro a blanco" // Okoteve traducción #elif L==7 // it - "dal nero al bianco" + "dal nero al bianco" #elif L==8 // pl - "czarny na biały" + "czarny na biały" #elif L==9 // pt - "do preto ao branco" + "do preto ao branco" #endif - , + , #if L==1 // ca - "de blanc a negre" + "de blanc a negre" #elif L==2 // de - "weiß zu schwarz" + "weiß zu schwarz" #elif L==3 // en - "white to black" + "white to black" #elif L==4 // es - "de blanco a negro" + "de blanco a negro" #elif L==5 // fr - "du blanc au noir" + "du blanc au noir" #elif L==6 // gn - "de blanco a negro" // Okoteve traducción + "de blanco a negro" // Okoteve traducción #elif L==7 // it - "dal bianco al nero" + "dal bianco al nero" #elif L==8 // pl - "biały do czarny" + "biały do czarny" #elif L==9 // pt - "do branco ao preto" + "do branco ao preto" #endif }; const char *Txt_STAT_COURSE_FILE_ZONES[Fig_NUM_STAT_CRS_FILE_ZONES] = // Use   instead of space - { + { #if L==1 // ca // Brw_ADMI_DOC_CRS - "Documents (ass.)" + "Documents (ass.)" #elif L==2 // de - "Dokumente (Ver.)" + "Dokumente (Ver.)" #elif L==3 // en - "Documents (crs.)" + "Documents (crs.)" #elif L==4 // es - "Documentos (asg.)" + "Documentos (asg.)" #elif L==5 // fr - "Documents (mat.)" + "Documents (mat.)" #elif L==6 // gn - "Documentos (asg.)" // Okoteve traducción + "Documentos (asg.)" // Okoteve traducción #elif L==7 // it - "Documenti (crs.)" + "Documenti (crs.)" #elif L==8 // pl - "Dokumenty (kurs)" + "Dokumenty (kurs)" #elif L==9 // pt "Documentos (crs.)" #endif @@ -40563,439 +40839,439 @@ const char *Txt_STAT_COURSE_FILE_ZONES[Fig_NUM_STAT_CRS_FILE_ZONES] = // Use &nb }; const char *Txt_STAT_DEGREE_PHOTO_SIZE[Pho_NUM_HOW_COMPUTE_PHOTO_SIZES] = - { + { #if L==1 // ca - "proporcional al nº de estudiantes" // Necessita traduccio + "proporcional al nº de estudiantes" // Necessita traduccio #elif L==2 // de - "proportional to the number of students" // Need Übersetzung + "proportional to the number of students" // Need Übersetzung #elif L==3 // en - "proportional to the number of students" + "proportional to the number of students" #elif L==4 // es - "proporcional al nº de estudiantes" + "proporcional al nº de estudiantes" #elif L==5 // fr - "proportional to the number of students" // Besoin de traduction + "proportional to the number of students" // Besoin de traduction #elif L==6 // gn - "proporcional al nº de estudiantes" // Okoteve traducción + "proporcional al nº de estudiantes" // Okoteve traducción #elif L==7 // it - "proporzionale al numero di studenti" + "proporzionale al numero di studenti" #elif L==8 // pl - "proportional to the number of students" // Potrzebujesz tlumaczenie + "proportional to the number of students" // Potrzebujesz tlumaczenie #elif L==9 // pt - "proporcional ao número de estudantes" + "proporcional ao número de estudantes" #endif - , + , #if L==1 // ca - "proporcional al nº de estudiantes con fotografía" // Necessita traduccio + "proporcional al nº de estudiantes con fotografía" // Necessita traduccio #elif L==2 // de - "proportional to the number of students with photo" // Need Übersetzung + "proportional to the number of students with photo" // Need Übersetzung #elif L==3 // en - "proportional to the number of students with photo" + "proportional to the number of students with photo" #elif L==4 // es - "proporcional al nº de estudiantes con fotografía" + "proporcional al nº de estudiantes con fotografía" #elif L==5 // fr - "proportional to the number of students with photo" // Besoin de traduction + "proportional to the number of students with photo" // Besoin de traduction #elif L==6 // gn - "proporcional al nº de estudiantes con fotografía" // Okoteve traducción + "proporcional al nº de estudiantes con fotografía" // Okoteve traducción #elif L==7 // it - "proporzionale al numero di studenti con foto" + "proporzionale al numero di studenti con foto" #elif L==8 // pl - "proportional to the number of students with photo" // Potrzebujesz tlumaczenie + "proportional to the number of students with photo" // Potrzebujesz tlumaczenie #elif L==9 // pt - "proporcional ao número de estudantes com foto" + "proporcional ao número de estudantes com foto" #endif - , + , #if L==1 // ca - "proporcional al porcentaje de estudiantes con fotografía" // Necessita traduccio + "proporcional al porcentaje de estudiantes con fotografía" // Necessita traduccio #elif L==2 // de - "proportional to the percentage of students with photo" // Need Übersetzung + "proportional to the percentage of students with photo" // Need Übersetzung #elif L==3 // en - "proportional to the percentage of students with photo" + "proportional to the percentage of students with photo" #elif L==4 // es - "proporcional al porcentaje de estudiantes con fotografía" + "proporcional al porcentaje de estudiantes con fotografía" #elif L==5 // fr - "proportional to the percentage of students with photo" // Besoin de traduction + "proportional to the percentage of students with photo" // Besoin de traduction #elif L==6 // gn - "proporcional al porcentaje de estudiantes con fotografía" // Okoteve traducción + "proporcional al porcentaje de estudiantes con fotografía" // Okoteve traducción #elif L==7 // it - "proporzionale alla percentuale di studenti con foto" + "proporzionale alla percentuale di studenti con foto" #elif L==8 // pl - "proportional to the percentage of students with photo" // Potrzebujesz tlumaczenie + "proportional to the percentage of students with photo" // Potrzebujesz tlumaczenie #elif L==9 // pt - "proporcional ao porcentagem de estudantes com foto" + "proporcional ao porcentagem de estudantes com foto" #endif - , + , #if L==1 // ca - "igual para todas las titulaciones" // Necessita traduccio + "igual para todas las titulaciones" // Necessita traduccio #elif L==2 // de - "same for all degrees" // Need Übersetzung + "same for all degrees" // Need Übersetzung #elif L==3 // en - "same for all degrees" + "same for all degrees" #elif L==4 // es - "igual para todas las titulaciones" + "igual para todas las titulaciones" #elif L==5 // fr - "same for all degrees" // Besoin de traduction + "same for all degrees" // Besoin de traduction #elif L==6 // gn - "igual para todas las titulaciones" // Okoteve traducción + "igual para todas las titulaciones" // Okoteve traducción #elif L==7 // it - "uguale per tutte le lauree" + "uguale per tutte le lauree" #elif L==8 // pl - "same for all degrees" // Potrzebujesz tlumaczenie + "same for all degrees" // Potrzebujesz tlumaczenie #elif L==9 // pt - "mesmo para todos os graus" + "mesmo para todos os graus" #endif }; const char *Txt_STAT_DEGREE_PHOTO_ORDER[Pho_NUM_HOW_ORDER_DEGREES] = - { + { #if L==1 // ca - "nombre d'estudiants" + "nombre d'estudiants" #elif L==2 // de - "Anzahl der Studenten" + "Anzahl der Studenten" #elif L==3 // en - "number of students" + "number of students" #elif L==4 // es - "nº de estudiantes" + "nº de estudiantes" #elif L==5 // fr - "nombre d'étudiants" + "nombre d'étudiants" #elif L==6 // gn - "nº de estudiantes" // Okoteve traducción + "nº de estudiantes" // Okoteve traducción #elif L==7 // it - "numero di studenti" + "numero di studenti" #elif L==8 // pl - "liczba studentów" + "liczba studentów" #elif L==9 // pt - "número de estudantes" + "número de estudantes" #endif - , + , #if L==1 // ca - "nombre d'estudiants amb fotografia" + "nombre d'estudiants amb fotografia" #elif L==2 // de - "Anzahl der Studenten mit Foto" + "Anzahl der Studenten mit Foto" #elif L==3 // en - "number of students with photo" + "number of students with photo" #elif L==4 // es - "nº de estudiantes con fotografía" + "nº de estudiantes con fotografía" #elif L==5 // fr - "nombre d'étudiants avec photo" + "nombre d'étudiants avec photo" #elif L==6 // gn - "nº de estudiantes con fotografía" // Okoteve traducción + "nº de estudiantes con fotografía" // Okoteve traducción #elif L==7 // it - "numero di studenti con foto" + "numero di studenti con foto" #elif L==8 // pl - "liczba studentów ze zdjęciem" + "liczba studentów ze zdjęciem" #elif L==9 // pt - "número de estudantes com foto" + "número de estudantes com foto" #endif - , + , #if L==1 // ca - "porcentaje de estudiantes con fotografía" // Necessita traduccio + "porcentaje de estudiantes con fotografía" // Necessita traduccio #elif L==2 // de - "percentage of students with photo" // Need Übersetzung + "percentage of students with photo" // Need Übersetzung #elif L==3 // en - "percentage of students with photo" + "percentage of students with photo" #elif L==4 // es - "porcentaje de estudiantes con fotografía" + "porcentaje de estudiantes con fotografía" #elif L==5 // fr - "percentage of students with photo" // Besoin de traduction + "percentage of students with photo" // Besoin de traduction #elif L==6 // gn - "porcentaje de estudiantes con fotografía" // Okoteve traducción + "porcentaje de estudiantes con fotografía" // Okoteve traducción #elif L==7 // it - "percentuale di studenti con foto" + "percentuale di studenti con foto" #elif L==8 // pl - "percentage of students with photo" // Potrzebujesz tlumaczenie + "percentage of students with photo" // Potrzebujesz tlumaczenie #elif L==9 // pt - "porcentagem de estudantes com foto" + "porcentagem de estudantes com foto" #endif - , + , #if L==1 // ca - "nombre de titulación" // Necessita traduccio + "nombre de titulación" // Necessita traduccio #elif L==2 // de - "degree name" // Need Übersetzung + "degree name" // Need Übersetzung #elif L==3 // en - "degree name" + "degree name" #elif L==4 // es - "nombre de titulación" + "nombre de titulación" #elif L==5 // fr - "degree name" // Besoin de traduction + "degree name" // Besoin de traduction #elif L==6 // gn - "nombre de titulación" // Okoteve traducción + "nombre de titulación" // Okoteve traducción #elif L==7 // it - "nome laurea" + "nome laurea" #elif L==8 // pl - "degree name" // Potrzebujesz tlumaczenie + "degree name" // Potrzebujesz tlumaczenie #elif L==9 // pt - "nome do grau" + "nome do grau" #endif }; const char *Txt_STAT_TYPE_COUNT_CAPS[Sta_NUM_COUNT_TYPES] = - { + { #if L==1 // ca - "Nº total de clics" // Necessita traduccio + "Nº total de clics" // Necessita traduccio #elif L==2 // de - "Gesamtzahl der Klicks" + "Gesamtzahl der Klicks" #elif L==3 // en - "Total number of clicks" + "Total number of clicks" #elif L==4 // es - "Nº total de clics" + "Nº total de clics" #elif L==5 // fr - "Nombre total de clics" + "Nombre total de clics" #elif L==6 // gn - "Nº total de clics" // Okoteve traducción + "Nº total de clics" // Okoteve traducción #elif L==7 // it - "Numero totale di scatti" + "Numero totale di scatti" #elif L==8 // pl - "Total number of clicks" // Potrzebujesz tlumaczenie + "Total number of clicks" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Número total de cliques" + "Número total de cliques" #endif - , + , #if L==1 // ca - "Nº de usuarios distintos" // Necessita traduccio + "Nº de usuarios distintos" // Necessita traduccio #elif L==2 // de - "Anzahl der unterschiedlichen Benutzer" + "Anzahl der unterschiedlichen Benutzer" #elif L==3 // en - "Number of distinct users" + "Number of distinct users" #elif L==4 // es - "Nº de usuarios distintos" + "Nº de usuarios distintos" #elif L==5 // fr - "Nombre des différents utilisateurs" + "Nombre des différents utilisateurs" #elif L==6 // gn - "Nº de usuarios distintos" // Okoteve traducción + "Nº de usuarios distintos" // Okoteve traducción #elif L==7 // it - "Numero di utenti distinti" + "Numero di utenti distinti" #elif L==8 // pl - "Number of distinct users" // Potrzebujesz tlumaczenie + "Number of distinct users" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Número de utilizadores diferentes" + "Número de utilizadores diferentes" #endif - , + , #if L==1 // ca - "Nº de clics por usuario" // Necessita traduccio + "Nº de clics por usuario" // Necessita traduccio #elif L==2 // de - "Anzahl der Klicks pro Benutzer" + "Anzahl der Klicks pro Benutzer" #elif L==3 // en - "Number of clicks per user" + "Number of clicks per user" #elif L==4 // es - "Nº de clics por usuario" + "Nº de clics por usuario" #elif L==5 // fr - "Nombre de clics par utilisateur" + "Nombre de clics par utilisateur" #elif L==6 // gn - "Nº de clics por usuario" // Okoteve traducción + "Nº de clics por usuario" // Okoteve traducción #elif L==7 // it - "Numero di scatti per utente" + "Numero di scatti per utente" #elif L==8 // pl - "Number of clicks per user" // Potrzebujesz tlumaczenie + "Number of clicks per user" // Potrzebujesz tlumaczenie #elif L==9 // pt - "número de cliques por utilizador" + "número de cliques por utilizador" #endif - , + , #if L==1 // ca - "Tiempo de generación de página" // Necessita traduccio + "Tiempo de generación de página" // Necessita traduccio #elif L==2 // de - "Zeit zur Erzeugung der Seite" + "Zeit zur Erzeugung der Seite" #elif L==3 // en - "Time to generate page" + "Time to generate page" #elif L==4 // es - "Tiempo de generación de página" + "Tiempo de generación de página" #elif L==5 // fr - "Temps pour générer la page" + "Temps pour générer la page" #elif L==6 // gn - "Tiempo de generación de página" // Okoteve traducción + "Tiempo de generación de página" // Okoteve traducción #elif L==7 // it - "Tempo per generare pagina" + "Tempo per generare pagina" #elif L==8 // pl - "Time to generate page" // Potrzebujesz tlumaczenie + "Time to generate page" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Tempo para gerar página" + "Tempo para gerar página" #endif - , + , #if L==1 // ca - "Tiempo de envío de página" // Necessita traduccio + "Tiempo de envío de página" // Necessita traduccio #elif L==2 // de - "Zeit, um die Seite zu senden" + "Zeit, um die Seite zu senden" #elif L==3 // en - "Time to send page" + "Time to send page" #elif L==4 // es - "Tiempo de envío de página" + "Tiempo de envío de página" #elif L==5 // fr - "Temps pour envoyer la page" + "Temps pour envoyer la page" #elif L==6 // gn - "Tiempo de envío de página" // Okoteve traducción + "Tiempo de envío de página" // Okoteve traducción #elif L==7 // it - "Tempo d'invio della pagina" + "Tempo d'invio della pagina" #elif L==8 // pl - "Time to send page" // Potrzebujesz tlumaczenie + "Time to send page" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Tempo para enviar a página" + "Tempo para enviar a página" #endif }; const char *Txt_STAT_TYPE_COUNT_SMALL[Sta_NUM_COUNT_TYPES] = - { + { #if L==1 // ca - "nº total de clics" // Necessita traduccio + "nº total de clics" // Necessita traduccio #elif L==2 // de - "Gesamtzahl der Klicks" + "Gesamtzahl der Klicks" #elif L==3 // en - "total number of clicks" + "total number of clicks" #elif L==4 // es - "nº total de clics" + "nº total de clics" #elif L==5 // fr - "nombre total de clics" + "nombre total de clics" #elif L==6 // gn - "nº total de clics" // Okoteve traducción + "nº total de clics" // Okoteve traducción #elif L==7 // it - "numero totale di scatti" + "numero totale di scatti" #elif L==8 // pl - "total number of clicks" // Potrzebujesz tlumaczenie + "total number of clicks" // Potrzebujesz tlumaczenie #elif L==9 // pt - "número total de cliques" + "número total de cliques" #endif - , + , #if L==1 // ca - "nº de usuarios distintos" // Necessita traduccio + "nº de usuarios distintos" // Necessita traduccio #elif L==2 // de - "Anzahl der unterschiedliche Benutzer" + "Anzahl der unterschiedliche Benutzer" #elif L==3 // en - "number of distinct users" + "number of distinct users" #elif L==4 // es - "nº de usuarios distintos" + "nº de usuarios distintos" #elif L==5 // fr - "nombre des différents utilisateurs" + "nombre des différents utilisateurs" #elif L==6 // gn - "nº de usuarios distintos" // Okoteve traducción + "nº de usuarios distintos" // Okoteve traducción #elif L==7 // it - "numero di utenti distinti" + "numero di utenti distinti" #elif L==8 // pl - "number of distinct users" // Potrzebujesz tlumaczenie + "number of distinct users" // Potrzebujesz tlumaczenie #elif L==9 // pt - "número de utilizadores diferentes" + "número de utilizadores diferentes" #endif - , + , #if L==1 // ca - "nº de clics por usuario" // Necessita traduccio + "nº de clics por usuario" // Necessita traduccio #elif L==2 // de - "Anzahl der Klicks pro Benutzer" + "Anzahl der Klicks pro Benutzer" #elif L==3 // en - "number of clicks per user" + "number of clicks per user" #elif L==4 // es - "nº de clics por usuario" + "nº de clics por usuario" #elif L==5 // fr - "nombre de clics par utilisateur" + "nombre de clics par utilisateur" #elif L==6 // gn - "nº de clics por usuario" // Okoteve traducción + "nº de clics por usuario" // Okoteve traducción #elif L==7 // it - "numero di scatti per utente" + "numero di scatti per utente" #elif L==8 // pl - "number of clicks per user" // Potrzebujesz tlumaczenie + "number of clicks per user" // Potrzebujesz tlumaczenie #elif L==9 // pt - "número de cliques por utilizador" + "número de cliques por utilizador" #endif - , + , #if L==1 // ca - "tiempo de generación" // Necessita traduccio + "tiempo de generación" // Necessita traduccio #elif L==2 // de - "Zeit zur Erzeugung" + "Zeit zur Erzeugung" #elif L==3 // en - "time to generate" + "time to generate" #elif L==4 // es - "tiempo de generación" + "tiempo de generación" #elif L==5 // fr - "temps pour générer" + "temps pour générer" #elif L==6 // gn - "tiempo de generación" // Okoteve traducción + "tiempo de generación" // Okoteve traducción #elif L==7 // it - "tempo per generare" + "tempo per generare" #elif L==8 // pl - "time to generate" // Potrzebujesz tlumaczenie + "time to generate" // Potrzebujesz tlumaczenie #elif L==9 // pt - "tempo para gerar" + "tempo para gerar" #endif - , + , #if L==1 // ca - "tiempo de envío" // Necessita traduccio + "tiempo de envío" // Necessita traduccio #elif L==2 // de - "Zeit, um Seite" + "Zeit, um Seite" #elif L==3 // en - "time to send" + "time to send" #elif L==4 // es - "tiempo de envío" + "tiempo de envío" #elif L==5 // fr - "temps pour envoyer" + "temps pour envoyer" #elif L==6 // gn - "tiempo de envío" // Okoteve traducción + "tiempo de envío" // Okoteve traducción #elif L==7 // it - "tempo d'invio" + "tempo d'invio" #elif L==8 // pl - "time to send" // Potrzebujesz tlumaczenie + "time to send" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Tempo para enviar" + "Tempo para enviar" #endif }; const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = - { + { #if L==1 // ca // Fig_USERS - "Usuaris" + "Usuaris" #elif L==2 // de - "Benutzer" + "Benutzer" #elif L==3 // en - "Users" + "Users" #elif L==4 // es - "Usuarios" + "Usuarios" #elif L==5 // fr - "Utilisateurs" + "Utilisateurs" #elif L==6 // gn - "Puruhára" + "Puruhára" #elif L==7 // it - "Utenti" + "Utenti" #elif L==8 // pl - "Użytkownicy" + "Użytkownicy" #elif L==9 // pt - "Utilizadores" + "Utilizadores" #endif - , + , #if L==1 // ca // Fig_USERS_RANKING - "Rànquing" + "Rànquing" #elif L==2 // de - "Rang" + "Rang" #elif L==3 // en - "Ranking" + "Ranking" #elif L==4 // es - "Ranking" + "Ranking" #elif L==5 // fr - "Classement" + "Classement" #elif L==6 // gn - "Ranking" // Okoteve traducción + "Ranking" // Okoteve traducción #elif L==7 // it - "Posto" + "Posto" #elif L==8 // pl - "Ranking" + "Ranking" #elif L==9 // pt - "Posição" + "Posição" #endif - , + , #if L==1 // ca // Fig_HIERARCHY - "Jerarquia" + "Jerarquia" #elif L==2 // de - "Hierarchie" + "Hierarchie" #elif L==3 // en - "Hierarchy" + "Hierarchy" #elif L==4 // es - "Jerarquía" + "Jerarquía" #elif L==5 // fr - "Hiérarchie" + "Hiérarchie" #elif L==6 // gn - "Sãmbyhyha reko" + "Sãmbyhyha reko" #elif L==7 // it - "Gerarchia" + "Gerarchia" #elif L==8 // pl - "Hierarchia" + "Hierarchia" #elif L==9 // pt - "Hierarquia" + "Hierarquia" #endif - , + , #if L==1 // ca // Fig_INSTITS "Institucions" #elif L==2 // de @@ -41015,7 +41291,7 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = #elif L==9 // pt "Instituções" #endif - , + , #if L==1 // ca // Fig_DEGREE_TYPES "Tipus de titulació" #elif L==2 // de @@ -41035,67 +41311,67 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = #elif L==9 // pt "Tipos de grau" #endif - , + , #if L==1 // ca // Fig_FOLDERS_AND_FILES - "Carpetes i fitxers" + "Carpetes i fitxers" #elif L==2 // de - "Verzeichnisse und Dateien" + "Verzeichnisse und Dateien" #elif L==3 // en - "Folders and files" + "Folders and files" #elif L==4 // es - "Carpetas y archivos" + "Carpetas y archivos" #elif L==5 // fr - "Répertoires et fichiers" + "Répertoires et fichiers" #elif L==6 // gn - "Carpetas y archivos" // Okoteve traducción + "Carpetas y archivos" // Okoteve traducción #elif L==7 // it - "Cartelle e file" + "Cartelle e file" #elif L==8 // pl - "Folders and files" // Potrzebujesz tlumaczenie + "Folders and files" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Diretórios e arquivos" + "Diretórios e arquivos" #endif - , + , #if L==1 // ca // Fig_OER - "Recursos Educatius Oberts (OER)" + "Recursos Educatius Oberts (OER)" #elif L==2 // de - "Open Educational Resources (OER)" + "Open Educational Resources (OER)" #elif L==3 // en - "Open Educational Resources (OER)" + "Open Educational Resources (OER)" #elif L==4 // es - "Recursos Educativos Abiertos (OER)" + "Recursos Educativos Abiertos (OER)" #elif L==5 // fr - "Ressources Éducatives Libres (REL)" + "Ressources Éducatives Libres (REL)" #elif L==6 // gn - "Recursos Educativos Abiertos (OER)" // Okoteve traducción + "Recursos Educativos Abiertos (OER)" // Okoteve traducción #elif L==7 // it - "Risorse Didattiche Aperte (OER)" + "Risorse Didattiche Aperte (OER)" #elif L==8 // pl - "Otwarte Zasoby Edukacyjne (OER)" + "Otwarte Zasoby Edukacyjne (OER)" #elif L==9 // pt - "Recursos Educacionais Abertos (OER)" + "Recursos Educacionais Abertos (OER)" #endif - , + , #if L==1 // ca // Fig_ASSIGNMENTS - "Activitats" + "Activitats" #elif L==2 // de - "Aufgaben" + "Aufgaben" #elif L==3 // en - "Assignments" + "Assignments" #elif L==4 // es - "Actividades" + "Actividades" #elif L==5 // fr - "Activités" + "Activités" #elif L==6 // gn - "Taréa" + "Taréa" #elif L==7 // it - "Attività" + "Attività" #elif L==8 // pl - "Zadania" + "Zadania" #elif L==9 // pt - "Atividades" + "Atividades" #endif - , + , #if L==1 // ca // Fig_PROJECTS "Projectes" #elif L==2 // de @@ -41115,27 +41391,27 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = #elif L==9 // pt "Projetos" #endif - , + , #if L==1 // ca // Fig_TESTS - "Tests" + "Tests" #elif L==2 // de - "Tests" + "Tests" #elif L==3 // en - "Tests" + "Tests" #elif L==4 // es - "Test" + "Test" #elif L==5 // fr - "Tests" + "Tests" #elif L==6 // gn - "Test" // Okoteve traducción + "Test" // Okoteve traducción #elif L==7 // it - "Test" + "Test" #elif L==8 // pl - "Testy" + "Testy" #elif L==9 // pt - "Testes" + "Testes" #endif - , + , #if L==1 // ca // Fig_GAMES "Jocs" #elif L==2 // de @@ -41155,47 +41431,47 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = #elif L==9 // pt "Jogos" #endif - , + , #if L==1 // ca // Fig_SURVEYS - "Enquestes" + "Enquestes" #elif L==2 // de - "Umfragen" + "Umfragen" #elif L==3 // en - "Surveys" + "Surveys" #elif L==4 // es - "Encuestas" + "Encuestas" #elif L==5 // fr - "Sondages" + "Sondages" #elif L==6 // gn - "Encuestas" // Okoteve traducción + "Encuestas" // Okoteve traducción #elif L==7 // it - "Sondaggi" + "Sondaggi" #elif L==8 // pl - "Badania" + "Badania" #elif L==9 // pt - "Inquéritos" + "Inquéritos" #endif - , + , #if L==1 // ca // Fig_SOCIAL_ACTIVITY - "Timeline" + "Timeline" #elif L==2 // de - "Timeline" + "Timeline" #elif L==3 // en - "Timeline" + "Timeline" #elif L==4 // es - "Timeline" + "Timeline" #elif L==5 // fr - "Chronologie" + "Chronologie" #elif L==6 // gn - "Timeline" // Okoteve traducción + "Timeline" // Okoteve traducción #elif L==7 // it - "Timeline" + "Timeline" #elif L==8 // pl - "Timeline" + "Timeline" #elif L==9 // pt - "Timeline" + "Timeline" #endif - , + , #if L==1 // ca // Fig_FOLLOW "Seguits / Seguidors" #elif L==2 // de @@ -41215,27 +41491,27 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = #elif L==9 // pt "Seguidos / Seguidores" #endif - , + , #if L==1 // ca // Fig_FORUMS - "Fòrums" + "Fòrums" #elif L==2 // de - "Foren" + "Foren" #elif L==3 // en - "Forums" + "Forums" #elif L==4 // es - "Foros" + "Foros" #elif L==5 // fr - "Forums" + "Forums" #elif L==6 // gn - "Foros" // Okoteve traducción + "Foros" // Okoteve traducción #elif L==7 // it - "Forum" + "Forum" #elif L==8 // pl - "Forums" // Potrzebujesz tlumaczenie + "Forums" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Fóruns" + "Fóruns" #endif - , + , #if L==1 // ca // Fig_NOTIFY_EVENTS "Notificacions enviades per correu" #elif L==2 // de @@ -41255,87 +41531,87 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = #elif L==9 // pt "Notificações enviadas por email" #endif - , + , #if L==1 // ca // Fig_NOTICES - "Avisos" + "Avisos" #elif L==2 // de - "Ankündigungen" + "Ankündigungen" #elif L==3 // en - "Notices" + "Notices" #elif L==4 // es - "Avisos" + "Avisos" #elif L==5 // fr - "Avis" + "Avis" #elif L==6 // gn - "Marandu" + "Marandu" #elif L==7 // it - "Avvisi" + "Avvisi" #elif L==8 // pl - "Ogloszenia" + "Ogloszenia" #elif L==9 // pt - "Avisos" + "Avisos" #endif - , + , #if L==1 // ca // Fig_MESSAGES - "Missatges" + "Missatges" #elif L==2 // de - "Nachrichten" + "Nachrichten" #elif L==3 // en - "Messages" + "Messages" #elif L==4 // es - "Mensajes" + "Mensajes" #elif L==5 // fr - "Messages" + "Messages" #elif L==6 // gn - "Marandu" + "Marandu" #elif L==7 // it - "Messaggi" + "Messaggi" #elif L==8 // pl - "Wiadomości" + "Wiadomości" #elif L==9 // pt - "Mensagens" + "Mensagens" #endif - , + , #if L==1 // ca // Fig_SOCIAL_NETWORKS - "Webs / xarxes socials" + "Webs / xarxes socials" #elif L==2 // de - "Webs / Social Networks" + "Webs / Social Networks" #elif L==3 // en - "Webs / social networks" + "Webs / social networks" #elif L==4 // es - "Webs / redes sociales" + "Webs / redes sociales" #elif L==5 // fr - "Webs / réseaux sociaux" + "Webs / réseaux sociaux" #elif L==6 // gn - "Webs / redes sociales" // Okoteve traducción + "Webs / redes sociales" // Okoteve traducción #elif L==7 // it - "Webs / reti sociali" + "Webs / reti sociali" #elif L==8 // pl - "Webs / sieci społeczne" + "Webs / sieci społeczne" #elif L==9 // pt - "Webs / redes sociais" + "Webs / redes sociais" #endif - , + , #if L==1 // ca // Fig_LANGUAGES - "Idioma" + "Idioma" #elif L==2 // de - "Sprache" + "Sprache" #elif L==3 // en - "Language" + "Language" #elif L==4 // es - "Idioma" + "Idioma" #elif L==5 // fr - "Langue" + "Langue" #elif L==6 // gn - "Ñe'ẽ" + "Ñe'ẽ" #elif L==7 // it - "Lingua" + "Lingua" #elif L==8 // pl - "Language" // Potrzebujesz tlumaczenie + "Language" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Lingua" + "Lingua" #endif - , + , #if L==1 // ca // Fig_FIRST_DAY_OF_WEEK "Calendari" #elif L==2 // de @@ -41355,7 +41631,7 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = #elif L==9 // pt "Calendário" #endif - , + , #if L==1 // ca // Fig_DATE_FORMAT "Dates" #elif L==2 // de @@ -41375,27 +41651,27 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = #elif L==9 // pt "Datas" #endif - , + , #if L==1 // ca // Fig_ICON_SETS - "Icones" + "Icones" #elif L==2 // de - "Symbole" + "Symbole" #elif L==3 // en - "Icons" + "Icons" #elif L==4 // es - "Iconos" + "Iconos" #elif L==5 // fr - "Icônes" + "Icônes" #elif L==6 // gn - "Iconos" // Okoteve traducción + "Iconos" // Okoteve traducción #elif L==7 // it - "Icone" + "Icone" #elif L==8 // pl - "Ikony" + "Ikony" #elif L==9 // pt - "Ícones" + "Ícones" #endif - , + , #if L==1 // ca // Fig_MENUS "Menú" #elif L==2 // de @@ -41415,47 +41691,47 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = #elif L==9 // pt "Menu" #endif - , + , #if L==1 // ca // Fig_THEMES - "Tema (colors)" + "Tema (colors)" #elif L==2 // de - "Skin" + "Skin" #elif L==3 // en - "Theme" + "Theme" #elif L==4 // es - "Tema (colores)" + "Tema (colores)" #elif L==5 // fr - "Thème" + "Thème" #elif L==6 // gn - "Tema (colores)" // Okoteve traducción + "Tema (colores)" // Okoteve traducción #elif L==7 // it - "Tema" + "Tema" #elif L==8 // pl - "Temat" + "Temat" #elif L==9 // pt - "Skin" + "Skin" #endif - , + , #if L==1 // ca // Fig_SIDE_COLUMNS - "Columnes" + "Columnes" #elif L==2 // de - "Spalten" + "Spalten" #elif L==3 // en - "Columns" + "Columns" #elif L==4 // es - "Columnas" + "Columnas" #elif L==5 // fr - "Colonnes" + "Colonnes" #elif L==6 // gn - "Columnas" // Okoteve traducción + "Columnas" // Okoteve traducción #elif L==7 // it - "Colonne" + "Colonne" #elif L==8 // pl - "Kolumny" + "Kolumny" #elif L==9 // pt - "Colunas" + "Colunas" #endif - , + , #if L==1 // ca // Fig_PRIVACY "Privacitat" #elif L==2 // de @@ -41475,7 +41751,7 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = #elif L==9 // pt "Privacidade" #endif - , + , #if L==1 // ca // Fig_COOKIES "Cookies" #elif L==2 // de @@ -41499,44 +41775,44 @@ const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES] = const char *Txt_Start = // As a verb #if L==1 // ca - "Començar"; + "Començar"; #elif L==2 // de - "Starten"; + "Starten"; #elif L==3 // en - "Start"; + "Start"; #elif L==4 // es - "Comenzar"; + "Comenzar"; #elif L==5 // fr - "Commencer"; + "Commencer"; #elif L==6 // gn - "Ñepyrũ"; + "Ñepyrũ"; #elif L==7 // it - "Inizia"; + "Inizia"; #elif L==8 // pl - "Rozpocznij"; + "Rozpocznij"; #elif L==9 // pt - "Começar"; + "Começar"; #endif const char *Txt_Statistic = #if L==1 // ca - "Estadístique"; + "Estadístique"; #elif L==2 // de - "Statistik"; + "Statistik"; #elif L==3 // en - "Statistic"; + "Statistic"; #elif L==4 // es - "Estadística"; + "Estadística"; #elif L==5 // fr - "Statistique"; + "Statistique"; #elif L==6 // gn - "Papy'aporeko"; + "Papy'aporeko"; #elif L==7 // it - "Statistica"; + "Statistica"; #elif L==8 // pl - "Statystyki"; + "Statystyki"; #elif L==9 // pt - "Estatísticas"; + "Estatísticas"; #endif const char *Txt_Statistics_of_all_visits = @@ -42044,45 +42320,45 @@ const char *Txt_Survey_X_reset = // Warning: it is very important to include %s #endif const char *Txt_SURVEY_STR_ANSWER_TYPES[Svy_NUM_ANS_TYPES] = - { + { #if L==1 // ca - "Elecció única" + "Elecció única" #elif L==2 // de - "Unique-Choice" + "Unique-Choice" #elif L==3 // en - "Unique choice" + "Unique choice" #elif L==4 // es - "Elección única" + "Elección única" #elif L==5 // fr - "Choix unique" + "Choix unique" #elif L==6 // gn - "Elección única" // Okoteve traducción + "Elección única" // Okoteve traducción #elif L==7 // it - "Scelta unica" + "Scelta unica" #elif L==8 // pl - "Unique choice" // Potrzebujesz tlumaczenie + "Unique choice" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Única escolha" + "Única escolha" #endif - , + , #if L==1 // ca - "Elecció múltiple" + "Elecció múltiple" #elif L==2 // de - "Multiple-Choice" + "Multiple-Choice" #elif L==3 // en - "Multiple choice" + "Multiple choice" #elif L==4 // es - "Elección múltiple" + "Elección múltiple" #elif L==5 // fr - "Choix multiple" + "Choix multiple" #elif L==6 // gn - "Elección múltiple" // Okoteve traducción + "Elección múltiple" // Okoteve traducción #elif L==7 // it - "Scelta multipla" + "Scelta multipla" #elif L==8 // pl - "Multiple choice" // Potrzebujesz tlumaczenie + "Multiple choice" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Múltipla escolha" + "Múltipla escolha" #endif }; @@ -42150,50 +42426,50 @@ const char *Txt_Syllabus_of_the_course = #endif const char *Txt_SYLLABUS_WHICH_SYLLABUS[Syl_NUM_WHICH_SYLLABUS] = - { - // Lectures + { + // Lectures #if L==1 // ca - "Teoria" + "Teoria" #elif L==2 // de - "Vorlesung" + "Vorlesung" #elif L==3 // en - "Lectures" + "Lectures" #elif L==4 // es - "Teoría" + "Teoría" #elif L==5 // fr - "Théorie" + "Théorie" #elif L==6 // gn - "Teoría" // Okoteve traducción + "Teoría" // Okoteve traducción #elif L==7 // it - "Teoria" + "Teoria" #elif L==8 // pl - "Wyklady" + "Wyklady" #elif L==9 // pt - "Teoria" + "Teoria" #endif - , - // Practicals + , + // Practicals #if L==1 // ca - "Pràctiques" + "Pràctiques" #elif L==2 // de - "Übung" + "Übung" #elif L==3 // en - "Practicals" + "Practicals" #elif L==4 // es - "Prácticas" + "Prácticas" #elif L==5 // fr - "Pratique" + "Pratique" #elif L==6 // gn - "Prácticas" // Okoteve traducción + "Prácticas" // Okoteve traducción #elif L==7 // it - "Pratica" + "Pratica" #elif L==8 // pl - "Praktyki" + "Praktyki" #elif L==9 // pt - "Prática" + "Prática" #endif - , - }; + , + }; const char *Txt_System = #if L==1 // ca @@ -42280,7 +42556,7 @@ const char *Txt_Table_not_found_in_the_file_of_marks = #endif const char *Txt_TABS_TXT[Tab_NUM_TABS] = - { + { // TabUnk "" , @@ -43073,23 +43349,23 @@ const char *Txt_Text = const char *Txt_TEXT_plain = #if L==1 // ca - "pla"; + "pla"; #elif L==2 // de - "Plain"; + "Plain"; #elif L==3 // en - "plain"; + "plain"; #elif L==4 // es - "plano"; + "plano"; #elif L==5 // fr - "plain"; + "plain"; #elif L==6 // gn - "plano"; // Okoteve traducción + "plano"; // Okoteve traducción #elif L==7 // it - "normale"; + "normale"; #elif L==8 // pl - "zwykly"; + "zwykly"; #elif L==9 // pt - "plano"; + "plano"; #endif const char *Txt_Thank_you_for_reporting_a_possible_duplicate_user = @@ -49241,307 +49517,307 @@ const char *Txt_Time_zone_used_in_the_calculation_of_these_statistics = const char *Txt_Timeline = #if L==1 // ca - "Timeline"; + "Timeline"; #elif L==2 // de - "Timeline"; + "Timeline"; #elif L==3 // en - "Timeline"; + "Timeline"; #elif L==4 // es - "Timeline"; + "Timeline"; #elif L==5 // fr - "Chronologie"; + "Chronologie"; #elif L==6 // gn - "Timeline"; // Okoteve traducción + "Timeline"; // Okoteve traducción #elif L==7 // it - "Timeline"; + "Timeline"; #elif L==8 // pl - "Timeline"; + "Timeline"; #elif L==9 // pt - "Timeline"; + "Timeline"; #endif const char *Txt_Timeline_OF_A_USER = // Warning: it is very important to include %s in the following sentences #if L==1 // ca - "Timeline de %s"; + "Timeline de %s"; #elif L==2 // de - "%s timeline"; + "%s timeline"; #elif L==3 // en - "%s timeline"; + "%s timeline"; #elif L==4 // es - "Timeline de %s"; + "Timeline de %s"; #elif L==5 // fr - "Chronologie de %s"; + "Chronologie de %s"; #elif L==6 // gn - "Timeline de %s"; // Okoteve traducción + "Timeline de %s"; // Okoteve traducción #elif L==7 // it - "Timeline di %s"; + "Timeline di %s"; #elif L==8 // pl - "Timeline %s"; + "Timeline %s"; #elif L==9 // pt - "Timeline de %s"; + "Timeline de %s"; #endif const char *Txt_TIMELINE_NOTE[TL_NUM_NOTE_TYPES] = { #if L==1 // ca // TL_NOTE_UNKNOWN - "Esdeveniment desconegut" + "Esdeveniment desconegut" #elif L==2 // de - "Unbekannt Ereignis" + "Unbekannt Ereignis" #elif L==3 // en - "Unknown event" + "Unknown event" #elif L==4 // es - "Evento desconocido" + "Evento desconocido" #elif L==5 // fr - "Événement inconnu" + "Événement inconnu" #elif L==6 // gn - "Evento desconocido" // Okoteve traducción + "Evento desconocido" // Okoteve traducción #elif L==7 // it - "Evento sconosciuto" + "Evento sconosciuto" #elif L==8 // pl - "Nieznane zdarzenia" + "Nieznane zdarzenia" #elif L==9 // pt - "Evento desconhecido" + "Evento desconhecido" #endif - , + , #if L==1 // ca // TL_NOTE_INS_DOC_PUB_FILE - "Document públic (institució)" + "Document públic (institució)" #elif L==2 // de - "Öffentliche Dokumentdatei (Hochschule)" + "Öffentliche Dokumentdatei (Hochschule)" #elif L==3 // en - "Public document file (institution)" + "Public document file (institution)" #elif L==4 // es - "Documento público (institución)" + "Documento público (institución)" #elif L==5 // fr - "Fichier de document public (établissement)" + "Fichier de document public (établissement)" #elif L==6 // gn - "Documento público (institución)" // Okoteve traducción + "Documento público (institución)" // Okoteve traducción #elif L==7 // it - "Documento pubblico (istituzione)" + "Documento pubblico (istituzione)" #elif L==8 // pl - "Plik dokumentu publiczne (instytucji)" + "Plik dokumentu publiczne (instytucji)" #elif L==9 // pt - "Arquivo de documento público (institução)" + "Arquivo de documento público (institução)" #endif - , + , #if L==1 // ca // TL_NOTE_INS_SHA_PUB_FILE - "Arxiu compartit públic (institució)" + "Arxiu compartit públic (institució)" #elif L==2 // de - "Öffentliche Freigegebene Datei (Hochschule)" + "Öffentliche Freigegebene Datei (Hochschule)" #elif L==3 // en - "Public shared file (institution)" + "Public shared file (institution)" #elif L==4 // es - "Archivo compartido público (institución)" + "Archivo compartido público (institución)" #elif L==5 // fr - "Fichier partagé public (établissement)" + "Fichier partagé public (établissement)" #elif L==6 // gn - "Archivo compartido público (institución)" // Okoteve traducción + "Archivo compartido público (institución)" // Okoteve traducción #elif L==7 // it - "File condiviso pubblico (istituzione)" + "File condiviso pubblico (istituzione)" #elif L==8 // pl - "Udostępniony plik publiczne (instytucji)" + "Udostępniony plik publiczne (instytucji)" #elif L==9 // pt - "Arquivo compartilhado público (institução)" + "Arquivo compartilhado público (institução)" #endif - , + , #if L==1 // ca // TL_NOTE_CTR_DOC_PUB_FILE - "Document públic (centre)" + "Document públic (centre)" #elif L==2 // de - "Öffentliche Dokumentdatei (Lehrinstitut)" + "Öffentliche Dokumentdatei (Lehrinstitut)" #elif L==3 // en - "Public document file (centre)" + "Public document file (centre)" #elif L==4 // es - "Documento público (centro)" + "Documento público (centro)" #elif L==5 // fr - "Fichier de document public (centre)" + "Fichier de document public (centre)" #elif L==6 // gn - "Documento público (centro)" // Okoteve traducción + "Documento público (centro)" // Okoteve traducción #elif L==7 // it - "Documento pubblico (centro)" + "Documento pubblico (centro)" #elif L==8 // pl - "Plik dokumentu publiczne (centrum)" + "Plik dokumentu publiczne (centrum)" #elif L==9 // pt - "Arquivo de documento público (centro)" + "Arquivo de documento público (centro)" #endif - , + , #if L==1 // ca // TL_NOTE_CTR_SHA_PUB_FILE - "Arxiu compartit públic (centre)" + "Arxiu compartit públic (centre)" #elif L==2 // de - "Öffentliche Freigegebene Datei (Lehrinstitut)" + "Öffentliche Freigegebene Datei (Lehrinstitut)" #elif L==3 // en - "Public shared file (centre)" + "Public shared file (centre)" #elif L==4 // es - "Archivo compartido público (centro)" + "Archivo compartido público (centro)" #elif L==5 // fr - "Fichier partagé public (centre)" + "Fichier partagé public (centre)" #elif L==6 // gn - "Archivo compartido público (centro)" // Okoteve traducción + "Archivo compartido público (centro)" // Okoteve traducción #elif L==7 // it - "File condiviso pubblico (centro)" + "File condiviso pubblico (centro)" #elif L==8 // pl - "Udostępniony plik publiczne (centrum)" + "Udostępniony plik publiczne (centrum)" #elif L==9 // pt - "Arquivo compartilhado público (centro)" + "Arquivo compartilhado público (centro)" #endif - , + , #if L==1 // ca // TL_NOTE_DEG_DOC_PUB_FILE - "Document públic (titulació)" + "Document públic (titulació)" #elif L==2 // de - "Öffentliche Dokumentdatei (Studiengang)" + "Öffentliche Dokumentdatei (Studiengang)" #elif L==3 // en - "Public document file (degree)" + "Public document file (degree)" #elif L==4 // es - "Documento público (titulación)" + "Documento público (titulación)" #elif L==5 // fr - "Fichier de document public (étude)" + "Fichier de document public (étude)" #elif L==6 // gn - "Documento público (titulación)" // Okoteve traducción + "Documento público (titulación)" // Okoteve traducción #elif L==7 // it - "Documento pubblico (laurea)" + "Documento pubblico (laurea)" #elif L==8 // pl - "Plik dokumentu publiczne (stopień)" + "Plik dokumentu publiczne (stopień)" #elif L==9 // pt - "Arquivo de documento público (grau)" + "Arquivo de documento público (grau)" #endif - , + , #if L==1 // ca // TL_NOTE_DEG_SHA_PUB_FILE - "Arxiu compartit públic (titulació)" + "Arxiu compartit públic (titulació)" #elif L==2 // de - "Öffentliche Freigegebene Datei (Studiengang)" + "Öffentliche Freigegebene Datei (Studiengang)" #elif L==3 // en - "Public shared file (degree)" + "Public shared file (degree)" #elif L==4 // es - "Archivo compartido público (titulación)" + "Archivo compartido público (titulación)" #elif L==5 // fr - "Fichier partagé public (étude)" + "Fichier partagé public (étude)" #elif L==6 // gn - "Archivo compartido público (titulación)" // Okoteve traducción + "Archivo compartido público (titulación)" // Okoteve traducción #elif L==7 // it - "File condiviso pubblico (laurea)" + "File condiviso pubblico (laurea)" #elif L==8 // pl - "Udostępniony plik publiczne (stopień)" + "Udostępniony plik publiczne (stopień)" #elif L==9 // pt - "Arquivo compartilhado público (grau)" + "Arquivo compartilhado público (grau)" #endif - , + , #if L==1 // ca // TL_NOTE_CRS_DOC_PUB_FILE - "Document públic (assignatura)" + "Document públic (assignatura)" #elif L==2 // de - "Öffentliche Dokumentdatei (Kurs)" + "Öffentliche Dokumentdatei (Kurs)" #elif L==3 // en - "Public document file (course)" + "Public document file (course)" #elif L==4 // es - "Documento público (asignatura)" + "Documento público (asignatura)" #elif L==5 // fr - "Fichier de document public (matière)" + "Fichier de document public (matière)" #elif L==6 // gn - "Documento público (asignatura)" // Okoteve traducción + "Documento público (asignatura)" // Okoteve traducción #elif L==7 // it - "Documento pubblico (corso)" + "Documento pubblico (corso)" #elif L==8 // pl - "Plik dokumentu publiczne (kurs)" + "Plik dokumentu publiczne (kurs)" #elif L==9 // pt - "Arquivo de documento público (disciplina)" + "Arquivo de documento público (disciplina)" #endif - , + , #if L==1 // ca // TL_NOTE_CRS_SHA_PUB_FILE - "Arxiu compartit públic (assignatura)" + "Arxiu compartit públic (assignatura)" #elif L==2 // de - "Öffentliche Freigegebene Datei (Kurs)" + "Öffentliche Freigegebene Datei (Kurs)" #elif L==3 // en - "Public shared file (course)" + "Public shared file (course)" #elif L==4 // es - "Archivo compartido público (asignatura)" + "Archivo compartido público (asignatura)" #elif L==5 // fr - "Fichier partagé public (matière)" + "Fichier partagé public (matière)" #elif L==6 // gn - "Archivo compartido público (asignatura)" // Okoteve traducción + "Archivo compartido público (asignatura)" // Okoteve traducción #elif L==7 // it - "File condiviso pubblico (corso)" + "File condiviso pubblico (corso)" #elif L==8 // pl - "Udostępniony plik publiczne (kurs)" + "Udostępniony plik publiczne (kurs)" #elif L==9 // pt - "Arquivo compartilhado público (disciplina)" + "Arquivo compartilhado público (disciplina)" #endif - , + , #if L==1 // ca // TL_NOTE_EXAM_ANNOUNCEMENT - "Convocatòria d'examen" + "Convocatòria d'examen" #elif L==2 // de - "Aufrufe für Prüfung" + "Aufrufe für Prüfung" #elif L==3 // en - "Announcement of exam" + "Announcement of exam" #elif L==4 // es - "Convocatoria de examen" + "Convocatoria de examen" #elif L==5 // fr - "Convocation à un examen" + "Convocation à un examen" #elif L==6 // gn - "Convocatoria de examen" // Okoteve traducción + "Convocatoria de examen" // Okoteve traducción #elif L==7 // it - "Appello d'esame" + "Appello d'esame" #elif L==8 // pl - "Ogloszenie egzamin" + "Ogloszenie egzamin" #elif L==9 // pt - "Chamada para exame" + "Chamada para exame" #endif - , + , #if L==1 // ca // TL_NOTE_SOCIAL_POST - "Missatge social" + "Missatge social" #elif L==2 // de - "Social Beitrag" + "Social Beitrag" #elif L==3 // en - "Social post" + "Social post" #elif L==4 // es - "Mensaje social" + "Mensaje social" #elif L==5 // fr - "Message social" + "Message social" #elif L==6 // gn - "Mensaje social" // Okoteve traducción + "Mensaje social" // Okoteve traducción #elif L==7 // it - "Post sociale" + "Post sociale" #elif L==8 // pl - "Post społecznej" + "Post społecznej" #elif L==9 // pt - "Post sociais" + "Post sociais" #endif - , + , #if L==1 // ca // TL_NOTE_FORUM_POST - "Comentari en un fòrum" + "Comentari en un fòrum" #elif L==2 // de - "Beiträge in einem Forum" + "Beiträge in einem Forum" #elif L==3 // en - "Post in a forum" + "Post in a forum" #elif L==4 // es - "Comentario en un foro" + "Comentario en un foro" #elif L==5 // fr - "Post dans un forum" + "Post dans un forum" #elif L==6 // gn - "Comentario en un foro" // Okoteve traducción + "Comentario en un foro" // Okoteve traducción #elif L==7 // it - "Post in un forum" + "Post in un forum" #elif L==8 // pl - "Post na forum" + "Post na forum" #elif L==9 // pt - "Post em um fórum" + "Post em um fórum" #endif - , + , #if L==1 // ca // TL_NOTE_NOTICE - "Avís" + "Avís" #elif L==2 // de - "Ankündigungen" + "Ankündigungen" #elif L==3 // en - "Notice" + "Notice" #elif L==4 // es - "Aviso" + "Aviso" #elif L==5 // fr - "Avis" + "Avis" #elif L==6 // gn - "Marandu" + "Marandu" #elif L==7 // it - "Avviso" + "Avviso" #elif L==8 // pl - "Informacja" + "Informacja" #elif L==9 // pt - "Anúncio" + "Anúncio" #endif }; @@ -49888,7 +50164,7 @@ const char *Txt_TIMETABLE_TYPES[TT_NUM_TIMETABLE_TYPES] = #elif L==9 // pt "Horário" #endif - , + , // TT_MY_TIMETABLE #if L==1 // ca "Horari de les meves assignatures" @@ -49909,7 +50185,7 @@ const char *Txt_TIMETABLE_TYPES[TT_NUM_TIMETABLE_TYPES] = #elif L==9 // pt "Horário minha disciplinas" #endif - , + , // TT_TUTORING_TIMETABLE #if L==1 // ca "Horari de tutories" @@ -49936,86 +50212,86 @@ const char *Txt_TIMETABLE_CLASS_TYPES[TT_NUM_CLASS_TYPES] = { // TT_FREE #if L==1 // ca - "Lliure" + "Lliure" #elif L==2 // de - "Keine Klasse" + "Keine Klasse" #elif L==3 // en - "No class" + "No class" #elif L==4 // es - "Libre" + "Libre" #elif L==5 // fr - "Pas de classe" + "Pas de classe" #elif L==6 // gn - "Libre" // Okoteve traducción + "Libre" // Okoteve traducción #elif L==7 // it - "Libero" + "Libero" #elif L==8 // pl - "Bez klasy" + "Bez klasy" #elif L==9 // pt - "Livre" + "Livre" #endif - , - // TT_LECTURE + , + // TT_LECTURE #if L==1 // ca - "Teoria" + "Teoria" #elif L==2 // de - "Vorlesung" + "Vorlesung" #elif L==3 // en - "Lectures" + "Lectures" #elif L==4 // es - "Teoría" + "Teoría" #elif L==5 // fr - "Théorie" + "Théorie" #elif L==6 // gn - "Teoría" // Okoteve traducción + "Teoría" // Okoteve traducción #elif L==7 // it - "Teoria" + "Teoria" #elif L==8 // pl - "Wyklady" + "Wyklady" #elif L==9 // pt - "Teoria" + "Teoria" #endif - , - // TT_PRACTICAL + , + // TT_PRACTICAL #if L==1 // ca - "Pràct." + "Pràct." #elif L==2 // de - "Übung" + "Übung" #elif L==3 // en - "Practicals" + "Practicals" #elif L==4 // es - "Práct." + "Práct." #elif L==5 // fr - "Pratique" + "Pratique" #elif L==6 // gn - "Práct." // Okoteve traducción + "Práct." // Okoteve traducción #elif L==7 // it - "Pratica" + "Pratica" #elif L==8 // pl - "praktyki" + "praktyki" #elif L==9 // pt - "Práct." + "Práct." #endif - , - // TT_TUTORING + , + // TT_TUTORING #if L==1 // ca - "Tutories" + "Tutories" #elif L==2 // de - "Anleitungen" + "Anleitungen" #elif L==3 // en - "Tutoring" + "Tutoring" #elif L==4 // es - "Tutorías" + "Tutorías" #elif L==5 // fr - "Tutorat" + "Tutorat" #elif L==6 // gn - "Tutorías" // Okoteve traducción + "Tutorías" // Okoteve traducción #elif L==7 // it - "Tutoraggio" + "Tutoraggio" #elif L==8 // pl - "Korepetycje" + "Korepetycje" #elif L==9 // pt - "Tutoria" + "Tutoria" #endif }; @@ -50490,125 +50766,125 @@ const char *Txt_TST_PLUGGABLE[Tst_NUM_OPTIONS_PLUGGABLE] = }; const char *Txt_TST_STR_ANSWER_TYPES[Tst_NUM_ANS_TYPES] = - { + { #if L==1 // ca - "Nombre enter" + "Nombre enter" #elif L==2 // de - "Ganze Zahl" + "Ganze Zahl" #elif L==3 // en - "Integer number" + "Integer number" #elif L==4 // es - "Nº entero" + "Nº entero" #elif L==5 // fr - "Nombre entier" + "Nombre entier" #elif L==6 // gn - "Nº entero" // Okoteve traducción + "Nº entero" // Okoteve traducción #elif L==7 // it - "Numero intero" + "Numero intero" #elif L==8 // pl - "Integer number" // Potrzebujesz tlumaczenie + "Integer number" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Nº inteiro" + "Nº inteiro" #endif - , + , #if L==1 // ca - "Nombre real" + "Nombre real" #elif L==2 // de - "Reelle Zahl" + "Reelle Zahl" #elif L==3 // en - "Real number" + "Real number" #elif L==4 // es - "Nº real" + "Nº real" #elif L==5 // fr - "Nombre réel" + "Nombre réel" #elif L==6 // gn - "Nº real" // Okoteve traducción + "Nº real" // Okoteve traducción #elif L==7 // it - "Numero reale" + "Numero reale" #elif L==8 // pl - "Liczba rzeczywista" + "Liczba rzeczywista" #elif L==9 // pt - "Nº real" + "Nº real" #endif - , + , #if L==1 // ca - "V/F" + "V/F" #elif L==2 // de - "R/F" + "R/F" #elif L==3 // en - "T/F" + "T/F" #elif L==4 // es - "V/F" + "V/F" #elif L==5 // fr - "V/F" + "V/F" #elif L==6 // gn - "V/F" // Okoteve traducción + "V/F" // Okoteve traducción #elif L==7 // it - "V/F" + "V/F" #elif L==8 // pl - "P/F" + "P/F" #elif L==9 // pt - "V/F" + "V/F" #endif - , + , #if L==1 // ca - "Elecció única" + "Elecció única" #elif L==2 // de - "Unique-Choice" + "Unique-Choice" #elif L==3 // en - "Unique choice" + "Unique choice" #elif L==4 // es - "Elección única" + "Elección única" #elif L==5 // fr - "Choix unique" + "Choix unique" #elif L==6 // gn - "Elección única" // Okoteve traducción + "Elección única" // Okoteve traducción #elif L==7 // it - "Scelta unica" + "Scelta unica" #elif L==8 // pl - "Unikalny wybór" + "Unikalny wybór" #elif L==9 // pt - "Única escolha" + "Única escolha" #endif - , + , #if L==1 // ca - "Elecció múltiple" + "Elecció múltiple" #elif L==2 // de - "Multiple-Choice" + "Multiple-Choice" #elif L==3 // en - "Multiple choice" + "Multiple choice" #elif L==4 // es - "Elección múltiple" + "Elección múltiple" #elif L==5 // fr - "Choix multiple" + "Choix multiple" #elif L==6 // gn - "Elección múltiple" // Okoteve traducción + "Elección múltiple" // Okoteve traducción #elif L==7 // it - "Scelta multipla" + "Scelta multipla" #elif L==8 // pl - "Wielokrotnego wyboru" + "Wielokrotnego wyboru" #elif L==9 // pt - "Múltipla escolha" + "Múltipla escolha" #endif - , + , #if L==1 // ca - "Text" + "Text" #elif L==2 // de - "Text" + "Text" #elif L==3 // en - "Text" + "Text" #elif L==4 // es - "Texto" + "Texto" #elif L==5 // fr - "Texte" + "Texte" #elif L==6 // gn - "Mba'ehaipyre" + "Mba'ehaipyre" #elif L==7 // it - "Testo" + "Testo" #elif L==8 // pl - "Tekst" + "Tekst" #elif L==9 // pt - "Texto" + "Texto" #endif , }; @@ -50616,103 +50892,103 @@ const char *Txt_TST_STR_ANSWER_TYPES[Tst_NUM_ANS_TYPES] = const char *Txt_TST_STR_FEEDBACK[Tst_NUM_TYPES_FEEDBACK] = { #if L==1 // ca - "Ninguna realimentación" // Necessita traduccio + "Ninguna realimentación" // Necessita traduccio #elif L==2 // de - "Keine Feedback" + "Keine Feedback" #elif L==3 // en - "No feedback" + "No feedback" #elif L==4 // es - "Ninguna realimentación" + "Ninguna realimentación" #elif L==5 // fr - "Pas de feedback" + "Pas de feedback" #elif L==6 // gn - "Ninguna realimentación" // Okoteve traducción + "Ninguna realimentación" // Okoteve traducción #elif L==7 // it - "Nessun feedback" + "Nessun feedback" #elif L==8 // pl - "No feedback" // Potrzebujesz tlumaczenie + "No feedback" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Nenhum feedback" + "Nenhum feedback" #endif - , + , #if L==1 // ca - "Poca: solo puntuación total" // Necessita traduccio + "Poca: solo puntuación total" // Necessita traduccio #elif L==2 // de - "Kleine: nur die Gesamtnote" + "Kleine: nur die Gesamtnote" #elif L==3 // en - "Little: only the total score" + "Little: only the total score" #elif L==4 // es - "Poca: solo puntuación total" + "Poca: solo puntuación total" #elif L==5 // fr - "Petit: seul le note total" + "Petit: seul le note total" #elif L==6 // gn - "Poca: solo puntuación total" // Okoteve traducción + "Poca: solo puntuación total" // Okoteve traducción #elif L==7 // it - "Poco: solo il punteggio totale" + "Poco: solo il punteggio totale" #elif L==8 // pl - "Little: only the total score" // Potrzebujesz tlumaczenie + "Little: only the total score" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Pouco: apenas a pontuação total" + "Pouco: apenas a pontuação total" #endif - , + , #if L==1 // ca - "Media: puntuación de cada pregunta" // Necessita traduccio + "Media: puntuación de cada pregunta" // Necessita traduccio #elif L==2 // de - "Medium: Ergebnisse der einzelnen Frage" + "Medium: Ergebnisse der einzelnen Frage" #elif L==3 // en - "Medium: result of each question" + "Medium: result of each question" #elif L==4 // es - "Media: puntuación de cada pregunta" + "Media: puntuación de cada pregunta" #elif L==5 // fr - "Medium: le résultat de chaque question" + "Medium: le résultat de chaque question" #elif L==6 // gn - "Media: puntuación de cada pregunta" // Okoteve traducción + "Media: puntuación de cada pregunta" // Okoteve traducción #elif L==7 // it - "Medio: risultato di ogni domanda" + "Medio: risultato di ogni domanda" #elif L==8 // pl - "Medium: result of each question" // Potrzebujesz tlumaczenie + "Medium: result of each question" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Médio: pontuação de cada questão" + "Médio: pontuação de cada questão" #endif - , + , #if L==1 // ca - "Alta: respuesta correcta en cada pregunta" // Necessita traduccio + "Alta: respuesta correcta en cada pregunta" // Necessita traduccio #elif L==2 // de - "Maximale Details: die richtige Antwort für jede Frage" + "Maximale Details: die richtige Antwort für jede Frage" #elif L==3 // en - "High: correct answer for each question" + "High: correct answer for each question" #elif L==4 // es - "Alta: respuesta correcta en cada pregunta" + "Alta: respuesta correcta en cada pregunta" #elif L==5 // fr - "Haute: bonne réponse pour chaque question" + "Haute: bonne réponse pour chaque question" #elif L==6 // gn - "Alta: respuesta correcta en cada pregunta" // Okoteve traducción + "Alta: respuesta correcta en cada pregunta" // Okoteve traducción #elif L==7 // it - "Alto: la corretta risposta per ogni domanda" + "Alto: la corretta risposta per ogni domanda" #elif L==8 // pl - "High: correct answer for each question" // Potrzebujesz tlumaczenie + "High: correct answer for each question" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Alto: resposta correta para cada questão" + "Alto: resposta correta para cada questão" #endif - , + , #if L==1 // ca - "Máxima: mostrar texto de realimentación" // Necessita traduccio + "Máxima: mostrar texto de realimentación" // Necessita traduccio #elif L==2 // de - "Maximale: zeigen Feedback text" + "Maximale: zeigen Feedback text" #elif L==3 // en - "Maximum: show feedback text" + "Maximum: show feedback text" #elif L==4 // es - "Máxima: mostrar texto de realimentación" + "Máxima: mostrar texto de realimentación" #elif L==5 // fr - "Maximum: afficher le texte de feedback" + "Maximum: afficher le texte de feedback" #elif L==6 // gn - "Máxima: mostrar texto de realimentación" // Okoteve traducción + "Máxima: mostrar texto de realimentación" // Okoteve traducción #elif L==7 // it - "Massimo: visualizzare il testo de feedback" + "Massimo: visualizzare il testo de feedback" #elif L==8 // pl - "Maximum: show feedback text" // Potrzebujesz tlumaczenie + "Maximum: show feedback text" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Máximo: mostrar o texto de feedback" + "Máximo: mostrar o texto de feedback" #endif }; @@ -50931,45 +51207,45 @@ const char *Txt_TST_STR_ORDER_SHORT[Tst_NUM_TYPES_ORDER_QST] = }; const char *Txt_TF_QST[2] = - { + { #if L==1 // ca // True - "V" + "V" #elif L==2 // de - "R" + "R" #elif L==3 // en - "T" + "T" #elif L==4 // es - "V" + "V" #elif L==5 // fr - "V" + "V" #elif L==6 // gn - "V" // Okoteve traducción + "V" // Okoteve traducción #elif L==7 // it - "V" + "V" #elif L==8 // pl - "P" + "P" #elif L==9 // pt - "V" + "V" #endif - , + , #if L==1 // ca // False - "F" + "F" #elif L==2 // de - "F" + "F" #elif L==3 // en - "F" + "F" #elif L==4 // es - "F" + "F" #elif L==5 // fr - "F" + "F" #elif L==6 // gn - "F" // Okoteve traducción + "F" // Okoteve traducción #elif L==7 // it - "F" + "F" #elif L==8 // pl - "F" + "F" #elif L==9 // pt - "F" + "F" #endif }; @@ -52413,65 +52689,65 @@ const char *Txt_Users_in_courses = const char *Txt_Users_of_the_centre = #if L==1 // ca - "Usuaris del centre"; + "Usuaris del centre"; #elif L==2 // de - "Benutzer der Lehrinstitut"; + "Benutzer der Lehrinstitut"; #elif L==3 // en - "Users of the centre"; + "Users of the centre"; #elif L==4 // es - "Usuarios del centro"; + "Usuarios del centro"; #elif L==5 // fr - "Utilisateurs du centre"; + "Utilisateurs du centre"; #elif L==6 // gn - "Usuarios del centro"; // Okoteve traducción + "Usuarios del centro"; // Okoteve traducción #elif L==7 // it - "Utenti del centro"; + "Utenti del centro"; #elif L==8 // pl - "Użytkownicy centrum"; + "Użytkownicy centrum"; #elif L==9 // pt - "Utilizadores do centro"; + "Utilizadores do centro"; #endif const char *Txt_Users_of_the_country = #if L==1 // ca - "Usuaris del país"; + "Usuaris del país"; #elif L==2 // de - "Benutzer des Landes"; + "Benutzer des Landes"; #elif L==3 // en - "Users of the country"; + "Users of the country"; #elif L==4 // es - "Usuarios del país"; + "Usuarios del país"; #elif L==5 // fr - "Utilisateurs du pays"; + "Utilisateurs du pays"; #elif L==6 // gn - "Usuarios del país"; // Okoteve traducción + "Usuarios del país"; // Okoteve traducción #elif L==7 // it - "Utenti del paese"; + "Utenti del paese"; #elif L==8 // pl - "Użytkownicy kraju"; + "Użytkownicy kraju"; #elif L==9 // pt - "Utilizadores do país"; + "Utilizadores do país"; #endif const char *Txt_Users_of_the_institution = #if L==1 // ca - "Usuaris de la institució"; + "Usuaris de la institució"; #elif L==2 // de - "Benutzer der Hochschule"; + "Benutzer der Hochschule"; #elif L==3 // en - "Users of the institution"; + "Users of the institution"; #elif L==4 // es - "Usuarios de la institución"; + "Usuarios de la institución"; #elif L==5 // fr - "Utilisateurs du établissement"; + "Utilisateurs du établissement"; #elif L==6 // gn - "Usuarios de la institución"; // Okoteve traducción + "Usuarios de la institución"; // Okoteve traducción #elif L==7 // it - "Utenti della istituzione"; + "Utenti della istituzione"; #elif L==8 // pl - "Użytkownicy instytucji"; + "Użytkownicy instytucji"; #elif L==9 // pt - "Utilizadores da institução"; + "Utilizadores da institução"; #endif const char *Txt_users_with_no_group = @@ -52547,47 +52823,47 @@ const char *Txt_X_users_who_have_email = // Warning: it is very important to inc #endif const char *Txt_USR_LIST_TYPES[Usr_NUM_USR_LIST_TYPES] = - { - "" // Usr_LIST_UNKNOWN - , // Usr_LIST_AS_CLASS_PHOTO + { + "" // Usr_LIST_UNKNOWN + , // Usr_LIST_AS_CLASS_PHOTO #if L==1 // ca - "Orla" + "Orla" #elif L==2 // de - "Klass Foto" + "Klass Foto" #elif L==3 // en - "Class photo" + "Class photo" #elif L==4 // es - "Orla" + "Orla" #elif L==5 // fr - "Photo de classe" + "Photo de classe" #elif L==6 // gn - "Orla" // Okoteve traducción + "Orla" // Okoteve traducción #elif L==7 // it - "Foto di classe" + "Foto di classe" #elif L==8 // pl - "Class photo" // Potrzebujesz tlumaczenie + "Class photo" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Foto de formatura" + "Foto de formatura" #endif - , // Usr_LIST_AS_LISTING + , // Usr_LIST_AS_LISTING #if L==1 // ca - "Llista" + "Llista" #elif L==2 // de - "Liste" + "Liste" #elif L==3 // en - "List" + "List" #elif L==4 // es - "Lista" + "Lista" #elif L==5 // fr - "Liste" + "Liste" #elif L==6 // gn - "Lista" // Okoteve traducción + "Lista" // Okoteve traducción #elif L==7 // it - "Lista" + "Lista" #elif L==8 // pl - "List" // Potrzebujesz tlumaczenie + "List" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Lista" + "Lista" #endif }; @@ -53328,10 +53604,10 @@ const char *Txt_Where_s_USER = const char *Txt_WHO[Usr_NUM_WHO] = { - // Usr_WHO_UNKNOWN - NULL - , - // Usr_WHO_ME + // Usr_WHO_UNKNOWN + NULL + , + // Usr_WHO_ME #if L==1 // ca "Jo" #elif L==2 // de @@ -53373,7 +53649,7 @@ const char *Txt_WHO[Usr_NUM_WHO] = "Usuários selecionados" #endif , - // Usr_WHO_FOLLOWED + // Usr_WHO_FOLLOWED #if L==1 // ca "Usuaris que segueixo" #elif L==2 // de @@ -53393,26 +53669,26 @@ const char *Txt_WHO[Usr_NUM_WHO] = #elif L==9 // pt "Usuários que estou seguindo" #endif - , - // Usr_WHO_ALL + , + // Usr_WHO_ALL #if L==1 // ca - "Tots els usuaris" + "Tots els usuaris" #elif L==2 // de - "Alle Benutzer" + "Alle Benutzer" #elif L==3 // en - "All users" + "All users" #elif L==4 // es - "Todos los usuarios" + "Todos los usuarios" #elif L==5 // fr - "Tous les utilisateurs" + "Tous les utilisateurs" #elif L==6 // gn - "Todos los usuarios" // Okoteve traducción + "Todos los usuarios" // Okoteve traducción #elif L==7 // it - "Tutti gli utenti" + "Tutti gli utenti" #elif L==8 // pl - "Wszyscy użytkownicy" + "Wszyscy użytkownicy" #elif L==9 // pt - "Todos os usuários" + "Todos os usuários" #endif }; @@ -53753,265 +54029,265 @@ const char *Txt_Year_OF_A_DEGREE = // 1, 2, 3..., not 1984, 2011... #endif const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE] = - { + { #if L==1 // ca - "N.A." + "N.A." #elif L==2 // de - "N.A." + "N.A." #elif L==3 // en - "N.A." + "N.A." #elif L==4 // es - "N.A." + "N.A." #elif L==5 // fr - "N.A." + "N.A." #elif L==6 // gn - "N.A." // Okoteve traducción + "N.A." // Okoteve traducción #elif L==7 // it - "N.A." + "N.A." #elif L==8 // pl - "N.D." + "N.D." #elif L==9 // pt - "N.A." + "N.A." #endif - , + , #if L==1 // ca - "1º" // Necessita traduccio + "1º" // Necessita traduccio #elif L==2 // de - "1st" // Need Übersetzung + "1st" // Need Übersetzung #elif L==3 // en - "1st" + "1st" #elif L==4 // es - "1º" + "1º" #elif L==5 // fr - "1st" // Besoin de traduction + "1st" // Besoin de traduction #elif L==6 // gn - "1º" // Okoteve traducción + "1º" // Okoteve traducción #elif L==7 // it - "Primo" + "Primo" #elif L==8 // pl - "1st" // Potrzebujesz tlumaczenie + "1st" // Potrzebujesz tlumaczenie #elif L==9 // pt - "1º" + "1º" #endif - , + , #if L==1 // ca - "2º" // Necessita traduccio + "2º" // Necessita traduccio #elif L==2 // de - "2nd" // Need Übersetzung + "2nd" // Need Übersetzung #elif L==3 // en - "2nd" + "2nd" #elif L==4 // es - "2º" + "2º" #elif L==5 // fr - "2nd" // Besoin de traduction + "2nd" // Besoin de traduction #elif L==6 // gn - "2º" // Okoteve traducción + "2º" // Okoteve traducción #elif L==7 // it - "Secondo" + "Secondo" #elif L==8 // pl - "2nd" // Potrzebujesz tlumaczenie + "2nd" // Potrzebujesz tlumaczenie #elif L==9 // pt - "2º" + "2º" #endif - , + , #if L==1 // ca - "3º" // Necessita traduccio + "3º" // Necessita traduccio #elif L==2 // de - "3rd" + "3rd" #elif L==3 // en - "3rd" + "3rd" #elif L==4 // es - "3º" + "3º" #elif L==5 // fr - "3rd" // Besoin de traduction + "3rd" // Besoin de traduction #elif L==6 // gn - "3º" // Okoteve traducción + "3º" // Okoteve traducción #elif L==7 // it - "Terzo" + "Terzo" #elif L==8 // pl - "3rd" // Potrzebujesz tlumaczenie + "3rd" // Potrzebujesz tlumaczenie #elif L==9 // pt - "3º" + "3º" #endif - , + , #if L==1 // ca - "4º" // Necessita traduccio + "4º" // Necessita traduccio #elif L==2 // de - "4th" // Need Übersetzung + "4th" // Need Übersetzung #elif L==3 // en - "4th" + "4th" #elif L==4 // es - "4º" + "4º" #elif L==5 // fr - "Quarto" + "Quarto" #elif L==6 // gn - "4º" // Okoteve traducción + "4º" // Okoteve traducción #elif L==7 // it - "4th" // Bisogno di traduzione + "4th" // Bisogno di traduzione #elif L==8 // pl - "4th" // Potrzebujesz tlumaczenie + "4th" // Potrzebujesz tlumaczenie #elif L==9 // pt - "4º" + "4º" #endif - , + , #if L==1 // ca - "5º" // Necessita traduccio + "5º" // Necessita traduccio #elif L==2 // de - "5th" // Need Übersetzung + "5th" // Need Übersetzung #elif L==3 // en - "5th" + "5th" #elif L==4 // es - "5º" + "5º" #elif L==5 // fr - "5th" // Besoin de traduction + "5th" // Besoin de traduction #elif L==6 // gn - "5º" // Okoteve traducción + "5º" // Okoteve traducción #elif L==7 // it - "Quinto" + "Quinto" #elif L==8 // pl - "5th" // Potrzebujesz tlumaczenie + "5th" // Potrzebujesz tlumaczenie #elif L==9 // pt - "5º" + "5º" #endif - , + , #if L==1 // ca - "6º" // Necessita traduccio + "6º" // Necessita traduccio #elif L==2 // de - "6th" // Need Übersetzung + "6th" // Need Übersetzung #elif L==3 // en - "6th" + "6th" #elif L==4 // es - "6º" + "6º" #elif L==5 // fr - "6th" // Besoin de traduction + "6th" // Besoin de traduction #elif L==6 // gn - "6º" // Okoteve traducción + "6º" // Okoteve traducción #elif L==7 // it - "Sesto" + "Sesto" #elif L==8 // pl - "6th" // Potrzebujesz tlumaczenie + "6th" // Potrzebujesz tlumaczenie #elif L==9 // pt - "6º" + "6º" #endif - , + , #if L==1 // ca - "7º" // Necessita traduccio + "7º" // Necessita traduccio #elif L==2 // de - "7th" // Need Übersetzung + "7th" // Need Übersetzung #elif L==3 // en - "7th" + "7th" #elif L==4 // es - "7º" + "7º" #elif L==5 // fr - "7th" // Besoin de traduction + "7th" // Besoin de traduction #elif L==6 // gn - "7º" // Okoteve traducción + "7º" // Okoteve traducción #elif L==7 // it - "Settimo" + "Settimo" #elif L==8 // pl - "7th" // Potrzebujesz tlumaczenie + "7th" // Potrzebujesz tlumaczenie #elif L==9 // pt - "7º" + "7º" #endif - , + , #if L==1 // ca - "8º" // Necessita traduccio + "8º" // Necessita traduccio #elif L==2 // de - "8th" // Need Übersetzung + "8th" // Need Übersetzung #elif L==3 // en - "8th" + "8th" #elif L==4 // es - "8º" + "8º" #elif L==5 // fr - "8th" // Besoin de traduction + "8th" // Besoin de traduction #elif L==6 // gn - "8º" // Okoteve traducción + "8º" // Okoteve traducción #elif L==7 // it - "Ottavo" + "Ottavo" #elif L==8 // pl - "8th" // Potrzebujesz tlumaczenie + "8th" // Potrzebujesz tlumaczenie #elif L==9 // pt - "8º" + "8º" #endif - , + , #if L==1 // ca - "9º" // Necessita traduccio + "9º" // Necessita traduccio #elif L==2 // de - "9th" // Need Übersetzung + "9th" // Need Übersetzung #elif L==3 // en - "9th" + "9th" #elif L==4 // es - "9º" + "9º" #elif L==5 // fr - "9th" // Besoin de traduction + "9th" // Besoin de traduction #elif L==6 // gn - "9º" // Okoteve traducción + "9º" // Okoteve traducción #elif L==7 // it - "Nono" + "Nono" #elif L==8 // pl - "9th" // Potrzebujesz tlumaczenie + "9th" // Potrzebujesz tlumaczenie #elif L==9 // pt - "9º" + "9º" #endif - , + , #if L==1 // ca - "10º" // Necessita traduccio + "10º" // Necessita traduccio #elif L==2 // de - "10th" // Need Übersetzung + "10th" // Need Übersetzung #elif L==3 // en - "10th" + "10th" #elif L==4 // es - "10º" + "10º" #elif L==5 // fr - "10th" // Besoin de traduction + "10th" // Besoin de traduction #elif L==6 // gn - "10º" // Okoteve traducción + "10º" // Okoteve traducción #elif L==7 // it - "Decimo" + "Decimo" #elif L==8 // pl - "10th" // Potrzebujesz tlumaczenie + "10th" // Potrzebujesz tlumaczenie #elif L==9 // pt - "10º" + "10º" #endif - , + , #if L==1 // ca - "11º" // Necessita traduccio + "11º" // Necessita traduccio #elif L==2 // de - "11th" // Need Übersetzung + "11th" // Need Übersetzung #elif L==3 // en - "11th" + "11th" #elif L==4 // es - "11º" + "11º" #elif L==5 // fr - "11th" // Besoin de traduction + "11th" // Besoin de traduction #elif L==6 // gn - "11º" // Okoteve traducción + "11º" // Okoteve traducción #elif L==7 // it - "Undicesimo" + "Undicesimo" #elif L==8 // pl - "11th" // Potrzebujesz tlumaczenie + "11th" // Potrzebujesz tlumaczenie #elif L==9 // pt - "11º" + "11º" #endif - , + , #if L==1 // ca - "12º" // Necessita traduccio + "12º" // Necessita traduccio #elif L==2 // de - "12th" // Need Übersetzung + "12th" // Need Übersetzung #elif L==3 // en - "12th" + "12th" #elif L==4 // es - "12º" + "12º" #elif L==5 // fr - "12th" // Besoin de traduction + "12th" // Besoin de traduction #elif L==6 // gn - "12º" // Okoteve traducción + "12º" // Okoteve traducción #elif L==7 // it - "Sesto" + "Sesto" #elif L==8 // pl - "12th" // Potrzebujesz tlumaczenie + "12th" // Potrzebujesz tlumaczenie #elif L==9 // pt - "12º" + "12º" #endif }; diff --git a/swad_theme.c b/swad_theme.c index 6cd24e76..540f0e2d 100644 --- a/swad_theme.c +++ b/swad_theme.c @@ -322,8 +322,8 @@ void The_PutIconsToSelectTheme (void) Hlp_PROFILE_Settings_theme,Box_NOT_CLOSABLE); Set_StartSettingsHead (); Set_StartOneSettingSelector (); - for (Theme = (The_Theme_t) 0; - Theme < The_NUM_THEMES; + for (Theme = (The_Theme_t) 0; + Theme <= (The_Theme_t) (The_NUM_THEMES - 1); Theme++) { HTM_DIV_Begin ("class=\"%s\"",Theme == Gbl.Prefs.Theme ? "PREF_ON" : @@ -395,8 +395,8 @@ The_Theme_t The_GetParamTheme (void) The_Theme_t Theme; Par_GetParToText ("Theme",ThemeId,The_MAX_BYTES_THEME_ID); - for (Theme = (The_Theme_t) 0; - Theme < The_NUM_THEMES; + for (Theme = (The_Theme_t) 0; + Theme <= (The_Theme_t) (The_NUM_THEMES - 1); Theme++) if (!strcmp (ThemeId,The_ThemeId[Theme])) return Theme; @@ -412,8 +412,8 @@ The_Theme_t The_GetThemeFromStr (const char *Str) { The_Theme_t Theme; - for (Theme = (The_Theme_t) 0; - Theme < The_NUM_THEMES; + for (Theme = (The_Theme_t) 0; + Theme <= (The_Theme_t) (The_NUM_THEMES - 1); Theme++) if (!strcasecmp (Str,The_ThemeId[Theme])) return Theme; diff --git a/swad_timetable.c b/swad_timetable.c index 1e09ac8f..b8129db5 100644 --- a/swad_timetable.c +++ b/swad_timetable.c @@ -279,12 +279,12 @@ static void TT_GetParamsTimeTable (void) /***** Get class type *****/ Par_GetParToText ("TTTyp",StrClassType,TT_MAX_BYTES_STR_CLASS_TYPE); - for (Gbl.TimeTable.ClassType = (TT_ClassType_t) 0; - Gbl.TimeTable.ClassType < (TT_ClassType_t) TT_NUM_CLASS_TYPES; + for (Gbl.TimeTable.ClassType = (TT_ClassType_t) 0; + Gbl.TimeTable.ClassType <= (TT_ClassType_t) (TT_NUM_CLASS_TYPES - 1); Gbl.TimeTable.ClassType++) if (!strcmp (StrClassType,TT_ClassTypeDB[Gbl.TimeTable.ClassType])) break; - if (Gbl.TimeTable.ClassType == (TT_ClassType_t) TT_NUM_CLASS_TYPES) + if (Gbl.TimeTable.ClassType > (TT_ClassType_t) (TT_NUM_CLASS_TYPES - 1)) Lay_ShowErrorAndExit ("Type of timetable cell is missing."); /***** Get class duration *****/ @@ -420,9 +420,9 @@ static void TT_PutFormToSelectWhichGroupsToShow (void) { static const Act_Action_t ActSeeTT[TT_NUM_TIMETABLE_TYPES] = { - ActSeeCrsTT, // TT_COURSE_TIMETABLE - ActSeeMyTT, // TT_MY_TIMETABLE - ActUnk, // TT_TUTORING_TIMETABLE + [TT_COURSE_TIMETABLE ] = ActSeeCrsTT, + [TT_MY_TIMETABLE ] = ActSeeMyTT, + [TT_TUTORING_TIMETABLE] = ActUnk, }; Grp_ShowFormToSelWhichGrps (ActSeeTT[Gbl.TimeTable.Type],NULL); @@ -1606,8 +1606,8 @@ static void TT_TimeTableDrawCell (unsigned Weekday,unsigned Interval,unsigned Co /***** Class type *****/ HTM_SELECT_Begin (true, "name=\"TTTyp\" class=\"TT_TYP\""); - for (CT = (TT_ClassType_t) 0; - CT < (TT_ClassType_t) TT_NUM_CLASS_TYPES; + for (CT = (TT_ClassType_t) 0; + CT <= (TT_ClassType_t) (TT_NUM_CLASS_TYPES - 1); CT++) if ((CT == TT_FREE) || ((Gbl.TimeTable.View == TT_CRS_EDIT) && (CT == TT_LECTURE || CT == TT_PRACTICAL)) || diff --git a/swad_user.c b/swad_user.c index 6cd9b05a..06c13a87 100644 --- a/swad_user.c +++ b/swad_user.c @@ -690,8 +690,8 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat,Usr_GetPrefs_t GetPrefs) { /* Get language (row[26]) */ UsrDat->Prefs.Language = Lan_LANGUAGE_UNKNOWN; // Language unknown - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) if (!strcasecmp (row[26],Lan_STR_LANG_ID[Lan])) { @@ -707,8 +707,8 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat,Usr_GetPrefs_t GetPrefs) /* Get theme (row[29]) */ UsrDat->Prefs.Theme = The_THEME_DEFAULT; - for (Theme = (The_Theme_t) 0; - Theme < The_NUM_THEMES; + for (Theme = (The_Theme_t) 0; + Theme <= (The_Theme_t) (The_NUM_THEMES - 1); Theme++) if (!strcasecmp (row[29],The_ThemeId[Theme])) { @@ -718,8 +718,8 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat,Usr_GetPrefs_t GetPrefs) /* Get icon set (row[30]) */ UsrDat->Prefs.IconSet = Ico_ICON_SET_DEFAULT; - for (IconSet = (Ico_IconSet_t) 0; - IconSet < Ico_NUM_ICON_SETS; + for (IconSet = (Ico_IconSet_t) 0; + IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1); IconSet++) if (!strcasecmp (row[30],Ico_IconSetId[IconSet])) { @@ -865,8 +865,8 @@ static Usr_Sex_t Usr_GetSexFromStr (const char *Str) { Usr_Sex_t Sex; - for (Sex = (Usr_Sex_t) 0; - Sex < Usr_NUM_SEXS; + for (Sex = (Usr_Sex_t) 0; + Sex <= (Usr_Sex_t) (Usr_NUM_SEXS - 1); Sex++) if (!strcasecmp (Str,Usr_StringsSexDB[Sex])) return Sex; @@ -6109,8 +6109,8 @@ void Usr_FreeListsSelectedEncryptedUsrsCods (struct SelectedUsrs *SelectedUsrs) if (SelectedUsrs->Filled) // Only if lists are filled { /***** Free lists *****/ - for (Role = (Rol_Role_t) 0; - Role < Rol_NUM_ROLES; + for (Role = (Rol_Role_t) 0; + Role <= (Rol_Role_t) (Rol_NUM_ROLES - 1); Role++) if (SelectedUsrs->List[Role]) { @@ -7695,8 +7695,8 @@ static void Usr_GetMyUsrListTypeFromDB (void) Gbl.Usrs.Me.ListType = Usr_SHOW_USRS_TYPE_DEFAULT; row = mysql_fetch_row (mysql_res); if (row[0]) - for (ListType = (Usr_ShowUsrsType_t) 0; - ListType < Usr_NUM_USR_LIST_TYPES; + for (ListType = (Usr_ShowUsrsType_t) 0; + ListType <= (Usr_ShowUsrsType_t) (Usr_NUM_USR_LIST_TYPES - 1); ListType++) if (!strcasecmp (row[0],Usr_StringsUsrListTypeInDB[ListType])) {