This commit is contained in:
John Preston 2015-05-12 17:25:56 +03:00
commit 47f673aa69
19 changed files with 157 additions and 75 deletions

View File

@ -1,10 +1,10 @@
@echo OFF @echo OFF
set "AppVersion=8012" set "AppVersion=8013"
set "AppVersionStrSmall=0.8.12" set "AppVersionStrSmall=0.8.13"
set "AppVersionStr=0.8.12" set "AppVersionStr=0.8.13"
set "AppVersionStrFull=0.8.12.0" set "AppVersionStrFull=0.8.13.0"
set "DevChannel=1" set "DevChannel=0"
if %DevChannel% neq 0 goto preparedev if %DevChannel% neq 0 goto preparedev

View File

@ -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_changed_title" = "{from} changed group name to «{title}»";
"lng_action_created_chat" = "{from} created group «{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_want_join" = "Do you want to join the group «{title}»?";
"lng_group_invite_join" = "Join"; "lng_group_invite_join" = "Join";
"lng_group_invite_link" = "Invite link"; "lng_group_invite_link" = "Invite link";
"lng_group_invite_create" = "Create an 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_about" = "Telegram users will be able to join\nyour group by following this link.";
"lng_group_invite_create_new" = "Create new link"; "lng_group_invite_create_new" = "Revoke invite link";
"lng_group_invite_about_new" = "Current invite link will stop working\nwhen you create a new one."; "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 was copied to clipboard."; "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_group_invite_no_room" = "Unable to join this group because there are\ntoo many members in it already.";
"lng_forwarded_from" = "Forwarded from"; "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_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_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"; "lng_menu_insert_unicode" = "Insert Unicode control character";

View File

