예제 #1
0
        public string AddTranslation(ServerInterfaces.IBase baseObject, string key, string value, bool skipIfSame)
        {
            var leaf            = baseObject.GetNavigationLeaf();
            var originalKey     = key;
            var translations    = this.LanguageTranslationsGroups.AddToDictionaryIfNotExist(leaf, new LanguageTranslations());
            var allTranslations = this.LanguageTranslationsGroups.Values.SelectMany(g => g).ToDictionary(g => g.Key, g => g.Value);
            var x = 1;

            if (allTranslations.ContainsKey(key) && skipIfSame)
            {
                var existingValue = allTranslations[key];

                if (existingValue == value)
                {
                    return(key);
                }
            }

            while (allTranslations.ContainsKey(key))
            {
                key = string.Format("{0}_{1}", originalKey, x++);
            }

            translations.Add(key, value);

            return(key);
        }
예제 #2
0
        public string AddTranslation(ServerInterfaces.IBase baseObject, string key, string value, bool skipIfSame)
        {
            var culture    = CultureInfo.CurrentCulture;
            var dictionary = this.LanguageSpecificDictionaries.AddToDictionaryIfNotExist(culture.TwoLetterISOLanguageName);

            dictionary.LanguageCode = culture.TwoLetterISOLanguageName;

            return(dictionary.AddTranslation(baseObject, key, value, skipIfSame));
        }