Switched default language for skip translation to application language.

This commit is contained in:
23rd 2022-11-23 03:12:07 +03:00 committed by John Preston
parent 4b2d8b0c53
commit 551bf4f9a7
3 changed files with 32 additions and 7 deletions

View file

@ -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);
});

View file

@ -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<MTP::Sender>(
&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);
}

2
cmake

@ -1 +1 @@
Subproject commit 2c341a0d3e27f7b322301104573945abd0019f27
Subproject commit bec3e5239285b9ef43e3ca59bc50ae8aa55664bf