mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-28 06:52:35 +01:00
Merge branch 'master' of https://github.com/SubtitleEdit/subtitleedit
This commit is contained in:
commit
773b21409c
@ -5,6 +5,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Reflection;
|
||||
using System.Security.Authentication;
|
||||
@ -754,6 +755,23 @@ namespace Nikse.SubtitleEdit.Core
|
||||
return list;
|
||||
}
|
||||
|
||||
public static IEnumerable<CultureInfo> GetSubtitleLanguageCultures()
|
||||
{
|
||||
var prospects = new List<CultureInfo>();
|
||||
var excludes = new HashSet<string>();
|
||||
|
||||
foreach (var ci in CultureInfo.GetCultures(CultureTypes.NeutralCultures))
|
||||
{
|
||||
if (ci.Name.Length < 4 && ci.Name == ci.IetfLanguageTag)
|
||||
{
|
||||
excludes.Add(ci.Parent.Name);
|
||||
prospects.Add(ci);
|
||||
}
|
||||
}
|
||||
|
||||
return prospects.Where(ci => !excludes.Contains(ci.Name));
|
||||
}
|
||||
|
||||
public static double GetOptimalDisplayMilliseconds(string text)
|
||||
{
|
||||
return GetOptimalDisplayMilliseconds(text, Configuration.Settings.General.SubtitleOptimalCharactersPerSeconds);
|
||||
|
@ -135,18 +135,14 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
comboBoxLanguage.Items.Add(firstItem);
|
||||
}
|
||||
foreach (var x in CultureInfo.GetCultures(CultureTypes.NeutralCultures))
|
||||
foreach (var ci in Utilities.GetSubtitleLanguageCultures())
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(x.ToString()) && !x.EnglishName.Contains("("))
|
||||
{
|
||||
comboBoxLanguage.Items.Add(new LanguageItem(x, x.EnglishName));
|
||||
}
|
||||
comboBoxLanguage.Items.Add(new LanguageItem(ci, ci.EnglishName));
|
||||
}
|
||||
comboBoxLanguage.Sorted = true;
|
||||
comboBoxLanguage.EndUpdate();
|
||||
}
|
||||
|
||||
|
||||
public void RunBatchSettings(Subtitle subtitle, SubtitleFormat format, Encoding encoding, string language)
|
||||
{
|
||||
_autoDetectGoogleLanguage = language;
|
||||
|
@ -65,30 +65,25 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
comboBoxLanguage.BeginUpdate();
|
||||
comboBoxLanguage.Items.Clear();
|
||||
var ci = CultureInfo.GetCultureInfo(language);
|
||||
foreach (var x in CultureInfo.GetCultures(CultureTypes.NeutralCultures))
|
||||
foreach (var ci in Utilities.GetSubtitleLanguageCultures())
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(x.ToString()) && !x.EnglishName.Contains("("))
|
||||
{
|
||||
comboBoxLanguage.Items.Add(new LanguageItem(x, x.EnglishName));
|
||||
}
|
||||
comboBoxLanguage.Items.Add(new LanguageItem(ci, ci.EnglishName));
|
||||
}
|
||||
comboBoxLanguage.Sorted = true;
|
||||
var languageCulture = CultureInfo.GetCultureInfo(language);
|
||||
int languageIndex = 0;
|
||||
int j = 0;
|
||||
foreach (var x in comboBoxLanguage.Items)
|
||||
for (int i = 0; i < comboBoxLanguage.Items.Count; i++)
|
||||
{
|
||||
var li = (LanguageItem)x;
|
||||
if (li.Code.TwoLetterISOLanguageName == ci.TwoLetterISOLanguageName)
|
||||
var li = comboBoxLanguage.Items[i] as LanguageItem;
|
||||
if (li.Code.TwoLetterISOLanguageName == languageCulture.TwoLetterISOLanguageName)
|
||||
{
|
||||
languageIndex = j;
|
||||
languageIndex = i;
|
||||
break;
|
||||
}
|
||||
if (li.Code.TwoLetterISOLanguageName == "en")
|
||||
{
|
||||
languageIndex = j;
|
||||
languageIndex = i;
|
||||
}
|
||||
j++;
|
||||
}
|
||||
comboBoxLanguage.SelectedIndex = languageIndex;
|
||||
comboBoxLanguage.SelectedIndexChanged += RuleCheckedChanged;
|
||||
|
Loading…
Reference in New Issue
Block a user