コード例 #1
0
        public void EditLocale(string param)
        {
            if (!CanEditLocale(param))
            {
                return;
            }
            string key = string.IsNullOrEmpty(Text) ? UniqueName : Text;

            switch (param)
            {
            case "VisibleName":
                LocalizatorViewModel vm      = new ViewModelLocator().Localizator;
                LocalisationModel    locales = new ViewModelLocator().Main.Project.DefaultLocale;
                LocaleModel          model   = locales.LocalisationMap.FirstOrDefault(
                    l => l.Key == key);
                if (model != null)
                {
                    vm.Locale = model;
                }
                else
                {
                    vm.Locale = new LocaleModel
                    {
                        Key   = key,
                        Value = VisibleName
                    };
                }
                vm.AddOrUpdateCommand = AddOrUpdateLocale;
                vm.RaisePropertyChanged(() => vm.Locale);
                break;

            case "Description":
                vm      = new ViewModelLocator().Localizator;
                locales = new ViewModelLocator().Main.Project.DefaultLocale;
                model   = locales.LocalisationMap.FirstOrDefault(
                    l => l.Key == key + "_desc");
                if (model != null)
                {
                    vm.Locale = model;
                }
                else
                {
                    vm.Locale = new LocaleModel
                    {
                        Key   = key + "_desc",
                        Value = Description
                    };
                }
                vm.AddOrUpdateCommand = AddOrUpdateLocale;
                vm.RaisePropertyChanged(() => vm.Locale);
                break;
            }
        }
コード例 #2
0
        public void EditLocale(string param)
        {
            if (!CanEditLocale(param))
            {
                return;
            }
            switch (param)
            {
            case "Title":
                LocalizatorViewModel vm      = new ViewModelLocator().Localizator;
                LocalisationModel    locales = new ViewModelLocator().Main.Project.DefaultLocale;
                LocaleModel          model   = locales.LocalisationMap.FirstOrDefault(
                    l => l.Key == Id + ".t");
                if (model != null)
                {
                    vm.Locale = model;
                }
                else
                {
                    vm.Locale = new LocaleModel
                    {
                        Key   = Id + ".t",
                        Value = Title
                    };
                }
                vm.AddOrUpdateCommand = AddOrUpdateLocale;
                vm.RaisePropertyChanged(() => vm.Locale);
                break;

            case "Description":
                vm      = new ViewModelLocator().Localizator;
                locales = new ViewModelLocator().Main.Project.DefaultLocale;
                model   = locales.LocalisationMap.FirstOrDefault(
                    l => l.Key == Id + ".d");
                if (model != null)
                {
                    vm.Locale = model;
                }
                else
                {
                    vm.Locale = new LocaleModel
                    {
                        Key   = Id + ".d",
                        Value = Description
                    };
                }
                vm.AddOrUpdateCommand = AddOrUpdateLocale;
                vm.RaisePropertyChanged(() => vm.Locale);
                break;
            }
        }
コード例 #3
0
        public void AddOrUpdateLocale()
        {
            LocalizatorViewModel vm      = new ViewModelLocator().Localizator;
            LocalisationModel    locales = new ViewModelLocator().Main.Project.DefaultLocale;
            LocaleModel          model   = locales.LocalisationMap.FirstOrDefault(
                l => l.Key == vm.Locale.Key);

            if (model == null)
            {
                locales.LocalisationMap.Add(vm.Locale);
            }
            locales.RaisePropertyChanged(() => locales.LocalisationMap);
            RaisePropertyChanged(() => Title);
            RaisePropertyChanged(() => Description);
        }