#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 локализует это окно. Спасибо за ваш ответ. Тем временем наш клиент устранил эту ошибку, заявив, что в конце дня есть более насущные проблемы. Но ваш совет, похоже, может сработать. Большое вам за это спасибо 🙂 Надеюсь, эта тема поможет кому-то еще быстрее найти решение.