mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Fixed #1676: use language index from IDX file (VobSub/Idx)
This commit is contained in:
parent
b315ed5722
commit
7d88746e8d
@ -22,6 +22,7 @@ namespace Nikse.SubtitleEdit.Core.VobSub
|
||||
|
||||
public Idx(string[] lines)
|
||||
{
|
||||
int languageIndex = 0;
|
||||
foreach (string line in lines)
|
||||
{
|
||||
if (_timeCodeLinePattern.IsMatch(line))
|
||||
@ -43,11 +44,10 @@ namespace Nikse.SubtitleEdit.Core.VobSub
|
||||
{
|
||||
//id: en, index: 1
|
||||
//id: es, index: 2
|
||||
string s = line.Substring("id:".Length + 1);
|
||||
string[] parts = s.Split(new[] { ':', ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
if (parts.Length > 0)
|
||||
var parts = line.Split(new[] { ':', ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
if (parts.Length > 1)
|
||||
{
|
||||
string twoLetterLanguageId = parts[0];
|
||||
string twoLetterLanguageId = parts[1];
|
||||
string nativeName;
|
||||
if (IfoParser.LanguageCodes.Contains(twoLetterLanguageId))
|
||||
{
|
||||
@ -64,8 +64,15 @@ namespace Nikse.SubtitleEdit.Core.VobSub
|
||||
nativeName = "Unknown (" + twoLetterLanguageId + ")";
|
||||
}
|
||||
}
|
||||
if (parts.Length > 3 && parts[2].Equals("index", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
int index;
|
||||
if (int.TryParse(parts[3], out index))
|
||||
languageIndex = index;
|
||||
}
|
||||
// Use U+200E (LEFT-TO-RIGHT MARK) to support right-to-left scripts
|
||||
Languages.Add(string.Format("{0} \x200E(0x{1:x})", nativeName, Languages.Count + 32));
|
||||
Languages.Add(string.Format("{0} \x200E(0x{1:x})", nativeName, languageIndex + 32));
|
||||
languageIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user