diff --git a/Telegram/PrepareWin.bat b/Telegram/PrepareWin.bat index a5562aaf4..3ade71dc8 100644 --- a/Telegram/PrepareWin.bat +++ b/Telegram/PrepareWin.bat @@ -1,10 +1,10 @@ @echo OFF -set "AppVersion=8012" -set "AppVersionStrSmall=0.8.12" -set "AppVersionStr=0.8.12" -set "AppVersionStrFull=0.8.12.0" -set "DevChannel=1" +set "AppVersion=8013" +set "AppVersionStrSmall=0.8.13" +set "AppVersionStr=0.8.13" +set "AppVersionStrFull=0.8.13.0" +set "DevChannel=0" if %DevChannel% neq 0 goto preparedev diff --git a/Telegram/Resources/lang.strings b/Telegram/Resources/lang.strings index 3b691a7d5..15d48f26c 100644 --- a/Telegram/Resources/lang.strings +++ b/Telegram/Resources/lang.strings @@ -389,16 +389,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_action_changed_title" = "{from} changed group name to «{title}»"; "lng_action_created_chat" = "{from} created group «{title}»"; -"lng_group_invite_bad_link" = "This invite link is broken\nor it has expired."; +"lng_group_invite_bad_link" = "This invite link is broken\nor has expired."; "lng_group_invite_want_join" = "Do you want to join the group «{title}»?"; "lng_group_invite_join" = "Join"; "lng_group_invite_link" = "Invite link"; "lng_group_invite_create" = "Create an invite link"; -"lng_group_invite_about" = "You can create a link for joining this group.\nAnyone who has that link can join."; -"lng_group_invite_create_new" = "Create new link"; -"lng_group_invite_about_new" = "Current invite link will stop working\nwhen you create a new one."; -"lng_group_invite_copied" = "Invite link was copied to clipboard."; +"lng_group_invite_about" = "Telegram users will be able to join\nyour group by following this link."; +"lng_group_invite_create_new" = "Revoke invite link"; +"lng_group_invite_about_new" = "Your previous link will be deactivated\nand we'll generate a new invite link for you."; +"lng_group_invite_copied" = "Invite link copied to clipboard."; "lng_group_invite_no_room" = "Unable to join this group because there are\ntoo many members in it already."; "lng_forwarded_from" = "Forwarded from"; @@ -573,7 +573,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_new_version_wrap" = "Telegram Desktop was updated to version {version}\n\n{changes}\n\nFull version history is available here:\n{link}"; "lng_new_version_minor" = "— Bug fixes and other minor improvements"; -"lng_new_version_text" = "— Invite links for group chats\n— Gray unread badge for muted conversations"; +"lng_new_version_text" = "— Added support for new emoji\n— Improved emoji and stickers panel"; "lng_menu_insert_unicode" = "Insert Unicode control character"; diff --git a/Telegram/SourceFiles/_other/genemoji.cpp b/Telegram/SourceFiles/_other/genemoji.cpp index 122f77a18..6a61c2e4f 100644 --- a/Telegram/SourceFiles/_other/genemoji.cpp +++ b/Telegram/SourceFiles/_other/genemoji.cpp @@ -96,9 +96,9 @@ const uint32 replacesCount = sizeof(replaces) / sizeof(EmojiReplace); typedef QMap ReplaceMap; ReplaceMap replaceMap; -static const int variantsCount = 5, inRow = 40, imSizes[] = { 18, 22, 27, 36, 45 }; -static const int emojiFontSizes[] = { 14, 20, 27, 36, 45 }; -static const int emojiDeltas[] = { 15, 20, 25, 34, 42 }; +static const int variantsCount = 5, inRow = 40, imSizes[] = { 18, 22, 27, 36, 45, 180 }, badSizes[] = { 1, 1, 0, 0, 0 }; +static const int emojiFontSizes[] = { 14, 20, 27, 36, 45, 180 }; +static const int emojiDeltas[] = { 15, 20, 25, 34, 42, 167 }; static const char *variantPostfix[] = { "", "_125x", "_150x", "_200x", "_250x" }; static const char *variantNames[] = { "dbisOne", "dbisOneAndQuarter", "dbisOneAndHalf", "dbisTwo" }; @@ -1382,23 +1382,32 @@ bool genEmoji(QString, const QString &emoji_out, const QString &emoji_png) { QStringList str = QFontDatabase::applicationFontFamilies(QFontDatabase::addApplicationFont(QStringLiteral("/System/Library/Fonts/Apple Color Emoji.ttf"))); for (int variantIndex = 0; variantIndex < variantsCount; variantIndex++) { - int imSize = imSizes[variantIndex]; + int imSize = imSizes[variantIndex], bad = badSizes[variantIndex], badSize = (bad ? imSizes[5] : imSize); QFont f(QGuiApplication::font()); f.setFamily(QStringLiteral("Apple Color Emoji")); - f.setPixelSize(emojiFontSizes[variantIndex]); + f.setPixelSize(emojiFontSizes[bad ? 5 : variantIndex]); - int s = 4 + imSize; + int s = 4 + badSize; + QImage badImg(inRow * badSize, currentRow * badSize, QImage::Format_ARGB32); QImage emojisImg(inRow * imSize, currentRow * imSize, QImage::Format_ARGB32), emojiImg(s, s, QImage::Format_ARGB32); { - QPainter p(&emojisImg); + QPainter p(&emojisImg), q(&badImg); QPainter::CompositionMode m = p.compositionMode(); p.setCompositionMode(QPainter::CompositionMode_Source); p.fillRect(0, 0, emojisImg.width(), emojisImg.height(), Qt::transparent); p.setCompositionMode(m); p.setRenderHint(QPainter::SmoothPixmapTransform); + if (bad) { + QPainter::CompositionMode m = q.compositionMode(); + q.setCompositionMode(QPainter::CompositionMode_Source); + q.fillRect(0, 0, emojisImg.width(), emojisImg.height(), Qt::transparent); + q.setCompositionMode(m); + q.setRenderHint(QPainter::SmoothPixmapTransform); + } for (EmojisData::const_iterator it = emojisData.cbegin(), e = emojisData.cend(); it != e; ++it) { - QRect drawFrom(2, 2, imSize, imSize); + QRect drawFrom(2, 2, badSize, badSize); + QString es = textEmojiString(&it.value()); { QPainter q(&emojiImg); q.setPen(QColor(0, 0, 0, 255)); @@ -1407,7 +1416,7 @@ bool genEmoji(QString, const QString &emoji_out, const QString &emoji_png) { q.setCompositionMode(QPainter::CompositionMode_Source); q.fillRect(0, 0, emojiImg.width(), emojiImg.height(), Qt::transparent); q.setCompositionMode(m); - q.drawText(2, 2 + emojiDeltas[variantIndex], textEmojiString(&it.value())); + q.drawText(2, 2 + emojiDeltas[bad ? 5 : variantIndex], es); } int top = 1, bottom = 1, left = 1, right = 1; QRgb *b = (QRgb*)emojiImg.bits(); @@ -1455,10 +1464,17 @@ bool genEmoji(QString, const QString &emoji_out, const QString &emoji_png) { drawFrom.setX(drawFrom.x() - 1); } } - p.drawImage(QRect(it->x * imSize, it->y * imSize, imSize, imSize), emojiImg, drawFrom); + if (bad) { + p.drawImage(QRect(it->x * imSize, it->y * imSize, imSize, imSize), emojiImg.copy(2, 2, badSize, badSize).scaled(imSize, imSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); + q.drawImage(QRect(it->x * badSize, it->y * badSize, badSize, badSize), emojiImg, QRect(2, 2, badSize, badSize)); + } else { + p.drawImage(QRect(it->x * imSize, it->y * imSize, imSize, imSize), emojiImg, drawFrom); + } } } QString postfix = variantPostfix[variantIndex], emojif = emoji_png + postfix + ".webp"; +// emojisImg.save(emoji_png + postfix + ".png"); +// if (bad) badImg.save(emoji_png + "_bad.png"); QByteArray emojib; { QBuffer ebuf(&emojib); diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp index 06c6cf838..503a54cca 100644 --- a/Telegram/SourceFiles/application.cpp +++ b/Telegram/SourceFiles/application.cpp @@ -664,7 +664,7 @@ void Application::checkMapVersion() { QString versionFeatures; if (DevChannel && Local::oldMapVersion() < 8012) { versionFeatures = QString::fromUtf8("\xe2\x80\x94 New emojis support added\n\xe2\x80\x94 Emojis and stickers panel improved").replace('@', qsl("@") + QChar(0x200D)); - } else if (!DevChannel && Local::oldMapVersion() < 8011) { + } else if (!DevChannel && Local::oldMapVersion() < 8013) { versionFeatures = lang(lng_new_version_text).trimmed(); } if (!versionFeatures.isEmpty()) { diff --git a/Telegram/SourceFiles/art/emoji.webp b/Telegram/SourceFiles/art/emoji.webp index f1f51e2dc..5676b5648 100644 Binary files a/Telegram/SourceFiles/art/emoji.webp and b/Telegram/SourceFiles/art/emoji.webp differ diff --git a/Telegram/SourceFiles/art/emoji_125x.webp b/Telegram/SourceFiles/art/emoji_125x.webp index 3b19b139d..ac82c92c8 100644 Binary files a/Telegram/SourceFiles/art/emoji_125x.webp and b/Telegram/SourceFiles/art/emoji_125x.webp differ diff --git a/Telegram/SourceFiles/config.h b/Telegram/SourceFiles/config.h index 31419962e..6b9a8a14f 100644 --- a/Telegram/SourceFiles/config.h +++ b/Telegram/SourceFiles/config.h @@ -17,9 +17,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org */ #pragma once -static const int32 AppVersion = 8012; -static const wchar_t *AppVersionStr = L"0.8.12"; -static const bool DevChannel = true; +static const int32 AppVersion = 8013; +static const wchar_t *AppVersionStr = L"0.8.13"; +static const bool DevChannel = false; static const wchar_t *AppNameOld = L"Telegram Win (Unofficial)"; static const wchar_t *AppName = L"Telegram Desktop"; diff --git a/Telegram/SourceFiles/gui/text.h b/Telegram/SourceFiles/gui/text.h index 49c44c75d..ea50274e8 100644 --- a/Telegram/SourceFiles/gui/text.h +++ b/Telegram/SourceFiles/gui/text.h @@ -546,10 +546,11 @@ inline bool chIsTrimmed(QChar ch, bool rich = false) { return (!rich || ch != TextCommand) && (chIsSpace(ch) || chIsBad(ch)); } inline bool chIsDiac(QChar ch) { // diac and variation selectors - return (ch >= 768 && ch < 880) || (ch >= 7616 && ch < 7680) || (ch >= 8400 && ch < 8448) || (ch >= 65056 && ch < 65072); + QChar::Category c = ch.category(); + return (c == QChar::Mark_NonSpacing); } inline int32 chMaxDiacAfterSymbol() { - return 4; + return 2; } inline bool chIsNewline(QChar ch) { return (ch == QChar::LineFeed || ch == 156); diff --git a/Telegram/SourceFiles/langs/lang_de.strings b/Telegram/SourceFiles/langs/lang_de.strings index 84440fd7f..6a13dd19d 100644 --- a/Telegram/SourceFiles/langs/lang_de.strings +++ b/Telegram/SourceFiles/langs/lang_de.strings @@ -389,17 +389,17 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_action_changed_title" = "{from} hat den Gruppennamen zu «{title}» geändert"; "lng_action_created_chat" = "{from} hat die Gruppe «{title}» erstellt"; -"lng_group_invite_bad_link" = "Der Einladungslink\nist nicht mehr gültig."; +"lng_group_invite_bad_link" = "Der Einladungslink ist \nnicht mehr gültig."; "lng_group_invite_want_join" = "Möchtest du der Gruppe «{title}» beitreten?"; "lng_group_invite_join" = "Beitreten"; "lng_group_invite_link" = "Einladungslink"; "lng_group_invite_create" = "Neuer Link"; -"lng_group_invite_about" = "Jeder, der Telegram installiert hat, kann \nüber diesen Links in deine Gruppe."; -"lng_group_invite_create_new" = "Neuer Link"; -"lng_group_invite_about_new" = "Aktueller Link wird ungültig, wenn \ndu einen neuen erstellst."; -"lng_group_invite_copied" = "Einladungslink in die Zwischenablage kopiert."; -"lng_group_invite_no_room" = "Leider kannst du dieser Gruppe nicht\nmehr beitreten, da sie bereits voll ist."; +"lng_group_invite_about" = "Jeder, der Telegram installiert hat,\nkann anhand dieses Links in deine Gruppe."; +"lng_group_invite_create_new" = "Link widerrufen"; +"lng_group_invite_about_new" = "Dein vorheriger Link wird ungültig,\nwenn du einen neuen erstellst."; +"lng_group_invite_copied" = "Der Einladungslink für die Gruppe\nwurde in die Zwischenablage kopiert."; +"lng_group_invite_no_room" = "Leider kannst du dieser Gruppe nicht mehr\nbeitreten, da sie bereits voll ist."; "lng_forwarded_from" = "Weitergeleitet von"; "lng_in_reply_to" = "Antwort auf"; @@ -420,6 +420,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_media_video" = "Videodatei"; "lng_media_audio" = "Sprachnachricht"; +"lng_emoji_category0" = "Häufig genutzt"; +"lng_emoji_category1" = "Personen"; +"lng_emoji_category2" = "Natur"; +"lng_emoji_category3" = "Essen & Trinken"; +"lng_emoji_category4" = "Feiern"; +"lng_emoji_category5" = "Aktivität"; +"lng_emoji_category6" = "Reisen & Orte"; +"lng_emoji_category7" = "Objekte & Symbole"; +"lng_emoji_category8" = "Sticker"; + "lng_in_dlg_photo" = "Bild"; "lng_in_dlg_video" = "Video"; "lng_in_dlg_contact" = "Kontakt"; @@ -563,7 +573,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_new_version_wrap" = "Telegram Desktop wurde aktualisiert auf Version {version}\n\n{changes}\n\nGesamter Versionsverlauf:\n{link}"; "lng_new_version_minor" = "— Fehlerbehebungen und Softwareoptimierungen"; -"lng_new_version_text" = "— Einladungslinks für Gruppenchats\n— Graues Kennzeichnungssymbol für stummgeschaltete Chats"; +"lng_new_version_text" = "— Neue Emoji hinzugefügt\n— Emoji- und Sticker-Panel wurden verbessert"; "lng_menu_insert_unicode" = "Unicode-Steuerzeichen einfügen"; diff --git a/Telegram/SourceFiles/langs/lang_es.strings b/Telegram/SourceFiles/langs/lang_es.strings index 4eaf16322..398ca970b 100644 --- a/Telegram/SourceFiles/langs/lang_es.strings +++ b/Telegram/SourceFiles/langs/lang_es.strings @@ -389,16 +389,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_action_changed_title" = "{from} cambió el nombre del grupo a «{title}»"; "lng_action_created_chat" = "{from} creó el grupo «{title}»"; -"lng_group_invite_bad_link" = "El enlace de invitación está roto\no ha expirado."; +"lng_group_invite_bad_link" = "El enlace de invitación está \nroto o ha expirado."; "lng_group_invite_want_join" = "¿Quieres unirte al grupo «{title}»?"; "lng_group_invite_join" = "Unirme"; "lng_group_invite_link" = "Invitación"; "lng_group_invite_create" = "Crear un enlace de invitación"; -"lng_group_invite_about" = "Puedes crear un enlace para unirse a este grupo.\nCualquiera que tenga ese enlace puede unirse."; -"lng_group_invite_create_new" = "Nuevo enlace"; -"lng_group_invite_about_new" = "El enlace actual dejará de funcionar\ncuando crees uno nuevo."; -"lng_group_invite_copied" = "El enlace de invitación fue copiado al portapapeles."; +"lng_group_invite_about" = "Los usuarios de Telegram podrán unirse\na tu grupo a través de este enlace."; +"lng_group_invite_create_new" = "Anular enlace de invitación"; +"lng_group_invite_about_new" = "El enlace previo será desactivado\ny generaremos uno nuevo para ti."; +"lng_group_invite_copied" = "Enlace de invitación copiado al portapapeles."; "lng_group_invite_no_room" = "No puedes unirte a este grupo porque\nhay muchos miembros en él."; "lng_forwarded_from" = "Reenviado desde"; @@ -420,6 +420,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_media_video" = "Vídeo"; "lng_media_audio" = "Mensaje de voz"; +"lng_emoji_category0" = "Usados frecuentemente"; +"lng_emoji_category1" = "Gente"; +"lng_emoji_category2" = "Naturaleza"; +"lng_emoji_category3" = "Comida y bebidas"; +"lng_emoji_category4" = "Celebración"; +"lng_emoji_category5" = "Actividad"; +"lng_emoji_category6" = "Viajes y lugares"; +"lng_emoji_category7" = "Objetos y símbolos"; +"lng_emoji_category8" = "Stickers"; + "lng_in_dlg_photo" = "Foto"; "lng_in_dlg_video" = "Vídeo"; "lng_in_dlg_contact" = "Contacto"; @@ -563,7 +573,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_new_version_wrap" = "Telegram Desktop fue actualizada a la versión {version}\n\n{changes}\n\nEl historial completo está disponible aquí:\n{link}"; "lng_new_version_minor" = "— Corrección de errores y otras mejoras menores"; -"lng_new_version_text" = "— Enlaces de invitación para chats grupales\n— Globo en el ícono gris para conversaciones silenciadas"; +"lng_new_version_text" = "— Añadido el soporte para nuevos emojis\n— Pestañas de stickers y emojis mejoradas "; "lng_menu_insert_unicode" = "Insertar caracteres de control Unicode"; diff --git a/Telegram/SourceFiles/langs/lang_it.strings b/Telegram/SourceFiles/langs/lang_it.strings index 83c8e0e72..6f3e87827 100644 --- a/Telegram/SourceFiles/langs/lang_it.strings +++ b/Telegram/SourceFiles/langs/lang_it.strings @@ -240,7 +240,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_settings_section_cache" = "Archivio locale"; "lng_settings_no_data_cached" = "Non ci sono dati nella cache!"; "lng_settings_images_cached" = "{count:_not_used_|# immagine|# immagini}, {size}"; -"lng_settings_audios_cached" = "{count:_not_used_|# messaggio vocale|# messaggi vocali}, {size}"; +"lng_settings_audios_cached" = "{count:_not_used_|# nota vocale|# note vocali}, {size}"; "lng_local_storage_clear" = "Elimina tutto"; "lng_local_storage_clearing" = "Eliminando.."; "lng_local_storage_cleared" = "Eliminato!"; @@ -347,7 +347,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_profile_set_group_photo" = "Imposta foto"; "lng_profile_add_participant" = "Aggiungi membro"; "lng_profile_delete_and_exit" = "Esci"; -"lng_profile_kick" = "Espelli"; +"lng_profile_kick" = "Rimuovi"; "lng_profile_sure_kick" = "Espellere {user} dal gruppo?"; "lng_profile_loading" = "Caricamento.."; "lng_profile_shared_media" = "Media condivisi"; @@ -358,8 +358,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_profile_videos_header" = "Panoramica video"; "lng_profile_files" = "{count:_not_used_|# file|# file} »"; "lng_profile_files_header" = "Panoramica file"; -"lng_profile_audios" = "{count:_not_used_|# messaggio vocale|# messaggi vocali} »"; -"lng_profile_audios_header" = "Panoramica messaggi vocali"; +"lng_profile_audios" = "{count:_not_used_|# nota vocale|# note vocali} »"; +"lng_profile_audios_header" = "Panoramica note vocali"; "lng_profile_show_all_types" = "Mostra tutti i tipi"; "lng_profile_copy_phone" = "Copia numero di telefono"; @@ -379,7 +379,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_message_empty" = "(vuoto)"; "lng_action_add_user" = "{from} ha aggiunto {user}"; -"lng_action_kick_user" = "{from} ha espulso {user}"; +"lng_action_kick_user" = "{from} ha rimosso {user}"; "lng_action_user_left" = "{from} ha lasciato il gruppo"; "lng_action_user_joined" = "{from} si è unito al gruppo"; "lng_action_user_joined_by_link" = "{from} si è unito al gruppo tramite link di invito"; @@ -389,16 +389,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_action_changed_title" = "{from} ha cambiato il nome del gruppo in «{title}»"; "lng_action_created_chat" = "{from} ha creato il gruppo «{title}»"; -"lng_group_invite_bad_link" = "Questo link non funziona\no è scaduto."; +"lng_group_invite_bad_link" = "Questo link di invito non funziona\no è scaduto."; "lng_group_invite_want_join" = "Vuoi unirti al gruppo «{title}»?"; "lng_group_invite_join" = "Unisciti"; "lng_group_invite_link" = "Link di invito"; "lng_group_invite_create" = "Crea un link di invito"; -"lng_group_invite_about" = "Puoi creare un link per unirsi a questo gruppo.\nChiunque abbia quel link potrà unirsi."; -"lng_group_invite_create_new" = "Crea nuovo link"; -"lng_group_invite_about_new" = "Il link attuale smetterà di funzionare\nquando ne viene creato uno nuovo."; -"lng_group_invite_copied" = "Il link di invito è stato copiato negli appunti."; +"lng_group_invite_about" = "Gli utenti di Telegram saranno in grado di \naggiungersi al tuo gruppo aprendo il link."; +"lng_group_invite_create_new" = "Revoca link"; +"lng_group_invite_about_new" = "Il link precedente smetterà di funzionare\ne ne sarà creato uno nuovo per te."; +"lng_group_invite_copied" = "Link di invito copiato negli appunti."; "lng_group_invite_no_room" = "Impossibile unirsi a questo gruppo\nperché ci sono già troppi membri."; "lng_forwarded_from" = "Inoltrato da"; @@ -412,13 +412,23 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_media_type_photos" = "Foto"; "lng_media_type_videos" = "Video"; "lng_media_type_files" = "File"; -"lng_media_type_audios" = "Messaggi vocali"; +"lng_media_type_audios" = "Note vocali"; "lng_media_open_with" = "Apri con"; "lng_media_download" = "Download"; "lng_media_cancel" = "Annulla"; "lng_media_video" = "Video"; -"lng_media_audio" = "Messaggio vocale"; +"lng_media_audio" = "Nota vocale"; + +"lng_emoji_category0" = "Utilizzate di frequente"; +"lng_emoji_category1" = "Persone"; +"lng_emoji_category2" = "Natura"; +"lng_emoji_category3" = "Cibo e bevande"; +"lng_emoji_category4" = "Festeggiamenti"; +"lng_emoji_category5" = "Attività"; +"lng_emoji_category6" = "Viaggi e luoghi"; +"lng_emoji_category7" = "Oggetti e simboli"; +"lng_emoji_category8" = "Sticker"; "lng_in_dlg_photo" = "Foto"; "lng_in_dlg_video" = "Video"; @@ -563,7 +573,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_new_version_wrap" = "Telegram Desktop si è aggiornato alla versione {version}\n\n{changes}\n\nLa cronologia degli update è disponibile qui:\n{link}"; "lng_new_version_minor" = "— Bug fix e altri miglioramenti minori"; -"lng_new_version_text" = "— Link di invito per le chat di gruppo\n— Icona badge grigia per le conversazioni silenziate"; +"lng_new_version_text" = "— Aggiunto il supporto per nuove emoji\n— Pannello emoji e sticker migliorato"; "lng_menu_insert_unicode" = "Inserisci carattere di controllo Unicode"; diff --git a/Telegram/SourceFiles/langs/lang_ko.strings b/Telegram/SourceFiles/langs/lang_ko.strings index 9e7d08518..1c5ab85cd 100644 --- a/Telegram/SourceFiles/langs/lang_ko.strings +++ b/Telegram/SourceFiles/langs/lang_ko.strings @@ -395,9 +395,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_group_invite_link" = "초대링크"; "lng_group_invite_create" = "초대링크 생성"; -"lng_group_invite_about" = "이 그룹방으로 초대할 수 있는 링크를 생성 할 수 있습니다.\n링크가 노출되는 모든 회원이 참여가 가능합니다."; -"lng_group_invite_create_new" = "새로운 링크 생성"; -"lng_group_invite_about_new" = "새로 생성하실 경우\n현재 초대링크는 폐기됩니다."; +"lng_group_invite_about" = "이 링크를 통하여,\n그룹방에 초대가 가능합니다."; +"lng_group_invite_create_new" = "초대링크 폐기"; +"lng_group_invite_about_new" = "기존 링크는 비활성화 될 예정이며,\n새로운 링크가 재생성이 될 예정입니다."; "lng_group_invite_copied" = "클립보드에 초대링크가 복사 되었습니다."; "lng_group_invite_no_room" = "그룹방 인원 최대치가 도달하여\n더이상 참여가 안됩니다."; @@ -420,6 +420,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_media_video" = "비디오 파일"; "lng_media_audio" = "음성 메시지"; +"lng_emoji_category0" = "자주 사용"; +"lng_emoji_category1" = "사람"; +"lng_emoji_category2" = "자연"; +"lng_emoji_category3" = "음식점"; +"lng_emoji_category4" = "기념일"; +"lng_emoji_category5" = "활동"; +"lng_emoji_category6" = "여행 및 장소"; +"lng_emoji_category7" = "오브제 & 상징"; +"lng_emoji_category8" = "스티커"; + "lng_in_dlg_photo" = "사진"; "lng_in_dlg_video" = "비디오"; "lng_in_dlg_contact" = "연락처"; @@ -563,7 +573,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_new_version_wrap" = "텔레그램 데스크탑은 {version} 버전으로 업데이트 되었습니다.\n\n{changes}\n\n전체 버전 히스토리는 아래에서 확인 가능합니다:\n{link}"; "lng_new_version_minor" = "— 버그 수정 및 일부 기능 향상"; -"lng_new_version_text" = "— 그룹방 초대링크 활성화\n— 음소거된 대화는 회식 뱃지로 표기"; +"lng_new_version_text" = "— 새로운 이모티콘 지원\n— 이모티콘 및 스티커 패널 향상"; "lng_menu_insert_unicode" = "유니코드 문자를 입력하세요."; diff --git a/Telegram/SourceFiles/langs/lang_nl.strings b/Telegram/SourceFiles/langs/lang_nl.strings index a1cc60960..32715d7df 100644 --- a/Telegram/SourceFiles/langs/lang_nl.strings +++ b/Telegram/SourceFiles/langs/lang_nl.strings @@ -395,9 +395,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_group_invite_link" = "Uitnodigingslink"; "lng_group_invite_create" = "Uitnodigingslink maken"; -"lng_group_invite_about" = "Andere gebruikers kunnen aan je groep\ndeelnemen door deze link te openen."; -"lng_group_invite_create_new" = "Nieuwe link"; -"lng_group_invite_about_new" = "Als je een nieuwe link maakt zal \nde huidige inactief worden."; +"lng_group_invite_about" = "Gebruikers kunnen aan je groep \ndeelnemen met deze link."; +"lng_group_invite_create_new" = "Uitnodigingslink intrekken"; +"lng_group_invite_about_new" = "Je uitnodigingslink zal inactief worden\neen nieuwe link zal worden gegenereerd."; "lng_group_invite_copied" = "Link gekopieerd naar klembord."; "lng_group_invite_no_room" = "Sorry, deze groep is al vol."; @@ -420,6 +420,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_media_video" = "Video"; "lng_media_audio" = "Spraakbericht"; +"lng_emoji_category0" = "Veelgebruikt"; +"lng_emoji_category1" = "Mensen"; +"lng_emoji_category2" = "Natuur"; +"lng_emoji_category3" = "Eten & drinken"; +"lng_emoji_category4" = "Feestelijkheid"; +"lng_emoji_category5" = "Actviteit"; +"lng_emoji_category6" = "Reizen & plekken"; +"lng_emoji_category7" = "Objecten & symbolen"; +"lng_emoji_category8" = "Stickers"; + "lng_in_dlg_photo" = "Foto"; "lng_in_dlg_video" = "Video"; "lng_in_dlg_contact" = "Contact"; @@ -563,7 +573,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_new_version_wrap" = "Telegram is bijgewerkt naar versie {version}\n\n{changes} \n\nVolledige versiegeschiedenis is hier te vinden:\n{link}"; "lng_new_version_minor" = "— Probleemoplossing en andere kleine verbeteringen"; -"lng_new_version_text" = "— Uitnodigingslinks voor groepschats\n— Grijs Badgenummer voor gesprekken die op stil staan"; +"lng_new_version_text" = "— Ondersteuning voor nieuwe emoji toegevoegd\n— Verbeterd emoji- en stickerspaneel"; "lng_menu_insert_unicode" = "Unicode-besturingsteken invoegen"; diff --git a/Telegram/SourceFiles/langs/lang_pt_BR.strings b/Telegram/SourceFiles/langs/lang_pt_BR.strings index db24ef43c..4ce6443b6 100644 --- a/Telegram/SourceFiles/langs/lang_pt_BR.strings +++ b/Telegram/SourceFiles/langs/lang_pt_BR.strings @@ -389,15 +389,15 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_action_changed_title" = "{from} alterou o título do grupo para «{title}»"; "lng_action_created_chat" = "{from} criou o grupo «{title}»"; -"lng_group_invite_bad_link" = "Link de convite quebrado ou expirado."; +"lng_group_invite_bad_link" = "Link de convite quebrado\nou expirado."; "lng_group_invite_want_join" = "Você deseja entrar no grupo «{title}»?"; "lng_group_invite_join" = "Entrar"; "lng_group_invite_link" = "Link de convite"; "lng_group_invite_create" = "Criar um link de convite"; -"lng_group_invite_about" = "Você pode criar um link de convite.\nQuem abrir o link poderá entrar no grupo."; -"lng_group_invite_create_new" = "Criar novo link"; -"lng_group_invite_about_new" = "O link de convite atual será desativado\nquando você criar um novo."; +"lng_group_invite_about" = "Usuários do Telegram poderão entrar\nem seu grupo clicando no link."; +"lng_group_invite_create_new" = "Desativar link"; +"lng_group_invite_about_new" = "Seu link de convite será desativado\ne iremos gerar um novo link para você."; "lng_group_invite_copied" = "Link copiado para área de transferência."; "lng_group_invite_no_room" = "Não foi possível entrar no grupo porque\nele já possui muitos membros."; @@ -420,6 +420,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_media_video" = "Arquivo de vídeo"; "lng_media_audio" = "Mensagem de voz"; +"lng_emoji_category0" = "Frequentemente usado"; +"lng_emoji_category1" = "Pessoas"; +"lng_emoji_category2" = "Natureza"; +"lng_emoji_category3" = "Comidas e Bebidas"; +"lng_emoji_category4" = "Celebração"; +"lng_emoji_category5" = "Atividade"; +"lng_emoji_category6" = "Viagens e Lugares"; +"lng_emoji_category7" = "Objetos e Símbolos"; +"lng_emoji_category8" = "Stickers"; + "lng_in_dlg_photo" = "Foto"; "lng_in_dlg_video" = "Vídeo"; "lng_in_dlg_contact" = "Contato"; @@ -563,7 +573,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_new_version_wrap" = "Telegram Desktop foi atualizado para a versão {version}\n\n{changes}\n\nHistórico completo de mudanças disponível aqui:\n{link}"; "lng_new_version_minor" = "— Resolução de bugs e outras menores melhorias"; -"lng_new_version_text" = "— Link de convite para chats em grupo\n— Contador cinza de mensagens não lidas para conversas silenciadas."; +"lng_new_version_text" = "— Adicionado suporte para novos emojis\n— Painel de emojis e stickers melhorado"; "lng_menu_insert_unicode" = "Inserir caractere de controle Unicode"; diff --git a/Telegram/SourceFiles/main.cpp b/Telegram/SourceFiles/main.cpp index 33078488a..68a2d0e0b 100644 --- a/Telegram/SourceFiles/main.cpp +++ b/Telegram/SourceFiles/main.cpp @@ -61,7 +61,12 @@ int main(int argc, char *argv[]) { psStart(); int result = 0; { - Application app(argc, argv); + QByteArray args[] = { "-style=0" }; // prepare fake args + static const int a_cnt = sizeof(args) / sizeof(args[0]); + int a_argc = a_cnt + 1; + char *a_argv[a_cnt + 1] = { argv[0], args[0].data() }; + + Application app(a_argc, a_argv); if (!App::quiting()) { result = app.exec(); } diff --git a/Telegram/Telegram.plist b/Telegram/Telegram.plist index b5ab6b4e3..e69787f77 100644 --- a/Telegram/Telegram.plist +++ b/Telegram/Telegram.plist @@ -11,7 +11,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.8.12 + 0.8.13 CFBundleSignature ???? CFBundleURLTypes diff --git a/Telegram/Telegram.rc b/Telegram/Telegram.rc index 85149233b..1fc61e886 100644 Binary files a/Telegram/Telegram.rc and b/Telegram/Telegram.rc differ diff --git a/Telegram/Telegram.xcodeproj/project.pbxproj b/Telegram/Telegram.xcodeproj/project.pbxproj index 4e7e9b592..d8b3242bc 100644 --- a/Telegram/Telegram.xcodeproj/project.pbxproj +++ b/Telegram/Telegram.xcodeproj/project.pbxproj @@ -1687,7 +1687,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 0.8.12; + CURRENT_PROJECT_VERSION = 0.8.13; DEBUG_INFORMATION_FORMAT = dwarf; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -1705,7 +1705,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COPY_PHASE_STRIP = YES; - CURRENT_PROJECT_VERSION = 0.8.12; + CURRENT_PROJECT_VERSION = 0.8.13; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = fast; GCC_PREFIX_HEADER = ./SourceFiles/stdafx.h; @@ -1731,10 +1731,10 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 0.8.12; + CURRENT_PROJECT_VERSION = 0.8.13; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DYLIB_COMPATIBILITY_VERSION = 0.8; - DYLIB_CURRENT_VERSION = 0.8.12; + DYLIB_CURRENT_VERSION = 0.8.13; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; @@ -1873,10 +1873,10 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 0.8.12; + CURRENT_PROJECT_VERSION = 0.8.13; DEBUG_INFORMATION_FORMAT = dwarf; DYLIB_COMPATIBILITY_VERSION = 0.8; - DYLIB_CURRENT_VERSION = 0.8.12; + DYLIB_CURRENT_VERSION = 0.8.13; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; diff --git a/Telegram/Version.sh b/Telegram/Version.sh index 14f23eb86..008c82ef0 100755 --- a/Telegram/Version.sh +++ b/Telegram/Version.sh @@ -1,2 +1,2 @@ -echo 8012 0.8.12 1 +echo 8013 0.8.13 0 # AppVersion AppVersionStr DevChannel