示例#1
0
        public override void LoadTag(string markup)
        {
            base.LoadTag(markup);

            if (this.HasAttributes())
            {
                this.Lang       = GetAttribute("lang");
                this.Country    = GetAttribute("country");
                this.MessageSrc = GetAttribute("messages");

                UpdateCultureCode();
            }
            if (MyMessageBundle.Messages.HasValues())
            {
                MyDataContext.AddResourceBundle(MyMessageBundle.Messages);
            }
        }
示例#2
0
        /// <summary>
        /// Loads an external messagebundle
        /// </summary>
        /// <param name="messageBundle"></param>
        public void LoadMessageBundle(string messageBundle)
        {
            if (string.IsNullOrEmpty(messageBundle))
            {
                return;
            }
            // Trim before loading.
            // We don't care about offsets in this case, so trim is OK
            string testStr = "<messagebundle";

            if (!messageBundle.StartsWith(testStr, StringComparison.InvariantCultureIgnoreCase))
            {
                int pos = messageBundle.IndexOf(testStr);
                if (pos == -1)
                {
                    return;
                }
                else
                {
                    messageBundle = messageBundle.Substring(pos);
                }
            }

            MyMessageBundle.LoadTag(messageBundle);

            if (MyMessageBundle.Messages.HasValues())
            {
                try
                {
                    MyDataContext.AddResourceBundle(MyMessageBundle.Messages);
                }
                catch (Exception ex)
                {
                    if (MyRootMaster is GadgetMaster)
                    {
                        GadgetMaster errRoot = (GadgetMaster)MyRootMaster;
                        errRoot.Errors.MessageBundleErrors.Add(new MessageBundleItemError("Error adding bundle"));
                    }
                }
            }
        }