Esempio n. 1
0
        private void ExportCSV(string csvFilename, bool separateFiles)
        {
            if (separateFiles)
            {
                foreach (var languageKvp in m_textTable.languages)
                {
                    var language   = languageKvp.Key;
                    var languageID = languageKvp.Value;
                    var content    = new List <List <string> >();
                    var row        = new List <string>();
                    row.Add("Language");
                    row.Add(language);
                    content.Add(row);
                    foreach (var fieldKvp in m_textTable.fields)
                    {
                        var field = fieldKvp.Value;
                        row = new List <string>();
                        row.Add(field.fieldName);
                        row.Add(field.GetTextForLanguage(languageID));
                        content.Add(row);
                    }
                    var languageFilename = csvFilename.Substring(0, csvFilename.Length - 4) + "_" + language + ".csv";
                    CSVUtility.WriteCSVFile(content, languageFilename, GetEncodingType());
                }
            }
            else
            {
                // All in one file:
                var content     = new List <List <string> >();
                var languageIDs = new List <int>();

                // Heading rows:
                var row = new List <string>();
                content.Add(row);
                row.Add("Field");
                foreach (var kvp in m_textTable.languages)
                {
                    var language   = kvp.Key;
                    var languageID = kvp.Value;
                    languageIDs.Add(languageID);
                    row.Add(language);
                }

                // One row per field:
                foreach (var kvp in m_textTable.fields)
                {
                    var field = kvp.Value;
                    row = new List <string>();
                    content.Add(row);
                    row.Add(field.fieldName);
                    for (int i = 0; i < languageIDs.Count; i++)
                    {
                        var languageID = languageIDs[i];
                        var value      = field.GetTextForLanguage(languageID);
                        row.Add(value);
                    }
                }
                CSVUtility.WriteCSVFile(content, csvFilename, GetEncodingType());
            }
        }