예제 #1
0
        /// <summary>
        /// Lookup a dictionary item for the given language.
        /// </summary>
        /// <param name="item"></param>
        /// <param name="language"></param>
        /// <returns></returns>
        public static string DictionaryItem(string item, string language)
        {
            // Avoid casing issues with lookup.
            language = language.ToLower();

            string translation;

            try
            {
                var languageId = _languageIds[language];

                var dictionaryItem = new umbraco.cms.businesslogic.Dictionary.DictionaryItem(item);
                translation = dictionaryItem.Value(languageId);
                if (string.IsNullOrEmpty(translation) && language != Languages.English)
                {
                    // Default to English.
                    var englishLanguageId = _languageIds[Languages.English];
                    translation = dictionaryItem.Value(englishLanguageId);
                }

                if (string.IsNullOrEmpty(translation))
                {
                    // Not avaialable in English either.
                    // Display the dictionary item that needs updating.
                    translation = item;
                }
            }
            catch (Exception)
            {
                translation = string.Empty;
            }
            return(translation);
        }
예제 #2
0
 public static string GetDictionaryItem(string item)
 {
     string translation;
     try
     {
         //TODO: not sure why the default language isn't working - why having to hardcode it to 2?
          translation = new umbraco.cms.businesslogic.Dictionary.DictionaryItem(item).Value(2);
     }
     catch (Exception)
     {
         translation = string.Empty;
     }
     return translation;
 }
예제 #3
0
        private static void AddDictionaryItemIfNotExist(string key, string defaultText)
        {
            if (umbraco.cms.businesslogic.Dictionary.DictionaryItem.hasKey(key))
                return;
            if (!umbraco.cms.businesslogic.Dictionary.DictionaryItem.hasKey("CWS"))
                umbraco.cms.businesslogic.Dictionary.DictionaryItem.addKey("CWS", "");
            int dictionaryID = umbraco.cms.businesslogic.Dictionary.DictionaryItem.addKey(key, defaultText,"CWS");

            var dictionaryItem = new umbraco.cms.businesslogic.Dictionary.DictionaryItem(dictionaryID);
            var test = dictionaryItem.Value();
            foreach (Language l in Language.GetAllAsList())
                dictionaryItem.setValue(l.id,
                                        l.CultureAlias.Substring(0, 2).ToLowerInvariant() == "en"
                                            ? defaultText
                                            : string.Format("[{0}]", key));
            dictionaryItem.Save();
        }
예제 #4
0
        public static string GetDictionaryItem(string item, int lang)
        {
            string translation;

            try
            {
                translation = new umbraco.cms.businesslogic.Dictionary.DictionaryItem(item).Value(lang);
            }
            catch (Exception)
            {
                translation = string.Empty;
            }
            // need to check for empty string to show keyname when item not translated
            if (string.IsNullOrEmpty(translation))
            {
                translation = item;
            }
            return(translation);
        }
예제 #5
0
        private static void AddDictionaryItemIfNotExist(string key, string defaultText)
        {
            if (umbraco.cms.businesslogic.Dictionary.DictionaryItem.hasKey(key))
            {
                return;
            }
            if (!umbraco.cms.businesslogic.Dictionary.DictionaryItem.hasKey("CWS"))
            {
                umbraco.cms.businesslogic.Dictionary.DictionaryItem.addKey("CWS", "");
            }
            int dictionaryID = umbraco.cms.businesslogic.Dictionary.DictionaryItem.addKey(key, defaultText, "CWS");

            var dictionaryItem = new umbraco.cms.businesslogic.Dictionary.DictionaryItem(dictionaryID);
            var test           = dictionaryItem.Value();

            foreach (Language l in Language.GetAllAsList())
            {
                dictionaryItem.setValue(l.id,
                                        l.CultureAlias.Substring(0, 2).ToLowerInvariant() == "en"
                                            ? defaultText
                                            : string.Format("[{0}]", key));
            }
            dictionaryItem.Save();
        }
예제 #6
0
 public static string GetDictionaryItem(string item, int lang)
 {
     string translation;
     try
     {
         translation = new umbraco.cms.businesslogic.Dictionary.DictionaryItem(item).Value(lang);
     }
     catch (Exception)
     {
         translation = string.Empty;
     }
     // need to check for empty string to show keyname when item not translated 
     if (string.IsNullOrEmpty(translation))
         translation = item;
     return translation;
 }
예제 #7
0
        void DictionaryItem_Deleting(umbraco.cms.businesslogic.Dictionary.DictionaryItem sender, EventArgs e)
        {
            ItemIdentifier itemId = new ItemIdentifier(sender.key, ItemProviders.ProviderIDCollection.dictionaryItemProviderGuid);

            clearCache(itemId);
        }