mirror of
https://github.com/MaSzyna-EU07/StarterNG.git
synced 2026-11-06 13:48:34 +01:00
Read the old starter's key descriptions in code page 1250 too
Its language files are code page 1250 as often as UTF-8. Read as UTF-8 only, Czech and Polish descriptions came out with replacement characters.
This commit is contained in:
@@ -190,6 +190,20 @@ public class LocalizationTests
|
|||||||
Assert.Equal(string.Empty, loc.Opt("Cmd.z"));
|
Assert.Equal(string.Empty, loc.Opt("Cmd.z"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void An_old_starters_key_descriptions_are_read_in_its_own_code_page()
|
||||||
|
{
|
||||||
|
using var folders = new Folders();
|
||||||
|
File.WriteAllText(Path.Combine(folders.Bundled, "en.xml"), English);
|
||||||
|
File.WriteAllBytes(Path.Combine(folders.OldStarter, "lang-cz.txt"), LegacyText.CodePage1250.GetBytes(
|
||||||
|
"[labels]\r\n<eu07_input-keyboard.ini\r\nhornhighactivate=Houkačka výšková\r\n\r\n"));
|
||||||
|
var loc = folders.Service();
|
||||||
|
|
||||||
|
loc.Load("cz");
|
||||||
|
|
||||||
|
Assert.Equal("Houkačka výšková", loc.Opt("Cmd.hornhighactivate"));
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void Of_the_simulators_files_only_a_language_code_counts()
|
public void Of_the_simulators_files_only_a_language_code_counts()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ using System.Collections.Generic;
|
|||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using StarterNG.Application.Abstractions;
|
using StarterNG.Application.Abstractions;
|
||||||
|
using StarterNG.Infrastructure.Adapters;
|
||||||
|
|
||||||
namespace StarterNG.Services;
|
namespace StarterNG.Services;
|
||||||
|
|
||||||
@@ -286,8 +286,9 @@ public class LocalizationService : INotifyPropertyChanged, ILocalizedStrings
|
|||||||
if (path is null)
|
if (path is null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// The old starter's own files are code page 1250 as often as UTF-8.
|
||||||
bool inDescriptions = false;
|
bool inDescriptions = false;
|
||||||
foreach (string line in File.ReadLines(path, Encoding.UTF8))
|
foreach (string line in LegacyText.Decode(File.ReadAllBytes(path)).ReplaceLineEndings("\n").Split('\n'))
|
||||||
{
|
{
|
||||||
if (line.Contains("<eu07_input-keyboard.ini", StringComparison.Ordinal))
|
if (line.Contains("<eu07_input-keyboard.ini", StringComparison.Ordinal))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user