public void Serialize <TDoc, TCursor>(IO.TagElementStream <TDoc, TCursor, string> s)
            where TDoc : class
            where TCursor : class
        {
            if (!s.StreamAttributeOpt("name", ref mCodeName, Predicates.IsNotNullOrEmpty))
            {
                mCodeName = "";
            }

            using (var bm = s.EnterCursorBookmarkOpt("String", this, obj => obj.JustEnglish)) if (bm.IsNotNull)
                {
                    LanguageRegistry.CodeExpectsEnglishFirst();
                    int k_english_index = mLanguageTable.EnglishGameLangaugeHandle.GameIndex;

                    s.StreamCursor(ref mLanguageStrings[k_english_index]);
                    if (s.IsReading)
                    {
                        // empty cursor text returns null, at least in the XML implementation
                        if (mLanguageStrings[k_english_index] == null)
                        {
                            mLanguageStrings[k_english_index] = "";
                        }

                        for (int x = 1; x < mLanguageStrings.Length; x++)
                        {
                            mLanguageStrings[x] = mLanguageStrings[k_english_index];
                        }
                    }
                }
                else
                {
                    SerializeLanguages(s);
                }
        }
Esempio n. 2
0
        private Int32 GetLangID()
        {
            Int32 LangId = 0x409;

            //RegistryKey rsg = null;
            //rsg = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Lenovo\\Printer SSW\\Version", false);

            //object obj = null;
            //if (null != rsg)
            //{
            //    obj = rsg.GetValue("language", RegistryValueKind.DWord);
            //    LangId = (Int32)obj;

            //    rsg.Close();
            //}

            if (LanguageRegistry.Open())
            {
                LangId = LanguageRegistry.GetLangID();
                LanguageRegistry.Close();
            }
            else
            {
                CultureInfo ci = CultureInfo.InstalledUICulture;
                LangId = ci.LCID;
            }

            return(LangId);
        }
        void SetImpl(int langIndex, string value)
        {
            var engine_lang = mLanguageTable.GetEngineLanguage(langIndex);

            Contract.Assert(engine_lang.IsSupported);

            mLanguageStrings[engine_lang.GameIndex] = value;

            NotifyPropertyChanged(LanguageRegistry.GetLanguageChangedEventArgs(langIndex));
        }