From 668d8737132c201f2c69c21aa76d0a5cd8ea73c8 Mon Sep 17 00:00:00 2001 From: acanas Date: Wed, 29 Jun 2022 18:04:45 +0200 Subject: [PATCH] Version 21.103: Jun 29, 2022 Text in buttons got from text of actions. --- swad_QR.c | 5 +- swad_account.c | 9 +- swad_agenda.c | 16 +- swad_announcement.c | 6 +- swad_assignment.c | 7 +- swad_attendance.c | 6 +- swad_banner.c | 4 +- swad_browser.c | 8 +- swad_building.c | 4 +- swad_calendar.c | 4 +- swad_call_for_exam.c | 6 +- swad_center.c | 8 +- swad_center_config.c | 5 +- swad_changelog.h | 4 +- swad_connected.c | 4 +- swad_country.c | 8 +- swad_course.c | 14 +- swad_degree.c | 4 +- swad_degree_type.c | 4 +- swad_exam.c | 5 +- swad_exam_session.c | 17 +- swad_exam_set.c | 40 +-- swad_figure.c | 3 +- swad_follow.c | 4 +- swad_forum.c | 10 +- swad_game.c | 29 +- swad_group.c | 13 +- swad_holiday.c | 4 +- swad_icon.c | 17 +- swad_icon.h | 3 +- swad_institution.c | 8 +- swad_link.c | 4 +- swad_logo.c | 56 +--- swad_match.c | 24 +- swad_message.c | 9 +- swad_notice.c | 8 +- swad_photo.c | 25 +- swad_place.c | 4 +- swad_program.c | 46 +-- swad_project.c | 27 +- swad_question.c | 12 +- swad_question_import.c | 10 +- swad_record.c | 56 ++-- swad_room.c | 4 +- swad_survey.c | 16 +- swad_syllabus.c | 47 +-- swad_tag.c | 5 +- swad_test_print.c | 3 +- swad_text.c | 575 -------------------------------- swad_text_action.c | 734 ++++++++++++++++++++--------------------- swad_user.c | 17 +- 51 files changed, 526 insertions(+), 1435 deletions(-) diff --git a/swad_QR.c b/swad_QR.c index db72b475..4fe96385 100644 --- a/swad_QR.c +++ b/swad_QR.c @@ -57,13 +57,10 @@ extern struct Globals Gbl; void QR_PutLinkToPrintQRCode (Act_Action_t Action, void (*FuncParams) (void *Args),void *Args) { - extern const char *Txt_QR_code; - - /***** Link to print QR *****/ Lay_PutContextualLinkOnlyIcon (Action,NULL, FuncParams,Args, "qrcode.svg",Ico_BLACK, - Txt_QR_code); + Act_GetActionText (Action)); } /*****************************************************************************/ diff --git a/swad_account.c b/swad_account.c index 8e57219e..d0c52474 100644 --- a/swad_account.c +++ b/swad_account.c @@ -571,13 +571,11 @@ void Acc_ShowFormChgOtherUsrAccount (void) void Acc_PutLinkToRemoveMyAccount (__attribute__((unused)) void *Args) { - extern const char *Txt_Remove_account; - if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Me.UsrDat.UsrCod)) Lay_PutContextualLinkOnlyIcon (ActReqRemMyAcc,NULL, Acc_PutParamsToRemoveMyAccount,Gbl.Usrs.Me.UsrDat.EnUsrCod, "trash.svg",Ico_RED, - Txt_Remove_account); + Act_GetActionText (ActReqRemMyAcc)); } static void Acc_PutParamsToRemoveMyAccount (void *EncryptedUsrCod) @@ -1115,7 +1113,6 @@ static void Acc_RemoveUsrBriefcase (struct UsrData *UsrDat) void Acc_PutIconToChangeUsrAccount (void) { - extern const char *Txt_Change_account; static const Act_Action_t NextAction[Rol_NUM_ROLES] = { [Rol_UNK ] = ActFrmAccOth, @@ -1135,11 +1132,11 @@ void Acc_PutIconToChangeUsrAccount (void) Lay_PutContextualLinkOnlyIcon (ActFrmMyAcc,NULL, NULL,NULL, "at.svg",Ico_BLACK, - Txt_Change_account); + Act_GetActionText (ActFrmMyAcc)); else // Not me if (Usr_ICanEditOtherUsr (Gbl.Record.UsrDat)) Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs],NULL, Rec_PutParamUsrCodEncrypted,NULL, "at.svg",Ico_BLACK, - Txt_Change_account); + Act_GetActionText (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs])); } diff --git a/swad_agenda.c b/swad_agenda.c index 585ee08b..38c9242d 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -692,13 +692,9 @@ static void Agd_PutIconsMyPublicAgenda (void *EncryptedUsrCod) static void Agd_PutIconToCreateNewEvent (void *Agenda) { - extern const char *Txt_New_event; - - /***** Put form to create a new event *****/ ((struct Agd_Agenda *) Agenda)->AgdCodToEdit = -1L; Ico_PutContextualIconToAdd (ActFrmNewEvtMyAgd,NULL, - Agd_PutCurrentParamsMyAgenda,Agenda, - Txt_New_event); + Agd_PutCurrentParamsMyAgenda,Agenda); } static void Agd_PutIconToViewEditMyFullAgenda (void *EncryptedUsrCod) @@ -721,17 +717,13 @@ static void Agd_PutIconToShowQR (void) static void Agd_PutIconsOtherPublicAgenda (void *EncryptedUsrCod) { - extern const char *Txt_Another_user_s_profile; - extern const char *Txt_View_record_for_this_course; - extern const char *Txt_View_record_and_office_hours; - /***** Button to view user's public profile *****/ if (Pri_ShowingIsAllowed (Gbl.Usrs.Other.UsrDat.BaPrfVisibility, &Gbl.Usrs.Other.UsrDat)) Lay_PutContextualLinkOnlyIcon (ActSeeOthPubPrf,NULL, Usr_PutParamOtherUsrCodEncrypted,EncryptedUsrCod, "user.svg",Ico_BLACK, - Txt_Another_user_s_profile); + Act_GetActionText (ActSeeOthPubPrf)); /***** Button to view user's record card *****/ if (Usr_CheckIfICanViewRecordStd (&Gbl.Usrs.Other.UsrDat)) @@ -739,12 +731,12 @@ static void Agd_PutIconsOtherPublicAgenda (void *EncryptedUsrCod) Lay_PutContextualLinkOnlyIcon (ActSeeRecOneStd,NULL, Usr_PutParamOtherUsrCodEncrypted,EncryptedUsrCod, "address-card.svg",Ico_BLACK, - Txt_View_record_for_this_course); + Act_GetActionText (ActSeeRecOneStd)); else if (Usr_CheckIfICanViewRecordTch (&Gbl.Usrs.Other.UsrDat)) Lay_PutContextualLinkOnlyIcon (ActSeeRecOneTch,NULL, Usr_PutParamOtherUsrCodEncrypted,EncryptedUsrCod, "address-card.svg",Ico_BLACK, - Txt_View_record_and_office_hours); + Act_GetActionText (ActSeeRecOneTch)); } /*****************************************************************************/ diff --git a/swad_announcement.c b/swad_announcement.c index 70135a47..16c6c6c6 100644 --- a/swad_announcement.c +++ b/swad_announcement.c @@ -148,11 +148,7 @@ void Ann_ShowAllAnnouncements (void) static void Ann_PutIconToAddNewAnnouncement (__attribute__((unused)) void *Args) { - extern const char *Txt_New_announcement; - - Ico_PutContextualIconToAdd (ActWriAnn,NULL, - NULL,NULL, - Txt_New_announcement); + Ico_PutContextualIconToAdd (ActWriAnn,NULL,NULL,NULL); } /*****************************************************************************/ diff --git a/swad_assignment.c b/swad_assignment.c index 1becb48e..95cf6270 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -301,15 +301,10 @@ static void Asg_PutIconsListAssignments (void *Assignments) static void Asg_PutIconToCreateNewAsg (void *Assignments) { - extern const char *Txt_New_assignment; - if (Assignments) { - /***** Put form to create a new assignment *****/ ((struct Asg_Assignments *) Assignments)->AsgCodToEdit = -1L; - Ico_PutContextualIconToAdd (ActFrmNewAsg,NULL, - Asg_PutParams,Assignments, - Txt_New_assignment); + Ico_PutContextualIconToAdd (ActFrmNewAsg,NULL,Asg_PutParams,Assignments); } } diff --git a/swad_attendance.c b/swad_attendance.c index a4cde6f0..e7e0d010 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -377,12 +377,8 @@ static void Att_PutIconsInListOfAttEvents (void *Events) static void Att_PutIconToCreateNewAttEvent (struct Att_Events *Events) { - extern const char *Txt_New_event; - - /***** Put icon to create a new attendance event *****/ Ico_PutContextualIconToAdd (ActFrmNewAtt,NULL, - Att_PutParamsToCreateNewAttEvent,Events, - Txt_New_event); + Att_PutParamsToCreateNewAttEvent,Events); } /*****************************************************************************/ diff --git a/swad_banner.c b/swad_banner.c index b54aac3d..418574e6 100644 --- a/swad_banner.c +++ b/swad_banner.c @@ -387,12 +387,10 @@ static void Ban_PutIconsEditingBanners (__attribute__((unused)) void *Args) void Ban_PutIconToViewBanners (void) { - extern const char *Txt_Banners; - Lay_PutContextualLinkOnlyIcon (ActSeeBan,NULL, NULL,NULL, "flag.svg",Ico_BLACK, - Txt_Banners); + Act_GetActionText (ActSeeBan)); } /*****************************************************************************/ diff --git a/swad_browser.c b/swad_browser.c index 1d49a155..89239ad1 100644 --- a/swad_browser.c +++ b/swad_browser.c @@ -4893,7 +4893,6 @@ static void Brw_IndentDependingOnLevel (unsigned Level) static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *RowId, bool Hidden) { - extern const char *Txt_Expand; char JavaScriptFuncToExpandFolder[256 + Brw_MAX_ROW_ID]; /***** Begin container *****/ @@ -4910,7 +4909,8 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row FileBrowserId, JavaScriptFuncToExpandFolder); // JavaScript function to unhide rows Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); - Ico_PutIconLink ("caret-right.svg",Ico_BLACK,Txt_Expand); + Ico_PutIconLink ("caret-right.svg",Ico_BLACK, + Act_GetActionText (Brw_ActExpandFolder[Gbl.FileBrowser.Type])); Frm_EndForm (); /***** End container *****/ @@ -4924,7 +4924,6 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *RowId, bool Hidden) { - extern const char *Txt_Contract; char JavaScriptFuncToContractFolder[256 + Brw_MAX_ROW_ID]; /***** Begin container *****/ @@ -4944,7 +4943,8 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R FileBrowserId, JavaScriptFuncToContractFolder); // JavaScript function to hide rows Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); - Ico_PutIconLink ("caret-down.svg",Ico_BLACK,Txt_Contract); + Ico_PutIconLink ("caret-down.svg",Ico_BLACK, + Act_GetActionText (Brw_ActContractFolder[Gbl.FileBrowser.Type])); Frm_EndForm (); /***** End container *****/ diff --git a/swad_building.c b/swad_building.c index 07ae9ade..a779c0db 100644 --- a/swad_building.c +++ b/swad_building.c @@ -291,12 +291,10 @@ static void Bld_PutIconsEditingBuildings (__attribute__((unused)) void *Args) void Bld_PutIconToViewBuildings (void) { - extern const char *Txt_Buildings; - Lay_PutContextualLinkOnlyIcon (ActSeeBld,NULL, NULL,NULL, "building.svg",Ico_BLACK, - Txt_Buildings); + Act_GetActionText (ActSeeBld)); } /*****************************************************************************/ diff --git a/swad_calendar.c b/swad_calendar.c index 7a49b11d..02dc2112 100644 --- a/swad_calendar.c +++ b/swad_calendar.c @@ -322,12 +322,10 @@ static void Cal_PutIconsCalendar (__attribute__((unused)) void *Args) void Cal_PutIconToSeeCalendar (__attribute__((unused)) void *Args) { - extern const char *Txt_Calendar; - Lay_PutContextualLinkOnlyIcon (ActSeeCal,NULL, NULL,NULL, "calendar.svg",Ico_BLACK, - Txt_Calendar); + Act_GetActionText (ActSeeCal)); } /*****************************************************************************/ diff --git a/swad_call_for_exam.c b/swad_call_for_exam.c index 46900671..80f58013 100644 --- a/swad_call_for_exam.c +++ b/swad_call_for_exam.c @@ -695,11 +695,7 @@ static void Cfe_ListCallsForExams (struct Cfe_CallsForExams *CallsForExams, static void Cfe_PutIconToCreateNewCallForExam (__attribute__((unused)) void *Args) { - extern const char *Txt_New_call_FOR_EXAM; - - Ico_PutContextualIconToAdd (ActEdiCfe,NULL, - NULL,NULL, - Txt_New_call_FOR_EXAM); + Ico_PutContextualIconToAdd (ActEdiCfe,NULL,NULL,NULL); } /*****************************************************************************/ diff --git a/swad_center.c b/swad_center.c index 3a6b7e86..bffa055e 100644 --- a/swad_center.c +++ b/swad_center.c @@ -501,12 +501,10 @@ static void Ctr_PutIconsEditingCenters (__attribute__((unused)) void *Args) void Ctr_PutIconToViewCenters (void) { - extern const char *Txt_Centers; - Lay_PutContextualLinkOnlyIcon (ActSeeCtr,NULL, NULL,NULL, "building.svg",Ico_BLACK, - Txt_Centers); + Act_GetActionText (ActSeeCtr)); } /*****************************************************************************/ @@ -1923,15 +1921,13 @@ static void Ctr_EditingCenterDestructor (void) static void Ctr_FormToGoToMap (struct Ctr_Center *Ctr) { - extern const char *Txt_Map; - if (Ctr_GetIfMapIsAvailable (Ctr)) { Ctr_EditingCtr = Ctr; // Used to pass parameter with the code of the center Lay_PutContextualLinkOnlyIcon (ActSeeCtrInf,NULL, Ctr_PutParamGoToCtr,&Ctr_EditingCtr->CtrCod, "map-marker-alt.svg",Ico_BLACK, - Txt_Map); + Act_GetActionText (ActSeeCtrInf)); } } diff --git a/swad_center_config.c b/swad_center_config.c index 0abc0b4e..cc14ebf7 100644 --- a/swad_center_config.c +++ b/swad_center_config.c @@ -276,8 +276,6 @@ static void CtrCfg_PutIconsCtrConfig (__attribute__((unused)) void *Args) static void CtrCfg_PutIconToChangePhoto (void) { - extern const char *Txt_Change_photo; - extern const char *Txt_Upload_photo; char PathPhoto[PATH_MAX + 1]; bool PhotoExists; @@ -291,8 +289,7 @@ static void CtrCfg_PutIconToChangePhoto (void) Lay_PutContextualLinkOnlyIcon (ActReqCtrPho,NULL, NULL,NULL, "camera.svg",Ico_BLACK, - PhotoExists ? Txt_Change_photo : - Txt_Upload_photo); + Act_GetActionText (ActReqCtrPho)); } /*****************************************************************************/ diff --git a/swad_changelog.h b/swad_changelog.h index f1525454..0cc93849 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -606,10 +606,12 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate TODO: Attach pdf files in multimedia. */ -#define Log_PLATFORM_VERSION "SWAD 21.102.1 (2022-06-28)" +#define Log_PLATFORM_VERSION "SWAD 21.103 (2022-06-29)" #define CSS_FILE "swad21.100.css" #define JS_FILE "swad21.100.js" /* + Version 21.103: Jun 29, 2022 Text in buttons got from text of actions. + Preparation for Turkish translation. (328476 lines) Version 21.102.1: Jun 28, 2022 Text in buttons got from text of actions. Preparation for Turkish translation. (329296 lines) Version 21.102: Jun 28, 2022 Subtitles in menus is got from text of actions. (329462 lines) diff --git a/swad_connected.c b/swad_connected.c index 7cdcba3d..fca62ec3 100644 --- a/swad_connected.c +++ b/swad_connected.c @@ -134,12 +134,10 @@ void Con_ShowConnectedUsrs (void) static void Con_PutIconToUpdateConnected (__attribute__((unused)) void *Args) { - extern const char *Txt_Update; - Lay_PutContextualLinkOnlyIcon (ActLstCon,NULL, Con_PutParamScope,NULL, "recycle.svg",Ico_BLACK, - Txt_Update); + Act_GetActionText (ActLstCon)); } static void Con_PutParamScope (__attribute__((unused)) void *Args) diff --git a/swad_country.c b/swad_country.c index 54bd132b..35c04268 100644 --- a/swad_country.c +++ b/swad_country.c @@ -728,12 +728,10 @@ static void Cty_PutIconsEditingCountries (__attribute__((unused)) void *Args) static void Cty_PutIconToViewCountries (void) { - extern const char *Txt_Countries; - Lay_PutContextualLinkOnlyIcon (ActSeeCty,NULL, NULL,NULL, "globe-americas.svg",Ico_BLACK, - Txt_Countries); + Act_GetActionText (ActSeeCty)); } /*****************************************************************************/ @@ -1901,15 +1899,13 @@ static void Cty_EditingCountryDestructor (void) static void Cty_FormToGoToMap (struct Cty_Countr *Cty) { - extern const char *Txt_Map; - if (Cty_DB_CheckIfMapIsAvailable (Cty->CtyCod)) { Cty_EditingCty = Cty; // Used to pass parameter with the code of the country Lay_PutContextualLinkOnlyIcon (ActSeeCtyInf,NULL, Cty_PutParamGoToCty,&Cty_EditingCty->CtyCod, "map-marker-alt.svg",Ico_BLACK, - Txt_Map); + Act_GetActionText (ActSeeCtyInf)); } } diff --git a/swad_course.c b/swad_course.c index 4ccb7b32..c7702b08 100644 --- a/swad_course.c +++ b/swad_course.c @@ -1097,12 +1097,10 @@ static void Crs_PutIconsEditingCourses (__attribute__((unused)) void *Args) static void Crs_PutIconToViewCourses (void) { - extern const char *Txt_Courses; - Lay_PutContextualLinkOnlyIcon (ActSeeCrs,NULL, NULL,NULL, "chalkboard-teacher.svg",Ico_BLACK, - Txt_Courses); + Act_GetActionText (ActSeeCrs)); } /*****************************************************************************/ @@ -2191,13 +2189,10 @@ void Crs_ReqSelectOneOfMyCourses (void) static void Crs_PutIconToSearchCourses (__attribute__((unused)) void *Args) { - extern const char *Txt_Search_courses; - - /***** Put form to search / select courses *****/ Lay_PutContextualLinkOnlyIcon (ActReqSch,NULL, Sch_PutLinkToSearchCoursesParams,NULL, "search.svg",Ico_BLACK, - Txt_Search_courses); + Act_GetActionText (ActReqSch)); } /*****************************************************************************/ @@ -2229,14 +2224,11 @@ void Crs_PutIconToSelectMyCoursesInBreadcrumb (void) void Crs_PutIconToSelectMyCourses (__attribute__((unused)) void *Args) { - extern const char *Txt_My_courses; - if (Gbl.Usrs.Me.Logged) // I am logged - /***** Put icon with link *****/ Lay_PutContextualLinkOnlyIcon (ActMyCrs,NULL, NULL,NULL, "sitemap.svg",Ico_BLACK, - Txt_My_courses); + Act_GetActionText (ActMyCrs)); } /*****************************************************************************/ diff --git a/swad_degree.c b/swad_degree.c index c12b0f74..d4fa9a57 100644 --- a/swad_degree.c +++ b/swad_degree.c @@ -960,12 +960,10 @@ static void Deg_PutIconsEditingDegrees (__attribute__((unused)) void *Args) void Deg_PutIconToViewDegrees (void) { - extern const char *Txt_Degrees; - Lay_PutContextualLinkOnlyIcon (ActSeeDeg,NULL, NULL,NULL, "graduation-cap.svg",Ico_BLACK, - Txt_Degrees); + Act_GetActionText (ActSeeDeg)); } /*****************************************************************************/ diff --git a/swad_degree_type.c b/swad_degree_type.c index 18ec9602..95101564 100644 --- a/swad_degree_type.c +++ b/swad_degree_type.c @@ -301,12 +301,10 @@ static void DegTyp_PutIconsEditingDegreeTypes (__attribute__((unused)) void *Arg void DegTyp_PutIconToViewDegreeTypes (void) { - extern const char *Txt_Types_of_degree; - Lay_PutContextualLinkOnlyIcon (ActSeeDegTyp,NULL, NULL,NULL, "sitemap.svg",Ico_BLACK, - Txt_Types_of_degree); + Act_GetActionText (ActSeeDegTyp)); } /*****************************************************************************/ diff --git a/swad_exam.c b/swad_exam.c index 36d0e2fd..86ea62a0 100644 --- a/swad_exam.c +++ b/swad_exam.c @@ -365,11 +365,8 @@ static void Exa_PutIconsListExams (void *Exams) static void Exa_PutIconToCreateNewExam (struct Exa_Exams *Exams) { - extern const char *Txt_New_exam; - Ico_PutContextualIconToAdd (ActFrmNewExa,NULL, - Exa_PutParamsToCreateNewExam,Exams, - Txt_New_exam); + Exa_PutParamsToCreateNewExam,Exams); } /*****************************************************************************/ diff --git a/swad_exam_session.c b/swad_exam_session.c index a1b15e30..61cd2ed4 100644 --- a/swad_exam_session.c +++ b/swad_exam_session.c @@ -253,12 +253,8 @@ static void ExaSes_PutIconsInListOfSessions (void *Exams) static void ExaSes_PutIconToCreateNewSession (struct Exa_Exams *Exams) { - extern const char *Txt_New_session; - - /***** Put form to create a new exam session *****/ Ico_PutContextualIconToAdd (ActReqNewExaSes,ExaSes_NEW_SESSION_SECTION_ID, - Exa_PutParams,Exams, - Txt_New_session); + Exa_PutParams,Exams); } /*****************************************************************************/ @@ -641,8 +637,6 @@ static void ExaSes_ListOneOrMoreSessionsResult (struct Exa_Exams *Exams, static void ExaSes_ListOneOrMoreSessionsResultStd (struct Exa_Exams *Exams, const struct ExaSes_Session *Session) { - extern const char *Txt_Results; - /***** Is exam session result visible or hidden? *****/ if (Session->ShowUsrResults) { @@ -652,7 +646,7 @@ static void ExaSes_ListOneOrMoreSessionsResultStd (struct Exa_Exams *Exams, Lay_PutContextualLinkOnlyIcon (ActSeeMyExaResSes,ExaRes_RESULTS_BOX_ID, ExaSes_PutParamsEdit,Exams, "trophy.svg",Ico_BLACK, - Txt_Results); + Act_GetActionText (ActSeeMyExaResSes)); } else /* Result is forbidden to me */ @@ -664,7 +658,6 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams, { extern const char *Txt_Visible_results; extern const char *Txt_Hidden_results; - extern const char *Txt_Results; Exams->ExaCod = Session->ExaCod; Exams->SesCod = Session->SesCod; @@ -674,7 +667,7 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams, Lay_PutContextualLinkOnlyIcon (ActSeeUsrExaResSes,ExaRes_RESULTS_BOX_ID, ExaSes_PutParamsEdit,Exams, "trophy.svg",Ico_BLACK, - Txt_Results); + Act_GetActionText (ActSeeUsrExaResSes)); /***** Check if visibility of session results can be changed *****/ if (ExaSes_CheckIfVisibilityOfResultsCanBeChanged (Session)) @@ -684,12 +677,12 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams, Lay_PutContextualLinkOnlyIcon (ActChgVisExaRes,NULL, ExaSes_PutParamsEdit,Exams, "eye.svg",Ico_GREEN, - Txt_Visible_results); + Act_GetActionText (ActChgVisExaRes)); else Lay_PutContextualLinkOnlyIcon (ActChgVisExaRes,NULL, ExaSes_PutParamsEdit,Exams, "eye-slash.svg",Ico_RED, - Txt_Hidden_results); + Act_GetActionText (ActChgVisExaRes)); } else // Don't put form { diff --git a/swad_exam_set.c b/swad_exam_set.c index e914425b..ed46872d 100644 --- a/swad_exam_set.c +++ b/swad_exam_set.c @@ -711,15 +711,12 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, bool ICanEditSets) { extern const char *Txt_Sets_of_questions; - extern const char *Txt_Move_up_X; - extern const char *Txt_Move_down_X; extern const char *Txt_Movement_not_allowed; unsigned NumSet; struct ExaSet_Set Set; MYSQL_ROW row; char *Anchor; char StrSetInd[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; - char *Title; /***** Trivial check *****/ if (!NumSets) @@ -783,30 +780,20 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, /* Put icon to move up the question */ if (ICanEditSets && Set.SetInd > 1) - { - if (asprintf (&Title,Txt_Move_up_X,StrSetInd) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (ActUp_ExaSet,Anchor, ExaSet_PutParamsOneSet,Exams, "arrow-up.svg",Ico_BLACK, - Title); - free (Title); - } + Act_GetActionText (ActUp_ExaSet)); else Ico_PutIconOff ("arrow-up.svg",Ico_BLACK, Txt_Movement_not_allowed); /* Put icon to move down the set */ if (ICanEditSets && Set.SetInd < MaxSetInd) - { - if (asprintf (&Title,Txt_Move_down_X,StrSetInd) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (ActDwnExaSet,Anchor, ExaSet_PutParamsOneSet,Exams, "arrow-down.svg",Ico_BLACK, - Title); - free (Title); - } + Act_GetActionText (ActDwnExaSet)); else Ico_PutIconOff ("arrow-down.svg",Ico_BLACK, Txt_Movement_not_allowed); @@ -942,8 +929,6 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams, MYSQL_RES *mysql_res, bool ICanEditQuestions) { - extern const char *Txt_Invalid_question; - extern const char *Txt_Valid_question; extern const char *Txt_Questions; extern const char *Txt_No_INDEX; extern const char *Txt_Question; @@ -955,11 +940,10 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams, Act_Action_t NextAction; const char *Icon; Ico_Color_t Color; - const char **Title; } ValInv[Qst_NUM_VALIDITIES] = { - [Qst_INVALID_QUESTION] = {ActValSetQst,"times.svg",Ico_RED ,&Txt_Invalid_question}, // Validate question (set it as valid question) - [Qst_VALID_QUESTION ] = {ActInvSetQst,"check.svg",Ico_GREEN,&Txt_Valid_question }, // Invalidated question (set it as canceled question) + [Qst_INVALID_QUESTION] = {ActValSetQst,"times.svg",Ico_RED }, // Validate question (set it as valid question) + [Qst_VALID_QUESTION ] = {ActInvSetQst,"check.svg",Ico_GREEN}, // Invalidated question (set it as canceled question) }; /***** Begin table *****/ @@ -1004,11 +988,11 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams, Ico_PutIconRemovalNotAllowed (); /* Put icon to cancel the question */ - Lay_PutContextualLinkOnlyIcon ( ValInv[Question.Validity].NextAction,Anchor, - ExaSet_PutParamsOneQst,Exams, - ValInv[Question.Validity].Icon, - ValInv[Question.Validity].Color, - *ValInv[Question.Validity].Title); + Lay_PutContextualLinkOnlyIcon (ValInv[Question.Validity].NextAction,Anchor, + ExaSet_PutParamsOneQst,Exams, + ValInv[Question.Validity].Icon, + ValInv[Question.Validity].Color, + Act_GetActionText (ValInv[Question.Validity].NextAction)); HTM_TD_End (); @@ -1825,12 +1809,8 @@ static void ExaSet_ExchangeSets (long ExaCod, static void ExaSet_PutIconToAddNewQuestions (void *Exams) { - extern const char *Txt_Add_questions; - - /***** Put form to create a new question *****/ Ico_PutContextualIconToAdd (ActReqAddQstExaSet,NULL, - ExaSet_PutParamsOneSet,Exams, - Txt_Add_questions); + ExaSet_PutParamsOneSet,Exams); } /*****************************************************************************/ diff --git a/swad_figure.c b/swad_figure.c index e809aba8..3de11241 100644 --- a/swad_figure.c +++ b/swad_figure.c @@ -138,7 +138,6 @@ static void Fig_ReqShowFigure (Fig_FigureType_t SelectedFigureType) void Fig_PutIconToShowFigure (Fig_FigureType_t FigureType) { - extern const char *Txt_Show_statistic; struct Fig_Figures Figures; /***** Set default scope (used only if Gbl.Scope.Current is unknown) *****/ @@ -151,7 +150,7 @@ void Fig_PutIconToShowFigure (Fig_FigureType_t FigureType) Lay_PutContextualLinkOnlyIcon (ActSeeUseGbl,NULL, Fig_PutHiddenParamFigures,&Figures, "chart-pie.svg",Ico_BLACK, - Txt_Show_statistic); + Act_GetActionText (ActSeeUseGbl)); } /*****************************************************************************/ diff --git a/swad_follow.c b/swad_follow.c index 12b6bbda..bf8f647c 100644 --- a/swad_follow.c +++ b/swad_follow.c @@ -265,12 +265,10 @@ static void Fol_PutIconsWhoToFollow (__attribute__((unused)) void *Args) static void Fol_PutIconToUpdateWhoToFollow (void) { - extern const char *Txt_Update; - Lay_PutContextualLinkOnlyIcon (ActSeeSocPrf,NULL, NULL,NULL, "recycle.svg",Ico_BLACK, - Txt_Update); + Act_GetActionText (ActSeeSocPrf)); } /*****************************************************************************/ diff --git a/swad_forum.c b/swad_forum.c index f6731dbe..34ebed4c 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -833,13 +833,10 @@ static void For_ShowPostsOfAThread (struct For_Forums *Forums, static void For_PutIconNewPost (void *Forums) { - extern const char *Txt_New_post; - if (Forums) Ico_PutContextualIconToAdd (For_ActionsSeePstFor[((struct For_Forums *) Forums)->Forum.Type], For_NEW_POST_SECTION_ID, - For_PutAllHiddenParamsNewPost,Forums, - Txt_New_post); + For_PutAllHiddenParamsNewPost,Forums); } static void For_PutAllHiddenParamsNewPost (void *Forums) @@ -2134,13 +2131,10 @@ static void For_ShowForumThreadsHighlightingOneThread (struct For_Forums *Forums static void For_PutIconNewThread (void *Forums) { - extern const char *Txt_New_thread; - if (Forums) Ico_PutContextualIconToAdd (For_ActionsSeeFor[((struct For_Forums *) Forums)->Forum.Type], For_NEW_THREAD_SECTION_ID, - For_PutAllHiddenParamsNewThread,Forums, - Txt_New_thread); + For_PutAllHiddenParamsNewThread,Forums); } static void For_PutAllHiddenParamsNewThread (void *Forums) diff --git a/swad_game.c b/swad_game.c index 0deea19f..4fc3bcd3 100644 --- a/swad_game.c +++ b/swad_game.c @@ -404,11 +404,8 @@ static void Gam_PutIconsListGames (void *Games) static void Gam_PutIconToCreateNewGame (struct Gam_Games *Games) { - extern const char *Txt_New_game; - Ico_PutContextualIconToAdd (ActFrmNewGam,NULL, - Gam_PutParamsToCreateNewGame,Games, - Txt_New_game); + Gam_PutParamsToCreateNewGame,Games); } /*****************************************************************************/ @@ -1688,8 +1685,6 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games, extern const char *Txt_Code; extern const char *Txt_Tags; extern const char *Txt_Question; - extern const char *Txt_Move_up_X; - extern const char *Txt_Move_down_X; extern const char *Txt_Movement_not_allowed; unsigned NumQst; MYSQL_ROW row; @@ -1699,7 +1694,6 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games, char StrQstInd[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; bool QuestionExists; char *Anchor = NULL; - char *Title; /***** Trivial check *****/ if (!NumQsts) @@ -1762,30 +1756,20 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games, /* Put icon to move up the question */ if (ICanEditQuestions && QstInd > 1) - { - if (asprintf (&Title,Txt_Move_up_X,StrQstInd) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (ActUp_GamQst,Anchor, Gam_PutParamsOneQst,Games, "arrow-up.svg",Ico_BLACK, - Title); - free (Title); - } + Act_GetActionText (ActUp_GamQst)); else Ico_PutIconOff ("arrow-up.svg",Ico_BLACK, Txt_Movement_not_allowed); /* Put icon to move down the question */ if (ICanEditQuestions && QstInd < MaxQstInd) - { - if (asprintf (&Title,Txt_Move_down_X,StrQstInd) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (ActDwnGamQst,Anchor, Gam_PutParamsOneQst,Games, "arrow-down.svg",Ico_BLACK, - Title); - free (Title); - } + Act_GetActionText (ActDwnGamQst)); else Ico_PutIconOff ("arrow-down.svg",Ico_BLACK, Txt_Movement_not_allowed); @@ -1821,12 +1805,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games, static void Gam_PutIconToAddNewQuestions (void *Games) { - extern const char *Txt_Add_questions; - - /***** Put form to create a new question *****/ - Ico_PutContextualIconToAdd (ActAddOneGamQst,NULL, - Gam_PutParams,Games, - Txt_Add_questions); + Ico_PutContextualIconToAdd (ActAddOneGamQst,NULL,Gam_PutParams,Games); } /*****************************************************************************/ diff --git a/swad_group.c b/swad_group.c index 6d443de8..878487cd 100644 --- a/swad_group.c +++ b/swad_group.c @@ -341,12 +341,7 @@ static void Grp_PutIconsEditingGroups (__attribute__((unused)) void *Args) static void Grp_PutIconToCreateNewGroup (void) { - extern const char *Txt_New_group; - - /***** Put form to create a new group *****/ - Ico_PutContextualIconToAdd (ActReqEdiGrp,Grp_NEW_GROUP_SECTION_ID, - NULL,NULL, - Txt_New_group); + Ico_PutContextualIconToAdd (ActReqEdiGrp,Grp_NEW_GROUP_SECTION_ID,NULL,NULL); } /*****************************************************************************/ @@ -1370,12 +1365,8 @@ static void Grp_PutIconToViewGroups (void) static void Grp_PutIconToCreateNewGroupType (void) { - extern const char *Txt_New_type_of_group; - - /***** Put form to create a new type of group *****/ Ico_PutContextualIconToAdd (ActReqEdiGrp,Grp_NEW_GROUP_TYPE_SECTION_ID, - NULL,NULL, - Txt_New_type_of_group); + NULL,NULL); } /*****************************************************************************/ diff --git a/swad_holiday.c b/swad_holiday.c index f8c24275..573b5c9b 100644 --- a/swad_holiday.c +++ b/swad_holiday.c @@ -250,12 +250,10 @@ static void Hld_PutIconsSeeHolidays (__attribute__((unused)) void *Args) void Hld_PutIconToSeeHlds (void) { - extern const char *Txt_Holidays; - Lay_PutContextualLinkOnlyIcon (ActSeeHld,NULL, NULL,NULL, "calendar-day.svg",Ico_BLACK, - Txt_Holidays); + Act_GetActionText (ActSeeHld)); } /*****************************************************************************/ diff --git a/swad_icon.c b/swad_icon.c index f84d4f9e..c37fa538 100644 --- a/swad_icon.c +++ b/swad_icon.c @@ -232,13 +232,12 @@ Ico_IconSet_t Ico_GetIconSetFromStr (const char *Str) /*****************************************************************************/ void Ico_PutContextualIconToAdd (Act_Action_t NextAction,const char *Anchor, - void (*FuncParams) (void *Args),void *Args, - const char *Txt) + void (*FuncParams) (void *Args),void *Args) { Lay_PutContextualLinkOnlyIcon (NextAction,Anchor, FuncParams,Args, "plus.svg",Ico_BLACK, - Txt); + Act_GetActionText (NextAction)); } void Ico_PutContextualIconToRemove (Act_Action_t NextAction,const char *Anchor, @@ -346,34 +345,28 @@ void Ico_PutContextualIconToCreateInFolder (Act_Action_t NextAction, void Ico_PutContextualIconToShowResults (Act_Action_t NextAction,const char *Anchor, void (*FuncParams) (void *Args),void *Args) { - extern const char *Txt_Results; - Lay_PutContextualLinkOnlyIcon (NextAction,Anchor, FuncParams,Args, "trophy.svg",Ico_BLACK, - Txt_Results); + Act_GetActionText (NextAction)); } void Ico_PutContextualIconToShowAttendanceList (Act_Action_t NextAction, void (*FuncParams) (void *Args),void *Args) { - extern const char *Txt_Attendance_list; - Lay_PutContextualLinkOnlyIcon (NextAction,NULL, FuncParams,Args, "tasks.svg",Ico_BLACK, - Txt_Attendance_list); + Act_GetActionText (NextAction)); } void Ico_PutContextualIconToZIP (Act_Action_t NextAction, void (*FuncParams) (void *Args),void *Args) { - extern const char *Txt_Create_ZIP_file; - Lay_PutContextualLinkOnlyIcon (NextAction,NULL, FuncParams,Args, "download.svg",Ico_BLACK, - Txt_Create_ZIP_file); + Act_GetActionText (NextAction)); } /*****************************************************************************/ diff --git a/swad_icon.h b/swad_icon.h index 6b18a6dc..8535e2c3 100644 --- a/swad_icon.h +++ b/swad_icon.h @@ -65,8 +65,7 @@ Ico_IconSet_t Ico_GetParamIconSet (void); Ico_IconSet_t Ico_GetIconSetFromStr (const char *Str); void Ico_PutContextualIconToAdd (Act_Action_t NextAction,const char *Anchor, - void (*FuncParams) (void *Args),void *Args, - const char *Txt); + void (*FuncParams) (void *Args),void *Args); void Ico_PutContextualIconToRemove (Act_Action_t NextAction,const char *Anchor, void (*FuncParams) (void *Args),void *Args); void Ico_PutContextualIconToEdit (Act_Action_t NextAction,const char *Anchor, diff --git a/swad_institution.c b/swad_institution.c index e09c381f..f821aba3 100644 --- a/swad_institution.c +++ b/swad_institution.c @@ -594,12 +594,10 @@ static void Ins_PutIconsEditingInstitutions (__attribute__((unused)) void *Args) static void Ins_PutIconToViewInstitutions (void) { - extern const char *Txt_Institutions; - Lay_PutContextualLinkOnlyIcon (ActSeeIns,NULL, NULL,NULL, "university.svg",Ico_BLACK, - Txt_Institutions); + Act_GetActionText (ActSeeIns)); } /*****************************************************************************/ @@ -1896,15 +1894,13 @@ static void Ins_EditingInstitutionDestructor (void) static void Ins_FormToGoToMap (struct Ins_Instit *Ins) { - extern const char *Txt_Map; - if (Ctr_DB_CheckIfMapIsAvailableInIns (Ins->InsCod)) { Ins_EditingIns = Ins; // Used to pass parameter with the code of the institution Lay_PutContextualLinkOnlyIcon (ActSeeInsInf,NULL, Ins_PutParamGoToIns,&Ins_EditingIns->InsCod, "map-marker-alt.svg",Ico_BLACK, - Txt_Map); + Act_GetActionText (ActSeeInsInf)); } } diff --git a/swad_link.c b/swad_link.c index 3c62f4c0..610e9b9e 100644 --- a/swad_link.c +++ b/swad_link.c @@ -268,12 +268,10 @@ static void Lnk_PutIconsEditingLinks (__attribute__((unused)) void *Args) void Lnk_PutIconToViewLinks (void) { - extern const char *Txt_Links; - Lay_PutContextualLinkOnlyIcon (ActSeeLnk,NULL, NULL,NULL, "link.svg",Ico_BLACK, - Txt_Links); + Act_GetActionText (ActSeeLnk)); } /*****************************************************************************/ diff --git a/swad_logo.c b/swad_logo.c index a213b800..97e5ec49 100644 --- a/swad_logo.c +++ b/swad_logo.c @@ -201,50 +201,21 @@ void Lgo_DrawLogo (HieLvl_Level_t Scope,long Cod,const char *AltText, void Lgo_PutIconToChangeLogo (HieLvl_Level_t Scope) { - extern const char *Txt_Change_logo; - extern const char *Txt_Upload_logo; - Act_Action_t Action; - long Cod; - const char *Folder; - char PathLogo[PATH_MAX + 1]; - bool LogoExists; - - /***** Set variables depending on scope *****/ - switch (Scope) + static Act_Action_t Action[HieLvl_NUM_LEVELS] = { - case HieLvl_INS: - Action = ActReqInsLog; - Cod = Gbl.Hierarchy.Ins.InsCod; - Folder = Cfg_FOLDER_INS; - break; - case HieLvl_CTR: - Action = ActReqCtrLog; - Cod = Gbl.Hierarchy.Ctr.CtrCod; - Folder = Cfg_FOLDER_CTR; - break; - case HieLvl_DEG: - Action = ActReqDegLog; - Cod = Gbl.Hierarchy.Deg.DegCod; - Folder = Cfg_FOLDER_DEG; - break; - default: - return; // Nothing to do - } + [HieLvl_UNK] = ActUnk, // Unknown + [HieLvl_SYS] = ActUnk, // System + [HieLvl_CTY] = ActUnk, // Country + [HieLvl_INS] = ActReqInsLog, // Institution + [HieLvl_CTR] = ActReqCtrLog, // Center + [HieLvl_DEG] = ActReqDegLog, // Degree + [HieLvl_CRS] = ActUnk, // Course + }; - /***** Check if logo exists *****/ - snprintf (PathLogo,sizeof (PathLogo),"%s/%s/%02u/%u/logo/%u.png", - Cfg_PATH_SWAD_PUBLIC,Folder, - (unsigned) (Cod % 100), - (unsigned) Cod, - (unsigned) Cod); - LogoExists = Fil_CheckIfPathExists (PathLogo); - - /***** Link for changing / uploading the logo *****/ - Lay_PutContextualLinkOnlyIcon (Action,NULL, + Lay_PutContextualLinkOnlyIcon (Action[Scope],NULL, NULL,NULL, "shield-alt.svg",Ico_BLACK, - LogoExists ? Txt_Change_logo : - Txt_Upload_logo); + Act_GetActionText (Action[Scope])); } /*****************************************************************************/ @@ -344,13 +315,10 @@ static void Lgo_PutIconToRemoveLogoDeg (__attribute__((unused)) void *Args) static void Lgo_PutIconToRemoveLogo (Act_Action_t ActionRem) { - extern const char *Txt_Remove_logo; - - /***** Link to request the removal of the logo *****/ Lay_PutContextualLinkOnlyIcon (ActionRem,NULL, NULL,NULL, "trash.svg",Ico_RED, - Txt_Remove_logo); + Act_GetActionText (ActionRem)); } /*****************************************************************************/ diff --git a/swad_match.c b/swad_match.c index 86147ae7..3f854ccd 100644 --- a/swad_match.c +++ b/swad_match.c @@ -362,12 +362,8 @@ static void Mch_PutIconsInListOfMatches (void *Games) static void Mch_PutIconToCreateNewMatch (struct Gam_Games *Games) { - extern const char *Txt_New_match; - - /***** Put form to create a new match *****/ Ico_PutContextualIconToAdd (ActReqNewMch,Mch_NEW_MATCH_SECTION_ID, - Gam_PutParams,Games, - Txt_New_match); + Gam_PutParams,Games); } /*****************************************************************************/ @@ -731,9 +727,6 @@ void Mch_ListOneOrMoreMatchesNumPlayers (const struct Mch_Match *Match) static void Mch_ListOneOrMoreMatchesStatus (struct Mch_Match *Match,unsigned NumQsts) { - extern const char *Txt_Play; - extern const char *Txt_Resume; - HTM_TD_Begin ("class=\"CT DAT_%s %s\"", The_GetSuffix (),The_GetColorRows ()); @@ -752,8 +745,8 @@ static void Mch_ListOneOrMoreMatchesStatus (struct Mch_Match *Match,unsigned Num Mch_PutParamsPlay,&Match->MchCod, Match->Status.Showing == Mch_END ? "flag-checkered.svg" : "play.svg",Ico_BLACK, - Gbl.Usrs.Me.Role.Logged == Rol_STD ? Txt_Play : - Txt_Resume); + Act_GetActionText (Gbl.Usrs.Me.Role.Logged == Rol_STD ? ActJoiMch : + ActResMch)); HTM_TD_End (); } @@ -788,8 +781,6 @@ static void Mch_ListOneOrMoreMatchesResult (struct Gam_Games *Games, static void Mch_ListOneOrMoreMatchesResultStd (struct Gam_Games *Games, const struct Mch_Match *Match) { - extern const char *Txt_Results; - /***** Is match result visible or hidden? *****/ if (Match->Status.ShowUsrResults) { @@ -799,7 +790,7 @@ static void Mch_ListOneOrMoreMatchesResultStd (struct Gam_Games *Games, Lay_PutContextualLinkOnlyIcon (ActSeeMyMchResMch,MchRes_RESULTS_BOX_ID, Mch_PutParamsEdit,Games, "trophy.svg",Ico_BLACK, - Txt_Results); + Act_GetActionText (ActSeeMyMchResMch)); } else /* Result is forbidden to me */ @@ -811,7 +802,6 @@ static void Mch_ListOneOrMoreMatchesResultTch (struct Gam_Games *Games, { extern const char *Txt_Visible_results; extern const char *Txt_Hidden_results; - extern const char *Txt_Results; Games->GamCod = Match->GamCod; Games->MchCod.Current = Match->MchCod; @@ -821,7 +811,7 @@ static void Mch_ListOneOrMoreMatchesResultTch (struct Gam_Games *Games, Lay_PutContextualLinkOnlyIcon (ActSeeUsrMchResMch,MchRes_RESULTS_BOX_ID, Mch_PutParamsEdit,Games, "trophy.svg",Ico_BLACK, - Txt_Results); + Act_GetActionText (ActSeeUsrMchResMch)); /***** Check if visibility of session results can be changed *****/ if (Mch_CheckIfVisibilityOfResultsCanBeChanged (Match)) @@ -831,12 +821,12 @@ static void Mch_ListOneOrMoreMatchesResultTch (struct Gam_Games *Games, Lay_PutContextualLinkOnlyIcon (ActChgVisResMchUsr,NULL, Mch_PutParamsEdit,Games, "eye.svg",Ico_GREEN, - Txt_Visible_results); + Act_GetActionText (ActChgVisResMchUsr)); else Lay_PutContextualLinkOnlyIcon (ActChgVisResMchUsr,NULL, Mch_PutParamsEdit,Games, "eye-slash.svg",Ico_RED, - Txt_Hidden_results); + Act_GetActionText (ActChgVisResMchUsr)); } else { diff --git a/swad_message.c b/swad_message.c index 6fedd29c..172f0f5c 100644 --- a/swad_message.c +++ b/swad_message.c @@ -1693,9 +1693,6 @@ static void Msg_SetNumMsgsStr (const struct Msg_Messages *Messages, static void Msg_PutIconsListMsgs (void *Messages) { - extern const char *Txt_MSGS_Sent; - extern const char *Txt_MSGS_Received; - extern const char *Txt_MSGS_Write; static const Act_Action_t ActionReqDelAllMsg[Msg_NUM_TYPES_OF_MSGS] = { [Msg_WRITING ] = ActUnk, @@ -1713,7 +1710,7 @@ static void Msg_PutIconsListMsgs (void *Messages) Lay_PutContextualLinkOnlyIcon (ActReqMsgUsr,NULL, Msg_PutHiddenParamsMsgsFilters,Messages, "marker.svg",Ico_BLACK, - Txt_MSGS_Write); + Act_GetActionText (ActReqMsgUsr)); break; default: break; @@ -1727,7 +1724,7 @@ static void Msg_PutIconsListMsgs (void *Messages) Lay_PutContextualLinkOnlyIcon (ActSeeRcvMsg,NULL, Msg_PutHiddenParamsMsgsFilters,Messages, "inbox.svg",Ico_BLACK, - Txt_MSGS_Received); + Act_GetActionText (ActSeeRcvMsg)); break; default: break; @@ -1741,7 +1738,7 @@ static void Msg_PutIconsListMsgs (void *Messages) Lay_PutContextualLinkOnlyIcon (ActSeeSntMsg,NULL, Msg_PutHiddenParamsMsgsFilters,Messages, "share.svg",Ico_BLACK, - Txt_MSGS_Sent); + Act_GetActionText (ActSeeSntMsg)); break; default: break; diff --git a/swad_notice.c b/swad_notice.c index 2421d5b5..37236931 100644 --- a/swad_notice.c +++ b/swad_notice.c @@ -466,11 +466,7 @@ static void Not_PutIconsListNotices (__attribute__((unused)) void *Args) static void Not_PutIconToAddNewNotice (void) { - extern const char *Txt_New_notice; - - Ico_PutContextualIconToAdd (ActWriNot,NULL, - NULL,NULL, - Txt_New_notice); + Ico_PutContextualIconToAdd (ActWriNot,NULL,NULL,NULL); } /*****************************************************************************/ @@ -640,7 +636,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, Lay_PutContextualLinkOnlyIcon (ActSeeOneNot,Anchor, Not_PutParams,&NotCod, "ellipsis-h.svg",Ico_BLACK, - Txt_See_full_notice); + Act_GetActionText (ActSeeOneNot)); HTM_DIV_End (); } else diff --git a/swad_photo.c b/swad_photo.c index 8373aeff..d05f3ea3 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -170,11 +170,6 @@ bool Pho_ICanChangeOtherUsrPhoto (struct UsrData *UsrDat) void Pho_PutIconToChangeUsrPhoto (void) { - extern const char *Txt_Change_photo; - extern const char *Txt_Upload_photo; - bool PhotoExists; - char PhotoURL[PATH_MAX + 1]; - const char *TitleText; static const Act_Action_t NextAction[Rol_NUM_ROLES] = { [Rol_UNK ] = ActReqOthPho, @@ -192,24 +187,17 @@ void Pho_PutIconToChangeUsrPhoto (void) /***** Link for changing / uploading the photo *****/ if (Usr_ItsMe (Gbl.Record.UsrDat->UsrCod)) { - TitleText = Gbl.Usrs.Me.MyPhotoExists ? Txt_Change_photo : - Txt_Upload_photo; Lay_PutContextualLinkOnlyIcon (ActReqMyPho,NULL, NULL,NULL, "camera.svg",Ico_BLACK, - TitleText); + Act_GetActionText (ActReqMyPho)); } else // Not me if (Pho_ICanChangeOtherUsrPhoto (Gbl.Record.UsrDat)) - { - PhotoExists = Pho_BuildLinkToPhoto (Gbl.Record.UsrDat,PhotoURL); - TitleText = PhotoExists ? Txt_Change_photo : - Txt_Upload_photo; Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs],NULL, Rec_PutParamUsrCodEncrypted,NULL, "camera.svg",Ico_BLACK, - TitleText); - } + Act_GetActionText (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs])); } /*****************************************************************************/ @@ -218,14 +206,11 @@ void Pho_PutIconToChangeUsrPhoto (void) static void Pho_PutIconToRequestRemoveMyPhoto (__attribute__((unused)) void *Args) { - extern const char *Txt_Remove_photo; - - /***** Link to request the removal of my photo *****/ if (Gbl.Usrs.Me.MyPhotoExists) Lay_PutContextualLinkOnlyIcon (ActReqRemMyPho,NULL, NULL,NULL, "trash.svg",Ico_RED, - Txt_Remove_photo); + Act_GetActionText (ActReqRemMyPho)); } /*****************************************************************************/ @@ -234,7 +219,6 @@ static void Pho_PutIconToRequestRemoveMyPhoto (__attribute__((unused)) void *Arg static void Pho_PutIconToRequestRemoveOtherUsrPhoto (__attribute__((unused)) void *Args) { - extern const char *Txt_Remove_photo; char PhotoURL[PATH_MAX + 1]; bool PhotoExists; static const Act_Action_t NextAction[Rol_NUM_ROLES] = @@ -257,7 +241,7 @@ static void Pho_PutIconToRequestRemoveOtherUsrPhoto (__attribute__((unused)) voi Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Usrs.Other.UsrDat.Roles.InCurrentCrs],NULL, Usr_PutParamOtherUsrCodEncrypted,Gbl.Usrs.Other.UsrDat.EnUsrCod, "trash.svg",Ico_RED, - Txt_Remove_photo); + Act_GetActionText (NextAction[Gbl.Usrs.Other.UsrDat.Roles.InCurrentCrs])); } /*****************************************************************************/ @@ -296,7 +280,6 @@ static void Pho_ReqPhoto (const struct UsrData *UsrDat) extern const char *Txt_Photo; extern const char *Txt_You_can_send_a_file_with_an_image_in_JPEG_format_; extern const char *Txt_File_with_the_photo; - extern const char *Txt_Upload_photo; bool ItsMe = Usr_ItsMe (UsrDat->UsrCod); static const Act_Action_t NextAction[Rol_NUM_ROLES] = { diff --git a/swad_place.c b/swad_place.c index 4cf4ddf0..79a0ee55 100644 --- a/swad_place.c +++ b/swad_place.c @@ -336,12 +336,10 @@ static void Plc_PutIconsEditingPlaces (__attribute__((unused)) void *Args) void Plc_PutIconToViewPlaces (void) { - extern const char *Txt_Places; - Lay_PutContextualLinkOnlyIcon (ActSeePlc,NULL, Ins_PutParamCurrentInsCod,&Gbl.Hierarchy.Ins.InsCod, "map-marker-alt.svg",Ico_BLACK, - Txt_Places); + Act_GetActionText (ActSeePlc)); } /*****************************************************************************/ diff --git a/swad_program.c b/swad_program.c index 4aee9719..e0489e23 100644 --- a/swad_program.c +++ b/swad_program.c @@ -342,13 +342,10 @@ static void Prg_PutIconsListItems (__attribute__((unused)) void *Args) static void Prg_PutIconToCreateNewItem (void) { - extern const char *Txt_New_item; long ItmCod = -1L; - /***** Put form to create a new program item *****/ Ico_PutContextualIconToAdd (ActFrmNewPrgItm,"item_form", - Prg_PutParams,&ItmCod, - Txt_New_item); + Prg_PutParams,&ItmCod); } /*****************************************************************************/ @@ -737,14 +734,8 @@ static bool Prg_CheckIfAnyHigherLevelIsHidden (unsigned CurrentLevel) static void Prg_PutFormsToRemEditOneItem (unsigned NumItem, struct Prg_Item *Item) { - extern const char *Txt_New_item; - extern const char *Txt_Move_up_X; - extern const char *Txt_Move_down_X; - extern const char *Txt_Increase_level_of_X; - extern const char *Txt_Decrease_level_of_X; extern const char *Txt_Movement_not_allowed; char StrItemIndex[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; - char *Title; /***** Initialize item index string *****/ snprintf (StrItemIndex,sizeof (StrItemIndex),"%u",Item->Hierarchy.Index); @@ -771,60 +762,43 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem, /***** Put form to add a new child item inside this item *****/ Ico_PutContextualIconToAdd (ActFrmNewPrgItm,"item_form", - Prg_PutParams,&Item->Hierarchy.ItmCod, - Txt_New_item); + Prg_PutParams,&Item->Hierarchy.ItmCod); HTM_BR (); /***** Put icon to move up the item *****/ if (Prg_CheckIfMoveUpIsAllowed (NumItem)) - { - if (asprintf (&Title,Txt_Move_up_X,StrItemIndex) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (ActUp_PrgItm,"prg_highlighted", Prg_PutParams,&Item->Hierarchy.ItmCod, - "arrow-up.svg",Ico_BLACK,Title); - free (Title); - } + "arrow-up.svg",Ico_BLACK, + Act_GetActionText (ActUp_PrgItm)); else Ico_PutIconOff ("arrow-up.svg",Ico_BLACK,Txt_Movement_not_allowed); /***** Put icon to move down the item *****/ if (Prg_CheckIfMoveDownIsAllowed (NumItem)) - { - if (asprintf (&Title,Txt_Move_down_X,StrItemIndex) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (ActDwnPrgItm,"prg_highlighted", Prg_PutParams,&Item->Hierarchy.ItmCod, - "arrow-down.svg",Ico_BLACK,Title); - free (Title); - } + "arrow-down.svg",Ico_BLACK, + Act_GetActionText (ActDwnPrgItm)); else Ico_PutIconOff ("arrow-down.svg",Ico_BLACK,Txt_Movement_not_allowed); /***** Icon to move left item (increase level) *****/ if (Prg_CheckIfMoveLeftIsAllowed (NumItem)) - { - if (asprintf (&Title,Txt_Increase_level_of_X,StrItemIndex) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (ActLftPrgItm,"prg_highlighted", Prg_PutParams,&Item->Hierarchy.ItmCod, - "arrow-left.svg",Ico_BLACK,Title); - free (Title); - } + "arrow-left.svg",Ico_BLACK, + Act_GetActionText (ActLftPrgItm)); else Ico_PutIconOff ("arrow-left.svg",Ico_BLACK,Txt_Movement_not_allowed); /***** Icon to move right item (indent, decrease level) *****/ if (Prg_CheckIfMoveRightIsAllowed (NumItem)) - { - if (asprintf (&Title,Txt_Decrease_level_of_X,StrItemIndex) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (ActRgtPrgItm,"prg_highlighted", Prg_PutParams,&Item->Hierarchy.ItmCod, - "arrow-right.svg",Ico_BLACK,Title); - free (Title); - } + "arrow-right.svg",Ico_BLACK, + Act_GetActionText (ActRgtPrgItm)); else Ico_PutIconOff ("arrow-right.svg",Ico_BLACK,Txt_Movement_not_allowed); break; diff --git a/swad_project.c b/swad_project.c index 1816be3f..1e0f654c 100644 --- a/swad_project.c +++ b/swad_project.c @@ -1108,13 +1108,8 @@ static void Prj_PutIconsListProjects (void *Projects) static void Prj_PutIconToCreateNewPrj (struct Prj_Projects *Projects) { - extern const char *Txt_New_project; - - /***** Put form to create a new project *****/ Projects->PrjCod = -1L; - Ico_PutContextualIconToAdd (ActFrmNewPrj,NULL, - Prj_PutCurrentParams,Projects, - Txt_New_project); + Ico_PutContextualIconToAdd (ActFrmNewPrj,NULL,Prj_PutCurrentParams,Projects); } /*****************************************************************************/ @@ -1138,12 +1133,10 @@ static void Prj_PutButtonToCreateNewPrj (struct Prj_Projects *Projects) static void Prj_PutIconToShowAllData (struct Prj_Projects *Projects) { - extern const char *Txt_Show_all_data_in_a_table; - Lay_PutContextualLinkOnlyIcon (ActSeeTblAllPrj,NULL, Prj_PutCurrentParams,Projects, "table.svg",Ico_BLACK, - Txt_Show_all_data_in_a_table); + Act_GetActionText (ActSeeTblAllPrj)); } /*****************************************************************************/ @@ -2039,8 +2032,6 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, ; extern const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT]; extern const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT]; - extern const char *Txt_Add_USERS; - extern const char *Txt_PROJECT_ROLES_PLURAL_abc[Prj_NUM_ROLES_IN_PROJECT]; static const Act_Action_t ActionReqRemUsr[Prj_NUM_ROLES_IN_PROJECT] = { [Prj_ROLE_UNK] = ActUnk, // Unknown @@ -2069,7 +2060,6 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, unsigned NumUsrs; const char *ClassLabel; const char *ClassData; - char *Txt; /***** Set CSS classes *****/ ClassLabel = (Prj->Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" : @@ -2193,12 +2183,8 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, HTM_TR_Begin (NULL); HTM_TD_Begin ("class=\"PRJ_MEMBER_ICO\""); Projects->PrjCod = Prj->PrjCod; // Used to pass project code as a parameter - if (asprintf (&Txt,Txt_Add_USERS, - Txt_PROJECT_ROLES_PLURAL_abc[RoleInPrj]) < 0) - Err_NotEnoughMemoryExit (); Ico_PutContextualIconToAdd (ActionReqAddUsr[RoleInPrj],NULL, - Prj_PutCurrentParams,Projects,Txt); - free (Txt); + Prj_PutCurrentParams,Projects); HTM_TD_End (); HTM_TD_Begin ("class=\"PRJ_MEMBER_PHO\""); // Column for photo @@ -3849,20 +3835,17 @@ static bool Prj_GetEditableFromForm (void) static void Prj_PutIconsToLockUnlockAllProjects (struct Prj_Projects *Projects) { - extern const char *Txt_Lock_editing; - extern const char *Txt_Unlock_editing; - /***** Put icon to lock all projects *****/ Lay_PutContextualLinkOnlyIcon (ActReqLckAllPrj,NULL, Prj_PutCurrentParams,Projects, "lock.svg",Ico_RED, - Txt_Lock_editing); + Act_GetActionText (ActReqLckAllPrj)); /***** Put icon to unlock all projects *****/ Lay_PutContextualLinkOnlyIcon (ActReqUnlAllPrj,NULL, Prj_PutCurrentParams,Projects, "unlock.svg",Ico_GREEN, - Txt_Unlock_editing); + Act_GetActionText (ActReqUnlAllPrj)); } /*****************************************************************************/ diff --git a/swad_question.c b/swad_question.c index f624f012..f1b84e55 100644 --- a/swad_question.c +++ b/swad_question.c @@ -441,12 +441,8 @@ bool Qst_CheckIfICanEditQsts (void) void Qst_PutIconsRequestBankQsts (__attribute__((unused)) void *Args) { - extern const char *Txt_New_question; - /***** Put icon to create a new test question *****/ - Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL, - NULL,NULL, - Txt_New_question); + Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL,NULL,NULL); /***** Put icon to edit tags *****/ Tag_PutIconToEditTags (); @@ -464,8 +460,6 @@ void Qst_PutIconsRequestBankQsts (__attribute__((unused)) void *Args) void Qst_PutIconsEditBankQsts (void *Questions) { - extern const char *Txt_New_question; - /***** Put form to remove selected test questions *****/ switch (Gbl.Action.Act) { @@ -483,9 +477,7 @@ void Qst_PutIconsEditBankQsts (void *Questions) if (Gbl.Action.Act != ActEdiOneTstQst) /***** Put form to create a new test question *****/ - Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL, - NULL,NULL, - Txt_New_question); + Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL,NULL,NULL); /***** Put icon to edit tags *****/ Tag_PutIconToEditTags (); diff --git a/swad_question_import.c b/swad_question_import.c index 2d95def7..abc3fd00 100644 --- a/swad_question_import.c +++ b/swad_question_import.c @@ -76,13 +76,10 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem, void QstImp_PutIconToExportQuestions (struct Qst_Questions *Questions) { - extern const char *Txt_Export_questions; - - /***** Put a link to create a file with questions *****/ Lay_PutContextualLinkOnlyIcon (ActLstTstQst,NULL, QstImp_PutParamsExportQsts,Questions, "file-import.svg",Ico_BLACK, - Txt_Export_questions); + Act_GetActionText (ActLstTstQst)); } /*****************************************************************************/ @@ -120,13 +117,10 @@ bool QstImp_GetCreateXMLParamFromForm (void) void QstImp_PutIconToImportQuestions (void) { - extern const char *Txt_Import_questions; - - /***** Put a link to create a file with questions *****/ Lay_PutContextualLinkOnlyIcon (ActReqImpTstQst,NULL, NULL,NULL, "file-export.svg",Ico_BLACK, - Txt_Import_questions); + Act_GetActionText (ActReqImpTstQst)); } /*****************************************************************************/ diff --git a/swad_record.c b/swad_record.c index b7d34380..4e308ff2 100644 --- a/swad_record.c +++ b/swad_record.c @@ -2306,21 +2306,6 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView, static void Rec_PutIconsCommands (__attribute__((unused)) void *Args) { - extern const char *Txt_Edit_my_personal_data; - extern const char *Txt_My_public_profile; - extern const char *Txt_Another_user_s_profile; - extern const char *Txt_View_record_for_this_course; - extern const char *Txt_View_record_and_office_hours; - extern const char *Txt_Show_agenda; - extern const char *Txt_Administer_user; - extern const char *Txt_Write_a_message; - extern const char *Txt_View_homework; - extern const char *Txt_View_tests; - extern const char *Txt_View_exams; - extern const char *Txt_View_games; - extern const char *Txt_View_attendance; - extern const char *Txt_Following_unfollow; - extern const char *Txt_Follow; bool ItsMe = Usr_ItsMe (Gbl.Record.UsrDat->UsrCod); bool ICanViewUsrProfile; bool RecipientHasBannedMe; @@ -2353,14 +2338,13 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args) Lay_PutContextualLinkOnlyIcon (ActReqEdiRecSha,NULL, NULL,NULL, "pen.svg",Ico_BLACK, - Txt_Edit_my_personal_data); + Act_GetActionText (ActReqEdiRecSha)); if (ICanViewUsrProfile) /***** Button to view user's profile *****/ Lay_PutContextualLinkOnlyIcon (ActSeeOthPubPrf,NULL, Rec_PutParamUsrCodEncrypted,NULL, "user.svg",Ico_BLACK, - ItsMe ? Txt_My_public_profile : - Txt_Another_user_s_profile); + Act_GetActionText (ActSeeOthPubPrf)); /***** Button to view user's record card *****/ if (Usr_CheckIfICanViewRecordStd (Gbl.Record.UsrDat)) @@ -2368,24 +2352,24 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args) Lay_PutContextualLinkOnlyIcon (ActSeeRecOneStd,NULL, Rec_PutParamUsrCodEncrypted,NULL, "address-card.svg",Ico_BLACK, - Txt_View_record_for_this_course); + Act_GetActionText (ActSeeRecOneStd)); else if (Usr_CheckIfICanViewRecordTch (Gbl.Record.UsrDat)) Lay_PutContextualLinkOnlyIcon (ActSeeRecOneTch,NULL, Rec_PutParamUsrCodEncrypted,NULL, "address-card.svg",Ico_BLACK, - Txt_View_record_and_office_hours); + Act_GetActionText (ActSeeRecOneTch)); /***** Button to view user's agenda *****/ if (ItsMe) Lay_PutContextualLinkOnlyIcon (ActSeeMyAgd,NULL, NULL,NULL, "calendar.svg",Ico_BLACK, - Txt_Show_agenda); + Act_GetActionText (ActSeeMyAgd)); else if (Usr_CheckIfICanViewUsrAgenda (Gbl.Record.UsrDat)) Lay_PutContextualLinkOnlyIcon (ActSeeUsrAgd,NULL, Rec_PutParamUsrCodEncrypted,NULL, "calendar.svg",Ico_BLACK, - Txt_Show_agenda); + Act_GetActionText (ActSeeUsrAgd)); /***** Button to admin user *****/ if (ItsMe || @@ -2397,7 +2381,7 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args) Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs],NULL, Rec_PutParamUsrCodEncrypted,NULL, "user-cog.svg",Ico_BLACK, - Txt_Administer_user); + Act_GetActionText (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs])); if (Gbl.Hierarchy.Level == HieLvl_CRS) // Course selected { @@ -2412,17 +2396,17 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args) Lay_PutContextualLinkOnlyIcon (ActSeeMyTstResCrs,NULL, Rec_PutParamsMyTsts,NULL, "check.svg",Ico_BLACK, - Txt_View_tests); + Act_GetActionText (ActSeeMyTstResCrs)); /* My exam results in course */ Lay_PutContextualLinkOnlyIcon (ActSeeMyExaResCrs,NULL, Rec_PutParamsMyTsts,NULL, "file-signature.svg",Ico_BLACK, - Txt_View_exams); + Act_GetActionText (ActSeeMyExaResCrs)); /* My match results in course */ Lay_PutContextualLinkOnlyIcon (ActSeeMyMchResCrs,NULL, Rec_PutParamsMyTsts,NULL, "gamepad.svg",Ico_BLACK, - Txt_View_games); + Act_GetActionText (ActSeeMyMchResCrs)); } else // Not me { @@ -2430,17 +2414,17 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args) Lay_PutContextualLinkOnlyIcon (ActSeeUsrTstResCrs,NULL, Rec_PutParamsStdTsts,NULL, "check.svg",Ico_BLACK, - Txt_View_tests); + Act_GetActionText (ActSeeUsrTstResCrs)); /* User's exam results in course */ Lay_PutContextualLinkOnlyIcon (ActSeeUsrExaResCrs,NULL, Rec_PutParamsStdTsts,NULL, "file-signature.svg",Ico_BLACK, - Txt_View_exams); + Act_GetActionText (ActSeeUsrExaResCrs)); /* User's match results in course */ Lay_PutContextualLinkOnlyIcon (ActSeeUsrMchResCrs,NULL, Rec_PutParamsStdTsts,NULL, "gamepad.svg",Ico_BLACK, - Txt_View_games); + Act_GetActionText (ActSeeUsrMchResCrs)); } } @@ -2451,12 +2435,12 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args) Lay_PutContextualLinkOnlyIcon (ActAdmAsgWrkUsr,NULL, NULL,NULL, "folder-open.svg",Ico_BLACK, - Txt_View_homework); + Act_GetActionText (ActAdmAsgWrkUsr)); else // Not me, I am not a student in current course Lay_PutContextualLinkOnlyIcon (ActAdmAsgWrkCrs,NULL, Rec_PutParamsWorks,NULL, "folder-open.svg",Ico_BLACK, - Txt_View_homework); + Act_GetActionText (ActAdmAsgWrkCrs)); } /***** Button to view student's attendance *****/ @@ -2466,12 +2450,12 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args) Lay_PutContextualLinkOnlyIcon (ActSeeLstMyAtt,NULL, NULL,NULL, "calendar-check.svg",Ico_BLACK, - Txt_View_attendance); + Act_GetActionText (ActSeeLstMyAtt)); else // Not me Lay_PutContextualLinkOnlyIcon (ActSeeLstUsrAtt,NULL, Rec_PutParamsStudent,NULL, "calendar-check.svg",Ico_BLACK, - Txt_View_attendance); + Act_GetActionText (ActSeeLstUsrAtt)); } } } @@ -2487,7 +2471,7 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args) Lay_PutContextualLinkOnlyIcon (ActReqMsgUsr,NULL, Rec_PutParamsMsgUsr,NULL, "envelope.svg",Ico_BLACK, - Txt_Write_a_message); + Act_GetActionText (ActReqMsgUsr)); /***** Button to follow / unfollow *****/ if (!ItsMe) // Not me @@ -2498,12 +2482,12 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args) Lay_PutContextualLinkOnlyIcon (ActUnfUsr,NULL, Rec_PutParamUsrCodEncrypted,NULL, "user-check.svg",Ico_BLACK, - Txt_Following_unfollow); // Put button to unfollow, even if I can not view user's profile + Act_GetActionText (ActUnfUsr)); // Put button to unfollow, even if I can not view user's profile else if (ICanViewUsrProfile) Lay_PutContextualLinkOnlyIcon (ActFolUsr,NULL, Rec_PutParamUsrCodEncrypted,NULL, "user-plus.svg",Ico_BLACK, - Txt_Follow); // Put button to follow + Act_GetActionText (ActFolUsr)); // Put button to follow } /***** Button to change user's photo *****/ diff --git a/swad_room.c b/swad_room.c index f25ae9d9..80180ab3 100644 --- a/swad_room.c +++ b/swad_room.c @@ -475,12 +475,10 @@ static void Roo_PutIconsEditingRooms (__attribute__((unused)) void *Args) void Roo_PutIconToViewRooms (void) { - extern const char *Txt_Rooms; - Lay_PutContextualLinkOnlyIcon (ActSeeRoo,NULL, NULL,NULL, "chalkboard-teacher.svg",Ico_BLACK, - Txt_Rooms); + Act_GetActionText (ActSeeRoo)); } /*****************************************************************************/ diff --git a/swad_survey.c b/swad_survey.c index a2a78d96..3284aa65 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -340,11 +340,8 @@ static void Svy_PutIconsListSurveys (void *Surveys) static void Svy_PutIconToCreateNewSvy (struct Svy_Surveys *Surveys) { - extern const char *Txt_New_survey; - Ico_PutContextualIconToAdd (ActFrmNewSvy,NULL, - Svy_PutParamsToCreateNewSvy,Surveys, - Txt_New_survey); + Svy_PutParamsToCreateNewSvy,Surveys); } /*****************************************************************************/ @@ -875,8 +872,6 @@ static void Svy_PutFormsToRemEditOneSvy (struct Svy_Surveys *Surveys, const struct Svy_Survey *Svy, const char *Anchor) { - extern const char *Txt_Reset; - Surveys->SvyCod = Svy->SvyCod; // Used as parameters in contextual links /***** Put form to remove survey *****/ @@ -887,7 +882,7 @@ static void Svy_PutFormsToRemEditOneSvy (struct Svy_Surveys *Surveys, Lay_PutContextualLinkOnlyIcon (ActReqRstSvy,NULL, Svy_PutParams,Surveys, "recycle.svg",Ico_RED, - Txt_Reset); + Act_GetActionText (ActReqRstSvy)); /***** Put form to hide/show survey *****/ if (Svy->Status.Visible) @@ -2935,12 +2930,7 @@ static void Svy_PutParamsToEditQuestion (void *Surveys) static void Svy_PutIconToAddNewQuestion (void *Surveys) { - extern const char *Txt_New_question; - - /***** Put form to create a new question *****/ - Ico_PutContextualIconToAdd (ActEdiOneSvyQst,NULL, - Svy_PutParams,Surveys, - Txt_New_question); + Ico_PutContextualIconToAdd (ActEdiOneSvyQst,NULL,Svy_PutParams,Surveys); } /*****************************************************************************/ diff --git a/swad_syllabus.c b/swad_syllabus.c index 87f25107..b8eb4842 100644 --- a/swad_syllabus.c +++ b/swad_syllabus.c @@ -604,17 +604,10 @@ static void Syl_ShowSyllabus (struct Syl_Syllabus *Syllabus) static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, int Level,int *CodItem,const char *Text,bool NewItem) { - extern const char *Txt_Move_up_X_and_its_subsections; - extern const char *Txt_Move_up_X; extern const char *Txt_Movement_not_allowed; - extern const char *Txt_Move_down_X_and_its_subsections; - extern const char *Txt_Move_down_X; - extern const char *Txt_Increase_level_of_X; - extern const char *Txt_Decrease_level_of_X; static int LastLevel = 0; char StrItemCod[Syl_MAX_LEVELS_SYLLABUS * (10 + 1)]; struct MoveSubtrees Subtree; - char *Title; Subtree.ToGetUp.Ini = Subtree.ToGetUp.End = 0; Subtree.ToGetDown.Ini = Subtree.ToGetDown.End = 0; @@ -652,18 +645,13 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, Syl_CalculateUpSubtreeSyllabus (&Subtree,NumItem); HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Subtree.MovAllowed) - { - if (asprintf (&Title,Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections : - Txt_Move_up_X, - StrItemCod) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (Gbl.Crs.Info.Type == Inf_LECTURES ? ActUp_IteSylLec : ActUp_IteSylPra, NULL, Syl_PutParamNumItem,&Syllabus->ParamNumItem, - "arrow-up.svg",Ico_BLACK,Title); - free (Title); - } + "arrow-up.svg",Ico_BLACK, + Act_GetActionText (Gbl.Crs.Info.Type == Inf_LECTURES ? ActUp_IteSylLec : + ActUp_IteSylPra)); else Ico_PutIconOff ("arrow-up.svg",Ico_BLACK, Txt_Movement_not_allowed); @@ -673,18 +661,13 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, Syl_CalculateDownSubtreeSyllabus (&Subtree,NumItem); HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Subtree.MovAllowed) - { - if (asprintf (&Title,Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections : - Txt_Move_down_X, - StrItemCod) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (Gbl.Crs.Info.Type == Inf_LECTURES ? ActDwnIteSylLec : ActDwnIteSylPra, NULL, Syl_PutParamNumItem,&Syllabus->ParamNumItem, - "arrow-down.svg",Ico_BLACK,Title); - free (Title); - } + "arrow-down.svg",Ico_BLACK, + Act_GetActionText (Gbl.Crs.Info.Type == Inf_LECTURES ? ActDwnIteSylLec : + ActDwnIteSylPra)); else Ico_PutIconOff ("arrow-down.svg",Ico_BLACK, Txt_Movement_not_allowed); @@ -693,16 +676,13 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, /***** Icon to increase the level of an item *****/ HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Level > 1) - { - if (asprintf (&Title,Txt_Increase_level_of_X,StrItemCod) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (Gbl.Crs.Info.Type == Inf_LECTURES ? ActRgtIteSylLec : ActRgtIteSylPra, NULL, Syl_PutParamNumItem,&Syllabus->ParamNumItem, - "arrow-left.svg",Ico_BLACK,Title); - free (Title); - } + "arrow-left.svg",Ico_BLACK, + Act_GetActionText (Gbl.Crs.Info.Type == Inf_LECTURES ? ActRgtIteSylLec : + ActRgtIteSylPra)); else Ico_PutIconOff ("arrow-left.svg",Ico_BLACK, Txt_Movement_not_allowed); @@ -712,16 +692,13 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Level < LastLevel + 1 && Level < Syl_MAX_LEVELS_SYLLABUS) - { - if (asprintf (&Title,Txt_Decrease_level_of_X,StrItemCod) < 0) - Err_NotEnoughMemoryExit (); Lay_PutContextualLinkOnlyIcon (Gbl.Crs.Info.Type == Inf_LECTURES ? ActLftIteSylLec : ActLftIteSylPra, NULL, Syl_PutParamNumItem,&Syllabus->ParamNumItem, - "arrow-right.svg",Ico_BLACK,Title); - free (Title); - } + "arrow-right.svg",Ico_BLACK, + Act_GetActionText (Gbl.Crs.Info.Type == Inf_LECTURES ? ActLftIteSylLec : + ActLftIteSylPra)); else Ico_PutIconOff ("arrow-right.svg",Ico_BLACK, Txt_Movement_not_allowed); diff --git a/swad_tag.c b/swad_tag.c index 5dc3cfe4..b4e24492 100644 --- a/swad_tag.c +++ b/swad_tag.c @@ -94,13 +94,10 @@ void Tag_FreeTagsList (struct Tag_Tags *Tags) void Tag_PutIconToEditTags (void) { - extern const char *Txt_Edit_tags; - - /***** Put a link to create a file with questions *****/ Lay_PutContextualLinkOnlyIcon (ActEdiTag,NULL, NULL,NULL, "tag.svg",Ico_BLACK, - Txt_Edit_tags); + Act_GetActionText (ActEdiTag)); } /*****************************************************************************/ diff --git a/swad_test_print.c b/swad_test_print.c index 9b273139..5a0cc070 100644 --- a/swad_test_print.c +++ b/swad_test_print.c @@ -1662,13 +1662,12 @@ void TstPrn_SelUsrsToViewUsrsPrints (void) static void TstPrn_PutFormToSelectUsrsToViewUsrsPrints (__attribute__((unused)) void *Args) { extern const char *Hlp_ASSESSMENT_Tests_results; - extern const char *Txt_Results; extern const char *Txt_View_results; Usr_PutFormToSelectUsrsToGoToAct (&Gbl.Usrs.Selected, ActSeeUsrTstResCrs, NULL,NULL, - Txt_Results, + Act_GetActionText (ActSeeUsrTstResCrs), Hlp_ASSESSMENT_Tests_results, Txt_View_results, true); // Put form with date range diff --git a/swad_text.c b/swad_text.c index 3697f3a6..152316e0 100644 --- a/swad_text.c +++ b/swad_text.c @@ -1243,29 +1243,6 @@ const char *Txt_Administer_one_user = "Administer one user"; // Çeviri lazim! #endif -const char *Txt_Administer_user = -#if L==1 // ca - "Administrar usuari"; -#elif L==2 // de - "Verwalten Benutzer"; -#elif L==3 // en - "Administer user"; -#elif L==4 // es - "Administrar usuario"; -#elif L==5 // fr - "Gérer utilisateur"; -#elif L==6 // gn - "Administrar usuario"; // Okoteve traducción -#elif L==7 // it - "Gestire utente"; -#elif L==8 // pl - "Zarządzaj użytkownika"; -#elif L==9 // pt - "Gerenciar utilizador"; -#elif L==10 // tr - "Administer user"; // Çeviri lazim! -#endif - const char *Txt_AGENDA_PAST___FUTURE_EVENTS[2] = { // Agd_PAST___EVENTS @@ -4738,29 +4715,6 @@ const char *Txt_Centers_with_pending_degrees = "Centers with pending degrees"; // Çeviri lazim! #endif -const char *Txt_Change_account = -#if L==1 // ca - "Canviar compte"; -#elif L==2 // de - "Benutzerkonto ändern"; -#elif L==3 // en - "Change account"; -#elif L==4 // es - "Cambiar cuenta"; -#elif L==5 // fr - "Changer compte"; -#elif L==6 // gn - "Cambiar cuenta"; // Okoteve traducción -#elif L==7 // it - "Cambiare account"; -#elif L==8 // pl - "Zmień konto"; -#elif L==9 // pt - "Alterar conta"; -#elif L==10 // tr - "Change account"; // Çeviri lazim! -#endif - const char *Txt_Change_email = #if L==1 // ca "Canviar correu"; @@ -4830,29 +4784,6 @@ const char *Txt_Change_image_video = "Change image / video"; // Çeviri lazim! #endif -const char *Txt_Change_logo = -#if L==1 // ca - "Canviar logo"; -#elif L==2 // de - "Logo ändern"; -#elif L==3 // en - "Change logo"; -#elif L==4 // es - "Cambiar logo"; -#elif L==5 // fr - "Changer logo"; -#elif L==6 // gn - "Moambue logo"; -#elif L==7 // it - "Cambiare logo"; -#elif L==8 // pl - "Zmień logo"; -#elif L==9 // pt - "Alterar logotipo"; -#elif L==10 // tr - "Change logo"; // Çeviri lazim! -#endif - const char *Txt_Change_my_groups = #if L==1 // ca "Canviar de grups"; @@ -4922,29 +4853,6 @@ const char *Txt_Change_password = "Şifre değiştir"; #endif -const char *Txt_Change_photo = -#if L==1 // ca - "Canviar foto"; -#elif L==2 // de - "Foto ändern"; -#elif L==3 // en - "Change photo"; -#elif L==4 // es - "Cambiar foto"; -#elif L==5 // fr - "Changer photo"; -#elif L==6 // gn - "Cambiar foto"; // Okoteve traducción -#elif L==7 // it - "Cambiare foto"; -#elif L==8 // pl - "Zmień zdjecie"; -#elif L==9 // pt - "Alterar foto"; -#elif L==10 // tr - "Change photo"; // Çeviri lazim! -#endif - const char *Txt_CHAT_Room = #if L==1 // ca "Sala"; @@ -8745,29 +8653,6 @@ const char *Txt_DAYS2[7] = #endif }; -const char *Txt_Decrease_level_of_X = // Warning: it is very important to include %s in the following sentences -#if L==1 // ca - "Disminuir nivell de %s"; -#elif L==2 // de - "Stufe von %s verringern"; -#elif L==3 // en - "Decrease level of %s"; -#elif L==4 // es - "Disminuir nivel de %s"; -#elif L==5 // fr - "Diminuer le niveau de %s"; -#elif L==6 // gn - "Disminuir nivel de %s"; // Okoteve traducción -#elif L==7 // it - "Decrementare livello di %s"; -#elif L==8 // pl - "Spadek poziomu %s"; -#elif L==9 // pt - "Diminuir o nível de %s"; -#elif L==10 // tr - "Decrease level of %s"; // Çeviri lazim! -#endif - const char *Txt_default = #if L==1 // ca "predeterminat"; @@ -11707,29 +11592,6 @@ const char *Txt_Edit_item = "Edit item"; // Çeviri lazim! #endif -const char *Txt_Edit_my_personal_data = -#if L==1 // ca - "Edita meves dades personals"; -#elif L==2 // de - "Bearbeiten meiner persönlichen Daten"; -#elif L==3 // en - "Edit my personal data"; -#elif L==4 // es - "Editar mis datos personales"; -#elif L==5 // fr - "Éditer mes données personnelles"; -#elif L==6 // gn - "Editar mis datos personales"; // Okoteve traducción -#elif L==7 // it - "Editare i miei dati personali"; -#elif L==8 // pl - "Edycja moich danych osobowych"; -#elif L==9 // pt - "Editar os meus dados pessoais"; -#elif L==10 // tr - "Edit my personal data"; // Çeviri lazim! -#endif - const char *Txt_Edit_plain_text = #if L==1 // ca "Editar text sense format"; @@ -11868,29 +11730,6 @@ const char *Txt_Edit_rich_text = "Edit rich text"; // Çeviri lazim! #endif -const char *Txt_Edit_tags = -#if L==1 // ca - "Editar descriptors"; -#elif L==2 // de - "Tags bearbeiten"; -#elif L==3 // en - "Edit tags"; -#elif L==4 // es - "Editar descriptores"; -#elif L==5 // fr - "Éditer descripteurs"; -#elif L==6 // gn - "Editar descriptores"; // Okoteve traducción -#elif L==7 // it - "Editare etichette"; -#elif L==8 // pl - "Edycja tagów"; -#elif L==9 // pt - "Editar descritores"; -#elif L==10 // tr - "Edit tags"; // Çeviri lazim! -#endif - const char *Txt_Editable = #if L==1 // ca "Editables"; @@ -13517,29 +13356,6 @@ const char *Txt_Expand = "Expand"; // Çeviri lazim! #endif -const char *Txt_Export_questions = -#if L==1 // ca - "Exporta preguntes"; -#elif L==2 // de - "Fragen exportieren"; -#elif L==3 // en - "Export questions"; -#elif L==4 // es - "Exportar preguntas"; -#elif L==5 // fr - "Exporter questions"; -#elif L==6 // gn - "Exportar preguntas"; // Okoteve traducción -#elif L==7 // it - "Esportare domande"; -#elif L==8 // pl - "Eksportuj pytania"; -#elif L==9 // pt - "Exportar perguntas"; -#elif L==10 // tr - "Export questions"; // Çeviri lazim! -#endif - const char *Txt_Extended_public_profile = #if L==1 // ca "Perfil públic ampliat"; @@ -18185,29 +18001,6 @@ const char *Txt_Incomplete_timetable_for_lack_of_space = "Incomplete timetable for lack of space."; // Çeviri lazim! #endif -const char *Txt_Increase_level_of_X = // Warning: it is very important to include %s in the following sentences -#if L==1 // ca - "Augmentar nivell de %s"; -#elif L==2 // de - "Level von %s erhöhen"; -#elif L==3 // en - "Increase level of %s"; -#elif L==4 // es - "Aumentar nivel de %s"; -#elif L==5 // fr - "Augmenter le niveau de %s"; -#elif L==6 // gn - "Aumentar nivel de %s"; // Okoteve traducción -#elif L==7 // it - "Incrementare livello di %s"; -#elif L==8 // pl - "Wzrost poziomu %s"; -#elif L==9 // pt - "Aumentar o nível de %s"; -#elif L==10 // tr - "Increase level of %s"; // Çeviri lazim! -#endif - const char *Txt_Indicators = #if L==1 // ca "Indicadors"; @@ -20747,29 +20540,6 @@ const char *Txt_Mandatory_enrolment = // (to a type of group) "Mandatory enrolment?"; // Çeviri lazim! #endif -const char *Txt_Map = -#if L==1 // ca - "Mapa"; -#elif L==2 // de - "Karte"; -#elif L==3 // en - "Map"; -#elif L==4 // es - "Mapa"; -#elif L==5 // fr - "Carte"; -#elif L==6 // gn - "Mapa"; // Okoteve traducción -#elif L==7 // it - "Carta"; -#elif L==8 // pl - "Mapa"; -#elif L==9 // pt - "Mapa"; -#elif L==10 // tr - "Map"; // Çeviri lazim! -#endif - const char *Txt_Mark_all_NOTIFICATIONS_as_read = #if L==1 // ca "Marca totes com llegides"; @@ -24465,98 +24235,6 @@ const char *Txt_MONTHS_SMALL_SHORT[12] = #endif }; -const char *Txt_Move_up_X = // Warning: it is very important to include %s in the following sentences -#if L==1 // ca - "Pujar %s"; -#elif L==2 // de - "Bewegen Sie %s nach oben"; -#elif L==3 // en - "Move up %s"; -#elif L==4 // es - "Subir %s"; -#elif L==5 // fr - "Monter %s"; -#elif L==6 // gn - "Subir %s"; // Okoteve traducción -#elif L==7 // it - "Muovi su %s"; -#elif L==8 // pl - "Przesun w góre %s"; -#elif L==9 // pt - "Mover %s para cima"; -#elif L==10 // tr - "Move up %s"; // Çeviri lazim! -#endif - -const char *Txt_Move_up_X_and_its_subsections = // Warning: it is very important to include %s in the following sentences -#if L==1 // ca - "Pujar %s i els seus subapartats"; -#elif L==2 // de - "Bewegen Sie %s und seine Unterabschnitte nach oben"; -#elif L==3 // en - "Move up %s and its subsections"; -#elif L==4 // es - "Subir %s y sus subapartados"; -#elif L==5 // fr - "Monter %s et ses sous-sections"; -#elif L==6 // gn - "Subir %s y sus subapartados"; // Okoteve traducción -#elif L==7 // it - "Muovi su %s e le sue sottosezioni"; -#elif L==8 // pl - "Przenies sie %s, a jego podrozdzialy"; -#elif L==9 // pt - "Mover %s e suas subseções para cima"; -#elif L==10 // tr - "Move up %s and its subsections"; // Çeviri lazim! -#endif - -const char *Txt_Move_down_X = // Warning: it is very important to include %s in the following sentences -#if L==1 // ca - "Baixar %s"; -#elif L==2 // de - "Gehe %s nach unten"; -#elif L==3 // en - "Move down %s"; -#elif L==4 // es - "Bajar %s"; -#elif L==5 // fr - "Descendre %s"; -#elif L==6 // gn - "Bajar %s"; // Okoteve traducción -#elif L==7 // it - "Muovi giù %s"; -#elif L==8 // pl - "Opuszczac %s"; -#elif L==9 // pt - "Mover %s para baixo"; -#elif L==10 // tr - "Move down %s"; // Çeviri lazim! -#endif - -const char *Txt_Move_down_X_and_its_subsections = // Warning: it is very important to include %s in the following sentences -#if L==1 // ca - "Baixar %s i els seus subapartats"; -#elif L==2 // de - "Bewegen Sie %s und seine Unterabschnitte nach unten"; -#elif L==3 // en - "Move down %s and its subsections"; -#elif L==4 // es - "Bajar %s y sus subapartados"; -#elif L==5 // fr - "Move down %s and its subsections"; -#elif L==6 // gn - "Descendre %s et ses sous-sections"; // Okoteve traducción -#elif L==7 // it - "Muovi giù %s e le sue sottosezioni"; -#elif L==8 // pl - "Przesun w dól %s, a jego podrozdzialy"; -#elif L==9 // pt - "Mover %s e suas subseções para baixo"; -#elif L==10 // tr - "Move down %s and its subsections"; // Çeviri lazim! -#endif - const char *Txt_Movement_not_allowed = #if L==1 // ca "Moviment no permès"; @@ -24994,29 +24672,6 @@ const char *Txt_MSGS_Sent = "Sent"; // Çeviri lazim! #endif -const char *Txt_MSGS_Write = -#if L==1 // ca - "Redactar"; -#elif L==2 // de - "Schreiben"; -#elif L==3 // en - "Write"; -#elif L==4 // es - "Redactar"; -#elif L==5 // fr - "Ecrire"; -#elif L==6 // gn - "Redactar"; // Okoteve traducción -#elif L==7 // it - "Scrivi"; -#elif L==8 // pl - "Napisz"; -#elif L==9 // pt - "Escrever"; -#elif L==10 // tr - "Write"; // Çeviri lazim! -#endif - const char *Txt_Multimedia = #if L==1 // ca "Multimèdia"; @@ -35059,29 +34714,6 @@ const char *Txt_Removal_not_allowed = "Removal not allowed"; // Çeviri lazim! #endif -const char *Txt_Remove_account = -#if L==1 // ca - "Eliminar compte"; -#elif L==2 // de - "Benutzerkonto entfernen"; -#elif L==3 // en - "Remove account"; -#elif L==4 // es - "Eliminar cuenta"; -#elif L==5 // fr - "Supprimer compte"; -#elif L==6 // gn - "Eliminar cuenta"; // Okoteve traducción -#elif L==7 // it - "Rimuovere account"; -#elif L==8 // pl - "Usuń konto"; -#elif L==9 // pt - "Remover conta"; -#elif L==10 // tr - "Remove account"; // Çeviri lazim! -#endif - const char *Txt_Remove_all_students = #if L==1 // ca "Eliminar tots estudiants"; @@ -35358,29 +34990,6 @@ const char *Txt_Remove_link = "Remove link"; // Çeviri lazim! #endif -const char *Txt_Remove_logo = -#if L==1 // ca - "Eliminar logo"; -#elif L==2 // de - "Entfernen Logo"; -#elif L==3 // en - "Remove logo"; -#elif L==4 // es - "Eliminar logo"; -#elif L==5 // fr - "Supprimer logo"; -#elif L==6 // gn - "Eliminar logo"; // Okoteve traducción -#elif L==7 // it - "Rimuovere logo"; -#elif L==8 // pl - "Usuń logo"; -#elif L==9 // pt - "Remover logotipo"; -#elif L==10 // tr - "Remove logo"; // Çeviri lazim! -#endif - const char *Txt_Remove_match = // of a game #if L==1 // ca "Eliminar partida"; @@ -36315,29 +35924,6 @@ const char *Txt_Required_reading = "Required reading"; // Çeviri lazim! #endif -const char *Txt_Reset = -#if L==1 // ca - "Posar a zero"; -#elif L==2 // de - "Reset"; -#elif L==3 // en - "Reset"; -#elif L==4 // es - "Poner a cero"; -#elif L==5 // fr - "Reset"; -#elif L==6 // gn - "Poner a cero"; // Okoteve traducción -#elif L==7 // it - "Resettare"; -#elif L==8 // pl - "Reset"; -#elif L==9 // pt - "Reiniciar"; -#elif L==10 // tr - "Reset"; // Çeviri lazim! -#endif - const char *Txt_Reset_survey = #if L==1 // ca "Posar enquesta a zero"; @@ -42557,29 +42143,6 @@ const char *Txt_Search = "Arama"; #endif -const char *Txt_Search_courses = -#if L==1 // ca - "Cercar assignatures"; -#elif L==2 // de - "Suchen Kursen"; -#elif L==3 // en - "Search courses"; -#elif L==4 // es - "Buscar asignaturas"; -#elif L==5 // fr - "Chercher matières"; -#elif L==6 // gn - "Heka mbo'esyry"; -#elif L==7 // it - "Cercare corsi"; -#elif L==8 // pl - "Szukaj kursów"; -#elif L==9 // pt - "Procurar disciplinas"; -#elif L==10 // tr - "Search courses"; // Çeviri lazim! -#endif - const char *Txt_See_full_notice = #if L==1 // ca "Veure avís complet"; @@ -44107,29 +43670,6 @@ const char *Txt_Show = "Show"; // Çeviri lazim! #endif -const char *Txt_Show_all_data_in_a_table = -#if L==1 // ca - "Mostrar totes les dades en una taula"; -#elif L==2 // de - "Alle Daten in einer Tabelle anzeigen"; -#elif L==3 // en - "Show all data in a table"; -#elif L==4 // es - "Mostrar todos los datos en una tabla"; -#elif L==5 // fr - "Voir toutes les données dans une table"; -#elif L==6 // gn - "Mostrar todos los datos en una tabla"; // Okoteve traducción -#elif L==7 // it - "Visualizza tutti i dati in una tabella"; -#elif L==8 // pl - "Pokaż wszystkie dane w tabeli"; -#elif L==9 // pt - "Mostrar todos os dados em uma tabela"; -#elif L==10 // tr - "Show all data in a table"; // Çeviri lazim! -#endif - const char *Txt_Show_all_files = #if L==1 // ca "Mostrar tots els arxius"; @@ -57934,29 +57474,6 @@ const char *Txt_Upload_files_QUESTION = "Upload files?"; // Çeviri lazim! #endif -const char *Txt_Upload_logo = -#if L==1 // ca - "Enviar logo"; -#elif L==2 // de - "Upload Logo"; -#elif L==3 // en - "Upload logo"; -#elif L==4 // es - "Subir logo"; -#elif L==5 // fr - "Télécharger logo"; -#elif L==6 // gn - "Subir logo"; // Okoteve traducción -#elif L==7 // it - "Caricare logo"; -#elif L==8 // pl - "Prześlij logo"; -#elif L==9 // pt - "Fazer upload de logotipo"; -#elif L==10 // tr - "Upload logo"; // Çeviri lazim! -#endif - const char *Txt_Upload_my_picture = #if L==1 // ca "Pujar la meva fotografia"; @@ -59093,29 +58610,6 @@ const char *Txt_View_exam = "View exam"; // Çeviri lazim! #endif -const char *Txt_View_exams = -#if L==1 // ca - "Veure exàmens"; -#elif L==2 // de - "Anzeigen Prüfung"; -#elif L==3 // en - "View exams"; -#elif L==4 // es - "Ver exámenes"; -#elif L==5 // fr - "Voir examens"; -#elif L==6 // gn - "Ver exámenes"; // Okoteve traducción -#elif L==7 // it - "Vedi esame"; -#elif L==8 // pl - "Zobacz egzaminów"; -#elif L==9 // pt - "Ver exames"; -#elif L==10 // tr - "View exams"; // Çeviri lazim! -#endif - const char *Txt_View_game = #if L==1 // ca "Veure joc"; @@ -59139,29 +58633,6 @@ const char *Txt_View_game = "View game"; // Çeviri lazim! #endif -const char *Txt_View_games = -#if L==1 // ca - "Veure jocs"; -#elif L==2 // de - "Anzeigen Spiele"; -#elif L==3 // en - "View games"; -#elif L==4 // es - "Ver juegos"; -#elif L==5 // fr - "Voir jeux"; -#elif L==6 // gn - "Ver juegos"; // Okoteve traducción -#elif L==7 // it - "Vedi giochi"; -#elif L==8 // pl - "Zobacz gier"; -#elif L==9 // pt - "Ver jogos"; -#elif L==10 // tr - "View games"; // Çeviri lazim! -#endif - const char *Txt_View_in_a_new_window = #if L==1 // ca "Mostrar en una finestra nova"; @@ -59231,29 +58702,6 @@ const char *Txt_View_projects = "View projects"; // Çeviri lazim! #endif -const char *Txt_View_record_and_office_hours = -#if L==1 // ca - "Veure fitxa i horari de tutories"; -#elif L==2 // de - "Anzeigen profil und Geschäftszeiten"; -#elif L==3 // en - "View record and tutoring hours"; -#elif L==4 // es - "Ver ficha y horario de tutorías"; -#elif L==5 // fr - "Voir carte et heures de tuteur"; -#elif L==6 // gn - "Ver ficha y horario de tutorías"; // Okoteve traducción -#elif L==7 // it - "Vedi scheda e orario di tutoraggi"; -#elif L==8 // pl - "Zobacz rekord i godziny pracy"; -#elif L==9 // pt - "Ver cartão e horário de tutor"; -#elif L==10 // tr - "View record and tutoring hours"; // Çeviri lazim! -#endif - const char *Txt_View_record_for_this_course = #if L==1 // ca "Veure fitxa en aquesta assignatura"; @@ -59369,29 +58817,6 @@ const char *Txt_View_test = "View test"; // Çeviri lazim! #endif -const char *Txt_View_tests = -#if L==1 // ca - "Veure tests"; -#elif L==2 // de - "Siehe Tests"; -#elif L==3 // en - "View tests"; -#elif L==4 // es - "Ver test"; -#elif L==5 // fr - "Voir tests"; -#elif L==6 // gn - "Ver test"; // Okoteve traducción -#elif L==7 // it - "Vedi test"; -#elif L==8 // pl - "Wiadomości test"; -#elif L==9 // pt - "Ver testes"; -#elif L==10 // tr - "View tests"; // Çeviri lazim! -#endif - const char *Txt_View_homework = #if L==1 // ca "Veure treballs"; diff --git a/swad_text_action.c b/swad_text_action.c index 1c775697..f94e1d4c 100644 --- a/swad_text_action.c +++ b/swad_text_action.c @@ -10501,7 +10501,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See exam announcements of a given date" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See exam announcements of a given date" // Çeviri lazim! #endif , [ActEdiCfe] = @@ -10524,7 +10524,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit an exam announcement" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit an exam announcement" // Çeviri lazim! #endif , [ActRcvCfe] = @@ -10547,7 +10547,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send an exam announcement" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send an exam announcement" // Çeviri lazim! #endif , [ActPrnCfe] = @@ -10570,7 +10570,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See an exam announcement ready to be printed" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See an exam announcement ready to be printed" // Çeviri lazim! #endif , [ActReqRemCfe] = @@ -10593,7 +10593,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of an exam announcement" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of an exam announcement" // Çeviri lazim! #endif , [ActRemCfe] = @@ -10639,7 +10639,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Hide exam announcement" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Hide exam announcement" // Çeviri lazim! #endif , [ActUnhCfe] = @@ -10662,7 +10662,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Unhide exam announcement" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Unhide exam announcement" // Çeviri lazim! #endif , [ActEdiOneTstQst] = @@ -10685,7 +10685,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit a test question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit a test question" // Çeviri lazim! #endif , [ActReqImpTstQst] = @@ -10708,7 +10708,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request an XML file with test questions to import" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request an XML file with test questions to import" // Çeviri lazim! #endif , [ActImpTstQst] = @@ -10731,7 +10731,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Import test questions from XML file" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Import test questions from XML file" // Çeviri lazim! #endif , [ActLstTstQst] = @@ -10754,7 +10754,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "List test questions for edition" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "List test questions for edition" // Çeviri lazim! #endif , [ActRcvTstQst] = @@ -10777,7 +10777,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create/Change test question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create/Change test question" // Çeviri lazim! #endif , [ActReqRemSevTstQst] = @@ -10800,7 +10800,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removing several test questions" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removing several test questions" // Çeviri lazim! #endif , [ActRemSevTstQst] = @@ -10823,7 +10823,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove several test questions" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove several test questions" // Çeviri lazim! #endif , [ActReqRemOneTstQst] = @@ -10846,7 +10846,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removing one test question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removing one test question" // Çeviri lazim! #endif , [ActRemOneTstQst] = @@ -10892,7 +10892,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change shuffle of a test question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change shuffle of a test question" // Çeviri lazim! #endif , [ActEdiTag] = @@ -10915,7 +10915,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit tags in the question bank" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit tags in the question bank" // Çeviri lazim! #endif , [ActEnaTag] = @@ -10938,7 +10938,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Enable tag in the question bank" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Enable tag in the question bank" // Çeviri lazim! #endif , [ActDisTag] = @@ -10961,7 +10961,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Disable tag in the question bank" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Disable tag in the question bank" // Çeviri lazim! #endif , [ActRenTag] = @@ -10984,7 +10984,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Rename tag in the question bank" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Rename tag in the question bank" // Çeviri lazim! #endif , [ActSeeTst] = @@ -11007,7 +11007,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See a test" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See a test" // Çeviri lazim! #endif , [ActReqAssTst] = @@ -11030,7 +11030,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request assessment of a test" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request assessment of a test" // Çeviri lazim! #endif , [ActAssTst] = @@ -11053,7 +11053,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Assess a test" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Assess a test" // Çeviri lazim! #endif , [ActCfgTst] = @@ -11076,7 +11076,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See test configuration" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See test configuration" // Çeviri lazim! #endif , [ActRcvCfgTst] = @@ -11099,7 +11099,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change test configuration" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change test configuration" // Çeviri lazim! #endif , [ActReqSeeMyTstRes] = @@ -11122,7 +11122,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request to see my test results" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request to see my test results" // Çeviri lazim! #endif , [ActSeeMyTstResCrs] = @@ -11145,7 +11145,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See my test results" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See my test results" // Çeviri lazim! #endif , [ActSeeOneTstResMe] = @@ -11168,7 +11168,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See one of my test results" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See one of my test results" // Çeviri lazim! #endif , [ActReqSeeUsrTstRes] = @@ -11191,7 +11191,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request test results for several users" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request test results for several users" // Çeviri lazim! #endif , [ActSeeUsrTstResCrs] = @@ -11214,7 +11214,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See test results for several users" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See test results for several users" // Çeviri lazim! #endif , [ActSeeOneTstResOth] = @@ -11237,7 +11237,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See a test result for a user" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See a test result for a user" // Çeviri lazim! #endif , [ActSeeExa] = @@ -11260,7 +11260,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See exams" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See exams" // Çeviri lazim! #endif , [ActFrmNewExa] = @@ -11283,7 +11283,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request new exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request new exam" // Çeviri lazim! #endif , [ActEdiOneExa] = @@ -11306,7 +11306,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request exam edition" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request exam edition" // Çeviri lazim! #endif , [ActNewExa] = @@ -11329,7 +11329,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new exam" // Çeviri lazim! #endif , [ActChgExa] = @@ -11352,7 +11352,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change exam" // Çeviri lazim! #endif , [ActReqRemExa] = @@ -11375,7 +11375,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request exam removal" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request exam removal" // Çeviri lazim! #endif , [ActRemExa] = @@ -11398,7 +11398,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove exam" // Çeviri lazim! #endif , [ActHidExa] = @@ -11421,7 +11421,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Hide exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Hide exam" // Çeviri lazim! #endif , [ActShoExa] = @@ -11444,7 +11444,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Unhide exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Unhide exam" // Çeviri lazim! #endif , [ActFrmNewExaSet] = @@ -11467,7 +11467,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request new exam set" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request new exam set" // Çeviri lazim! #endif , [ActNewExaSet] = @@ -11490,7 +11490,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new exam set" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new exam set" // Çeviri lazim! #endif , [ActReqRemExaSet] = @@ -11513,7 +11513,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request set of questions removal" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request set of questions removal" // Çeviri lazim! #endif , [ActRemExaSet] = @@ -11536,7 +11536,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove set of questions" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove set of questions" // Çeviri lazim! #endif , [ActUp_ExaSet] = @@ -11559,7 +11559,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Move up set of questions" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Move up set of questions" // Çeviri lazim! #endif , [ActDwnExaSet] = @@ -11582,7 +11582,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Move down set of questions" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Move down set of questions" // Çeviri lazim! #endif , [ActChgTitExaSet] = @@ -11605,7 +11605,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change set of questions title" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change set of questions title" // Çeviri lazim! #endif , [ActChgNumQstExaSet] = @@ -11628,7 +11628,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change number of questions from set to each exam print" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change number of questions from set to each exam print" // Çeviri lazim! #endif , [ActReqAddQstExaSet] = @@ -11651,7 +11651,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request add question to exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request add question to exam" // Çeviri lazim! #endif , [ActLstTstQstForSet] = @@ -11674,7 +11674,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "List test questions for exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "List test questions for exam" // Çeviri lazim! #endif , [ActAddQstToExa] = @@ -11697,7 +11697,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Add question to exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Add question to exam" // Çeviri lazim! #endif , [ActReqRemSetQst] = @@ -11720,7 +11720,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request exam question removal" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request exam question removal" // Çeviri lazim! #endif , [ActRemExaQst] = @@ -11743,7 +11743,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove exam question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove exam question" // Çeviri lazim! #endif , [ActReqNewExaSes] = @@ -11766,7 +11766,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request new exam session" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request new exam session" // Çeviri lazim! #endif , [ActEdiOneExaSes] = @@ -11789,7 +11789,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit exam session" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit exam session" // Çeviri lazim! #endif , [ActNewExaSes] = @@ -11812,7 +11812,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new exam session" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new exam session" // Çeviri lazim! #endif , [ActChgExaSes] = @@ -11835,7 +11835,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change exam session" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change exam session" // Çeviri lazim! #endif , [ActReqRemExaSes] = @@ -11858,7 +11858,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request exam session removal" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request exam session removal" // Çeviri lazim! #endif , [ActRemExaSes] = @@ -11881,7 +11881,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove exam session" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove exam session" // Çeviri lazim! #endif , [ActHidExaSes] = @@ -11904,7 +11904,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Hide exam session" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Hide exam session" // Çeviri lazim! #endif , [ActUnhExaSes] = @@ -11927,7 +11927,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Unhide exam session" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Unhide exam session" // Çeviri lazim! #endif , [ActSeeExaPrn] = @@ -11950,7 +11950,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Iniciar / retomar exame" #elif L==10 // tr - "" // Çeviri lazim! + "Start / resume exam" // Çeviri lazim! #endif , [ActAnsExaPrn] = @@ -11973,7 +11973,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Responda pergunta do exame" #elif L==10 // tr - "" // Çeviri lazim! + "Answer exam question" // Çeviri lazim! #endif , [ActEndExaPrn] = @@ -11996,7 +11996,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Terminar exame" #elif L==10 // tr - "" // Çeviri lazim! + "End exam" // Çeviri lazim! #endif , [ActSeeMyExaResCrs] = @@ -12019,7 +12019,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See my exam results" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See my exam results" // Çeviri lazim! #endif , [ActSeeMyExaResExa] = @@ -12042,7 +12042,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See my results in exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See my results in exam" // Çeviri lazim! #endif , [ActSeeMyExaResSes] = @@ -12065,7 +12065,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See my results in exam session" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See my results in exam session" // Çeviri lazim! #endif , [ActSeeOneExaResMe] = @@ -12088,7 +12088,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See deatils of one of my exam results" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See deatils of one of my exam results" // Çeviri lazim! #endif , [ActReqSeeUsrExaRes] = @@ -12111,7 +12111,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Select users to see all their exam results" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Select users to see all their exam results" // Çeviri lazim! #endif , [ActSeeUsrExaResCrs] = @@ -12134,7 +12134,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See all exam results of a user" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See all exam results of a user" // Çeviri lazim! #endif , [ActSeeUsrExaResExa] = @@ -12157,7 +12157,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See all results of a user in exam" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See all results of a user in exam" // Çeviri lazim! #endif , [ActSeeUsrExaResSes] = @@ -12180,7 +12180,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See all results of a user in exam session" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See all results of a user in exam session" // Çeviri lazim! #endif , [ActSeeOneExaResOth] = @@ -12203,7 +12203,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See details of one of the exam results of a user" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See details of one of the exam results of a user" // Çeviri lazim! #endif , [ActChgVisExaRes] = @@ -12226,7 +12226,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change visibility of exam results" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change visibility of exam results" // Çeviri lazim! #endif , [ActSeeGam] = @@ -12249,7 +12249,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See game" // Çeviri lazim! #endif , [ActReqRemMch] = @@ -12272,7 +12272,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of match" // Çeviri lazim! #endif , [ActRemMch] = @@ -12295,7 +12295,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Confirm removal of match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Confirm removal of match" // Çeviri lazim! #endif , [ActReqNewMch] = @@ -12318,7 +12318,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request creation of new match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request creation of new match" // Çeviri lazim! #endif , [ActNewMch] = @@ -12341,7 +12341,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new match and show it in another tab" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new match and show it in another tab" // Çeviri lazim! #endif , [ActChgMch] = @@ -12364,7 +12364,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change match" // Çeviri lazim! #endif , [ActResMch] = @@ -12387,7 +12387,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Resume match showing current question in another tab" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Resume match showing current question in another tab" // Çeviri lazim! #endif , [ActBckMch] = @@ -12410,7 +12410,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Go back when playing a match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Go back when playing a match" // Çeviri lazim! #endif , [ActPlyPauMch] = @@ -12433,7 +12433,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Play/pause current match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Play/pause current match" // Çeviri lazim! #endif , [ActFwdMch] = @@ -12456,7 +12456,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Go forward when playing a match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Go forward when playing a match" // Çeviri lazim! #endif , [ActChgNumColMch] = @@ -12479,7 +12479,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change number of columns when playing a match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change number of columns when playing a match" // Çeviri lazim! #endif , [ActChgVisResMchQst] = @@ -12502,7 +12502,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change visibility of question results when playing a match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change visibility of question results when playing a match" // Çeviri lazim! #endif , [ActMchCntDwn] = @@ -12525,7 +12525,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Start match countdown" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Start match countdown" // Çeviri lazim! #endif , [ActRefMchTch] = @@ -12548,7 +12548,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Refresh current question when playing a match (as teacher)" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Refresh current question when playing a match (as teacher)" // Çeviri lazim! #endif , [ActJoiMch] = @@ -12571,7 +12571,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Show current question when playing a match (as student)" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Show current question when playing a match (as student)" // Çeviri lazim! #endif , [ActSeeMchAnsQstStd] = @@ -12594,7 +12594,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "View my answer to match question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "View my answer to match question" // Çeviri lazim! #endif , [ActRemMchAnsQstStd] = @@ -12617,7 +12617,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove my answer to match question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove my answer to match question" // Çeviri lazim! #endif , [ActAnsMchQstStd] = @@ -12640,7 +12640,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Answer match question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Answer match question" // Çeviri lazim! #endif , [ActRefMchStd] = @@ -12663,7 +12663,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Refresh current question while playing a match (as student)" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Refresh current question while playing a match (as student)" // Çeviri lazim! #endif , [ActSeeMyMchResCrs] = @@ -12686,7 +12686,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See all my matches results" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See all my matches results" // Çeviri lazim! #endif , [ActSeeMyMchResGam] = @@ -12709,7 +12709,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See all my matches results in a given game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See all my matches results in a given game" // Çeviri lazim! #endif , [ActSeeMyMchResMch] = @@ -12732,7 +12732,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See my results in a given match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See my results in a given match" // Çeviri lazim! #endif , [ActSeeOneMchResMe] = @@ -12755,7 +12755,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See details of match result mine as student" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See details of match result mine as student" // Çeviri lazim! #endif , [ActReqSeeUsrMchRes] = @@ -12778,7 +12778,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Select users and range of dates to see matches results" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Select users and range of dates to see matches results" // Çeviri lazim! #endif , [ActSeeUsrMchResCrs] = @@ -12801,7 +12801,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See all matches results of selected users" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See all matches results of selected users" // Çeviri lazim! #endif , [ActSeeUsrMchResGam] = @@ -12824,7 +12824,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See all matches results in a given game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See all matches results in a given game" // Çeviri lazim! #endif , [ActSeeUsrMchResMch] = @@ -12847,7 +12847,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See results de usuario in a given match" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See results de usuario in a given match" // Çeviri lazim! #endif , [ActSeeOneMchResOth] = @@ -12870,7 +12870,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See details of match result of a user" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See details of match result of a user" // Çeviri lazim! #endif , [ActChgVisResMchUsr] = @@ -12893,7 +12893,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change visibility of match results" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change visibility of match results" // Çeviri lazim! #endif , [ActLstOneGam] = @@ -12916,7 +12916,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "View game and its questions" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "View game and its questions" // Çeviri lazim! #endif , [ActFrmNewGam] = @@ -12939,7 +12939,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit new game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit new game" // Çeviri lazim! #endif , [ActEdiOneGam] = @@ -12962,7 +12962,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit game" // Çeviri lazim! #endif , [ActNewGam] = @@ -12985,7 +12985,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new game" // Çeviri lazim! #endif , [ActChgGam] = @@ -13008,7 +13008,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change game" // Çeviri lazim! #endif , [ActReqRemGam] = @@ -13031,7 +13031,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of game" // Çeviri lazim! #endif , [ActRemGam] = @@ -13054,7 +13054,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove game" // Çeviri lazim! #endif , [ActHidGam] = @@ -13077,7 +13077,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Hide game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Hide game" // Çeviri lazim! #endif , [ActShoGam] = @@ -13100,7 +13100,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Show game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Show game" // Çeviri lazim! #endif , [ActAddOneGamQst] = @@ -13123,7 +13123,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Add new question to game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Add new question to game" // Çeviri lazim! #endif , [ActGamLstTstQst] = @@ -13146,7 +13146,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "List questions to add some of them to game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "List questions to add some of them to game" // Çeviri lazim! #endif , [ActAddTstQstToGam] = @@ -13169,7 +13169,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Add selected test questions to game" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Add selected test questions to game" // Çeviri lazim! #endif , [ActReqRemGamQst] = @@ -13192,7 +13192,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of game question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of game question" // Çeviri lazim! #endif , [ActRemGamQst] = @@ -13215,7 +13215,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Confirm removal of game question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Confirm removal of game question" // Çeviri lazim! #endif , [ActUp_GamQst] = @@ -13238,7 +13238,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Move up game question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Move up game question" // Çeviri lazim! #endif , [ActDwnGamQst] = @@ -13261,7 +13261,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Move down game question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Move down game question" // Çeviri lazim! #endif , [ActSeeSvy] = @@ -13284,7 +13284,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Show survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Show survey" // Çeviri lazim! #endif , [ActAnsSvy] = @@ -13307,7 +13307,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Answer survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Answer survey" // Çeviri lazim! #endif , [ActFrmNewSvy] = @@ -13330,7 +13330,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit new survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit new survey" // Çeviri lazim! #endif , [ActEdiOneSvy] = @@ -13353,7 +13353,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit survey" // Çeviri lazim! #endif , [ActNewSvy] = @@ -13376,7 +13376,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new survey" // Çeviri lazim! #endif , [ActChgSvy] = @@ -13399,7 +13399,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change survey" // Çeviri lazim! #endif , [ActReqRemSvy] = @@ -13422,7 +13422,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of survey" // Çeviri lazim! #endif , [ActRemSvy] = @@ -13445,7 +13445,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove survey" // Çeviri lazim! #endif , [ActReqRstSvy] = @@ -13468,7 +13468,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request reset of answers of survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request reset of answers of survey" // Çeviri lazim! #endif , [ActRstSvy] = @@ -13491,7 +13491,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Reset answers of survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Reset answers of survey" // Çeviri lazim! #endif , [ActHidSvy] = @@ -13514,7 +13514,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Hide survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Hide survey" // Çeviri lazim! #endif , [ActShoSvy] = @@ -13537,7 +13537,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Unhide survey" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Unhide survey" // Çeviri lazim! #endif , [ActEdiOneSvyQst] = @@ -13560,7 +13560,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit new survey question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit new survey question" // Çeviri lazim! #endif , [ActRcvSvyQst] = @@ -13583,7 +13583,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create survey question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create survey question" // Çeviri lazim! #endif , [ActReqRemSvyQst] = @@ -13606,7 +13606,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of survey question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of survey question" // Çeviri lazim! #endif , [ActRemSvyQst] = @@ -13629,7 +13629,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Confirm removal of survey question" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Confirm removal of survey question" // Çeviri lazim! #endif , [ActSeeAdmDocIns] = @@ -13652,7 +13652,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Documents zone of institution (see or manage)" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Documents zone of institution (see or manage)" // Çeviri lazim! #endif , [ActAdmShaIns] = @@ -13675,7 +13675,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Manage shared files zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Manage shared files zone of institution" // Çeviri lazim! #endif , [ActSeeAdmDocCtr] = @@ -13698,7 +13698,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Documents zone of center (see or manage)" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Documents zone of center (see or manage)" // Çeviri lazim! #endif , [ActAdmShaCtr] = @@ -13721,7 +13721,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Manage shared files zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Manage shared files zone of center" // Çeviri lazim! #endif , [ActSeeAdmDocDeg] = @@ -13744,7 +13744,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Documents zone of degree (see or manage)" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Documents zone of degree (see or manage)" // Çeviri lazim! #endif , [ActAdmShaDeg] = @@ -13767,7 +13767,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Manage shared files zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Manage shared files zone of degree" // Çeviri lazim! #endif , [ActSeeAdmDocCrsGrp] = @@ -13790,7 +13790,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Documents zone of course (see or manage)" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Documents zone of course (see or manage)" // Çeviri lazim! #endif , [ActAdmTchCrsGrp] = @@ -13813,7 +13813,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request management of teachers' documents zone of course/group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request management of teachers' documents zone of course/group" // Çeviri lazim! #endif , [ActAdmShaCrsGrp] = @@ -13836,7 +13836,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request management of shared zone of course/group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request management of shared zone of course/group" // Çeviri lazim! #endif , [ActAdmAsgWrkUsr] = @@ -13859,7 +13859,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Manage the assignments/works of user" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Manage the assignments/works of user" // Çeviri lazim! #endif , [ActReqAsgWrkCrs] = @@ -13882,7 +13882,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Manage assignments/works in course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Manage assignments/works in course" // Çeviri lazim! #endif , [ActSeeAdmMrk] = @@ -13905,7 +13905,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Marks zone (see or manage)" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Marks zone (see or manage)" // Çeviri lazim! #endif , [ActAdmBrf] = @@ -13951,30 +13951,30 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change documents zone of institution to view mode" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change documents zone of institution to view mode" // Çeviri lazim! #endif , [ActSeeDocIns] = #if L==1 // ca - "See documents zone of the institution" // Necessita traducció + "See documents zone of the institution" // Necessita traducció #elif L==2 // de - "See documents zone of the institution" // Need Übersetzung + "See documents zone of the institution" // Need Übersetzung #elif L==3 // en "See documents zone of the institution" #elif L==4 // es "Ver zona de documentos de la institución" #elif L==5 // fr - "See documents zone of the institution" // Besoin de traduction + "See documents zone of the institution" // Besoin de traduction #elif L==6 // gn "Ver zona de documentos de la institución" // Okoteve traducción #elif L==7 // it - "See documents zone of the institution" // Bisogno di traduzione + "See documents zone of the institution" // Bisogno di traduzione #elif L==8 // pl - "See documents zone of the institution" // Potrzebujesz tlumaczenie + "See documents zone of the institution" // Potrzebujesz tlumaczenie #elif L==9 // pt - "See documents zone of the institution" // Precisa de tradução + "See documents zone of the institution" // Precisa de tradução #elif L==10 // tr - "See documents zone of the institution" // Çeviri lazim! + "See documents zone of the institution" // Çeviri lazim! #endif , [ActExpSeeDocIns] = @@ -13997,7 +13997,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder in institution documents" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder in institution documents" // Çeviri lazim! #endif , [ActConSeeDocIns] = @@ -14020,7 +14020,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder in institution documents" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder in institution documents" // Çeviri lazim! #endif , [ActZIPSeeDocIns] = @@ -14043,7 +14043,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder in institution documents" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder in institution documents" // Çeviri lazim! #endif , [ActReqDatSeeDocIns] = @@ -14066,7 +14066,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in documents zone of institution" // Çeviri lazim! #endif , [ActDowSeeDocIns] = @@ -14089,7 +14089,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from documents zone of institution" // Çeviri lazim! #endif , [ActChgToAdmDocIns] = @@ -14112,7 +14112,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change to administration mode of institution documents" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change to administration mode of institution documents" // Çeviri lazim! #endif , [ActAdmDocIns] = @@ -14158,7 +14158,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of file in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of file in documents zone of institution" // Çeviri lazim! #endif , [ActRemFilDocIns] = @@ -14181,7 +14181,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove file in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove file in documents zone of institution" // Çeviri lazim! #endif , [ActRemFolDocIns] = @@ -14204,7 +14204,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove empty folder documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove empty folder documents zone of institution" // Çeviri lazim! #endif , [ActCopDocIns] = @@ -14227,7 +14227,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Set source of copy in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Set source of copy in documents zone of institution" // Çeviri lazim! #endif , [ActPasDocIns] = @@ -14250,7 +14250,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Paste folder/file in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Paste folder/file in documents zone of institution" // Çeviri lazim! #endif , [ActRemTreDocIns] = @@ -14273,7 +14273,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove non-empty folder from documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove non-empty folder from documents zone of institution" // Çeviri lazim! #endif , [ActFrmCreDocIns] = @@ -14296,7 +14296,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Form to create folder/file in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Form to create folder/file in documents zone of institution" // Çeviri lazim! #endif , [ActCreFolDocIns] = @@ -14319,7 +14319,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new folder in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new folder in documents zone of institution" // Çeviri lazim! #endif , [ActCreLnkDocIns] = @@ -14342,7 +14342,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new link in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new link in documents zone of institution" // Çeviri lazim! #endif , [ActRenFolDocIns] = @@ -14365,7 +14365,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Rename folder in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Rename folder in documents zone of institution" // Çeviri lazim! #endif , [ActRcvFilDocInsDZ] = @@ -14388,7 +14388,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to documents zone of institution using Dropzone.js" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to documents zone of institution using Dropzone.js" // Çeviri lazim! #endif , [ActRcvFilDocInsCla] = @@ -14411,7 +14411,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file in documents zone of institution using the classic way" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file in documents zone of institution using the classic way" // Çeviri lazim! #endif , [ActExpAdmDocIns] = @@ -14434,7 +14434,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder when managing documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder when managing documents zone of institution" // Çeviri lazim! #endif , [ActConAdmDocIns] = @@ -14457,7 +14457,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder when managing documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder when managing documents zone of institution" // Çeviri lazim! #endif , [ActZIPAdmDocIns] = @@ -14480,7 +14480,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder when managing documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder when managing documents zone of institution" // Çeviri lazim! #endif , [ActShoDocIns] = @@ -14503,7 +14503,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Unhide folder/file of documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Unhide folder/file of documents zone of institution" // Çeviri lazim! #endif , [ActHidDocIns] = @@ -14526,7 +14526,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Hide folder/file of documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Hide folder/file of documents zone of institution" // Çeviri lazim! #endif , [ActReqDatAdmDocIns] = @@ -14549,7 +14549,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in documents zone of institution" // Çeviri lazim! #endif , [ActChgDatAdmDocIns] = @@ -14572,7 +14572,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change file metadata in documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change file metadata in documents zone of institution" // Çeviri lazim! #endif , [ActDowAdmDocIns] = @@ -14595,7 +14595,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from documents zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from documents zone of institution" // Çeviri lazim! #endif , [ActReqRemFilShaIns] = @@ -14618,7 +14618,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of file in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of file in shared zone of institution" // Çeviri lazim! #endif , [ActRemFilShaIns] = @@ -14641,7 +14641,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove file from shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove file from shared zone of institution" // Çeviri lazim! #endif , [ActRemFolShaIns] = @@ -14664,7 +14664,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove empty folder from shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove empty folder from shared zone of institution" // Çeviri lazim! #endif , [ActCopShaIns] = @@ -14687,7 +14687,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Set source of copy in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Set source of copy in shared zone of institution" // Çeviri lazim! #endif , [ActPasShaIns] = @@ -14710,7 +14710,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Paste folder/file in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Paste folder/file in shared zone of institution" // Çeviri lazim! #endif , [ActRemTreShaIns] = @@ -14733,7 +14733,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove non-empty folder from shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove non-empty folder from shared zone of institution" // Çeviri lazim! #endif , [ActFrmCreShaIns] = @@ -14756,7 +14756,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Form to create folder/file in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Form to create folder/file in shared zone of institution" // Çeviri lazim! #endif , [ActCreFolShaIns] = @@ -14779,7 +14779,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new folder in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new folder in shared zone of institution" // Çeviri lazim! #endif , [ActCreLnkShaIns] = @@ -14802,7 +14802,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new link in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new link in shared zone of institution" // Çeviri lazim! #endif , [ActRenFolShaIns] = @@ -14825,7 +14825,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Rename folder in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Rename folder in shared zone of institution" // Çeviri lazim! #endif , [ActRcvFilShaInsDZ] = @@ -14848,7 +14848,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to shared zone of institution using Dropzone.js" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to shared zone of institution using Dropzone.js" // Çeviri lazim! #endif , [ActRcvFilShaInsCla] = @@ -14871,7 +14871,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to shared zone of institution using the classic way" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to shared zone of institution using the classic way" // Çeviri lazim! #endif , [ActExpShaIns] = @@ -14894,7 +14894,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder in shared zone of institution" // Çeviri lazim! #endif , [ActConShaIns] = @@ -14917,7 +14917,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder in shared zone of institution" // Çeviri lazim! #endif , [ActZIPShaIns] = @@ -14940,7 +14940,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder in shared zone of institution" // Çeviri lazim! #endif , [ActReqDatShaIns] = @@ -14963,7 +14963,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in shared zone of institution" // Çeviri lazim! #endif , [ActChgDatShaIns] = @@ -14986,7 +14986,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change file metadata in shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change file metadata in shared zone of institution" // Çeviri lazim! #endif , [ActDowShaIns] = @@ -15009,7 +15009,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from shared zone of institution" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from shared zone of institution" // Çeviri lazim! #endif , [ActChgToSeeDocCtr] = @@ -15032,7 +15032,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change documents zone of center to view mode" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change documents zone of center to view mode" // Çeviri lazim! #endif , [ActSeeDocCtr] = @@ -15078,7 +15078,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder in documents zone of center" // Çeviri lazim! #endif , [ActConSeeDocCtr] = @@ -15101,7 +15101,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder in documents zone of center" // Çeviri lazim! #endif , [ActZIPSeeDocCtr] = @@ -15124,7 +15124,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder in documents zone of center" // Çeviri lazim! #endif , [ActReqDatSeeDocCtr] = @@ -15147,7 +15147,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in documents zone of center" // Çeviri lazim! #endif , [ActDowSeeDocCtr] = @@ -15170,7 +15170,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from documents zone of center" // Çeviri lazim! #endif , [ActChgToAdmDocCtr] = @@ -15193,7 +15193,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change documents zone of center to management mode" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change documents zone of center to management mode" // Çeviri lazim! #endif , [ActAdmDocCtr] = @@ -15239,7 +15239,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of file from documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of file from documents zone of center" // Çeviri lazim! #endif , [ActRemFilDocCtr] = @@ -15262,7 +15262,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove file from documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove file from documents zone of center" // Çeviri lazim! #endif , [ActRemFolDocCtr] = @@ -15285,7 +15285,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove empty folder documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove empty folder documents zone of center" // Çeviri lazim! #endif , [ActCopDocCtr] = @@ -15308,7 +15308,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Set source of copy in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Set source of copy in documents zone of center" // Çeviri lazim! #endif , [ActPasDocCtr] = @@ -15331,7 +15331,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Paste folder/file in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Paste folder/file in documents zone of center" // Çeviri lazim! #endif , [ActRemTreDocCtr] = @@ -15354,7 +15354,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove non-empty folder from documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove non-empty folder from documents zone of center" // Çeviri lazim! #endif , [ActFrmCreDocCtr] = @@ -15377,7 +15377,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit new folder/file/link in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit new folder/file/link in documents zone of center" // Çeviri lazim! #endif , [ActCreFolDocCtr] = @@ -15400,7 +15400,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new folder in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new folder in documents zone of center" // Çeviri lazim! #endif , [ActCreLnkDocCtr] = @@ -15423,7 +15423,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new link in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new link in documents zone of center" // Çeviri lazim! #endif , [ActRenFolDocCtr] = @@ -15446,7 +15446,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Rename folder in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Rename folder in documents zone of center" // Çeviri lazim! #endif , [ActRcvFilDocCtrDZ] = @@ -15469,7 +15469,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to documents zone of center using Dropzone.js" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to documents zone of center using Dropzone.js" // Çeviri lazim! #endif , [ActRcvFilDocCtrCla] = @@ -15492,7 +15492,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to documents zone of center using the classic way" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to documents zone of center using the classic way" // Çeviri lazim! #endif , [ActExpAdmDocCtr] = @@ -15515,7 +15515,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder when managing documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder when managing documents zone of center" // Çeviri lazim! #endif , [ActConAdmDocCtr] = @@ -15538,7 +15538,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder when managing documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder when managing documents zone of center" // Çeviri lazim! #endif , [ActZIPAdmDocCtr] = @@ -15561,7 +15561,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder when managing documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder when managing documents zone of center" // Çeviri lazim! #endif , [ActShoDocCtr] = @@ -15584,7 +15584,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Unhide folder/file of documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Unhide folder/file of documents zone of center" // Çeviri lazim! #endif , [ActHidDocCtr] = @@ -15607,7 +15607,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Hide folder/file of documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Hide folder/file of documents zone of center" // Çeviri lazim! #endif , [ActReqDatAdmDocCtr] = @@ -15630,7 +15630,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in documents zone of center" // Çeviri lazim! #endif , [ActChgDatAdmDocCtr] = @@ -15653,7 +15653,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change file metadata in documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change file metadata in documents zone of center" // Çeviri lazim! #endif , [ActDowAdmDocCtr] = @@ -15676,7 +15676,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from documents zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from documents zone of center" // Çeviri lazim! #endif , [ActReqRemFilShaCtr] = @@ -15699,7 +15699,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of shared file of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of shared file of center" // Çeviri lazim! #endif , [ActRemFilShaCtr] = @@ -15722,7 +15722,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove shared file of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove shared file of center" // Çeviri lazim! #endif , [ActRemFolShaCtr] = @@ -15745,7 +15745,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove empty folder from shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove empty folder from shared zone of center" // Çeviri lazim! #endif , [ActCopShaCtr] = @@ -15768,7 +15768,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Set source of copy in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Set source of copy in shared zone of center" // Çeviri lazim! #endif , [ActPasShaCtr] = @@ -15791,7 +15791,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Paste folder/file in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Paste folder/file in shared zone of center" // Çeviri lazim! #endif , [ActRemTreShaCtr] = @@ -15814,7 +15814,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove non-empty folder from shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove non-empty folder from shared zone of center" // Çeviri lazim! #endif , [ActFrmCreShaCtr] = @@ -15837,7 +15837,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit new folder/file/link in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit new folder/file/link in shared zone of center" // Çeviri lazim! #endif , [ActCreFolShaCtr] = @@ -15860,7 +15860,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new folder in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new folder in shared zone of center" // Çeviri lazim! #endif , [ActCreLnkShaCtr] = @@ -15883,7 +15883,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new link in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new link in shared zone of center" // Çeviri lazim! #endif , [ActRenFolShaCtr] = @@ -15906,7 +15906,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Rename folder in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Rename folder in shared zone of center" // Çeviri lazim! #endif , [ActRcvFilShaCtrDZ] = @@ -15929,7 +15929,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to shared zone of center using Dropzone.js" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to shared zone of center using Dropzone.js" // Çeviri lazim! #endif , [ActRcvFilShaCtrCla] = @@ -15952,7 +15952,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to shared zone of center using the classic way" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to shared zone of center using the classic way" // Çeviri lazim! #endif , [ActExpShaCtr] = @@ -15975,7 +15975,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder in shared zone of center" // Çeviri lazim! #endif , [ActConShaCtr] = @@ -15998,7 +15998,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder in shared zone of center" // Çeviri lazim! #endif , [ActZIPShaCtr] = @@ -16021,7 +16021,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder in shared zone of center" // Çeviri lazim! #endif , [ActReqDatShaCtr] = @@ -16044,7 +16044,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in shared zone of center" // Çeviri lazim! #endif , [ActChgDatShaCtr] = @@ -16067,7 +16067,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change file metadata in shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change file metadata in shared zone of center" // Çeviri lazim! #endif , [ActDowShaCtr] = @@ -16090,7 +16090,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from shared zone of center" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from shared zone of center" // Çeviri lazim! #endif , [ActChgToSeeDocDeg] = @@ -16113,7 +16113,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change documents zone of degree to view mode" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change documents zone of degree to view mode" // Çeviri lazim! #endif , [ActSeeDocDeg] = @@ -16159,7 +16159,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder in documents zone of degree" // Çeviri lazim! #endif , [ActConSeeDocDeg] = @@ -16182,7 +16182,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder in documents zone of degree" // Çeviri lazim! #endif , [ActZIPSeeDocDeg] = @@ -16205,7 +16205,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder in documents zone of degree" // Çeviri lazim! #endif , [ActReqDatSeeDocDeg] = @@ -16228,7 +16228,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in documents zone of degree" // Çeviri lazim! #endif , [ActDowSeeDocDeg] = @@ -16251,7 +16251,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from documents zone of degree" // Çeviri lazim! #endif , [ActChgToAdmDocDeg] = @@ -16274,7 +16274,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change documents zone of degree to management mode" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change documents zone of degree to management mode" // Çeviri lazim! #endif , [ActAdmDocDeg] = @@ -16320,7 +16320,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of file from documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of file from documents zone of degree" // Çeviri lazim! #endif , [ActRemFilDocDeg] = @@ -16343,7 +16343,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove file from documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove file from documents zone of degree" // Çeviri lazim! #endif , [ActRemFolDocDeg] = @@ -16366,7 +16366,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove empty folder from documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove empty folder from documents zone of degree" // Çeviri lazim! #endif , [ActCopDocDeg] = @@ -16389,7 +16389,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Set source of copy in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Set source of copy in documents zone of degree" // Çeviri lazim! #endif , [ActPasDocDeg] = @@ -16412,7 +16412,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Paste folder/file in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Paste folder/file in documents zone of degree" // Çeviri lazim! #endif , [ActRemTreDocDeg] = @@ -16435,7 +16435,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove non-empty folder from documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove non-empty folder from documents zone of degree" // Çeviri lazim! #endif , [ActFrmCreDocDeg] = @@ -16458,7 +16458,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit new folder/file/link in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit new folder/file/link in documents zone of degree" // Çeviri lazim! #endif , [ActCreFolDocDeg] = @@ -16481,7 +16481,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new folder in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new folder in documents zone of degree" // Çeviri lazim! #endif , [ActCreLnkDocDeg] = @@ -16504,7 +16504,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new link in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new link in documents zone of degree" // Çeviri lazim! #endif , [ActRenFolDocDeg] = @@ -16527,7 +16527,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Rename folder in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Rename folder in documents zone of degree" // Çeviri lazim! #endif , [ActRcvFilDocDegDZ] = @@ -16550,7 +16550,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to documents zone of degree using Dropzone.js" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to documents zone of degree using Dropzone.js" // Çeviri lazim! #endif , [ActRcvFilDocDegCla] = @@ -16573,7 +16573,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to documents zone of degree using the classic way" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to documents zone of degree using the classic way" // Çeviri lazim! #endif , [ActExpAdmDocDeg] = @@ -16596,7 +16596,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder when managing documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder when managing documents zone of degree" // Çeviri lazim! #endif , [ActConAdmDocDeg] = @@ -16619,7 +16619,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder when managing documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder when managing documents zone of degree" // Çeviri lazim! #endif , [ActZIPAdmDocDeg] = @@ -16642,7 +16642,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder when mamaging documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder when mamaging documents zone of degree" // Çeviri lazim! #endif , [ActShoDocDeg] = @@ -16665,7 +16665,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Unhide folder/file in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Unhide folder/file in documents zone of degree" // Çeviri lazim! #endif , [ActHidDocDeg] = @@ -16688,7 +16688,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Hide folder/file in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Hide folder/file in documents zone of degree" // Çeviri lazim! #endif , [ActReqDatAdmDocDeg] = @@ -16711,7 +16711,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in documents zone of degree" // Çeviri lazim! #endif , [ActChgDatAdmDocDeg] = @@ -16734,7 +16734,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change file metadata in documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change file metadata in documents zone of degree" // Çeviri lazim! #endif , [ActDowAdmDocDeg] = @@ -16757,7 +16757,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from documents zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from documents zone of degree" // Çeviri lazim! #endif , [ActReqRemFilShaDeg] = @@ -16780,7 +16780,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of file from shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of file from shared zone of degree" // Çeviri lazim! #endif , [ActRemFilShaDeg] = @@ -16803,7 +16803,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove shared file from shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove shared file from shared zone of degree" // Çeviri lazim! #endif , [ActRemFolShaDeg] = @@ -16826,7 +16826,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove empty folder from shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove empty folder from shared zone of degree" // Çeviri lazim! #endif , [ActCopShaDeg] = @@ -16849,7 +16849,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Set source of copy in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Set source of copy in shared zone of degree" // Çeviri lazim! #endif , [ActPasShaDeg] = @@ -16872,7 +16872,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Paste folder/file in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Paste folder/file in shared zone of degree" // Çeviri lazim! #endif , [ActRemTreShaDeg] = @@ -16895,7 +16895,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove non-empty folder from shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove non-empty folder from shared zone of degree" // Çeviri lazim! #endif , [ActFrmCreShaDeg] = @@ -16918,7 +16918,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit new folder/file/link in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit new folder/file/link in shared zone of degree" // Çeviri lazim! #endif , [ActCreFolShaDeg] = @@ -16941,7 +16941,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new folder in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new folder in shared zone of degree" // Çeviri lazim! #endif , [ActCreLnkShaDeg] = @@ -16964,7 +16964,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new link in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new link in shared zone of degree" // Çeviri lazim! #endif , [ActRenFolShaDeg] = @@ -16987,7 +16987,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Rename folder in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Rename folder in shared zone of degree" // Çeviri lazim! #endif , [ActRcvFilShaDegDZ] = @@ -17010,7 +17010,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to shared zone of degree using Dropzone.js" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to shared zone of degree using Dropzone.js" // Çeviri lazim! #endif , [ActRcvFilShaDegCla] = @@ -17033,7 +17033,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file in shared zone of degree using the classic way" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file in shared zone of degree using the classic way" // Çeviri lazim! #endif , [ActExpShaDeg] = @@ -17056,7 +17056,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder in shared zone of degree" // Çeviri lazim! #endif , [ActConShaDeg] = @@ -17079,7 +17079,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder in shared zone of degree" // Çeviri lazim! #endif , [ActZIPShaDeg] = @@ -17102,7 +17102,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder in shared zone of degree" // Çeviri lazim! #endif , [ActReqDatShaDeg] = @@ -17125,7 +17125,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in shared zone of degree" // Çeviri lazim! #endif , [ActChgDatShaDeg] = @@ -17148,7 +17148,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change file metadata in shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change file metadata in shared zone of degree" // Çeviri lazim! #endif , [ActDowShaDeg] = @@ -17171,7 +17171,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from shared zone of degree" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from shared zone of degree" // Çeviri lazim! #endif , [ActChgToSeeDocCrs] = @@ -17194,7 +17194,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change documents zone of course/group to view mode" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change documents zone of course/group to view mode" // Çeviri lazim! #endif , [ActSeeDocCrs] = @@ -17240,7 +17240,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder in documents zone of course" // Çeviri lazim! #endif , [ActConSeeDocCrs] = @@ -17263,7 +17263,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder in documents zone of course" // Çeviri lazim! #endif , [ActZIPSeeDocCrs] = @@ -17286,7 +17286,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder in documents zone of course" // Çeviri lazim! #endif , [ActReqDatSeeDocCrs] = @@ -17309,7 +17309,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in documents zone of course" // Çeviri lazim! #endif , [ActDowSeeDocCrs] = @@ -17332,7 +17332,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from documents zone of course" // Çeviri lazim! #endif , [ActSeeDocGrp] = @@ -17378,7 +17378,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder in documents zone of group" // Çeviri lazim! #endif , [ActConSeeDocGrp] = @@ -17401,7 +17401,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder in documents zone of group" // Çeviri lazim! #endif , [ActZIPSeeDocGrp] = @@ -17424,7 +17424,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder in documents zone of group" // Çeviri lazim! #endif , [ActReqDatSeeDocGrp] = @@ -17447,7 +17447,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in documents zone of group" // Çeviri lazim! #endif , [ActDowSeeDocGrp] = @@ -17470,7 +17470,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from documents zone of group" // Çeviri lazim! #endif , [ActChgToAdmDocCrs] = @@ -17493,7 +17493,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change documents zone of course/group to management mode" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change documents zone of course/group to management mode" // Çeviri lazim! #endif , [ActAdmDocCrs] = @@ -17539,7 +17539,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of file in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of file in documents zone of course" // Çeviri lazim! #endif , [ActRemFilDocCrs] = @@ -17562,7 +17562,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove file in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove file in documents zone of course" // Çeviri lazim! #endif , [ActRemFolDocCrs] = @@ -17585,7 +17585,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove empty folder from documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove empty folder from documents zone of course" // Çeviri lazim! #endif , [ActCopDocCrs] = @@ -17608,7 +17608,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Set source of copy in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Set source of copy in documents zone of course" // Çeviri lazim! #endif , [ActPasDocCrs] = @@ -17631,7 +17631,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Paste folder/file in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Paste folder/file in documents zone of course" // Çeviri lazim! #endif , [ActRemTreDocCrs] = @@ -17654,7 +17654,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove non-empty folder from documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove non-empty folder from documents zone of course" // Çeviri lazim! #endif , [ActFrmCreDocCrs] = @@ -17677,7 +17677,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit new folder/file/link in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit new folder/file/link in documents zone of course" // Çeviri lazim! #endif , [ActCreFolDocCrs] = @@ -17700,7 +17700,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new folder in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new folder in documents zone of course" // Çeviri lazim! #endif , [ActCreLnkDocCrs] = @@ -17723,7 +17723,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new link in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new link in documents zone of course" // Çeviri lazim! #endif , [ActRenFolDocCrs] = @@ -17746,7 +17746,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Rename folder in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Rename folder in documents zone of course" // Çeviri lazim! #endif , [ActRcvFilDocCrsDZ] = @@ -17769,7 +17769,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to documents zone of course using Dropzone.js" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to documents zone of course using Dropzone.js" // Çeviri lazim! #endif , [ActRcvFilDocCrsCla] = @@ -17792,7 +17792,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file in documents zone of course using the classic way" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file in documents zone of course using the classic way" // Çeviri lazim! #endif , [ActExpAdmDocCrs] = @@ -17815,7 +17815,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder when managing documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder when managing documents zone of course" // Çeviri lazim! #endif , [ActConAdmDocCrs] = @@ -17838,7 +17838,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder when managing documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder when managing documents zone of course" // Çeviri lazim! #endif , [ActZIPAdmDocCrs] = @@ -17861,7 +17861,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder when managing documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder when managing documents zone of course" // Çeviri lazim! #endif , [ActShoDocCrs] = @@ -17884,7 +17884,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Unhide folder/file in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Unhide folder/file in documents zone of course" // Çeviri lazim! #endif , [ActHidDocCrs] = @@ -17907,7 +17907,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Hide folder/file in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Hide folder/file in documents zone of course" // Çeviri lazim! #endif , [ActReqDatAdmDocCrs] = @@ -17930,7 +17930,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in documents zone of course" // Çeviri lazim! #endif , [ActChgDatAdmDocCrs] = @@ -17953,7 +17953,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change file metadata in documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change file metadata in documents zone of course" // Çeviri lazim! #endif , [ActDowAdmDocCrs] = @@ -17976,7 +17976,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from documents zone of course" // Çeviri lazim! #endif , [ActAdmDocGrp] = @@ -17999,7 +17999,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Manage documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Manage documents zone of group" // Çeviri lazim! #endif , [ActReqRemFilDocGrp] = @@ -18022,7 +18022,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of file from documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of file from documents zone of group" // Çeviri lazim! #endif , [ActRemFilDocGrp] = @@ -18045,7 +18045,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove file from documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove file from documents zone of group" // Çeviri lazim! #endif , [ActRemFolDocGrp] = @@ -18068,7 +18068,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove empty folder from documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove empty folder from documents zone of group" // Çeviri lazim! #endif , [ActCopDocGrp] = @@ -18091,7 +18091,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Set source of copy in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Set source of copy in documents zone of group" // Çeviri lazim! #endif , [ActPasDocGrp] = @@ -18114,7 +18114,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Paste folder/file in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Paste folder/file in documents zone of group" // Çeviri lazim! #endif , [ActRemTreDocGrp] = @@ -18137,7 +18137,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove non-empty folder from documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove non-empty folder from documents zone of group" // Çeviri lazim! #endif , [ActFrmCreDocGrp] = @@ -18160,7 +18160,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit new folder/file/link in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit new folder/file/link in documents zone of group" // Çeviri lazim! #endif , [ActCreFolDocGrp] = @@ -18183,7 +18183,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new folder in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new folder in documents zone of group" // Çeviri lazim! #endif , [ActCreLnkDocGrp] = @@ -18206,7 +18206,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new link in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new link in documents zone of group" // Çeviri lazim! #endif , [ActRenFolDocGrp] = @@ -18229,7 +18229,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Rename folder in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Rename folder in documents zone of group" // Çeviri lazim! #endif , [ActRcvFilDocGrpDZ] = @@ -18252,7 +18252,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to documents zone of group using Dropzone.js" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to documents zone of group using Dropzone.js" // Çeviri lazim! #endif , [ActRcvFilDocGrpCla] = @@ -18275,7 +18275,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to documents zone of group using the classic way" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to documents zone of group using the classic way" // Çeviri lazim! #endif , [ActExpAdmDocGrp] = @@ -18298,7 +18298,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder when managing documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder when managing documents zone of group" // Çeviri lazim! #endif , [ActConAdmDocGrp] = @@ -18321,7 +18321,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Contract folder when mamaging documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Contract folder when mamaging documents zone of group" // Çeviri lazim! #endif , [ActZIPAdmDocGrp] = @@ -18344,7 +18344,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Compress folder when managing documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Compress folder when managing documents zone of group" // Çeviri lazim! #endif , [ActShoDocGrp] = @@ -18367,7 +18367,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Unhide folder/file in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Unhide folder/file in documents zone of group" // Çeviri lazim! #endif , [ActHidDocGrp] = @@ -18390,7 +18390,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Hide folder/file in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Hide folder/file in documents zone of group" // Çeviri lazim! #endif , [ActReqDatAdmDocGrp] = @@ -18413,7 +18413,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "See file metadata in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See file metadata in documents zone of group" // Çeviri lazim! #endif , [ActChgDatAdmDocGrp] = @@ -18436,7 +18436,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change file metadata in documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change file metadata in documents zone of group" // Çeviri lazim! #endif , [ActDowAdmDocGrp] = @@ -18459,7 +18459,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Download file from documents zone of group" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Download file from documents zone of group" // Çeviri lazim! #endif , [ActChgToAdmTch] = @@ -18482,7 +18482,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Change teachers' documents zone of course/group to management mode" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Change teachers' documents zone of course/group to management mode" // Çeviri lazim! #endif , [ActAdmTchCrs] = @@ -18505,7 +18505,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Manage teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Manage teachers' documents zone of course" // Çeviri lazim! #endif , [ActReqRemFilTchCrs] = @@ -18528,7 +18528,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Request removal of file from teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Request removal of file from teachers' documents zone of course" // Çeviri lazim! #endif , [ActRemFilTchCrs] = @@ -18551,7 +18551,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove file from teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove file from teachers' documents zone of course" // Çeviri lazim! #endif , [ActRemFolTchCrs] = @@ -18574,7 +18574,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove empty folder from teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove empty folder from teachers' documents zone of course" // Çeviri lazim! #endif , [ActCopTchCrs] = @@ -18597,7 +18597,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Set source of copy in teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Set source of copy in teachers' documents zone of course" // Çeviri lazim! #endif , [ActPasTchCrs] = @@ -18620,7 +18620,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Paste folder/file in teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Paste folder/file in teachers' documents zone of course" // Çeviri lazim! #endif , [ActRemTreTchCrs] = @@ -18643,7 +18643,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Remove non-empty folder from teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Remove non-empty folder from teachers' documents zone of course" // Çeviri lazim! #endif , [ActFrmCreTchCrs] = @@ -18666,7 +18666,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Edit new folder/file/link in teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Edit new folder/file/link in teachers' documents zone of course" // Çeviri lazim! #endif , [ActCreFolTchCrs] = @@ -18689,7 +18689,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new folder in teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new folder in teachers' documents zone of course" // Çeviri lazim! #endif , [ActCreLnkTchCrs] = @@ -18712,7 +18712,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Create new link in teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Create new link in teachers' documents zone of course" // Çeviri lazim! #endif , [ActRenFolTchCrs] = @@ -18735,7 +18735,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Rename folder in teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Rename folder in teachers' documents zone of course" // Çeviri lazim! #endif , [ActRcvFilTchCrsDZ] = @@ -18758,7 +18758,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to teachers' documents zone of course using Dropzone.js" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to teachers' documents zone of course using Dropzone.js" // Çeviri lazim! #endif , [ActRcvFilTchCrsCla] = @@ -18781,7 +18781,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Send file to teachers' documents zone of course using the classic way" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Send file to teachers' documents zone of course using the classic way" // Çeviri lazim! #endif , [ActExpTchCrs] = @@ -18804,7 +18804,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==9 // pt "Expand folder in teachers' documents zone of course" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "Expand folder in teachers' documents zone of course" // Çeviri lazim! #endif , [ActConTchCrs] = @@ -31758,25 +31758,25 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = , [ActSeeUseGbl] = #if L==1 // ca - "See use of the platform" // Necessita traducció + "See platform usage statistics" // Necessita traducció #elif L==2 // de - "See use of the platform" // Need Übersetzung + "See platform usage statistics" // Need Übersetzung #elif L==3 // en - "See use of the platform" + "See platform usage statistics" #elif L==4 // es - "Ver uso de la plataforma" + "Ver estadística de uso de la plataforma" #elif L==5 // fr - "See use of the platform" // Besoin de traduction + "See platform usage statistics" // Besoin de traduction #elif L==6 // gn - "Ver uso de la plataforma" // Okoteve traducción + "Ver estadística de uso de la plataforma" // Okoteve traducción #elif L==7 // it - "See use of the platform" // Bisogno di traduzione + "See platform usage statistics" // Bisogno di traduzione #elif L==8 // pl - "See use of the platform" // Potrzebujesz tlumaczenie + "See platform usage statistics" // Potrzebujesz tlumaczenie #elif L==9 // pt - "See use of the platform" // Precisa de tradução + "See platform usage statistics" // Precisa de tradução #elif L==10 // tr - "" // Çeviri lazim! + "See platform usage statistics" // Çeviri lazim! #endif , [ActPrnPhoDeg] = diff --git a/swad_user.c b/swad_user.c index 2c5f462e..4d51cf1d 100644 --- a/swad_user.c +++ b/swad_user.c @@ -2093,13 +2093,10 @@ void Usr_ShowFormsLogoutAndRole (void) static void Usr_PutLinkToLogOut (__attribute__((unused)) void *Args) { - extern const char *Txt_Log_out; - - /***** Put form to log out *****/ Lay_PutContextualLinkOnlyIcon (ActLogOut,NULL, NULL,NULL, "sign-out-alt.svg",Ico_RED, - Txt_Log_out); + Act_GetActionText (ActLogOut)); } /*****************************************************************************/ @@ -5891,32 +5888,26 @@ static void Usr_PutIconToPrintTchs (void) static void Usr_PutIconToShowGstsAllData (void) { - extern const char *Txt_Show_all_data_in_a_table; - Lay_PutContextualLinkOnlyIcon (ActLstGstAll,NULL, Usr_ShowGstsAllDataParams,NULL, "table.svg",Ico_BLACK, - Txt_Show_all_data_in_a_table); + Act_GetActionText (ActLstGstAll)); } static void Usr_PutIconToShowStdsAllData (void) { - extern const char *Txt_Show_all_data_in_a_table; - Lay_PutContextualLinkOnlyIcon (ActLstStdAll,NULL, Usr_ShowStdsAllDataParams,NULL, "table.svg",Ico_BLACK, - Txt_Show_all_data_in_a_table); + Act_GetActionText (ActLstStdAll)); } static void Usr_PutIconToShowTchsAllData (void) { - extern const char *Txt_Show_all_data_in_a_table; - Lay_PutContextualLinkOnlyIcon (ActLstTchAll,NULL, Usr_ShowTchsAllDataParams,NULL, "table.svg",Ico_BLACK, - Txt_Show_all_data_in_a_table); + Act_GetActionText (ActLstTchAll)); } static void Usr_ShowGstsAllDataParams (__attribute__((unused)) void *Args)