diff --git a/Telegram/SourceFiles/boxes/language_box.cpp b/Telegram/SourceFiles/boxes/language_box.cpp index 8012b0fcd..41e662824 100644 --- a/Telegram/SourceFiles/boxes/language_box.cpp +++ b/Telegram/SourceFiles/boxes/language_box.cpp @@ -1123,13 +1123,27 @@ void LanguageBox::prepare() { tr::lng_translate_settings_choose(), label->events() | rpl::map(Ui::LanguageName), st::settingsButtonNoIcon); - label->fire(QLocale(Core::App().settings().skipTranslationForLanguage())); + + { + const auto settingsLang = + Core::App().settings().skipTranslationForLanguage(); + const auto locale = (settingsLang == QLocale::English) + ? QLocale(Lang::LanguageIdOrDefault(Lang::Id())) + : (settingsLang == QLocale::C) + ? QLocale(QLocale::English) + : QLocale(settingsLang); + label->fire_copy(locale); + } translateSkip->setClickedCallback([=] { Ui::BoxShow(this).showBox( Box(Ui::ChooseLanguageBox, [=](QLocale locale) { - label->fire(QLocale(locale)); + label->fire_copy(locale); + const auto result = (locale.language() == QLocale::English) + ? QLocale::c() + : locale; Core::App().settings().setSkipTranslationForLanguage( - locale.language()); + result.language()); + Core::App().saveSettingsDelayed(); }), Ui::LayerOption::KeepOther); }); diff --git a/Telegram/SourceFiles/boxes/translate_box.cpp b/Telegram/SourceFiles/boxes/translate_box.cpp index 18864b287..9fdbf395a 100644 --- a/Telegram/SourceFiles/boxes/translate_box.cpp +++ b/Telegram/SourceFiles/boxes/translate_box.cpp @@ -144,8 +144,13 @@ void TranslateBox( box->setWidth(st::boxWideWidth); box->addButton(tr::lng_box_ok(), [=] { box->closeBox(); }); const auto container = box->verticalLayout(); - const auto defaultId = QLocale( - Core::App().settings().skipTranslationForLanguage()).name().mid(0, 2); + const auto settingsLang = + Core::App().settings().skipTranslationForLanguage(); + const auto defaultId = (settingsLang == QLocale::English) + ? Lang::LanguageIdOrDefault(Lang::Id()) + : (settingsLang == QLocale::C) + ? u"en"_q + : QLocale(settingsLang).name().mid(0, 2); const auto api = box->lifetime().make_state( &peer->session().mtp()); @@ -327,7 +332,13 @@ bool SkipTranslate(TextWithEntities textWithEntities) { if (result.unknown) { return false; } - const auto skip = Core::App().settings().skipTranslationForLanguage(); + const auto settingsLang = + Core::App().settings().skipTranslationForLanguage(); + const auto skip = (settingsLang == QLocale::English) + ? QLocale(Lang::LanguageIdOrDefault(Lang::Id())).language() + : (settingsLang == QLocale::C) + ? QLocale::English + : settingsLang; return (result.locale.language() == skip); } diff --git a/cmake b/cmake index 2c341a0d3..bec3e5239 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit 2c341a0d3e27f7b322301104573945abd0019f27 +Subproject commit bec3e5239285b9ef43e3ca59bc50ae8aa55664bf