private static List <Pair <string, int> > dectectLanguageCodesFromTable(
            DataTable table)
        {
            // Make no Set type to keep order.
            var result = new List <Pair <string, int> >();

            // --
            // Header.

            const int columnStartIndex = 0;

            for (var columnIndex = columnStartIndex + 0; columnIndex < table.Columns.Count; ++columnIndex)
            {
                var languageCode = string.IsNullOrEmpty(table.Columns[columnIndex].Caption)
                                       ? table.Columns[columnIndex].ColumnName
                                       : table.Columns[columnIndex].Caption;

                if (languageCode != Resources.SR_CommandProcessorSend_Process_Name &&
                    languageCode != Resources.SR_CommandProcessorSend_Process_Comment &&
                    languageCode != Resources.SR_CommandProcessorSend_Process_Group)
                {
                    if (string.IsNullOrEmpty(languageCode) ||
                        languageCode.Trim().Length <= 0)
                    {
                        break;
                    }
                    else
                    {
                        var lc = StringExtensionMethods.ToLowerInvariantIntelligent(languageCode.Trim());
                        if (LanguageCodeDetection.IsValidCultureName(lc))
                        {
                            var found = false;

                            // ReSharper disable LoopCanBeConvertedToQuery
                            foreach (var pair in result)
                            // ReSharper restore LoopCanBeConvertedToQuery
                            {
                                if (pair.First == lc)
                                {
                                    found = true;
                                    break;
                                }
                            }

                            if (!found)
                            {
                                result.Add(new Pair <string, int>(lc, columnIndex));
                            }
                        }
                    }
                }
            }

            return(result);
        }
        private void parseLanguageCode()
        {
            var languageCodes =
                ExcelImportController.DetectLanguagesFromExcelFile(
                    sourceFileTextEdit.Text.Trim());

            languagesToImportCheckListBox.Items.Clear();

            if (languageCodes != null)
            {
                foreach (var languageCode in languageCodes)
                {
                    if (!string.IsNullOrEmpty(languageCode) &&
                        LanguageCodeDetection.IsValidCultureName(languageCode))
                    {
                        var index = languagesToImportCheckListBox.Items.Add(
                            new MyTuple <string, string>(
                                string.Format(
                                    @"{0} ({1})",
                                    LanguageCodeDetection.MakeValidCulture(languageCode).DisplayName,
                                    languageCode),
                                languageCode));

                        languagesToImportCheckListBox.SetItemChecked(index, true);
                    }
                }

                if (languageCodes.Length == 1)
                {
                    // Select one, if only one present.
                    selectAllLanguagesToExportButton_Click(null, null);
                }
            }

            // --
            // Try to restore.

            DevExpressExtensionMethods.RestoreSettings(
                languagesToImportCheckListBox,
                _project.DynamicSettingsGlobalHierarchical,
                @"receiveFileFromTranslator.languagesToImportCheckListBox");
        }
示例#3
0
        private void parseLanguageCode()
        {
            var languageCodes =
                CommandProcessorReceive.DetectLanguagesFromExcelFile(
                    sourceFileTextEdit.Text.Trim());

            languagesToImportCheckListBox.Items.Clear();

            if (languageCodes != null)
            {
                foreach (var languageCode in languageCodes)
                {
                    if (!string.IsNullOrEmpty(languageCode) &&
                        LanguageCodeDetection.IsValidCultureName(languageCode))
                    {
                        var index = languagesToImportCheckListBox.Items.Add(
                            new Pair <string, string>(
                                string.Format(
                                    @"{0} ({1})",
                                    CultureInfo.GetCultureInfo(languageCode).DisplayName,
                                    languageCode),
                                languageCode));

                        languagesToImportCheckListBox.SetItemChecked(index, true);
                    }
                }
            }

            // --
            // Try to restore.

            DevExpressExtensionMethods.RestoreSettings(
                languagesToImportCheckListBox,
                _project.DynamicSettingsGlobalHierarchical,
                @"receiveFileFromTranslator.languagesToImportCheckListBox");
        }