mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Detection of US/GB English - thx Johan :)
git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@1061 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
parent
8f953c029a
commit
30fae74b88
@ -931,7 +931,7 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
{
|
{
|
||||||
int bestCount = subtitle.Paragraphs.Count / 14;
|
int bestCount = subtitle.Paragraphs.Count / 14;
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
var sb = new StringBuilder();
|
||||||
foreach (Paragraph p in subtitle.Paragraphs)
|
foreach (Paragraph p in subtitle.Paragraphs)
|
||||||
sb.AppendLine(p.Text);
|
sb.AppendLine(p.Text);
|
||||||
string text = sb.ToString();
|
string text = sb.ToString();
|
||||||
@ -950,21 +950,21 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
languageName = "en_US";
|
languageName = "en_US";
|
||||||
int bestCount = subtitle.Paragraphs.Count / 14;
|
int bestCount = subtitle.Paragraphs.Count / 14;
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
var sb = new StringBuilder();
|
||||||
foreach (Paragraph p in subtitle.Paragraphs)
|
foreach (Paragraph p in subtitle.Paragraphs)
|
||||||
sb.AppendLine(p.Text);
|
sb.AppendLine(p.Text);
|
||||||
string text = sb.ToString();
|
string text = sb.ToString();
|
||||||
|
|
||||||
List<string> dictionaryNames = GetDictionaryLanguages();
|
List<string> dictionaryNames = GetDictionaryLanguages();
|
||||||
|
|
||||||
bool containsEnGB = false;
|
bool containsEnGb = false;
|
||||||
bool containsEnUS = false;
|
bool containsEnUs = false;
|
||||||
foreach (string name in dictionaryNames)
|
foreach (string name in dictionaryNames)
|
||||||
{
|
{
|
||||||
if (name.Contains("[en_GB]"))
|
if (name.Contains("[en_GB]"))
|
||||||
containsEnGB = true;
|
containsEnGb = true;
|
||||||
if (name.Contains("[en_US]"))
|
if (name.Contains("[en_US]"))
|
||||||
containsEnUS = true;
|
containsEnUs = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (string name in dictionaryNames)
|
foreach (string name in dictionaryNames)
|
||||||
@ -1002,52 +1002,34 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
case "en_US":
|
case "en_US":
|
||||||
count = GetCount(text, "we", "are", "and", "you", "your", "what");
|
count = GetCount(text, "we", "are", "and", "you", "your", "what");
|
||||||
if (count > bestCount)
|
if (count > bestCount)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(languageName) && languageName.StartsWith("en_"))
|
if (containsEnGb)
|
||||||
{
|
{
|
||||||
//keep existing english language
|
int usCount = GetCount(text, "color", "flavor", "honor", "humor", "neighbor", "honor");
|
||||||
|
int gbCount = GetCount(text, "colour", "flavour", "honour", "humour", "neighbour", "honour");
|
||||||
|
if (usCount >= gbCount)
|
||||||
|
languageName = "en_US";
|
||||||
|
else
|
||||||
|
languageName = "en_GB";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (containsEnGB)
|
languageName = shortName;
|
||||||
{
|
}
|
||||||
int usCount = GetCount("color", "flavor", "ass", "humor", "neighbor", "honor", "airplane");
|
|
||||||
int gbCount = GetCount("colour", "flavour", "arse", "humour", "neighbour", "honour", "aeroplane");
|
|
||||||
if (usCount >= gbCount)
|
|
||||||
languageName = shortName;
|
|
||||||
else
|
|
||||||
languageName = "en_GB";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
languageName = shortName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "en_GB":
|
case "en_GB":
|
||||||
count = GetCount(text, "we", "are", "and", "you", "your", "what");
|
count = GetCount(text, "we", "are", "and", "you", "your", "what");
|
||||||
if (count > bestCount)
|
if (count > bestCount)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(languageName) && languageName.StartsWith("en_"))
|
if (containsEnUs)
|
||||||
{
|
{
|
||||||
//keep existing english language
|
int usCount = GetCount(text, "color", "flavor", "honor", "humor", "neighbor", "honor");
|
||||||
}
|
int gbCount = GetCount(text, "colour", "flavour", "honour", "humour", "neighbour", "honour");
|
||||||
else
|
if (usCount >= gbCount)
|
||||||
{
|
languageName = "en_US";
|
||||||
if (containsEnUS)
|
|
||||||
{
|
|
||||||
int usCount = GetCount("color", "flavor", "ass", "humor", "neighbor", "honor", "airplane");
|
|
||||||
int gbCount = GetCount("colour", "flavour", "arse", "humour", "neighbour", "honour", "aeroplane");
|
|
||||||
if (usCount >= gbCount)
|
|
||||||
languageName = "en_US";
|
|
||||||
else
|
|
||||||
languageName = "en_GB";
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
languageName = "en_GB";
|
||||||
languageName = shortName;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1135,7 +1117,6 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
if (count > bestCount)
|
if (count > bestCount)
|
||||||
languageName = shortName;
|
languageName = shortName;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user