@ -96,9 +96,9 @@ const uint32 replacesCount = sizeof(replaces) / sizeof(EmojiReplace);
typedef QMap<QString, uint32> ReplaceMap; typedef QMap<QString, uint32> ReplaceMap;
ReplaceMap replaceMap; ReplaceMap replaceMap;
static const int variantsCount = 5, inRow = 40, imSizes[] = { 18, 22, 27, 36, 45 }; 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 }; static const int emojiFontSizes[] = { 14, 20, 27, 36, 45, 180 };
static const int emojiDeltas[] = { 15, 20, 25, 34, 42 }; static const int emojiDeltas[] = { 15, 20, 25, 34, 42, 167 };
static const char *variantPostfix[] = { "", "_125x", "_150x", "_200x", "_250x" }; static const char *variantPostfix[] = { "", "_125x", "_150x", "_200x", "_250x" };
static const char *variantNames[] = { "dbisOne", "dbisOneAndQuarter", "dbisOneAndHalf", "dbisTwo" }; 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"))); QStringList str = QFontDatabase::applicationFontFamilies(QFontDatabase::addApplicationFont(QStringLiteral("/System/Library/Fonts/Apple Color Emoji.ttf")));
for (int variantIndex = 0; variantIndex < variantsCount; variantIndex++) { 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()); QFont f(QGuiApplication::font());
f.setFamily(QStringLiteral("Apple Color Emoji")); 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); 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(); QPainter::CompositionMode m = p.compositionMode();
p.setCompositionMode(QPainter::CompositionMode_Source); p.setCompositionMode(QPainter::CompositionMode_Source);
p.fillRect(0, 0, emojisImg.width(), emojisImg.height(), Qt::transparent); p.fillRect(0, 0, emojisImg.width(), emojisImg.height(), Qt::transparent);
p.setCompositionMode(m); p.setCompositionMode(m);
p.setRenderHint(QPainter::SmoothPixmapTransform); 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) { 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); QPainter q(&emojiImg);
q.setPen(QColor(0, 0, 0, 255)); 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.setCompositionMode(QPainter::CompositionMode_Source);
q.fillRect(0, 0, emojiImg.width(), emojiImg.height(), Qt::transparent); q.fillRect(0, 0, emojiImg.width(), emojiImg.height(), Qt::transparent);
q.setCompositionMode(m); 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; int top = 1, bottom = 1, left = 1, right = 1;
QRgb *b = (QRgb*)emojiImg.bits(); 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); drawFrom.setX(drawFrom.x() - 1);
} }
} }
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); p.drawImage(QRect(it->x * imSize, it->y * imSize, imSize, imSize), emojiImg, drawFrom);
} }
} }
}
QString postfix = variantPostfix[variantIndex], emojif = emoji_png + postfix + ".webp"; 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; QByteArray emojib;
{ {
QBuffer ebuf(&emojib); QBuffer ebuf(&emojib);

View File

@ -664,7 +664,7 @@ void Application::checkMapVersion() {
QString versionFeatures; QString versionFeatures;
if (DevChannel && Local::oldMapVersion() < 8012) { 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)); 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(); versionFeatures = lang(lng_new_version_text).trimmed();
} }
if (!versionFeatures.isEmpty()) { if (!versionFeatures.isEmpty()) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 684 KiB

After

Width:  |  Height:  |  Size: 586 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 947 KiB

After

Width:  |  Height:  |  Size: 789 KiB

View File

@ -17,9 +17,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
*/ */
#pragma once #pragma once
static const int32 AppVersion = 8012; static const int32 AppVersion = 8013;
static const wchar_t *AppVersionStr = L"0.8.12"; static const wchar_t *AppVersionStr = L"0.8.13";
static const bool DevChannel = true; static const bool DevChannel = false;
static const wchar_t *AppNameOld = L"Telegram Win (Unofficial)"; static const wchar_t *AppNameOld = L"Telegram Win (Unofficial)";
static const wchar_t *AppName = L"Telegram Desktop"; static const wchar_t *AppName = L"Telegram Desktop";

View File

@ -546,10 +546,11 @@ inline bool chIsTrimmed(QChar ch, bool rich = false) {
return (!rich || ch != TextCommand) && (chIsSpace(ch) || chIsBad(ch)); return (!rich || ch != TextCommand) && (chIsSpace(ch) || chIsBad(ch));
} }
inline bool chIsDiac(QChar ch) { // diac and variation selectors 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() { inline int32 chMaxDiacAfterSymbol() {
return 4; return 2;
} }
inline bool chIsNewline(QChar ch) { inline bool chIsNewline(QChar ch) {
return (ch == QChar::LineFeed || ch == 156); return (ch == QChar::LineFeed || ch == 156);

View File

@ -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_changed_title" = "{from} hat den Gruppennamen zu «{title}» geändert";
"lng_action_created_chat" = "{from} hat die Gruppe «{title}» erstellt"; "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_want_join" = "Möchtest du der Gruppe «{title}» beitreten?";
"lng_group_invite_join" = "Beitreten"; "lng_group_invite_join" = "Beitreten";
"lng_group_invite_link" = "Einladungslink"; "lng_group_invite_link" = "Einladungslink";
"lng_group_invite_create" = "Neuer Link"; "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_about" = "Jeder, der Telegram installiert hat,\nkann anhand dieses Links in deine Gruppe.";
"lng_group_invite_create_new" = "Neuer Link"; "lng_group_invite_create_new" = "Link widerrufen";
"lng_group_invite_about_new" = "Aktueller Link wird ungültig, wenn \ndu einen neuen erstellst."; "lng_group_invite_about_new" = "Dein vorheriger Link wird ungültig,\nwenn du einen neuen erstellst.";
"lng_group_invite_copied" = "Einladungslink in die Zwischenablage kopiert."; "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\nmehr beitreten, da sie bereits voll ist."; "lng_group_invite_no_room" = "Leider kannst du dieser Gruppe nicht mehr\nbeitreten, da sie bereits voll ist.";
"lng_forwarded_from" = "Weitergeleitet von"; "lng_forwarded_from" = "Weitergeleitet von";
"lng_in_reply_to" = "Antwort auf"; "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_video" = "Videodatei";
"lng_media_audio" = "Sprachnachricht"; "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_photo" = "Bild";
"lng_in_dlg_video" = "Video"; "lng_in_dlg_video" = "Video";
"lng_in_dlg_contact" = "Kontakt"; "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_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_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"; "lng_menu_insert_unicode" = "Unicode-Steuerzeichen einfügen";

View File

@ -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_changed_title" = "{from} cambió el nombre del grupo a «{title}»";
"lng_action_created_chat" = "{from} creó el grupo «{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_want_join" = "¿Quieres unirte al grupo «{title}»?";
"lng_group_invite_join" = "Unirme"; "lng_group_invite_join" = "Unirme";
"lng_group_invite_link" = "Invitación"; "lng_group_invite_link" = "Invitación";
"lng_group_invite_create" = "Crear un enlace de 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_about" = "Los usuarios de Telegram podrán unirse\na tu grupo a través de este enlace.";
"lng_group_invite_create_new" = "Nuevo enlace"; "lng_group_invite_create_new" = "Anular enlace de invitación";
"lng_group_invite_about_new" = "El enlace actual dejará de funcionar\ncuando crees uno nuevo."; "lng_group_invite_about_new" = "El enlace previo será desactivado\ny generaremos uno nuevo para ti.";
"lng_group_invite_copied" = "El enlace de invitación fue copiado al portapapeles."; "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_group_invite_no_room" = "No puedes unirte a este grupo porque\nhay muchos miembros en él.";
"lng_forwarded_from" = "Reenviado desde"; "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_video" = "Vídeo";
"lng_media_audio" = "Mensaje de voz"; "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_photo" = "Foto";
"lng_in_dlg_video" = "Vídeo"; "lng_in_dlg_video" = "Vídeo";
"lng_in_dlg_contact" = "Contacto"; "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_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_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"; "lng_menu_insert_unicode" = "Insertar caracteres de control Unicode";

View File

@ -240,7 +240,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_settings_section_cache" = "Archivio locale"; "lng_settings_section_cache" = "Archivio locale";
"lng_settings_no_data_cached" = "Non ci sono dati nella cache!"; "lng_settings_no_data_cached" = "Non ci sono dati nella cache!";
"lng_settings_images_cached" = "{count:_not_used_|# immagine|# immagini}, {size}"; "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_clear" = "Elimina tutto";
"lng_local_storage_clearing" = "Eliminando.."; "lng_local_storage_clearing" = "Eliminando..";
"lng_local_storage_cleared" = "Eliminato!"; "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_set_group_photo" = "Imposta foto";
"lng_profile_add_participant" = "Aggiungi membro"; "lng_profile_add_participant" = "Aggiungi membro";
"lng_profile_delete_and_exit" = "Esci"; "lng_profile_delete_and_exit" = "Esci";
"lng_profile_kick" = "Espelli"; "lng_profile_kick" = "Rimuovi";
"lng_profile_sure_kick" = "Espellere {user} dal gruppo?"; "lng_profile_sure_kick" = "Espellere {user} dal gruppo?";
"lng_profile_loading" = "Caricamento.."; "lng_profile_loading" = "Caricamento..";
"lng_profile_shared_media" = "Media condivisi"; "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_videos_header" = "Panoramica video";
"lng_profile_files" = "{count:_not_used_|# file|# file} »"; "lng_profile_files" = "{count:_not_used_|# file|# file} »";
"lng_profile_files_header" = "Panoramica file"; "lng_profile_files_header" = "Panoramica file";
"lng_profile_audios" = "{count:_not_used_|# messaggio vocale|# messaggi vocali} »"; "lng_profile_audios" = "{count:_not_used_|# nota vocale|# note vocali} »";
"lng_profile_audios_header" = "Panoramica messaggi vocali"; "lng_profile_audios_header" = "Panoramica note vocali";
"lng_profile_show_all_types" = "Mostra tutti i tipi"; "lng_profile_show_all_types" = "Mostra tutti i tipi";
"lng_profile_copy_phone" = "Copia numero di telefono"; "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_message_empty" = "(vuoto)";
"lng_action_add_user" = "{from} ha aggiunto {user}"; "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_left" = "{from} ha lasciato il gruppo";
"lng_action_user_joined" = "{from} si è unito al 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"; "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_changed_title" = "{from} ha cambiato il nome del gruppo in «{title}»";
"lng_action_created_chat" = "{from} ha creato il gruppo «{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_want_join" = "Vuoi unirti al gruppo «{title}»?";
"lng_group_invite_join" = "Unisciti"; "lng_group_invite_join" = "Unisciti";
"lng_group_invite_link" = "Link di invito"; "lng_group_invite_link" = "Link di invito";
"lng_group_invite_create" = "Crea un 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_about" = "Gli utenti di Telegram saranno in grado di \naggiungersi al tuo gruppo aprendo il link.";
"lng_group_invite_create_new" = "Crea nuovo link"; "lng_group_invite_create_new" = "Revoca link";
"lng_group_invite_about_new" = "Il link attuale smetterà di funzionare\nquando ne viene creato uno nuovo."; "lng_group_invite_about_new" = "Il link precedente smetterà di funzionare\ne ne sarà creato uno nuovo per te.";
"lng_group_invite_copied" = "Il link di invito è stato copiato negli appunti."; "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_group_invite_no_room" = "Impossibile unirsi a questo gruppo\nperché ci sono già troppi membri.";
"lng_forwarded_from" = "Inoltrato da"; "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_photos" = "Foto";
"lng_media_type_videos" = "Video"; "lng_media_type_videos" = "Video";
"lng_media_type_files" = "File"; "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_open_with" = "Apri con";
"lng_media_download" = "Download"; "lng_media_download" = "Download";
"lng_media_cancel" = "Annulla"; "lng_media_cancel" = "Annulla";
"lng_media_video" = "Video"; "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_photo" = "Foto";
"lng_in_dlg_video" = "Video"; "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_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_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"; "lng_menu_insert_unicode" = "Inserisci carattere di controllo Unicode";

View File

@ -395,9 +395,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_group_invite_link" = "초대링크"; "lng_group_invite_link" = "초대링크";
"lng_group_invite_create" = "초대링크 생성"; "lng_group_invite_create" = "초대링크 생성";
"lng_group_invite_about" = "이 그룹방으로 초대할 수 있는 링크를 생성 할 수 있습니다.\n링크가 노출되는 모든 회원이 참여가 가능합니다."; "lng_group_invite_about" = "이 링크를 통하여,\n그룹방에 초대가 가능합니다.";
"lng_group_invite_create_new" = "새로운 링크 생성"; "lng_group_invite_create_new" = "초대링크 폐기";
"lng_group_invite_about_new" = "새로 생성하실 경우\n현재 초대링크는 폐기됩니다."; "lng_group_invite_about_new" = "기존 링크는 비활성화 될 예정이며,\n새로운 링크가 재생성이 될 예정입니다.";
"lng_group_invite_copied" = "클립보드에 초대링크가 복사 되었습니다."; "lng_group_invite_copied" = "클립보드에 초대링크가 복사 되었습니다.";
"lng_group_invite_no_room" = "그룹방 인원 최대치가 도달하여\n더이상 참여가 안됩니다."; "lng_group_invite_no_room" = "그룹방 인원 최대치가 도달하여\n더이상 참여가 안됩니다.";
@ -420,6 +420,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_media_video" = "비디오 파일"; "lng_media_video" = "비디오 파일";
"lng_media_audio" = "음성 메시지"; "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_photo" = "사진";
"lng_in_dlg_video" = "비디오"; "lng_in_dlg_video" = "비디오";
"lng_in_dlg_contact" = "연락처"; "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_wrap" = "텔레그램 데스크탑은 {version} 버전으로 업데이트 되었습니다.\n\n{changes}\n\n전체 버전 히스토리는 아래에서 확인 가능합니다:\n{link}";
"lng_new_version_minor" = "— 버그 수정 및 일부 기능 향상"; "lng_new_version_minor" = "— 버그 수정 및 일부 기능 향상";
"lng_new_version_text" = "— 그룹방 초대링크 활성화\n— 음소거된 대화는 회식 뱃지로 표기"; "lng_new_version_text" = "— 새로운 이모티콘 지원\n— 이모티콘 및 스티커 패널 향상";
"lng_menu_insert_unicode" = "유니코드 문자를 입력하세요."; "lng_menu_insert_unicode" = "유니코드 문자를 입력하세요.";

View File

@ -395,9 +395,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_group_invite_link" = "Uitnodigingslink"; "lng_group_invite_link" = "Uitnodigingslink";
"lng_group_invite_create" = "Uitnodigingslink maken"; "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_about" = "Gebruikers kunnen aan je groep \ndeelnemen met deze link.";
"lng_group_invite_create_new" = "Nieuwe link"; "lng_group_invite_create_new" = "Uitnodigingslink intrekken";
"lng_group_invite_about_new" = "Als je een nieuwe link maakt zal \nde huidige inactief worden."; "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_copied" = "Link gekopieerd naar klembord.";
"lng_group_invite_no_room" = "Sorry, deze groep is al vol."; "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_video" = "Video";
"lng_media_audio" = "Spraakbericht"; "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_photo" = "Foto";
"lng_in_dlg_video" = "Video"; "lng_in_dlg_video" = "Video";
"lng_in_dlg_contact" = "Contact"; "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_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_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"; "lng_menu_insert_unicode" = "Unicode-besturingsteken invoegen";

View File

@ -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_changed_title" = "{from} alterou o título do grupo para «{title}»";
"lng_action_created_chat" = "{from} criou o grupo «{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_want_join" = "Você deseja entrar no grupo «{title}»?";
"lng_group_invite_join" = "Entrar"; "lng_group_invite_join" = "Entrar";
"lng_group_invite_link" = "Link de convite"; "lng_group_invite_link" = "Link de convite";
"lng_group_invite_create" = "Criar um 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_about" = "Usuários do Telegram poderão entrar\nem seu grupo clicando no link.";
"lng_group_invite_create_new" = "Criar novo link"; "lng_group_invite_create_new" = "Desativar link";
"lng_group_invite_about_new" = "O link de convite atual será desativado\nquando você criar um novo."; "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_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."; "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_video" = "Arquivo de vídeo";
"lng_media_audio" = "Mensagem de voz"; "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_photo" = "Foto";
"lng_in_dlg_video" = "Vídeo"; "lng_in_dlg_video" = "Vídeo";
"lng_in_dlg_contact" = "Contato"; "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_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_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"; "lng_menu_insert_unicode" = "Inserir caractere de controle Unicode";

View File

@ -61,7 +61,12 @@ int main(int argc, char *argv[]) {
psStart(); psStart();
int result = 0; 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()) { if (!App::quiting()) {
result = app.exec(); result = app.exec();
} }

View File

@ -11,7 +11,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.8.12</string> <string>0.8.13</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>

Binary file not shown.

View File

@ -1687,7 +1687,7 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 0.8.12; CURRENT_PROJECT_VERSION = 0.8.13;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0; GCC_OPTIMIZATION_LEVEL = 0;
@ -1705,7 +1705,7 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COPY_PHASE_STRIP = YES; COPY_PHASE_STRIP = YES;
CURRENT_PROJECT_VERSION = 0.8.12; CURRENT_PROJECT_VERSION = 0.8.13;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = fast; GCC_OPTIMIZATION_LEVEL = fast;
GCC_PREFIX_HEADER = ./SourceFiles/stdafx.h; GCC_PREFIX_HEADER = ./SourceFiles/stdafx.h;
@ -1731,10 +1731,10 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = ""; CODE_SIGN_IDENTITY = "";
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 0.8.12; CURRENT_PROJECT_VERSION = 0.8.13;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_COMPATIBILITY_VERSION = 0.8; DYLIB_COMPATIBILITY_VERSION = 0.8;
DYLIB_CURRENT_VERSION = 0.8.12; DYLIB_CURRENT_VERSION = 0.8.13;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
@ -1873,10 +1873,10 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = ""; CODE_SIGN_IDENTITY = "";
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 0.8.12; CURRENT_PROJECT_VERSION = 0.8.13;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
DYLIB_COMPATIBILITY_VERSION = 0.8; DYLIB_COMPATIBILITY_VERSION = 0.8;
DYLIB_CURRENT_VERSION = 0.8.12; DYLIB_CURRENT_VERSION = 0.8.13;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = ""; FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES;

View File

@ -1,2 +1,2 @@
echo 8012 0.8.12 1 echo 8013 0.8.13 0
# AppVersion AppVersionStr DevChannel # AppVersion AppVersionStr DevChannel