Пример #1
0
        private static void InitializeStaticGlobalResourceContext(global::Windows.ApplicationModel.Resources.Core.ResourceManager resourceManager)
        {
            if (s_globalResourceContext == null)
            {
                lock (s_objectForLock)
                {
                    if (s_globalResourceContext == null)
                    {
                        resourceManager = resourceManager ?? global::Windows.ApplicationModel.Resources.Core.ResourceManager.Current;

                        if (resourceManager != null)
                        {
#pragma warning disable 618
                            ResourceContext globalResourceContext = resourceManager.DefaultContext;
#pragma warning restore 618
                            if (globalResourceContext != null)
                            {
                                List <String> languages = new List <string>(globalResourceContext.Languages);

                                s_globalResourceContextBestFitCultureInfo = GetBestFitCultureFromLanguageList(languages);
                                s_globalResourceContextFallBackList       = ReadOnlyListToString(languages);
                                s_globalResourceContext = globalResourceContext;
                                s_globalResourceContext.QualifierValues.MapChanged += new MapChangedEventHandler <string, string>(GlobalResourceContextChanged);
                            }
                        }
                    }
                }
            }
        }
Пример #2
0
        private static Object s_objectForLock = new Object(); // Used by InitializeStatics

        private static bool InitializeStatics()
        {
            global::Windows.ApplicationModel.Resources.Core.ResourceManager globalResourceManager = null;

            if (s_globalResourceManager == null)
            {
                lock (s_objectForLock)
                {
                    if (s_globalResourceManager == null)
                    {
                        globalResourceManager = global::Windows.ApplicationModel.Resources.Core.ResourceManager.Current;

                        InitializeStaticGlobalResourceContext(globalResourceManager);

                        s_charCultureSeparator = new char[] { ';' };

                        Package currentPackage = Package.Current;
                        if (currentPackage != null)
                        {
                            StorageFolder currentPackageLocation = currentPackage.InstalledLocation;

                            s_currentPackageInfo.Path     = null;
                            s_currentPackageInfo.Name     = null;
                            s_currentPackageInfo.FullName = null;

                            if (currentPackageLocation != null)
                            {
                                s_currentPackageInfo.Path = currentPackageLocation.Path;
                            }

                            PackageId id = currentPackage.Id;
                            if (id != null)
                            {
                                s_currentPackageInfo.Name     = id.Name; // We do not enforce this to be non-null.
                                s_currentPackageInfo.FullName = id.FullName;
                            }
                        }

                        if (globalResourceManager != null &&
                            s_globalResourceContext != null &&
                            s_globalResourceContextFallBackList != null &&
                            s_globalResourceContextFallBackList.Length > 0 && // Should never be empty
                            s_charCultureSeparator != null &&
                            s_currentPackageInfo.Path != null)
                        {
                            s_globalResourceManager = globalResourceManager;
                        }
                    }
                }
            }

            return(s_globalResourceManager != null);
        }
        private static Object s_objectForLock = new Object(); // Used by InitializeStatics

        private static bool InitializeStatics()
        {
            global::Windows.ApplicationModel.Resources.Core.ResourceManager globalResourceManager = null;

            if (s_globalResourceManager == null)
            {
                lock (s_objectForLock)
                {
                    if (s_globalResourceManager == null)
                    {
                        globalResourceManager = global::Windows.ApplicationModel.Resources.Core.ResourceManager.Current;

                        InitializeStaticGlobalResourceContext(globalResourceManager);

                        s_charCultureSeparator = new char[] { ';' };

                        Package currentPackage = Package.Current;
                        if (currentPackage != null)
                        {
                            StorageFolder currentPackageLocation = currentPackage.InstalledLocation;

                            s_currentPackageInfo.Path = null;
                            s_currentPackageInfo.Name = null;
                            s_currentPackageInfo.FullName = null;

                            if (currentPackageLocation != null)
                                s_currentPackageInfo.Path = currentPackageLocation.Path;

                            PackageId id = currentPackage.Id;
                            if (id != null)
                            {
                                s_currentPackageInfo.Name = id.Name; // We do not enforce this to be non-null.
                                s_currentPackageInfo.FullName = id.FullName;
                            }
                        }

                        if (globalResourceManager != null &&
                            s_globalResourceContext != null &&
                            s_globalResourceContextFallBackList != null &&
                            s_globalResourceContextFallBackList.Length > 0 && // Should never be empty
                            s_charCultureSeparator != null &&
                            s_currentPackageInfo.Path != null)
                            s_globalResourceManager = globalResourceManager;
                    }
                }
            }

            return s_globalResourceManager != null;
        }