using System;
using System.Collections.Generic;

using BS.Shared.Extensions;

namespace BS.Shared.Core
{
    public static class EnumTranslations
    {

        public static Dictionary<object, String> CalendarIntervalTranslations;

        public static Dictionary<object, String> FamilyStatusTranslations;

        public static Dictionary<object, String> PflegegradTranslations;

        public static Dictionary<object, String> ServiceRecordTimeIntervalTranslations;

        public static Dictionary<object, String> PersonTypeTranslations;

        public static Dictionary<SupportConceptApprovalInterval, String> SupportConceptApprovalInterval2Translations;

        public static Dictionary<AccountingIntervalType, String> AccountingInterval2Translations;

        public static Dictionary<AccountingvisibilityType, String> Accountingvisibility2Translations;

        public static Dictionary<UserRightType, String> UserRightType2Translations;

        public static Dictionary<ValueListEntryType, String> ValueListEntryType2Header;

        public static Dictionary<ValueListEntryType, String> ValueListEntryTypeTranslations;

        public static Dictionary<FileAttachmentType, String> FileAttachmentTypeTranslations;

		public static Dictionary<Auszahlungsintervall, String> AuszahlungsintervallTranslations;

	    public static Dictionary<Zahlungstyp, String> ZahlungstypTranslations;

        public static Dictionary<Behinderungsart, String> BehinderungsartTranslations;

        public static Dictionary<Merkzeichen, String> MerkzeichenTranslations;

	    public static Dictionary<Enum, String> AllTranslations;

