[Branding] App name (language-dependent)
This commit is contained in:
parent
22cfe96e7d
commit
631d172eaf
23 changed files with 108 additions and 46 deletions
|
|
@ -1,3 +1,29 @@
|
||||||
{
|
{
|
||||||
|
"ktg_intro_about": "Welcome to unofficial messaging app\nbased on Telegram Desktop.",
|
||||||
|
"ktg_about_text1": "Experimental unofficial {tdesktop_link} fork.",
|
||||||
|
"ktg_about_text1_tdesktop": "Telegram Desktop",
|
||||||
|
"ktg_about_text3": "Visit {channel_link} or {faq_link} for more info.",
|
||||||
|
"ktg_about_text3_channel": "Kotatogram channel",
|
||||||
|
"ktg_open_from_tray": "Open Kotatogram",
|
||||||
|
"ktg_quit_from_tray": "Quit Kotatogram",
|
||||||
|
"ktg_tray_icon_text": "Kotatogram is still running here,\nyou can change this from settings page.\nIf this icon disappears from tray menu,\nyou can drag it here from hidden icons.",
|
||||||
|
"ktg_error_start_minimized_passcoded": "You have set a local passcode, so Kotatogram Desktop can't be launched minimised; it will ask you to enter your passcode before it can start working.",
|
||||||
|
"ktg_proxy_unsupported": "Your Kotatogram Desktop version doesn't support this proxy type or the proxy link is invalid. Please update Kotatogram Desktop to the latest version.",
|
||||||
|
"ktg_update_telegram": "Update Kotatogram",
|
||||||
|
"ktg_settings_auto_start": "Launch Kotatogram when system starts",
|
||||||
|
"ktg_settings_add_sendto": "Place Kotatogram in \"Send to\" menu",
|
||||||
|
"ktg_theme_no_desktop": "Sorry, this theme doesn't include a version for Kotatogram Desktop.",
|
||||||
|
"ktg_download_path_default_radio": "Kotatogram folder in system «Downloads»",
|
||||||
|
"ktg_passcode_about": "When a local passcode is set, a lock icon appears at the top of your chats list. Click it to lock the app.\n\nNote: if you forget your local passcode, you'll need to relogin in Kotatogram Desktop.",
|
||||||
|
"ktg_message_unsupported": "This message is not supported by your version of Kotatogram Desktop. Please update to the latest version in Settings, or install it from {link}",
|
||||||
|
"ktg_bot_share_location_unavailable": "Sorry, location sharing is currently unavailable in Kotatogram Desktop.",
|
||||||
|
"ktg_theme_editor_need_unlock": "You need to unlock Kotatogram to save your theme.",
|
||||||
|
"ktg_no_mic_permission": "Kotatogram needs access to your microphone so that you can make calls and record voice messages.",
|
||||||
|
"ktg_passport_app_out_of_date": "Sorry, your Telegram app is out of date and can't handle this request. Please update Kotatogram.",
|
||||||
|
"ktg_export_progress": "You can close this window now. Please don't quit Kotatogram until the data export is completed.",
|
||||||
|
"ktg_language_not_ready_about": "Unfortunately, this custom language pack ({lang_name}) doesn't contain data for Kotatogram Desktop. You can contribute to this language pack using the {link}.",
|
||||||
|
"ktg_outdated_soon": "Otherwise, Kotatogram Desktop will stop updating on {date}.",
|
||||||
|
"ktg_outdated_now": "So that Kotatogram Desktop can update to newer versions.",
|
||||||
|
"ktg_mac_menu_show": "Show Kotatogram",
|
||||||
"dummy_last_string": ""
|
"dummy_last_string": ""
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "api/api_bot.h"
|
#include "api/api_bot.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "apiwrap.h"
|
#include "apiwrap.h"
|
||||||
#include "api/api_cloud_password.h"
|
#include "api/api_cloud_password.h"
|
||||||
#include "api/api_send_progress.h"
|
#include "api/api_send_progress.h"
|
||||||
|
|
@ -357,7 +358,7 @@ void ActivateBotCommand(ClickHandlerContext context, int row, int column) {
|
||||||
case ButtonType::RequestLocation: {
|
case ButtonType::RequestLocation: {
|
||||||
HideSingleUseKeyboard(controller, item);
|
HideSingleUseKeyboard(controller, item);
|
||||||
controller->show(
|
controller->show(
|
||||||
Ui::MakeInformBox(tr::lng_bot_share_location_unavailable()));
|
Ui::MakeInformBox(rktr("ktg_bot_share_location_unavailable")));
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case ButtonType::RequestPhone: {
|
case ButtonType::RequestPhone: {
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "boxes/about_box.h"
|
#include "boxes/about_box.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
|
#include "lang/lang_instance.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "ui/boxes/confirm_box.h"
|
#include "ui/boxes/confirm_box.h"
|
||||||
|
|
@ -28,11 +30,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
rpl::producer<TextWithEntities> Text1() {
|
rpl::producer<TextWithEntities> Text1() {
|
||||||
return tr::lng_about_text1(
|
return rktre("ktg_about_text1", {
|
||||||
lt_api_link,
|
"tdesktop_link",
|
||||||
tr::lng_about_text1_api(
|
Ui::Text::Link(ktr("ktg_about_text1_tdesktop"), "https://desktop.telegram.org/")
|
||||||
) | Ui::Text::ToLink("https://core.telegram.org/api"),
|
});
|
||||||
Ui::Text::WithEntities);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rpl::producer<TextWithEntities> Text2() {
|
rpl::producer<TextWithEntities> Text2() {
|
||||||
|
|
@ -40,19 +41,37 @@ rpl::producer<TextWithEntities> Text2() {
|
||||||
lt_gpl_link,
|
lt_gpl_link,
|
||||||
rpl::single(Ui::Text::Link(
|
rpl::single(Ui::Text::Link(
|
||||||
"GNU GPL",
|
"GNU GPL",
|
||||||
"https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE")),
|
"https://github.com/kotatogram/kotatogram-desktop/blob/master/LICENSE")),
|
||||||
lt_github_link,
|
lt_github_link,
|
||||||
rpl::single(Ui::Text::Link(
|
rpl::single(Ui::Text::Link(
|
||||||
"GitHub",
|
"GitHub",
|
||||||
"https://github.com/telegramdesktop/tdesktop")),
|
"https://github.com/kotatogram/kotatogram-desktop")),
|
||||||
Ui::Text::WithEntities);
|
Ui::Text::WithEntities);
|
||||||
}
|
}
|
||||||
|
|
||||||
rpl::producer<TextWithEntities> Text3() {
|
rpl::producer<TextWithEntities> Text3() {
|
||||||
return tr::lng_about_text3(
|
auto baseLang = Lang::GetInstance().baseId();
|
||||||
lt_faq_link,
|
auto currentLang = Lang::Id();
|
||||||
tr::lng_about_text3_faq() | Ui::Text::ToLink(telegramFaqLink()),
|
QString channelLink;
|
||||||
Ui::Text::WithEntities);
|
|
||||||
|
for (const auto language : { "ru", "uk", "be" }) {
|
||||||
|
if (baseLang.startsWith(QLatin1String(language)) || currentLang == QString(language)) {
|
||||||
|
channelLink = "https://t.me/kotatogram_ru";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (channelLink.isEmpty()) {
|
||||||
|
channelLink = "https://t.me/kotatogram";
|
||||||
|
}
|
||||||
|
|
||||||
|
return rktre("ktg_about_text3", {
|
||||||
|
"channel_link",
|
||||||
|
Ui::Text::Link(ktr("ktg_about_text3_channel"), channelLink)
|
||||||
|
}, {
|
||||||
|
"faq_link",
|
||||||
|
Ui::Text::Link(tr::lng_about_text3_faq(tr::now), telegramFaqLink())
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
@ -65,7 +84,7 @@ AboutBox::AboutBox(QWidget *parent)
|
||||||
}
|
}
|
||||||
|
|
||||||
void AboutBox::prepare() {
|
void AboutBox::prepare() {
|
||||||
setTitle(rpl::single(u"Telegram Desktop"_q));
|
setTitle(rpl::single(u"Kotatogram Desktop"_q));
|
||||||
|
|
||||||
addButton(tr::lng_close(), [this] { closeBox(); });
|
addButton(tr::lng_close(), [this] { closeBox(); });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "boxes/connection_box.h"
|
#include "boxes/connection_box.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "base/call_delayed.h"
|
#include "base/call_delayed.h"
|
||||||
#include "base/qthelp_regex.h"
|
#include "base/qthelp_regex.h"
|
||||||
#include "base/qthelp_url.h"
|
#include "base/qthelp_url.h"
|
||||||
|
|
@ -1237,7 +1238,7 @@ void ProxiesBoxController::ShowApplyConfirmation(
|
||||||
} else {
|
} else {
|
||||||
Ui::show(Ui::MakeInformBox(
|
Ui::show(Ui::MakeInformBox(
|
||||||
(proxy.status() == ProxyData::Status::Unsupported
|
(proxy.status() == ProxyData::Status::Unsupported
|
||||||
? tr::lng_proxy_unsupported(tr::now)
|
? ktr("ktg_proxy_unsupported")
|
||||||
: tr::lng_proxy_invalid(tr::now))));
|
: tr::lng_proxy_invalid(tr::now))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "boxes/download_path_box.h"
|
#include "boxes/download_path_box.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "core/file_utilities.h"
|
#include "core/file_utilities.h"
|
||||||
#include "ui/widgets/checkbox.h"
|
#include "ui/widgets/checkbox.h"
|
||||||
|
|
@ -30,7 +31,7 @@ DownloadPathBox::DownloadPathBox(
|
||||||
this,
|
this,
|
||||||
_group,
|
_group,
|
||||||
Directory::Downloads,
|
Directory::Downloads,
|
||||||
tr::lng_download_path_default_radio(tr::now),
|
ktr("ktg_download_path_default_radio"),
|
||||||
st::defaultBoxCheckbox)
|
st::defaultBoxCheckbox)
|
||||||
: nullptr)
|
: nullptr)
|
||||||
, _temp(this, _group, Directory::Temp, tr::lng_download_path_temp_radio(tr::now), st::defaultBoxCheckbox)
|
, _temp(this, _group, Directory::Temp, tr::lng_download_path_temp_radio(tr::now), st::defaultBoxCheckbox)
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "boxes/passcode_box.h"
|
#include "boxes/passcode_box.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "base/bytes.h"
|
#include "base/bytes.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "ui/boxes/confirm_box.h"
|
#include "ui/boxes/confirm_box.h"
|
||||||
|
|
@ -273,7 +274,7 @@ void PasscodeBox::prepare() {
|
||||||
? *_cloudFields.customDescription
|
? *_cloudFields.customDescription
|
||||||
: _cloudPwd
|
: _cloudPwd
|
||||||
? tr::lng_cloud_password_about(tr::now)
|
? tr::lng_cloud_password_about(tr::now)
|
||||||
: tr::lng_passcode_about(tr::now)));
|
: ktr("ktg_passcode_about")));
|
||||||
_aboutHeight = _about.countHeight(st::boxWidth - st::boxPadding.left() * 1.5);
|
_aboutHeight = _about.countHeight(st::boxWidth - st::boxPadding.left() * 1.5);
|
||||||
const auto onlyCheck = onlyCheckCurrent();
|
const auto onlyCheck = onlyCheckCurrent();
|
||||||
if (onlyCheck) {
|
if (onlyCheck) {
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "calls/calls_instance.h"
|
#include "calls/calls_instance.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "calls/calls_call.h"
|
#include "calls/calls_call.h"
|
||||||
#include "calls/group/calls_group_common.h"
|
#include "calls/group/calls_group_common.h"
|
||||||
#include "calls/group/calls_choose_join_as.h"
|
#include "calls/group/calls_choose_join_as.h"
|
||||||
|
|
@ -815,7 +816,7 @@ void Instance::requestPermissionOrFail(Platform::PermissionType type, Fn<void()>
|
||||||
_currentGroupCall->hangup();
|
_currentGroupCall->hangup();
|
||||||
}
|
}
|
||||||
Ui::show(Ui::MakeConfirmBox({
|
Ui::show(Ui::MakeConfirmBox({
|
||||||
.text = tr::lng_no_mic_permission(),
|
.text = ktr("ktg_no_mic_permission"),
|
||||||
.confirmed = crl::guard(this, [=](Fn<void()> &&close) {
|
.confirmed = crl::guard(this, [=](Fn<void()> &&close) {
|
||||||
Platform::OpenSystemSettingsForPermission(type);
|
Platform::OpenSystemSettingsForPermission(type);
|
||||||
close();
|
close();
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "data/data_cloud_themes.h"
|
#include "data/data_cloud_themes.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "window/themes/window_theme.h"
|
#include "window/themes/window_theme.h"
|
||||||
#include "window/themes/window_theme_preview.h"
|
#include "window/themes/window_theme_preview.h"
|
||||||
#include "window/themes/window_theme_editor_box.h"
|
#include "window/themes/window_theme_editor_box.h"
|
||||||
|
|
@ -222,7 +223,7 @@ void CloudThemes::resolve(
|
||||||
showPreview(controller, result);
|
showPreview(controller, result);
|
||||||
}).fail([=](const MTP::Error &error) {
|
}).fail([=](const MTP::Error &error) {
|
||||||
if (error.type() == u"THEME_FORMAT_INVALID"_q) {
|
if (error.type() == u"THEME_FORMAT_INVALID"_q) {
|
||||||
controller->show(Ui::MakeInformBox(tr::lng_theme_no_desktop()));
|
controller->show(Ui::MakeInformBox(ktr("ktg_theme_no_desktop")));
|
||||||
}
|
}
|
||||||
}).send();
|
}).send();
|
||||||
}
|
}
|
||||||
|
|
@ -246,7 +247,7 @@ void CloudThemes::showPreview(
|
||||||
controller,
|
controller,
|
||||||
cloud));
|
cloud));
|
||||||
} else {
|
} else {
|
||||||
controller->show(Ui::MakeInformBox(tr::lng_theme_no_desktop()));
|
controller->show(Ui::MakeInformBox(ktr("ktg_theme_no_desktop")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "dialogs/dialogs_widget.h"
|
#include "dialogs/dialogs_widget.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "base/qt/qt_key_modifiers.h"
|
#include "base/qt/qt_key_modifiers.h"
|
||||||
#include "base/options.h"
|
#include "base/options.h"
|
||||||
#include "dialogs/ui/dialogs_stories_content.h"
|
#include "dialogs/ui/dialogs_stories_content.h"
|
||||||
|
|
@ -1497,7 +1498,7 @@ void Widget::checkUpdateStatus() {
|
||||||
}
|
}
|
||||||
_updateTelegram.create(
|
_updateTelegram.create(
|
||||||
this,
|
this,
|
||||||
tr::lng_update_telegram(tr::now),
|
ktr("ktg_update_telegram"),
|
||||||
st::dialogsUpdateButton,
|
st::dialogsUpdateButton,
|
||||||
st::dialogsInstallUpdate,
|
st::dialogsInstallUpdate,
|
||||||
st::dialogsInstallUpdateOver);
|
st::dialogsInstallUpdateOver);
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "export/view/export_view_progress.h"
|
#include "export/view/export_view_progress.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "ui/effects/animations.h"
|
#include "ui/effects/animations.h"
|
||||||
#include "ui/widgets/labels.h"
|
#include "ui/widgets/labels.h"
|
||||||
#include "ui/widgets/buttons.h"
|
#include "ui/widgets/buttons.h"
|
||||||
|
|
@ -263,7 +264,7 @@ ProgressWidget::ProgressWidget(
|
||||||
_about = _body->add(
|
_about = _body->add(
|
||||||
object_ptr<Ui::FlatLabel>(
|
object_ptr<Ui::FlatLabel>(
|
||||||
this,
|
this,
|
||||||
tr::lng_export_progress(tr::now),
|
ktr("ktg_export_progress"),
|
||||||
st::exportAboutLabel),
|
st::exportAboutLabel),
|
||||||
st::exportAboutPadding);
|
st::exportAboutPadding);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "history/history_item_helpers.h"
|
#include "history/history_item_helpers.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "api/api_text_entities.h"
|
#include "api/api_text_entities.h"
|
||||||
#include "boxes/premium_preview_box.h"
|
#include "boxes/premium_preview_box.h"
|
||||||
#include "calls/calls_instance.h"
|
#include "calls/calls_instance.h"
|
||||||
|
|
@ -797,9 +798,9 @@ void CheckReactionNotificationSchedule(
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] TextWithEntities UnsupportedMessageText() {
|
[[nodiscard]] TextWithEntities UnsupportedMessageText() {
|
||||||
const auto siteLink = u"https://desktop.telegram.org"_q;
|
const auto siteLink = qsl("https://kotatogram.github.io");
|
||||||
auto result = TextWithEntities{
|
auto result = TextWithEntities{
|
||||||
tr::lng_message_unsupported(tr::now, lt_link, siteLink)
|
ktr("ktg_message_unsupported", { "link", siteLink })
|
||||||
};
|
};
|
||||||
TextUtilities::ParseEntities(result, Ui::ItemTextNoMonoOptions().flags);
|
TextUtilities::ParseEntities(result, Ui::ItemTextNoMonoOptions().flags);
|
||||||
result.entities.push_front(
|
result.entities.push_front(
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "intro/intro_code.h"
|
#include "intro/intro_code.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "intro/intro_code_input.h"
|
#include "intro/intro_code_input.h"
|
||||||
#include "intro/intro_signup.h"
|
#include "intro/intro_signup.h"
|
||||||
|
|
@ -311,7 +312,7 @@ void CodeWidget::gotPassword(const MTPaccount_Password &result) {
|
||||||
close();
|
close();
|
||||||
};
|
};
|
||||||
Ui::show(Ui::MakeConfirmBox({
|
Ui::show(Ui::MakeConfirmBox({
|
||||||
.text = tr::lng_passport_app_out_of_date(),
|
.text = ktr("ktg_passport_app_out_of_date"),
|
||||||
.confirmed = callback,
|
.confirmed = callback,
|
||||||
.confirmText = tr::lng_menu_update(),
|
.confirmText = tr::lng_menu_update(),
|
||||||
}));
|
}));
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "intro/intro_start.h"
|
#include "intro/intro_start.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "intro/intro_qr.h"
|
#include "intro/intro_qr.h"
|
||||||
#include "intro/intro_phone.h"
|
#include "intro/intro_phone.h"
|
||||||
|
|
@ -24,8 +25,8 @@ StartWidget::StartWidget(
|
||||||
not_null<Data*> data)
|
not_null<Data*> data)
|
||||||
: Step(parent, account, data, true) {
|
: Step(parent, account, data, true) {
|
||||||
setMouseTracking(true);
|
setMouseTracking(true);
|
||||||
setTitleText(rpl::single(u"Telegram Desktop"_q));
|
setTitleText(rpl::single(u"Kotatogram Desktop"_q));
|
||||||
setDescriptionText(tr::lng_intro_about());
|
setDescriptionText(rktr("ktg_intro_about"));
|
||||||
show();
|
show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -119,12 +119,9 @@ NotReadyBox::NotReadyBox(
|
||||||
void NotReadyBox::prepare() {
|
void NotReadyBox::prepare() {
|
||||||
setTitle(tr::lng_language_not_ready_title());
|
setTitle(tr::lng_language_not_ready_title());
|
||||||
|
|
||||||
auto text = tr::lng_language_not_ready_about(
|
auto text = rktre("ktg_language_not_ready_about",
|
||||||
lt_lang_name,
|
{ "lang_name", { _name } },
|
||||||
rpl::single(_name) | Ui::Text::ToWithEntities(),
|
{ "link", Ui::Text::Link(tr::lng_language_not_ready_link(tr::now), _editLink) });
|
||||||
lt_link,
|
|
||||||
tr::lng_language_not_ready_link() | Ui::Text::ToLink(_editLink),
|
|
||||||
Ui::Text::WithEntities);
|
|
||||||
const auto content = Ui::CreateChild<Ui::PaddingWrap<Ui::FlatLabel>>(
|
const auto content = Ui::CreateChild<Ui::PaddingWrap<Ui::FlatLabel>>(
|
||||||
this,
|
this,
|
||||||
object_ptr<Ui::FlatLabel>(
|
object_ptr<Ui::FlatLabel>(
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "passport/passport_panel_controller.h"
|
#include "passport/passport_panel_controller.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "main/main_account.h"
|
#include "main/main_account.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
|
|
@ -963,7 +964,7 @@ void PanelController::showUpdateAppBox() {
|
||||||
};
|
};
|
||||||
show(
|
show(
|
||||||
Ui::MakeConfirmBox({
|
Ui::MakeConfirmBox({
|
||||||
.text = tr::lng_passport_app_out_of_date(),
|
.text = ktr("ktg_passport_app_out_of_date"),
|
||||||
.confirmed = callback,
|
.confirmed = callback,
|
||||||
.cancelled = [=] { _form->cancelSure(); },
|
.cancelled = [=] { _form->cancelSure(); },
|
||||||
.confirmText = tr::lng_menu_update(),
|
.confirmText = tr::lng_menu_update(),
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "platform/mac/main_window_mac.h"
|
#include "platform/mac/main_window_mac.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "data/data_session.h"
|
#include "data/data_session.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "core/application.h"
|
#include "core/application.h"
|
||||||
|
|
@ -543,7 +544,7 @@ void MainWindow::createGlobalMenu() {
|
||||||
}
|
}
|
||||||
window->addSeparator();
|
window->addSeparator();
|
||||||
psShowTelegram = window->addAction(
|
psShowTelegram = window->addAction(
|
||||||
tr::lng_mac_menu_show(tr::now),
|
ktr("ktg_mac_menu_show"),
|
||||||
this,
|
this,
|
||||||
[=] { showFromTray(); });
|
[=] { showFromTray(); });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "platform/win/tray_win.h"
|
#include "platform/win/tray_win.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "base/invoke_queued.h"
|
#include "base/invoke_queued.h"
|
||||||
#include "base/qt_signal_producer.h"
|
#include "base/qt_signal_producer.h"
|
||||||
#include "core/application.h"
|
#include "core/application.h"
|
||||||
|
|
@ -288,7 +289,7 @@ void Tray::showTrayMessage() const {
|
||||||
if (!cSeenTrayTooltip() && _icon) {
|
if (!cSeenTrayTooltip() && _icon) {
|
||||||
_icon->showMessage(
|
_icon->showMessage(
|
||||||
AppName.utf16(),
|
AppName.utf16(),
|
||||||
tr::lng_tray_icon_text(tr::now),
|
ktr("ktg_tray_icon_text"),
|
||||||
QIcon(),
|
QIcon(),
|
||||||
QPlatformSystemTrayIcon::Information,
|
QPlatformSystemTrayIcon::Information,
|
||||||
kTooltipDelay);
|
kTooltipDelay);
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "settings/settings_advanced.h"
|
#include "settings/settings_advanced.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "api/api_global_privacy.h"
|
#include "api/api_global_privacy.h"
|
||||||
#include "apiwrap.h"
|
#include "apiwrap.h"
|
||||||
#include "settings/settings_chat.h"
|
#include "settings/settings_chat.h"
|
||||||
|
|
@ -145,7 +146,7 @@ void SetupUpdate(not_null<Ui::VerticalLayout*> container) {
|
||||||
st::settingsButtonNoIcon));
|
st::settingsButtonNoIcon));
|
||||||
const auto update = Ui::CreateChild<Button>(
|
const auto update = Ui::CreateChild<Button>(
|
||||||
check,
|
check,
|
||||||
tr::lng_update_telegram(),
|
rktr("ktg_update_telegram"),
|
||||||
st::settingsUpdate);
|
st::settingsUpdate);
|
||||||
update->hide();
|
update->hide();
|
||||||
check->widthValue() | rpl::start_with_next([=](int width) {
|
check->widthValue() | rpl::start_with_next([=](int width) {
|
||||||
|
|
@ -604,7 +605,7 @@ void SetupSystemIntegrationContent(
|
||||||
};
|
};
|
||||||
|
|
||||||
const auto autostart = addCheckbox(
|
const auto autostart = addCheckbox(
|
||||||
tr::lng_settings_auto_start(),
|
rktr("ktg_settings_auto_start"),
|
||||||
cAutoStart());
|
cAutoStart());
|
||||||
const auto minimized = addSlidingCheckbox(
|
const auto minimized = addSlidingCheckbox(
|
||||||
tr::lng_settings_start_min(),
|
tr::lng_settings_start_min(),
|
||||||
|
|
@ -645,7 +646,7 @@ void SetupSystemIntegrationContent(
|
||||||
if (controller->session().domain().local().hasLocalPasscode()) {
|
if (controller->session().domain().local().hasLocalPasscode()) {
|
||||||
minimized->entity()->setChecked(false);
|
minimized->entity()->setChecked(false);
|
||||||
controller->show(Ui::MakeInformBox(
|
controller->show(Ui::MakeInformBox(
|
||||||
tr::lng_error_start_minimized_passcoded()));
|
ktr("ktg_error_start_minimized_passcoded")));
|
||||||
} else {
|
} else {
|
||||||
cSetStartMinimized(checked);
|
cSetStartMinimized(checked);
|
||||||
Local::writeSettings();
|
Local::writeSettings();
|
||||||
|
|
@ -660,7 +661,7 @@ void SetupSystemIntegrationContent(
|
||||||
|
|
||||||
if (Platform::IsWindows() && !Platform::IsWindowsStoreBuild()) {
|
if (Platform::IsWindows() && !Platform::IsWindowsStoreBuild()) {
|
||||||
const auto sendto = addCheckbox(
|
const auto sendto = addCheckbox(
|
||||||
tr::lng_settings_add_sendto(),
|
rktr("ktg_settings_add_sendto"),
|
||||||
cSendToMenu());
|
cSendToMenu());
|
||||||
|
|
||||||
sendto->checkedChanges(
|
sendto->checkedChanges(
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "settings/settings_calls.h"
|
#include "settings/settings_calls.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "ui/wrap/vertical_layout.h"
|
#include "ui/wrap/vertical_layout.h"
|
||||||
#include "ui/wrap/slide_wrap.h"
|
#include "ui/wrap/slide_wrap.h"
|
||||||
#include "ui/widgets/labels.h"
|
#include "ui/widgets/labels.h"
|
||||||
|
|
@ -429,7 +430,7 @@ void Calls::requestPermissionAndStartTestingMicrophone() {
|
||||||
controller->hideLayer();
|
controller->hideLayer();
|
||||||
};
|
};
|
||||||
_controller->show(Ui::MakeConfirmBox({
|
_controller->show(Ui::MakeConfirmBox({
|
||||||
.text = tr::lng_no_mic_permission(),
|
.text = ktr("ktg_no_mic_permission"),
|
||||||
.confirmed = showSystemSettings,
|
.confirmed = showSystemSettings,
|
||||||
.confirmText = tr::lng_menu_settings(),
|
.confirmText = tr::lng_menu_settings(),
|
||||||
}));
|
}));
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "settings/settings_privacy_security.h"
|
#include "settings/settings_privacy_security.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "api/api_authorizations.h"
|
#include "api/api_authorizations.h"
|
||||||
#include "api/api_cloud_password.h"
|
#include "api/api_cloud_password.h"
|
||||||
#include "api/api_self_destruct.h"
|
#include "api/api_self_destruct.h"
|
||||||
|
|
@ -987,7 +988,7 @@ object_ptr<Ui::BoxContent> CloudPasswordAppOutdatedBox() {
|
||||||
close();
|
close();
|
||||||
};
|
};
|
||||||
return Ui::MakeConfirmBox({
|
return Ui::MakeConfirmBox({
|
||||||
.text = tr::lng_passport_app_out_of_date(),
|
.text = ktr("ktg_passport_app_out_of_date"),
|
||||||
.confirmed = callback,
|
.confirmed = callback,
|
||||||
.confirmText = tr::lng_menu_update(),
|
.confirmText = tr::lng_menu_update(),
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "tray.h"
|
#include "tray.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "core/application.h"
|
#include "core/application.h"
|
||||||
#include "core/core_settings.h"
|
#include "core/core_settings.h"
|
||||||
#include "platform/platform_notifications_manager.h"
|
#include "platform/platform_notifications_manager.h"
|
||||||
|
|
@ -74,7 +75,7 @@ void Tray::rebuildMenu() {
|
||||||
_activeForTrayIconAction = Core::App().isActiveForTrayMenu();
|
_activeForTrayIconAction = Core::App().isActiveForTrayMenu();
|
||||||
return _activeForTrayIconAction
|
return _activeForTrayIconAction
|
||||||
? tr::lng_minimize_to_tray(tr::now)
|
? tr::lng_minimize_to_tray(tr::now)
|
||||||
: tr::lng_open_from_tray(tr::now);
|
: ktr("ktg_open_from_tray");
|
||||||
});
|
});
|
||||||
|
|
||||||
_tray.addAction(
|
_tray.addAction(
|
||||||
|
|
@ -95,7 +96,7 @@ void Tray::rebuildMenu() {
|
||||||
[=] { toggleSoundNotifications(); });
|
[=] { toggleSoundNotifications(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
_tray.addAction(tr::lng_quit_from_tray(), [] { Core::Quit(); });
|
_tray.addAction(rktr("ktg_quit_from_tray"), [] { Core::Quit(); });
|
||||||
|
|
||||||
updateMenuText();
|
updateMenuText();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "ui/controls/window_outdated_bar.h"
|
#include "ui/controls/window_outdated_bar.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "ui/widgets/labels.h" // Ui::FlatLabel
|
#include "ui/widgets/labels.h" // Ui::FlatLabel
|
||||||
#include "ui/widgets/buttons.h" // Ui::IconButton
|
#include "ui/widgets/buttons.h" // Ui::IconButton
|
||||||
#include "ui/wrap/slide_wrap.h" // Ui::SlideWrap
|
#include "ui/wrap/slide_wrap.h" // Ui::SlideWrap
|
||||||
|
|
@ -65,8 +66,8 @@ Bar::Bar(not_null<QWidget*> parent, QDate date)
|
||||||
_title->setTryMakeSimilarLines(true);
|
_title->setTryMakeSimilarLines(true);
|
||||||
_details->setTryMakeSimilarLines(true);
|
_details->setTryMakeSimilarLines(true);
|
||||||
_details->setText(_soon
|
_details->setText(_soon
|
||||||
? tr::lng_outdated_soon(tr::now, lt_date, langDayOfMonthFull(date))
|
? ktr("ktg_outdated_soon", { "date", langDayOfMonthFull(date) })
|
||||||
: tr::lng_outdated_now(tr::now));
|
: ktr("ktg_outdated_now"));
|
||||||
}
|
}
|
||||||
|
|
||||||
rpl::producer<> Bar::hideClicks() const {
|
rpl::producer<> Bar::hideClicks() const {
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "window/themes/window_theme_editor.h"
|
#include "window/themes/window_theme_editor.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "window/themes/window_theme.h"
|
#include "window/themes/window_theme.h"
|
||||||
#include "window/themes/window_theme_editor_block.h"
|
#include "window/themes/window_theme_editor_block.h"
|
||||||
#include "window/themes/window_theme_editor_box.h"
|
#include "window/themes/window_theme_editor_box.h"
|
||||||
|
|
@ -835,7 +836,7 @@ QByteArray Editor::ColorizeInContent(
|
||||||
|
|
||||||
void Editor::save() {
|
void Editor::save() {
|
||||||
if (Core::App().passcodeLocked()) {
|
if (Core::App().passcodeLocked()) {
|
||||||
_window->showToast(tr::lng_theme_editor_need_unlock(tr::now));
|
_window->showToast(ktr("ktg_theme_editor_need_unlock"));
|
||||||
return;
|
return;
|
||||||
} else if (!_window->account().sessionExists()) {
|
} else if (!_window->account().sessionExists()) {
|
||||||
_window->showToast(tr::lng_theme_editor_need_auth(tr::now));
|
_window->showToast(tr::lng_theme_editor_need_auth(tr::now));
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue