A collection of strings indexed by ids.
Inheritance: Asset
Example #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);
        }
Example #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);
        }