Локализация текста в окне предварительной загрузки Javascript в браузере CefSharp chromium

#c# #winforms #cefsharp

#c# #winforms #cefsharp

Вопрос:

Я пытаюсь изменить язык в окне предварительной загрузки в браузере CefSharp chromium. Я использую CefSharp.Пакет WinForms nuget версии 83.4.20.

Я не очень разбираюсь в Javascript или Chromium, поэтому, если это что-то тривиальное, пожалуйста, извините меня за незнание этих технологий.

Я попытался изменить настройки локали в разделе Cef.Initialize(new CefSettings( … )) моего кода, но эти настройки не меняют язык, на котором отображается окно загрузки onbeforeunload. Я также добавил путь к папке locales, содержащей все файлы .pak, включая cs (чешский).

 var settings = new CefSettings()
{
    BrowserSubprocessPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase,
        Environment.Is64BitProcess ? "x64" : "x86",
        "CefSharp.BrowserSubprocess.exe"),
    LogSeverity=LogSeverity.Fatal,
    Locale = "cs"
};

Cef.Initialize(settings);
  

Я читал в документации, что эти настройки передаются Blink — механизму рендеринга, который использует Chromium, но я понятия не имею, как это может повлиять на настройки локализации в Windows, подобных этим.

Есть ли у вас опыт работы с этой проблемой? Или у кого-нибудь есть рабочее решение, где это окно отображается на другом языке, отличном от английского по умолчанию, где я мог бы проанализировать различия в моем проекте? Также я думаю, что переключение на другую версию пакета nuget не должно быть большой проблемой.

Комментарии:

1. Какой именно текст вы пытаетесь локализовать?

2. Существует это окно, которое вы можете запустить в javascript, когда пользователь пытается покинуть страницу или закрыть браузер. В окне написано «Вы хотите покинуть этот сайт? Сделанные вами изменения могут не сохраниться.» Затем есть две кнопки «Остаться» и «Оставить». Также появляется флажок «Запретить этой странице создавать дополнительные диалоги». Более ранние браузеры позволяли настраивать эти диалоги, которые приводят к тому, что веб-приложения не позволяют пользователю покинуть страницу. В какой-то момент это было изменено всеми основными веб-страницами, включая Chrome / chromium, так что теперь вы можете только запускать это окно, но вы не можете его настроить.

3. Этот текст и эти кнопки я бы очень хотел локализовать на язык, который является языком Windows 10 по умолчанию для пользователя, запускающего мое приложение. Вот ссылка на поиск Google в этом окне / диалоговом окне, чтобы понять, что именно я имею в виду: google.com /…

4. Отображает ли Chrome правильно локализованный текст? Ваш лучший выбор, вероятно, отображать свой собственный пользовательский диалог, реализуя cefsharp.github.io/api/84.4.x/html /…

5. Да, Chrome локализует это окно. Спасибо за ваш ответ. Тем временем наш клиент устранил эту ошибку, заявив, что в конце дня есть более насущные проблемы. Но ваш совет, похоже, может сработать. Большое вам за это спасибо 🙂 Надеюсь, эта тема поможет кому-то еще быстрее найти решение.