Exemplo n.º 1
0
        /// <summary>
        /// Get a localised string.
        /// </summary>
        /// <param name="archive"></param>
        /// <param name="id"></param>
        /// <param name="language"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public string GetLocalisedString(Engine.ItemArchiveId archive, int id, Language language = Language.English, string defaultValue = "")
        {
            StringArchive strings = GetLocalisedStringArchive(archive, language);

            if (strings == null)
            {
                return(defaultValue);
            }
            string value;

            if (strings.StringsById.TryGetValue(id, out value))
            {
                return(value);
            }
            return(defaultValue);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Get the localised string archive.
        /// </summary>
        /// <param name="archive"></param>
        /// <param name="language"></param>
        /// <returns></returns>
        public StringArchive GetLocalisedStringArchive(Engine.ItemArchiveId archive, Language language = Language.English)
        {
            if (archive == Engine.ItemArchiveId.None)
            {
                return(null);
            }

            Dictionary <Language, StringArchive> dictionary;
            Archive root = RootArchive;

            if (root == null)
            {
                return(null);
            }

            dictionary = StringArchives.GetValueOrCreate(archive);
            StringArchive stringArchive = dictionary.TryGetValue(language);

            if (stringArchive == null)
            {
                dictionary[language] = stringArchive = Engine.GetStringArchive(root, archive, language);
            }
            return(stringArchive);
        }
Exemplo n.º 3
0
 /// <summary>Get a localised string using the <see cref="Id"/> value as the index.</summary>
 /// <param name="archive"></param>
 /// <param name="language"></param>
 /// <returns></returns>
 protected string GetLocalisedString(Engine.ItemArchiveId archive, Language language = Language.English)
 {
     return(Parent.GetLocalisedString(archive, Id, language));
 }