        static EnumTranslations()
		{
			#region UserRightType2Translations
			UserRightType2Translations = new Dictionary<UserRightType, String>
                                         {
                                             {
                                                 UserRightType.AccountingTransactionView_Create, "Finanzen anlegen"
                                                 }, 
                                             {
                                                 UserRightType.AccountingTransactionView_Delete, "Finanzen löschen"
                                                 }, 
                                             {
                                                 UserRightType.AccountingTransactionView_Edit, "Finanzen ändern"
                                                 }, 
                                             {
                                                 UserRightType.AccountingTransactionView_View, "Finanzen ansehen"
                                                 }, 
                                             {
                                                 UserRightType.AdministrationView_Create, "Verwaltung anlegen"
                                                 }, 
                                             {
                                                 UserRightType.AdministrationView_Delete, "Verwaltung löschen"
                                                 }, 
                                             {
                                                 UserRightType.AdministrationView_Edit, "Verwaltung ändern"
                                                 }, 
                                             {
                                                 UserRightType.AdministrationView_View, "Verwaltung ansehen"
                                                 }, 
                                             {
                                                 UserRightType.CustomerView_Create, "Klienten anlegen"
                                                 }, 
                                             {
                                                 UserRightType.CustomerView_Delete, "Klienten löschen"
                                                 }, 
                                             {
                                                 UserRightType.Customer_AllowArchiving, "Klienten archivieren"
                                                 }, 
                                             {
                                                 UserRightType.CustomerView_Edit, "Klienten ändern"
                                                 }, 
                                             {
                                                 UserRightType.CustomerView_View, "Klienten ansehen (alle)"
                                                 }, 
                                             {
                                                 UserRightType.Customer_ViewMyCustomers, "Klienten ansehen (Nur vom Mitarbeiter betreute)"
                                                 }, 
                                             {
                                                 UserRightType.DeleteAll, "Alles löschen"
                                                 }, 
                                             {
                                                 UserRightType.EmployeeView_Create, "Mitarbeiter anlegen"
                                                 }, 
                                             {
                                                 UserRightType.EmployeeView_Delete, "Mitarbeiter löschen"
                                                 },
                                             {
                                                 UserRightType.WohnheimView_Create, "Wohnheime anlegen"
                                                 }, 
                                             {
                                                 UserRightType.WohnheimView_Delete, "Wohnheime löschen"
                                                 },
                                             {
                                                 UserRightType.WohnheimView_Edit, "Wohnheime bearbeiten"
                                                 },
                                             {
                                                 UserRightType.WohnheimView_View, "Wohnheime ansehen"
                                                 },
                                             {
                                                 UserRightType.Wohnheim_AllowArchiving, "Wohnheime archivieren"
                                                 },
                                             {
                                                 UserRightType.EmployeeView_Edit, "Mitarbeiter ändern"
                                                 }, 
                                             {
                                                 UserRightType.EmployeeView_View, "Mitarbeiter ansehen (alle)"
                                                 }, 
                                             {
                                                 UserRightType.Employee_ShowFinance, "Mitarbeiter alle Daten bearbeiten"
                                                 },
                                             {
                                                 UserRightType.Employee_AllowEditExtendedProperties, "Mitarbeiter erweiterte Felder bearbeiten"
                                                 },
                                             {
                                                 UserRightType.Employee_AllowEditContracts, "Mitarbeiter Verträge bearbeiten"
                                                 },
                                             {
                                                 UserRightType.Employee_AllowEditOwnEmployees, "Mitarbeiter bearbeiten (Eigenen) "
                                                 },
                                             {
                                                 UserRightType.OrganisationView_Create, "Organisationen anlegen"
                                                 }, 
                                             {
                                                 UserRightType.OrganisationView_Delete, "Organisationen löschen"
                                                 }, 
                                             {
                                                 UserRightType.OrganisationView_Edit, "Organisationen ändern"
                                                 }, 
                                             {
                                                 UserRightType.OrganisationView_View, "Organisationen ansehen"
                                                 }, 
											 {
                                                 UserRightType.Organisation_AllowArchiving, "Organisationen archivieren"
                                                 },
                                             {
                                                 UserRightType.OrganisationView_AllowEditCostBearer, "Organisationen Kostenträgerdetails bearbeiten"
                                                 }, 
                                             {
                                                 UserRightType.PersonView_Create, "Personen anlegen"
                                                 }, 
                                             {
                                                 UserRightType.PersonView_Delete, "Personen löschen"
                                                 }, 
                                             {
                                                 UserRightType.Person_AllowArchiving, "Personen archivieren"
                                                 }, 
                                             {
                                                 UserRightType.PersonView_Edit, "Personen ändern"
                                                 }, 
                                             {
                                                 UserRightType.PersonView_View, "Personen ansehen"
                                                 },
                                             {
                                                  UserRightType.GroupOfPeopleView_Edit, "Gruppen bearbeiten"
                                                 }, 
                                             {
                                                 UserRightType.GroupOfPeopleView_Create, "Gruppen anlegen"
                                                 }, 
                                             {
                                                 UserRightType.GroupOfPeopleView_Delete, "Gruppen löschen"
                                                 }, 
											 {
												 UserRightType.AdditionalService_View, "Ergänzende Dienste"
                                                 }, 
											 {
												 UserRightType.OvertimeView, "Überstundenverwaltung"
                                                 }, 
                                             {
                                                 UserRightType.QueryView_Create, "Auswertungen anlegen"
                                                 }, 
                                             {
                                                 UserRightType.QueryView_Delete, "Auswertungen löschen"
                                                 }, 
                                             {
                                                 UserRightType.QueryView_Edit, "Auswertungen ändern"
                                                 }, 
                                             {
                                                 UserRightType.QueryView_View, "Auswertungen ansehen"
                                                 }, 
                                             {
                                                 UserRightType.Analysis_Settlement_View, "Auswertungen Spitzabrechnung erstellen"
                                                 }, 
                                             {
                                                 UserRightType.Analysis_EmployeeOverviewAll_View, "Auswertungen für alle Mitarbeiter erstellen"
                                                 }, 
                                             {
                                                 UserRightType.Analysis_ServiceOverview_View, "Auswertungen Quittierungsbelege erstellen"
                                                 }, 
                                             {
                                                 UserRightType.Analysis_SupportConceptOverviewAll_View, "Auswertungen für alle Hilfepläne erstellen"
                                                 }, 
                                             {
                                                 UserRightType.Analysis_AllowFLSOverviewForCostbearer, "Auswertungen für Kostenträger erstellen"
                                                 },
                                             {
                                                 UserRightType.Analysis_AllowFLSOverviewForTeam, "Auswertungen für eigenes Team erstellen"
                                                 },
                                             {
                                                 UserRightType.Analysis_AllowFLSOverviewForAllTeams, "Auswertungen für alle Teams erstellen"
                                                 },
                                             {
                                                 UserRightType.Analysis_Auslastung_View, "Auswertung Mitarbeiterauslastung erstellen"
                                                 },
                                             {
                                                 UserRightType.Analysis_AuslastungAllEmployee_View, "Auswertung Mitarbeiterauslastung für alle Mitarbeiter erstellen"
                                                 },
                                             {
                                                 UserRightType.Analysis_AuslastungTeam_View, "Auswertung Mitarbeiterauslastung für alle Teams erstellen"
                                                 },
                                             {
                                                 UserRightType.ResourceBookingView_Create, "Ressourcen anlegen"
                                                 }, 
                                             {
                                                 UserRightType.ResourceBookingView_Delete, "Ressourcen löschen"
                                                 }, 
                                             {
                                                 UserRightType.ResourceBookingView_Edit, "Ressourcen ändern"
                                                 }, 
                                             {
                                                 UserRightType.ResourceBookingView_View, "Ressourcen ansehen"
                                                 }, 
                                             {
                                                 UserRightType.ResourceBookingView_AllowEditResourcesFromOtherEmployees, "Ressourcen anderer Mitarbeiter ändern"
                                                 }, 
                                             {
                                                 UserRightType.CreateAll, "Alles anlegen"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecordView_Create, "Zeiterfassung anlegen"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecordView_Delete, "Zeiterfassung löschen"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecordView_Edit, "Zeiterfassung ändern"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecordView_View, "Zeiterfassung ansehen"
                                                 }, 
                                             {
                                                 UserRightType.AssessmentSheet_Create, "Punktebogen anlegen"
                                                 }, 
                                             {
                                                 UserRightType.AssessmentSheet_Delete, "Punktebogen löschen"
                                                 }, 
                                             {
                                                 UserRightType.AssessmentSheet_Edit, "Punktebogen ändern"
                                                 }, 
                                             {
                                                 UserRightType.AssessmentSheet_View, "Punktebogen ansehen"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecord_AllowChangeWithin24Hours, "Zeiterfassung innerhalb von 24 Stunden ändern"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecord_AllowCreateServiceRecordsForAllClients, "Zeiterfassung für alle Klienten anlegen"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecord_AllowCreationForOtherEmployees, "Zeiterfassung für andere Mitarbeiter anlegen"
                                                 }, 
											 {
                                                 UserRightType.ServiceRecord_AllowEditForOtherEmployees, "Zeiterfassung für andere Mitarbeiter ändern"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecord_AllowCreationForOtherTeamMember, "Zeiterfassung für andere Team-Mitglieder anlegen"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecord_AllowEditAfterMaxDaysInNextMonth, "Zeiterfassung nach Ablauf der Frist im Folgemonat ändern"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecord_AllowCreateMoreFLSThanApproved, "Zeiterfassung nach Erreichen der genehmigten FLS anlegen"
                                                 }, 
											 {
                                                 UserRightType.ServiceRecord_ShowHistory, "Zeiterfassung Änderungshistorie anzeigen"
                                                 }, 
                                             {
                                                 UserRightType.ServiceRecord_AllowCreateOverlappingFLS, "Zeiterfassung bei Überschneidung mit anderen Einträgen eines Klienten anlegen"
                                                 }, 
                                             {
												 UserRightType.ServiceRecord_AllowCreateOverlappingFLSForEmployee, "Zeiterfassung bei Überschneidung mit anderen Einträgen eines Mitarbeiters anlegen"
                                                 }, 
											{
                                                 UserRightType.ServiceRecord_AllowCreatingGroupBooking, "Zeiterfassung Gruppenbuchung anlegen"
                                                 }, 
											{
                                                 UserRightType.ServiceRecord_AllowCreatingMultiBooking, "Zeiterfassung Mehrfachbuchung anlegen"
                                                 }, 
											{
                                                 UserRightType.SupportConceptView_Create, "Hilfepläne anlegen"
                                                 }, 
                                             {
                                                 UserRightType.SupportConceptView_Delete, "Hilfepläne löschen"
                                                 }, 
                                             {
                                                 UserRightType.SupportConceptView_AllowArchiving, "Hilfepläne archivieren"
                                                 }, 
                                             {
                                                 UserRightType.SupportConceptView_Edit, "Hilfepläne ändern"
                                                 }, 
                                             {
                                                 UserRightType.SupportConceptView_View, "Hilfepläne von betreuten Klienten ansehen"
                                                 },
											 {
                                                 UserRightType.SupportConcept_AllowEditGoals, "Hilfepläne Ziele bearbeiten"
                                                 },
											 {		
                                                 UserRightType.SupportConcept_AllowEditTasks, "Hilfepläne Aufgaben bearbeiten"
                                                 }, 
                                             {
                                                 UserRightType.SupportConcept_ViewAllSupportConcepts, "Hilfepläne ansehen (alle)"
                                                 }, 
                                             {
                                                 UserRightType.SupportConcept_AllowGoalOrientedSupportConcepts, "Hilfepläne zielorientiert planen"
                                                 }, 
                                             {
                                                 UserRightType.TeamView_Create, "Teams anlegen"
                                                 }, 
                                             {
                                                 UserRightType.TeamView_Delete, "Teams löschen"
                                                 }, 
                                             {
                                                 UserRightType.TeamView_Edit, "Teams ändern"
                                                 }, 
                                             {
                                                 UserRightType.TeamView_ViewAll, "Teams ansehen (alle)"
                                                 }, 
												 {
                                                 UserRightType.TeamView_ViewMyTeams, "Teams ansehen (nur eigene)"
                                                 }, 
                                             {
                                                 UserRightType.EditAll, "Alles ändern"
                                                 }, 
                                             {
                                                 UserRightType.UserGroupView_Create, "Benutzergruppen anlegen"
                                                 }, 
                                             {
                                                 UserRightType.UserGroupView_Delete, "Benutzergruppen löschen"
                                                 }, 
                                             {
                                                 UserRightType.UserGroupView_Edit, "Benutzergruppen ändern"
                                                 }, 
                                             {
                                                 UserRightType.UserGroupView_View, "Benutzergruppen ansehen"
                                                 }, 
                                             {
                                                 UserRightType.UserView_Create, "Benutzer anlegen"
                                                 }, 
                                             {
                                                 UserRightType.UserView_Delete, "Benutzer löschen"
                                                 }, 
                                             {
                                                 UserRightType.UserView_Edit, "Benutzer ändern"
                                                 }, 
                                             {
                                                 UserRightType.UserView_View, "Benutzer ansehen"
                                                 }, 
                                             {
                                                 UserRightType.UserView_AllowChangePassword, "Benutzerpasswort anderer Benutzer ändern"
                                                 }, 
											 {
                                                 UserRightType.AllowChangeOwnPassword, "Eigenes Passwort ändern"
                                                 }, 
                                             {
                                                 UserRightType.ViewAll, "Alles ansehen"
                                                 },
                                             {
                                                 UserRightType.BookServiceRecordAfterSettlementInvoice, "Zeiterfassung anlegen wenn bereits eine Spitzabrechnung erstellt wurde"
                                                },
                                             {
                                                 UserRightType.BookServiceRecordOutOfSupportConcept, "Zeiterfassung außerhalb des Hilfeplanzeitraums anlegen"
                                                },
											{
                                                 UserRightType.Employee_AllowArchiving, "Mitarbeiter archivieren"
                                                },
											{
                                                 UserRightType.User_AllowOrderLicense, "Neue Lizenzen bestellen"
                                                },
											{
                                                 UserRightType.Mitarbeiterstundenkonto_ViewAll, "Mitarbeiterstundenkonto (Gesamt)"
                                                },
											{
                                                 UserRightType.Mitarbeiterstundenkonto_ViewSelf, "Mitarbeiterstundenkonto (nur eigenes)"
                                                },
											{
                                                 UserRightType.Support_View, "Supportanfragen absenden"
                                                },
	                                        {
		                                         UserRightType.KalenderAnsehen, "Kalender ansehen"
												},
	                                        {
		                                         UserRightType.KalenderMitarbeitertermineAnsehen, "Termine anderer Mitarbeiter ansehen"
												},
	                                        {
		                                         UserRightType.KalenderMitarbeitertermineAnlegen, "Termine anderer Mitarbeiter anlegen"
												},
	                                        {
		                                         UserRightType.KalenderMitarbeitertermineAendern, "Termine anderer Mitarbeiter ändern"
												},
	                                        {
		                                         UserRightType.KalenderKliententermineAlleAnsehen, "Termine aller Klienten ansehen"
												},
	                                        {
		                                         UserRightType.KalenderKliententermineAnlegen, "Termine mit Klienten anlegen"
												},
	                                        {
		                                         UserRightType.KalenderKliententermineAendern, "Termine mit Klienten ändern"
												},
	                                        {
		                                         UserRightType.KalenderRessourcentermineAnsehen, "Termine mit Ressourcen ansehen"
												},
	                                        {
		                                         UserRightType.KalenderRessourcentermineAnlegen, "Termine mit Ressourcen anlegen"
												},
	                                        {
		                                         UserRightType.KalenderRessourcentermineAendern, "Termine mit Ressourcen ändern"
												},
	                                        {
		                                         UserRightType.KalenderRessourcentermineAndererAendern, "Termine mit Ressourcen anderer Mitarbeiter ändern"
												},
                                            {
                                                 UserRightType.TextbausteineAlleAnsehen, "Textbausteine ansehen (allgemeine)"
                                                },
                                            {
                                                 UserRightType.TextbausteineNurEigeneAnsehen, "Textbausteine ansehen (eigene)"
                                                },
                                            {
                                                 UserRightType.TextbausteineAlleBearbeiten, "Textbausteine bearbeiten (allgemeine)"
                                                },
                                            {
                                                 UserRightType.TextbausteineNurEigeneBearbeiten, "Textbausteine bearbeiten (eigene)"
                                                },
                                            //{
                                            //     UserRightType.TextbausteineAlleAnlegen, "Textbausteine für alle Mitarbeiter anlegen"
                                            //    },
                                            //{
                                            //     UserRightType.TextbausteineNurEigeneAnlegen, "Nur eigene Textbausteine anlegen"
                                            //    },
	                                         {
		                                         UserRightType.BargeldverwaltungAnsehen, "Bargeldverwaltung aller Klienten ansehen"
	                                         },
											 {
		                                         UserRightType.BargeldverwaltungNurEigeneAnsehen, "Bargeldverwaltung der eigenen Klienten ansehen"
	                                         },
											 {
		                                         UserRightType.BargeldverwaltungAnlegen, "Bargeldverwaltung anlegen"
	                                         },
											 {
		                                         UserRightType.BargeldverwaltungBearbeiten, "Bargeldverwaltung bearbeiten"
	                                         },
                                             {
		                                         UserRightType.BargeldverwaltungLoeschen, "Bargeldverwaltung löschen"
	                                         },
											 {
		                                         UserRightType.SupportConceptAllowReactivation, "Hilfepläne reaktivieren"
	                                         },
											 {
		                                         UserRightType.CustomerAllowReactivation, "Klienten reaktivieren"
	                                         },
											 {
		                                         UserRightType.OrganisationAllowReactivation, "Organisationen reaktivieren"
	                                         },
											 {
		                                         UserRightType.PersonAllowReactivation, "Personen reaktivieren"
	                                         },
	                                         {
		                                         UserRightType.ServiceRecordAllowRebooking, "Zeiterfassung umbuchen"
	                                         },
	                                         {
		                                         UserRightType.CostbearerAllowChange, "Hilfepläne Kostenträger tauschen"
	                                         },
	                                         {
		                                         UserRightType.DocumentsAllowViewAll, "Dokumente bearbeiten (alle)"
	                                         },
											 {
		                                         UserRightType.ServiceRecordAllowEditAfterMindays, "Zeiterfassung Einträge nach Ablauf der Eingabefrist bearbeiten"
	                                         },
                                             {
                                                 UserRightType.Betreuungsschluessel_View, "Betreuer bei Hilfeplänen ansehen"
                                             },
                                             {
                                                 UserRightType.Betreuungsschluessel_Create, "Betreuer bei Hilfeplänen anlegen"
                                             },
                                             {
                                                 UserRightType.Betreuungsschluessel_Edit, "Betreuer bei Hilfeplänen bearbeiten"
                                             },
                                             {
                                                 UserRightType.Betreuungsschluessel_Delete, "Betreuer bei Hilfeplänen löschen"
                                             },
                                             {
                                                 UserRightType.Jahresbericht, "Jahresbericht"
                                             },
                                             {
                                                 UserRightType.DokumenteFinanzen, "Dokumente für Finanzen"
                                             },
											 {
		                                         UserRightType.DokumenteHilfeplaene, "Dokumente für Hilfepläne"
	                                         },
											 {
		                                         UserRightType.DokumenteKlienten, "Dokumente für Klienten"
	                                         },
											 {
		                                         UserRightType.DokumenteMitarbeiter, "Dokumente für Mitarbeiter"
	                                         },
											 {
		                                         UserRightType.DokumenteOrganisationen, "Dokumente für Organisationen"
	                                         },
											 {
		                                         UserRightType.DokumentePersonen, "Dokumente für Personen"
	                                         },
											 {
		                                         UserRightType.DokumenteTeams, "Dokumente für Teams"
	                                         },
                                             {
                                                 UserRightType.BargeldverwaltungFinanzenAnsehen, "Bargeldverwaltung unter Finanzen ansehen"
                                             },
                                             {
                                                 UserRightType.BargeldverwaltungFinanzenAnlegen, "Bargeldverwaltung unter Finanzen anlegen"
                                             },
                                             {
                                                 UserRightType.BargeldverwaltungFinanzenBearbeiten, "Bargeldverwaltung unter Finanzen bearbeiten"
                                             },
                                             {
                                                 UserRightType.BargeldverwaltungFinanzenLoeschen, "Bargeldverwaltung unter Finanzen löschen"
                                             },
                                             {
                                                 UserRightType.MedRecordsAnsehen, "Bedarfsmedikation ansehen"
                                             },
                                             {
                                                 UserRightType.MedRecordsAnlegen, "Bedarfsmedikation anlegen"
                                             },
                                             {
                                                 UserRightType.MedRecordsAendern, "Bedarfsmedikation bearbeiten"
                                             },
                                             {
                                                 UserRightType.MedRecordsLoeschen, "Bedarfsmedikation löschen"
                                             }, 
                                             {
                                                 UserRightType.ChatSettings, "Chat Einstellungen"
                                             }

                                         };
			#endregion
		 
			#region FamilyStatusTranslations
			FamilyStatusTranslations = new Dictionary<object, String>
	        {
		        {
			        FamilyStatus.Single, "ledig"
		        },
		        {
			        FamilyStatus.Married, "verheiratet"
		        },
		        {
			        FamilyStatus.PartnerDivorced, "getrennt lebend"
		        },
		        {
			        FamilyStatus.Divorced, "geschieden"
		        },
		        {
			        FamilyStatus.Widowed, "verwitwet"
		        },
		        {
			        FamilyStatus.Partner, "in Partnerschaft"
		        },
		        {
			        FamilyStatus.PartnerMarried, "verpartnert"
		        },
		        {
			        FamilyStatus.Entpartnert, "entpartnert"
		        },
		        {
			        FamilyStatus.PartnerDead, "partnerhinterblieben"
		        },

	        };
			#endregion

            #region PflegegradTranslations
            PflegegradTranslations = new Dictionary<object, String>
	        {
		        {
			        Pflegegrad.Grad1, "Pflegegrad 1"
		        },
		         {
			        Pflegegrad.Grad2, "Pflegegrad 2"
		        },
                 {
			        Pflegegrad.Grad3, "Pflegegrad 3"
		        },
                 {
			        Pflegegrad.Grad4, "Pflegegrad 4"
		        },
                 {
			        Pflegegrad.Grad5, "Pflegegrad 5"
		        }

	        };
            #endregion

			#region ServiceRecordTimeIntervalTranslations
			ServiceRecordTimeIntervalTranslations = new Dictionary<object, String>
                                       {
                                           {
                                               ServiceRecordTimeInterval.LastWeek, "Letzten 7 Tage"
                                           }, 
                                           {
                                               ServiceRecordTimeInterval.LastMonth, "Letzten 30 Tage"
                                           }, 
                                           {
                                               ServiceRecordTimeInterval.Last3Month, "Letzten 90 Tage"
                                           }, 
                                           {
                                               ServiceRecordTimeInterval.All, "Alle"
                                           }
										   //,
										   //{
										   //	ServiceRecordTimeInterval.LastNDays, "Letzten N Tage"
										   //}
                                       };
			#endregion

			#region PersonTypeTranslations
			PersonTypeTranslations = new Dictionary<object, String>
                                     {
                                         {
                                             PersonType.Employee, "Mitarbeiter"
                                             }, 
                                         {
                                             PersonType.Customer, "Klient"
                                             }, 
                                         {
                                             PersonType.Others, "Umfeld"
                                             }
                                     };
			#endregion

			#region CalendarIntervalTranslations
			CalendarIntervalTranslations = new Dictionary<object, String>
                                           {
                                               {
                                                   Interval.QuaterHour, "viertelstündliche"
                                                   }, 
                                               {
                                                   Interval.HalfHour, "halbstündliche"
                                                   }, 
                                               {
                                                   Interval.Hour, "stündliche"
                                                   }
                                           };
			#endregion

			#region ValueListEntryTypeTranslations
			ValueListEntryTypeTranslations = new Dictionary<ValueListEntryType, String>
                                             {
                                                 {
                                                     ValueListEntryType.AccountingTransactionType, "Finanzbuchungen"
                                                     }, 
                                                 {
                                                     ValueListEntryType.DisabilityType, "Behinderungen"
                                                     }, 
                                                 {
                                                     ValueListEntryType.EmploymentType, "Beschäftigungsarten"
                                                     }, 
                                                 {
                                                     ValueListEntryType.CustomerCareType, "Betreuungsarten"
                                                     }, 
                                                 {
                                                     ValueListEntryType.TerminationReasonType, "Gründe für Beendigung der Betreuung"
                                                     }, 
                                                 {
                                                     ValueListEntryType.PlacementObjectiveType, "Vermittlung"
                                                     }, 
                                                 {
                                                     ValueListEntryType.StaffActivityFocusType, "Arbeitsschwerpunkte"
                                                     }, 
                                                 {
                                                     ValueListEntryType.StaffQualificationsType, "Mitarbeiterabschlüsse"
                                                     }, 
                                                 {
                                                     ValueListEntryType.StaffRoleType, "Rollen"
                                                     }, 
                                                 {
                                                     ValueListEntryType.ResourceCategory, "Ressourcenkategorien"
                                                     }, 
                                                 {
                                                     ValueListEntryType.TitleType, "Titel"
                                                     }, 
                                                 {
                                                     ValueListEntryType.FunctionType, "Funktionen"
                                                     }, 
                                                 {
                                                     ValueListEntryType.SupportConceptGoalCategoryType, "Grundsatzziele"
                                                     }, 
                                                 {
                                                     ValueListEntryType.SupportConceptGoalType, "Ergebnisziele"
                                                     }, 
                                                 {
                                                     ValueListEntryType.EnvironmentPersonType, "Rollen des Umfeldes (Personen)"
                                                     },
                                                 {
                                                     ValueListEntryType.EnvironmentOrganisationType, "Rollen des Umfeldes (Organisationen)"
                                                     },
                                                 {
                                                     ValueListEntryType.DocumentType, "Dokumentationstypen"
                                                     }
                                             };
			#endregion

			#region ValueListEntryType2Header
			ValueListEntryType2Header = new Dictionary<ValueListEntryType, String>
                                        {
                                            {
                                                ValueListEntryType.AccountingTransactionType, "Kategorien von Finanzbuchungen"
                                                }, 
                                            {
                                                ValueListEntryType.DisabilityType, "Arten von möglichen Behinderungen"
                                                }, 
                                            {
                                                ValueListEntryType.EmploymentType, "Arten von möglichen Beschäftigungen"
                                                }, 
                                            {
                                                ValueListEntryType.CustomerCareType, "Betreuungsarten"
                                                }, 
                                            {
                                                ValueListEntryType.TerminationReasonType, "Gründe für Beendigung der Betreuung"
                                                }, 
                                            {
                                                ValueListEntryType.PlacementObjectiveType, "Vermittlung"
                                                }, 
                                            {
                                                ValueListEntryType.StaffActivityFocusType, "Arbeitsschwerpunkte des Personals"
                                                }, 
                                            {
                                                ValueListEntryType.StaffQualificationsType, "Mitarbeiterabschlüsse"
                                                }, 
                                            {
                                                ValueListEntryType.StaffRoleType, "Rollen der Mitarbeiter"
                                                }, 
                                            {
                                                ValueListEntryType.ResourceCategory, "Kategorien von Ressourcen"
                                                }, 
                                            {
                                                ValueListEntryType.TitleType, "Titel"
                                                }, 
                                            {
                                                ValueListEntryType.FunctionType, "Funktionen"
                                                }, 
                                            {
                                                ValueListEntryType.SupportConceptGoalCategoryType, "Grundsatzziele"
                                                }, 
                                            {
                                                ValueListEntryType.SupportConceptGoalType, "Ergebnisziele"
                                                }, 
                                                {
                                                ValueListEntryType.SupportConceptIndividualGoalType, "Individuelle Ziele"
                                                }, 
                                            {
                                                    ValueListEntryType.EnvironmentPersonType, "Rollen des Umfeldes (Personen)"
                                                    },
                                                {
                                                    ValueListEntryType.EnvironmentOrganisationType, "Rollen des Umfeldes (Organisationen)"
                                                    },
                                                {
                                                     ValueListEntryType.DocumentType, "Dokumentationstypen"
                                                     }
                                        };
			#endregion

			#region SupportConceptApprovalInterval2Translations
			SupportConceptApprovalInterval2Translations = new Dictionary<SupportConceptApprovalInterval, String>
                                                          { 
                                                              {
                                                                  SupportConceptApprovalInterval.Daily, "Tag"
                                                                  }, 
                                                              {
                                                                  SupportConceptApprovalInterval.Weekly, "Woche"
                                                                  }, 
                                                              {
                                                                  SupportConceptApprovalInterval.Fortnightly, "2 Wochen"
                                                                  }, 
                                                              {
                                                                  SupportConceptApprovalInterval.Monthly, "Monat"
                                                                  }, 
                                                              {
                                                                  SupportConceptApprovalInterval.Quarterly, "Quartal"
                                                                  }, 
                                                              {
                                                                  SupportConceptApprovalInterval.HalfYearly, "6 Monate"
                                                                  }, 
                                                              {
                                                                  SupportConceptApprovalInterval.Yearly, "Jahr"
                                                                  }
                                                          };
			#endregion

			#region AccountingInterval2Translations
			AccountingInterval2Translations = new Dictionary<AccountingIntervalType, String>
                                                          { 
                                                              {
                                                                  AccountingIntervalType.Hourly, "Stunde"
                                                                  }, 
                                                              {
                                                                  AccountingIntervalType.Daily, "Tag"
                                                                  }, 
                                                              {
                                                                  AccountingIntervalType.Weekly, "Woche"
                                                                  }, 
                                                              {
                                                                  AccountingIntervalType.Fortnightly, "2 Wochen"
                                                                  }, 
                                                              {
                                                                  AccountingIntervalType.Monthly, "Monat"
                                                                  }, 
                                                              {
                                                                  AccountingIntervalType.Quarterly, "Quartal"
                                                                  }, 
                                                              {
                                                                  AccountingIntervalType.HalfYearly, "6 Monate"
                                                                  }, 
                                                              {
                                                                  AccountingIntervalType.Yearly, "Jahr"
                                                                  },
                                                              {
                                                                  AccountingIntervalType.FlatRate, "Pauschal"
                                                                  }
                                                          };
			#endregion

            #region AccountingVisibility2Translations
            Accountingvisibility2Translations = new Dictionary<AccountingvisibilityType, String>
                                                        {
                                                            {
                                                                  AccountingvisibilityType.Beides, "Immer"
                                                                  }, 
                                                              {
                                                                  AccountingvisibilityType.NurKlientenbezogen, "Nur klientenbezogen"
                                                                  }, 
                                                              {
                                                                  AccountingvisibilityType.NichtKlientenbezogen, "Nicht klientenbezogen"
                                                                  },
                                                        };
            #endregion

            #region FileAttachmentTypeTranslations
            FileAttachmentTypeTranslations = new Dictionary<FileAttachmentType, String>
                {
                    {
                        FileAttachmentType.CustomerTemplate, "Klientenvorlage"
                        },
                    {
                        FileAttachmentType.NotSpecified, "Keine Angabe"
                        },
                    {
                        FileAttachmentType.PersonTemplate, "Personenvorlage"
                        },
                    {
                        FileAttachmentType.OrganisationTemplate, "Organisationsvorlage"
                        },
                    {
                        FileAttachmentType.SupportConceptTemplate, "Hilfeplanvorlage"
                        },
                    {
                        FileAttachmentType.SupportConceptDocument, "Hilfeplandokument"
                        }
                };
			#endregion

			#region AuszahlungsintervallTranslations
			AuszahlungsintervallTranslations = new Dictionary<Auszahlungsintervall, String>
	        {
		        {
			        Auszahlungsintervall.Kein, "Kein"
		        },
		        {
			        Auszahlungsintervall.Monatlich, "Monatlich"
		        },
		        {
			        Auszahlungsintervall.Taeglich, "Täglich"
		        },
		        {
			        Auszahlungsintervall.Woechentlich, "Wöchentlich"
		        }
	        };
			#endregion

			#region ZahlungstypTranslations
			ZahlungstypTranslations = new Dictionary<Zahlungstyp, String>
	        {
		        {
			        Zahlungstyp.Einzahlung, "Einzahlung"
		        },
		        {
			        Zahlungstyp.Auszahlung, "Auszahlung"
		        }
	        };
			#endregion

            #region BehindertenartTranslations
            BehinderungsartTranslations = new Dictionary<Behinderungsart, String>
            {
                {Behinderungsart.Blindheit,              "Blindheit"},
                {Behinderungsart.Epilepsie,              "Epilepsie"},
                {Behinderungsart.Gehoerlosigkeit,        "Gehörlosigkeit"},
                {Behinderungsart.GeistigeBehinderung,    "Geistige Behinderung"},
                {Behinderungsart.Hoerbehinderung,        "Hörbehinderung"},
                {Behinderungsart.InnereErkrankungen,     "Innere Erkrankungen"},
                {Behinderungsart.Koerperbehinderung,     "Körperbehinderung"},
                {Behinderungsart.Lernbehinderung,        "Lernbehinderung"},
                {Behinderungsart.PsychischeErkrankungen, "Psychische Erkrankungen"},
                {Behinderungsart.Sehbehinderung,         "Sehbehinderung"},
                {Behinderungsart.Suchtkrankheiten,       "Suchtkrankheiten"}
            };
            #endregion

            #region MerkzeichenTranslations
            MerkzeichenTranslations = new Dictionary<Merkzeichen, String>
            {
                {Merkzeichen.aG, "aG"},
                {Merkzeichen.B, "B"},
                {Merkzeichen.Bl, "Bl"},
                {Merkzeichen.G, "G"},
                {Merkzeichen.H, "H"},
                {Merkzeichen.Kl1, "1. Kl."},
                {Merkzeichen.RF, "RF"},
                {Merkzeichen.Gl, "Gl"},
            };

            #endregion

            AllTranslations = new Dictionary<Enum, String>();
			ZahlungstypTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
			AuszahlungsintervallTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
			FileAttachmentTypeTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
			ValueListEntryTypeTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
			ValueListEntryType2Header.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
			UserRightType2Translations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
			AccountingInterval2Translations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
            Accountingvisibility2Translations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
			SupportConceptApprovalInterval2Translations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
			PersonTypeTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates((PersonType)p.Key, p.Value));
			ServiceRecordTimeIntervalTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates((ServiceRecordTimeInterval)p.Key, p.Value));
			FamilyStatusTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates((FamilyStatus)p.Key, p.Value));
            PflegegradTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates((Pflegegrad)p.Key, p.Value));
			CalendarIntervalTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates((Interval)p.Key, p.Value));
            BehinderungsartTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
            MerkzeichenTranslations.DoForEach(p => AllTranslations.AddAndIgnoreDuplicates(p.Key, p.Value));
		}
    }
}