コード例 #1
0
            public TableDataPlatform[] platforms; //these overwrite certain keys in the string table

            public Dictionary <string, LocalizeData> Generate()
            {
                if (!file)
                {
                    return(new Dictionary <string, LocalizeData>());
                }

                List <LocalizeJSON.Entry> tableEntries = JSONList <LocalizeJSON.Entry> .FromJSON(file.text);

                var entries = new Dictionary <string, LocalizeData>(tableEntries.Count);

                foreach (var entry in tableEntries)
                {
                    entries.Add(entry.key, new LocalizeData(entry.text, entry.param));
                }

                //append platform specific entries
                if (platforms != null)
                {
                    TableDataPlatform platform = null;
                    foreach (TableDataPlatform platformDat in platforms)
                    {
                        if (platformDat.platform == Application.platform)
                        {
                            platform = platformDat;
                            break;
                        }
                    }

                    //override entries based on platform
                    if (platform != null && platform.file)
                    {
                        var platformEntries = JSONList <LocalizeJSON.Entry> .FromJSON(platform.file.text);

                        foreach (var platformEntry in platformEntries)
                        {
                            LocalizeData dat;
                            if (entries.TryGetValue(platformEntry.key, out dat))
                            {
                                dat.text = platformEntry.text;
                                if (platformEntry.param != null && platformEntry.param.Length > 0)
                                {
                                    dat.param = platformEntry.param;
                                }

                                entries[platformEntry.key] = dat;
                            }
                            else
                            {
                                entries.Add(platformEntry.key, new LocalizeData(platformEntry.text, platformEntry.param));
                            }
                        }
                    }
                }

                return(entries);
            }
コード例 #2
0
        protected Dictionary <string, LocalizeData> GenerateEntries(string json)
        {
            var entryList = JSONList <Entry> .FromJSON(json);

            var entries = new Dictionary <string, LocalizeData>(entryList.Count);

            for (int i = 0; i < entryList.Count; i++)
            {
                var entry = entryList[i];

                entries.Add(entry.key, new LocalizeData()
                {
                    text = entry.text, param = entry.param
                });
            }

            return(entries);
        }