Merge branch 'master' into player

This commit is contained in:
John Preston 2016-09-23 22:22:40 +03:00
commit 38114d3297
21 changed files with 170 additions and 84 deletions

View file

@ -580,7 +580,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_contact" = "a contact information";
"lng_action_pinned_media_location" = "a location mark";
"lng_action_pinned_media_sticker" = "a sticker";
"lng_action_game_score" = "{from} scored {score} in {game}";
"lng_action_game_score" = "{from} scored {count:#|#|#} in {game}";
"lng_profile_migrate_reached" = "{count:_not_used_|# member|# members} limit reached";
"lng_profile_migrate_body" = "To get over this limit, you can upgrade your group to a supergroup.";

View file

@ -580,6 +580,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_contact" = "einen Kontakt";
"lng_action_pinned_media_location" = "einen Standort";
"lng_action_pinned_media_sticker" = "einen Sticker";
"lng_action_game_score" = "{from} erzielte {count:Punkte|Punkt|Punkte} bei {game}";
"lng_profile_migrate_reached" = "Limit von {count:_not_used_|# Mitglied|# Mitgliedern} erreicht";
"lng_profile_migrate_body" = "Um das Limit aufzuheben, ändere die Gruppe in eine Supergruppe.";
@ -683,6 +684,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_switch_stickers" = "Sticker";
"lng_switch_stickers_gifs" = "GIFs & Sticker";
"lng_switch_emoji" = "Emoji";
"lng_stickers_featured_add" = "Hinzufügen";
"lng_saved_gifs" = "Gespeicherte GIFs";
"lng_inline_bot_results" = "Ergebnisse von {inline_bot}";
@ -710,6 +712,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_stickers_return" = "Rückgängig";
"lng_stickers_restore" = "Zeigen";
"lng_stickers_count" = "{count:Lade...|# Sticker|# Sticker}";
"lng_stickers_masks_pack" = "Das ist ein Masken-Paket. Du kannst Masken nur im Editor unserer mobilen Apps verwenden.";
"lng_in_dlg_photo" = "Bild";
"lng_in_dlg_video" = "Videodatei";
@ -762,6 +765,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_open_this_link" = "Diesen Link öffnen?";
"lng_open_link" = "Öffnen";
"lng_allow_bot_pass" = "Darf {bot_name} deinen Anzeigenamen und deine id mit Internetseiten teilen, die du mit diesem Bot öffnest?";
"lng_allow_bot" = "Erlauben";
"lng_bot_start" = "Starten";
"lng_bot_choose_group" = "Gruppe auswählen";
@ -870,6 +875,13 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_reply_cant" = "Leider kann man alte Nachrichten in Supergruppen nicht beantworten :(";
"lng_reply_cant_forward" = "Leider kann man alte Nachrichten in Supergruppen nicht beantworten. Stattdessen mit Kommentar weiterleiten?";
"lng_share_title" = "Teilen";
"lng_share_copy_link" = "Link kopieren";
"lng_share_confirm" = "Senden";
"lng_share_wrong_user" = "Dieses Spiel wurde von einem anderen Nutzer geöffnet.";
"lng_share_game_link_copied" = "Link in die Zwischenablage kopiert.";
"lng_share_done" = "Fertig!";
"lng_contact_phone" = "Telefonnummer";
"lng_enter_contact_data" = "Neuer Kontakt";
"lng_edit_group_title" = "Gruppennamen ändern";

View file

@ -245,7 +245,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_settings_show_preview" = "Mostrar la vista previa del mensaje";
"lng_settings_use_windows" = "Usar notificaciones de Windows";
"lng_settings_sound_notify" = "Reproducir sonido";
"lng_settings_include_muted" = "Incluir los chats silenciados en el conteo de “no leídos”";
"lng_settings_include_muted" = "Contar chats silenciados en los “no leídos”";
"lng_notification_preview" = "Tienes un nuevo mensaje";
@ -580,6 +580,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_contact" = "un contacto";
"lng_action_pinned_media_location" = "una ubicación";
"lng_action_pinned_media_sticker" = "un sticker";
"lng_action_game_score" = "{from} ha conseguido {count:# puntos|# punto|# puntos} en {game}";
"lng_profile_migrate_reached" = "Límite de {count:_not_used_|# miembro|# miembros} alcanzado";
"lng_profile_migrate_body" = "Para superar este límite, puedes convertir tu grupo en un supergrupo.";
@ -683,6 +684,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_switch_stickers" = "Stickers";
"lng_switch_stickers_gifs" = "GIF y stickers";
"lng_switch_emoji" = "Emoji";
"lng_stickers_featured_add" = "Añadir";
"lng_saved_gifs" = "GIF guardados";
"lng_inline_bot_results" = "Resultados de {inline_bot}";
@ -710,6 +712,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_stickers_return" = "Deshacer";
"lng_stickers_restore" = "Restaurar";
"lng_stickers_count" = "{count:Cargando...|# sticker|# stickers}";
"lng_stickers_masks_pack" = "Este es un pack de stickers de máscaras. Puedes usarlas en el editor de fotos de nuestras aplicaciones en móviles.";
"lng_in_dlg_photo" = "Foto";
"lng_in_dlg_video" = "Vídeo";
@ -762,6 +765,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_open_this_link" = "¿Abrir este enlace?";
"lng_open_link" = "Abrir";
"lng_allow_bot_pass" = "¿Permites a {bot_name} entregar tu nombre e id de Telegram a los sitios web que abres a través de este bot?";
"lng_allow_bot" = "Permitir";
"lng_bot_start" = "Iniciar";
"lng_bot_choose_group" = "Elegir grupo";
@ -870,6 +875,13 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_reply_cant" = "Lo sentimos, no puedes responder un mensaje viejo en un supergrupo :(";
"lng_reply_cant_forward" = "Lo sentimos, no puedes responder un mensaje viejo en un supergrupo :( ¿Quieres reenviarlo y añadir un comentario?";
"lng_share_title" = "Compartir con";
"lng_share_copy_link" = "Copiar enlace para compartir";
"lng_share_confirm" = "Enviar";
"lng_share_wrong_user" = "Este juego fue abierto por un usuario diferente.";
"lng_share_game_link_copied" = "Enlace del juego copiado al portapapeles.";
"lng_share_done" = "¡Hecho!";
"lng_contact_phone" = "Número de teléfono";
"lng_enter_contact_data" = "Nuevo contacto";
"lng_edit_group_title" = "Editar nombre del grupo";

View file

@ -161,7 +161,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_code_ph" = "Codice";
"lng_code_desc" = "Abbiamo inviato un messaggio col codice\ndi attivazione al tuo telefono. Inseriscilo qui";
"lng_code_telegram" = "Per favore inserisci il codice che hai\nappena ricevuto nell'altra app di [b]Telegram[/b].";
"lng_code_no_telegram" = "Invia codice via SMS";
"lng_code_no_telegram" = "Invia codice tramite SMS";
"lng_code_call" = "Telegram ti chiamerà tra {minutes}:{seconds}";
"lng_code_calling" = "Richiedo una telefonata da Telegram...";
"lng_code_called" = "Telegram ti ha chiamato";
@ -503,7 +503,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_participant_filter" = "Cerca";
"lng_participant_invite" = "Invita";
"lng_participant_invite_sorry" = "Spiacenti, puoi aggiungere solo {count:_not_used|il primo membro|i primi # membri} a un canale.\n\nDa adesso, le persone potranno unirsi con il tuo link di invito.";
"lng_participant_invite_sorry" = "Spiacenti, puoi aggiungere solo {count:_not_used|il primo membro|i primi # membri} a un canale.\n\nDa adesso, le persone potranno unirsi tramite il tuo link di invito.";
"lng_create_group_back" = "Indietro";
"lng_create_group_next" = "Avanti";
"lng_create_group_create" = "Crea";
@ -558,7 +558,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"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 via link di invito";
"lng_action_user_joined_by_link" = "{from} si è unito al gruppo tramite link di invito";
"lng_action_user_registered" = "{from} si è unito a Telegram";
"lng_action_removed_photo" = "{from} ha rimosso la foto del gruppo";
"lng_action_removed_photo_channel" = "Foto del canale rimossa";
@ -580,6 +580,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_contact" = "un contatto";
"lng_action_pinned_media_location" = "una posizione";
"lng_action_pinned_media_sticker" = "uno sticker";
"lng_action_game_score" = "{from} ha segnato {count:# punti|# punto|# punti} in {game}";
"lng_profile_migrate_reached" = "Limite di {count:_not_used_|# membro|# membri} raggiunto";
"lng_profile_migrate_body" = "Per superare questo limite, puoi aggiornare il gruppo a supergruppo.";
@ -588,7 +589,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_profile_migrate_feature1" = "— I supergruppi hanno massimo {count:_not_used_|# membro|# membri}";
"lng_profile_migrate_feature2" = "— I nuovi membri vedono tutta la cronologia";
"lng_profile_migrate_feature3" = "— Gli admin eliminano i messaggi per tutti";
"lng_profile_migrate_feature4" = "— Le notifiche sono silenziate di default";
"lng_profile_migrate_feature4" = "— Le notifiche sono disattivate di default";
"lng_profile_migrate_button" = "Aggiorna a supergruppo";
"lng_profile_migrate_sure" = "Sicuro di voler aggiornare questo gruppo a supergruppo? Questa opzione non può essere annullata.";
"lng_profile_convert_button" = "Converti in supergruppo";
@ -629,8 +630,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_forwarded" = "Inoltrato da {user}";
"lng_forwarded_channel" = "Inoltrato da {channel}";
"lng_forwarded_via" = "Inoltrato da {user} via {inline_bot}";
"lng_forwarded_channel_via" = "Inoltrato da {channel} via {inline_bot}";
"lng_forwarded_via" = "Inoltrato da {user} tramite {inline_bot}";
"lng_forwarded_channel_via" = "Inoltrato da {channel} tramite {inline_bot}";
"lng_forwarded_signed" = "{channel} ({user})";
"lng_in_reply_to" = "In risposta a";
"lng_edited" = "modificato";
@ -683,11 +684,12 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_switch_stickers" = "Sticker";
"lng_switch_stickers_gifs" = "GIF e Sticker";
"lng_switch_emoji" = "Emoji";
"lng_stickers_featured_add" = "Aggiungi";
"lng_saved_gifs" = "GIF salvate";
"lng_inline_bot_results" = "Risultati da {inline_bot}";
"lng_inline_bot_no_results" = "Nessun risultato";
"lng_inline_bot_via" = "via {inline_bot}";
"lng_inline_bot_via" = "tramite {inline_bot}";
"lng_box_remove" = "Rimuovi";
@ -710,6 +712,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_stickers_return" = "Annulla";
"lng_stickers_restore" = "Ripristina";
"lng_stickers_count" = "{count:Carico...|# sticker|# sticker}";
"lng_stickers_masks_pack" = "Questo è un set di maschere. Puoi usarle nell'editor fotografico sulle nostre app mobili.";
"lng_in_dlg_photo" = "Foto";
"lng_in_dlg_video" = "File video";
@ -762,6 +765,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_open_this_link" = "Aprire questo link?";
"lng_open_link" = "Apri";
"lng_allow_bot_pass" = "Consentire a {bot_name} di trasmettere il tuo nome e id Telegram alle pagine web che apri tramite questo bot?";
"lng_allow_bot" = "Consenti";
"lng_bot_start" = "Avvia";
"lng_bot_choose_group" = "Scegli gruppo";
@ -870,6 +875,13 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_reply_cant" = "Spiacenti, non si può rispondere a un vecchio messaggio nel supergruppo :(";
"lng_reply_cant_forward" = "Spiacenti, non si può rispondere a un vecchio messaggio nel supergruppo :( Vuoi inoltrarlo e aggiungere un tuo commento?";
"lng_share_title" = "Condividi";
"lng_share_copy_link" = "Copia link";
"lng_share_confirm" = "Invia";
"lng_share_wrong_user" = "Questo gioco è stato aperto da un altro utente.";
"lng_share_game_link_copied" = "Link del gioco copiato negli appunti.";
"lng_share_done" = "Fatto!";
"lng_contact_phone" = "Numero di telefono";
"lng_enter_contact_data" = "Nuovo contatto";
"lng_edit_group_title" = "Modifica nome gruppo";
@ -950,7 +962,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_confirm_phone_link_invalid" = "Questo link non funziona o è scaduto.";
"lng_confirm_phone_title" = "Annulla ripristino account";
"lng_confirm_phone_about" = "Qualcuno con accesso al tuo numero di telefono {phone} ha richiesto l'eliminazione del tuo account Telegram e il ripristino della password della verifica in due passaggi.\n\nSe non sei stato tu, per favore inserisci il codice che abbiamo appena inviato come SMS al tuo numero.";
"lng_confirm_phone_about" = "Qualcuno con accesso al tuo numero di telefono {phone} ha richiesto l'eliminazione del tuo account Telegram e il ripristino della password della verifica in due passaggi.\n\nSe non sei stato tu, per favore inserisci il codice che abbiamo appena inviato tramite SMS al tuo numero.";
"lng_confirm_phone_success" = "Fatto!\n\nIl processo di eliminazione per il tuo account {phone} è stato annullato. Puoi chiudere questa finestra ora.";
"lng_confirm_phone_send" = "Invia";
"lng_confirm_phone_enter_code" = "Per favore inserisci il codice.";

View file

@ -580,6 +580,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_contact" = "연락처 정보";
"lng_action_pinned_media_location" = "위치 마크";
"lng_action_pinned_media_sticker" = "스티커";
"lng_action_game_score" = "{game} 에서 {from} 님이 {count:#|#|#} 점 획득";
"lng_profile_migrate_reached" = "{count:_not_used_|# 명|# 명} 한계치에 도달 되었습니다.";
"lng_profile_migrate_body" = "제한을 초과하고 싶으실 경우, 슈퍼그룹으로 그룹 업그레이드가 가능합니다.";
@ -683,6 +684,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_switch_stickers" = "스티커";
"lng_switch_stickers_gifs" = "GIF & 스티커";
"lng_switch_emoji" = "이모티콘";
"lng_stickers_featured_add" = "추가";
"lng_saved_gifs" = "저장된 GIF";
"lng_inline_bot_results" = "{inline_bot} 결과";
@ -710,6 +712,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_stickers_return" = "실행취소";
"lng_stickers_restore" = "복구";
"lng_stickers_count" = "{count:Loading...|# 스티커|# 스티커}";
"lng_stickers_masks_pack" = "마스크 스티커 팩입니다. 모바일 기기에 있는 사진 에디터에서 사용 가능합니다.";
"lng_in_dlg_photo" = "사진";
"lng_in_dlg_video" = "비디오 파일";
@ -762,6 +765,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_open_this_link" = "이 링크로 이동하시겠나요?";
"lng_open_link" = "열기";
"lng_allow_bot_pass" = "이 bot을 통하여 {bot_name}이 텔레그램 이름과 아이디를 웹페이지로 전달하시기를 허락하시나요?";
"lng_allow_bot" = "허용";
"lng_bot_start" = "시작";
"lng_bot_choose_group" = "그룹 선택";
@ -870,6 +875,13 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_reply_cant" = "죄송합니다. 슈퍼그룹방의 이전 메시지에 답글을 할 수 없습니다 :(";
"lng_reply_cant_forward" = "죄송합니다. 슈퍼그룹방의 이전 메시지에 답글을 할 수 없습니다 :( 메시지를 전달하거나 코멘트를 다시겠나요?";
"lng_share_title" = "공유하기";
"lng_share_copy_link" = "공유링크 복사";
"lng_share_confirm" = "전송";
"lng_share_wrong_user" = "다른 회원님이 게임을 시작하였습니다.";
"lng_share_game_link_copied" = "클립보드에 게임링크가 복사되었습니다.";
"lng_share_done" = "완료!";
"lng_contact_phone" = "전화번호";
"lng_enter_contact_data" = "새로운 연락처";
"lng_edit_group_title" = "그룹 이름 수정";

View file

@ -580,6 +580,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_contact" = "een contact";
"lng_action_pinned_media_location" = "een locatie";
"lng_action_pinned_media_sticker" = "een sticker";
"lng_action_game_score" = "{from} heeft met {game} {count:#punten|#punt|#punten} behaald";
"lng_profile_migrate_reached" = "{count:_not_used_|# lid |# leden} limiet bereikt";
"lng_profile_migrate_body" = "Wil je een hogere limiet? Waardeer op naar een supergroep.";
@ -683,6 +684,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_switch_stickers" = "Stickers";
"lng_switch_stickers_gifs" = "GIF's & stickers";
"lng_switch_emoji" = "Emoji";
"lng_stickers_featured_add" = "Toevoegen";
"lng_saved_gifs" = "Opgeslagen GIF's";
"lng_inline_bot_results" = "Resultaten van {inline_bot}";
@ -710,6 +712,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_stickers_return" = "Ongedaan maken";
"lng_stickers_restore" = "Herstellen";
"lng_stickers_count" = "{count:Laden..|# sticker|# stickers}";
"lng_stickers_masks_pack" = "Dit een set met maskers. Je kunt ze gebruiken als je een foto bewerkt in onze mobiele apps.";
"lng_in_dlg_photo" = "Foto";
"lng_in_dlg_video" = "Video";
@ -762,6 +765,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_open_this_link" = "Link openen?";
"lng_open_link" = "Openen";
"lng_allow_bot_pass" = "Wil je {bot_name} toestaan om je naam en ID door te geven aan webpagina's die je opent via deze bot?";
"lng_allow_bot" = "Toestaan";
"lng_bot_start" = "Begin";
"lng_bot_choose_group" = "Groep kiezen";
@ -870,6 +875,13 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_reply_cant" = "Sorry, je kunt geen oude berichten beantwoorden in een supergroep :(";
"lng_reply_cant_forward" = "Je kunt geen oude berichten beantwoorden in een supergroep :( Doorsturen en commentaar toevoegen?";
"lng_share_title" = "Delen met";
"lng_share_copy_link" = "Link kopiëren";
"lng_share_confirm" = "Stuur";
"lng_share_wrong_user" = "Resultaten zijn van een andere gebruiker of sessie.";
"lng_share_game_link_copied" = "Link gekopieerd naar klembord.";
"lng_share_done" = "Klaar!";
"lng_contact_phone" = "Telefoonnummer";
"lng_enter_contact_data" = "Nieuw contact";
"lng_edit_group_title" = "Groepsnaam wijzigen";

View file

@ -580,6 +580,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_contact" = "um contato";
"lng_action_pinned_media_location" = "uma localização";
"lng_action_pinned_media_sticker" = "um sticker";
"lng_action_game_score" = "{from} marcou {count:pontos|ponto|pontos} em {game}";
"lng_profile_migrate_reached" = "{count:_not_used_|# membro|# membros} limite alcançado";
"lng_profile_migrate_body" = "Para ir além desse limite, você pode converter seu grupo em um supergrupo.";
@ -683,6 +684,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_switch_stickers" = "Stickers";
"lng_switch_stickers_gifs" = "GIFs e Stickers";
"lng_switch_emoji" = "Emoji";
"lng_stickers_featured_add" = "Adicionar";
"lng_saved_gifs" = "GIFs Salvos";
"lng_inline_bot_results" = "Resultados de {inline_bot}";
@ -710,6 +712,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_stickers_return" = "Desfazer";
"lng_stickers_restore" = "Restaurar";
"lng_stickers_count" = "{count:Carregando...|# sticker|# stickers}";
"lng_stickers_masks_pack" = "Esse é um pacote de máscaras. Você pode usá-las no editor de fotos em nossos aplicativos para celular.";
"lng_in_dlg_photo" = "Foto";
"lng_in_dlg_video" = "Vídeo";
@ -762,6 +765,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_open_this_link" = "Abrir este link?";
"lng_open_link" = "Abrir";
"lng_allow_bot_pass" = "Você permite ao {bot_name} passar seu nome do Telegram e id para páginas web que você abrir através desse bot?";
"lng_allow_bot" = "Permitir";
"lng_bot_start" = "Iniciar";
"lng_bot_choose_group" = "Escolher Grupo";
@ -870,6 +875,13 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
"lng_reply_cant" = "Desculpe, não há como responder uma mensagem antiga no supergrupo :(";
"lng_reply_cant_forward" = "Não há como responder uma mensagem antiga no supergrupo :( Deseja encaminhá-la e adicionar um comentário?";
"lng_share_title" = "Compartilhar com";
"lng_share_copy_link" = "Copiar link";
"lng_share_confirm" = "Enviar";
"lng_share_wrong_user" = "Este jogo foi aberto por outro usuário.";
"lng_share_game_link_copied" = "Link copiado para a área de transferência.";
"lng_share_done" = "Concluído!";
"lng_contact_phone" = "Número de telefone";
"lng_enter_contact_data" = "Novo Contato";
"lng_edit_group_title" = "Editar nome do grupo";

View file

@ -34,8 +34,8 @@ IDI_ICON1 ICON "..\\art\\icon256.ico"
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,10,7,0
PRODUCTVERSION 0,10,7,0
FILEVERSION 0,10,8,0
PRODUCTVERSION 0,10,8,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -51,10 +51,10 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Telegram Messenger LLP"
VALUE "FileVersion", "0.10.7.0"
VALUE "FileVersion", "0.10.8.0"
VALUE "LegalCopyright", "Copyright (C) 2014-2016"
VALUE "ProductName", "Telegram Desktop"
VALUE "ProductVersion", "0.10.7.0"
VALUE "ProductVersion", "0.10.8.0"
END
END
BLOCK "VarFileInfo"

View file

@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,10,7,0
PRODUCTVERSION 0,10,7,0
FILEVERSION 0,10,8,0
PRODUCTVERSION 0,10,8,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -43,10 +43,10 @@ BEGIN
BEGIN
VALUE "CompanyName", "Telegram Messenger LLP"
VALUE "FileDescription", "Telegram Updater"
VALUE "FileVersion", "0.10.7.0"
VALUE "FileVersion", "0.10.8.0"
VALUE "LegalCopyright", "Copyright (C) 2014-2016"
VALUE "ProductName", "Telegram Desktop"
VALUE "ProductVersion", "0.10.7.0"
VALUE "ProductVersion", "0.10.8.0"
END
END
BLOCK "VarFileInfo"

View file

@ -1110,19 +1110,22 @@ namespace {
return false;
}
void updateEditedMessage(const MTPDmessage &m) {
PeerId peerId = peerFromMTP(m.vto_id);
template <typename TMTPDclass>
void updateEditedMessage(const TMTPDclass &m) {
auto peerId = peerFromMTP(m.vto_id);
if (m.has_from_id() && peerToUser(peerId) == MTP::authedId()) {
peerId = peerFromUser(m.vfrom_id);
}
if (HistoryItem *existing = App::histItemById(peerToChannel(peerId), m.vid.v)) {
if (auto existing = App::histItemById(peerToChannel(peerId), m.vid.v)) {
existing->applyEdition(m);
}
}
void updateEditedMessageToEmpty(PeerId peerId, MsgId msgId) {
if (auto existing = App::histItemById(peerToChannel(peerId), msgId)) {
existing->applyEditionToEmpty();
void updateEditedMessage(const MTPMessage &m) {
if (m.type() == mtpc_message) { // apply message edit
App::updateEditedMessage(m.c_message());
} else if (m.type() == mtpc_messageService) {
App::updateEditedMessage(m.c_messageService());
}
}

View file

@ -72,8 +72,7 @@ namespace App {
void feedChatAdmins(const MTPDupdateChatAdmins &d, bool emitPeerUpdated = true);
void feedParticipantAdmin(const MTPDupdateChatParticipantAdmin &d, bool emitPeerUpdated = true);
bool checkEntitiesAndViewsUpdate(const MTPDmessage &m); // returns true if item found and it is not detached
void updateEditedMessage(const MTPDmessage &m);
void updateEditedMessageToEmpty(PeerId peerId, MsgId msgId);
void updateEditedMessage(const MTPMessage &m);
void addSavedGif(DocumentData *doc);
void checkSavedGif(HistoryItem *item);
void feedMsgs(const QVector<MTPMessage> &msgs, NewMessageType type);

View file

@ -437,7 +437,7 @@ using RPCDoneHandlerImplementation = RPCHandlerImplementation<RPCAbstractDoneHan
template <typename R>
class RPCDoneHandlerImplementationBare : public RPCDoneHandlerImplementation<R(const mtpPrime*, const mtpPrime*)> { // done(from, end)
public:
using Parent::Parent;
using RPCDoneHandlerImplementation<R(const mtpPrime*, const mtpPrime*)>::Parent::Parent;
void operator()(mtpRequestId requestId, const mtpPrime *from, const mtpPrime *end) const override {
return this->_handler ? this->_handler(from, end) : void(0);
}
@ -447,7 +447,7 @@ public:
template <typename R>
class RPCDoneHandlerImplementationBareReq : public RPCDoneHandlerImplementation<R(const mtpPrime*, const mtpPrime*, mtpRequestId)> { // done(from, end, req_id)
public:
using Parent::Parent;
using RPCDoneHandlerImplementation<R(const mtpPrime*, const mtpPrime*, mtpRequestId)>::Parent::Parent;
void operator()(mtpRequestId requestId, const mtpPrime *from, const mtpPrime *end) const override {
return this->_handler ? this->_handler(from, end, requestId) : void(0);
}
@ -457,7 +457,7 @@ public:
template <typename R, typename T>
class RPCDoneHandlerImplementationPlain : public RPCDoneHandlerImplementation<R(const T&)> { // done(result)
public:
using Parent::Parent;
using RPCDoneHandlerImplementation<R(const T&)>::Parent::Parent;
void operator()(mtpRequestId requestId, const mtpPrime *from, const mtpPrime *end) const override {
return this->_handler ? this->_handler(T(from, end)) : void(0);
}
@ -467,7 +467,7 @@ public:
template <typename R, typename T>
class RPCDoneHandlerImplementationReq : public RPCDoneHandlerImplementation<R(const T&, mtpRequestId)> { // done(result, req_id)
public:
using Parent::Parent;
using RPCDoneHandlerImplementation<R(const T&, mtpRequestId)>::Parent::Parent;
void operator()(mtpRequestId requestId, const mtpPrime *from, const mtpPrime *end) const override {
return this->_handler ? this->_handler(T(from, end), requestId) : void(0);
}
@ -477,7 +477,7 @@ public:
template <typename R>
class RPCDoneHandlerImplementationNo : public RPCDoneHandlerImplementation<R()> { // done()
public:
using Parent::Parent;
using RPCDoneHandlerImplementation<R()>::Parent::Parent;
void operator()(mtpRequestId requestId, const mtpPrime *from, const mtpPrime *end) const override {
return this->_handler ? this->_handler() : void(0);
}
@ -487,7 +487,7 @@ public:
template <typename R>
class RPCDoneHandlerImplementationNoReq : public RPCDoneHandlerImplementation<R(mtpRequestId)> { // done(req_id)
public:
using Parent::Parent;
using RPCDoneHandlerImplementation<R(mtpRequestId)>::Parent::Parent;
void operator()(mtpRequestId requestId, const mtpPrime *from, const mtpPrime *end) const override {
return this->_handler ? this->_handler(requestId) : void(0);
}

View file

@ -24,7 +24,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
#define BETA_VERSION_MACRO (0ULL)
constexpr int AppVersion = 10007;
constexpr str_const AppVersionStr = "0.10.7";
constexpr int AppVersion = 10008;
constexpr str_const AppVersionStr = "0.10.8";
constexpr bool AppAlphaVersion = false;
constexpr uint64 AppBetaVersion = BETA_VERSION_MACRO;

View file

@ -7103,6 +7103,12 @@ void HistoryMessage::applyEdition(const MTPDmessage &message) {
finishEdition(keyboardTop);
}
void HistoryMessage::applyEdition(const MTPDmessageService &message) {
if (message.vaction.type() == mtpc_messageActionHistoryClear) {
applyEditionToEmpty();
}
}
void HistoryMessage::applyEditionToEmpty() {
setEmptyText();
setMedia(nullptr);
@ -8145,20 +8151,26 @@ bool HistoryService::prepareGameScoreText(const QString &from, QString *outText,
second = MakeShared<ReplyMarkupClickHandler>(item, i, j);
auto parts = strData.split(',');
t_assert(parts.size() > 2);
return textcmdLink(2, parts.mid(2).join(','));
QString gameTitle;
gameTitle.reserve(strData.size() - 2);
gameTitle.append(parts[2]);
for (int i = 3, count = parts.size(); i != count; ++i) {
gameTitle.append(',').append(parts[i]);
}
return textcmdLink(2, gameTitle);
}
}
}
}
return lang(lng_deleted_message);
};
text = lng_action_game_score(lt_from, from, lt_score, QString::number(gamescore->score), lt_game, getGameTitle());
text = lng_action_game_score(lt_from, from, lt_count, gamescore->score, lt_game, getGameTitle());
result = true;
} else if (gamescore && gamescore->msgId) {
text = lng_action_game_score(lt_from, from, lt_score, QString::number(gamescore->score), lt_game, lang(lng_contacts_loading));
text = lng_action_game_score(lt_from, from, lt_count, gamescore->score, lt_game, lang(lng_contacts_loading));
result = true;
} else {
text = lng_action_game_score(lt_from, from, lt_score, QString::number(gamescore->score), lt_game, lang(lng_deleted_message));
text = lng_action_game_score(lt_from, from, lt_count, gamescore->score, lt_game, lang(lng_deleted_message));
}
*outText = text;
if (second) {
@ -8169,20 +8181,7 @@ bool HistoryService::prepareGameScoreText(const QString &from, QString *outText,
HistoryService::HistoryService(History *history, const MTPDmessageService &msg) :
HistoryItem(history, msg.vid.v, mtpCastFlags(msg.vflags.v), ::date(msg.vdate), msg.has_from_id() ? msg.vfrom_id.v : 0) {
if (msg.has_reply_to_msg_id()) {
if (msg.vaction.type() == mtpc_messageActionPinMessage) {
UpdateComponents(HistoryServicePinned::Bit());
} else if (msg.vaction.type() == mtpc_messageActionGameScore) {
UpdateComponents(HistoryServiceGameScore::Bit());
Get<HistoryServiceGameScore>()->score = msg.vaction.c_messageActionGameScore().vscore.v;
}
if (auto dependent = GetDependentData()) {
dependent->msgId = msg.vreply_to_msg_id.v;
if (!updateDependent() && App::api()) {
App::api()->requestMessageData(history->peer->asChannel(), dependent->msgId, std_::make_unique<HistoryDependentItemCallback>(fullId()));
}
}
}
createFromMtp(msg);
setMessageByAction(msg.vaction);
}
@ -8369,15 +8368,36 @@ HistoryTextState HistoryService::getState(int x, int y, HistoryStateRequest requ
return result;
}
void HistoryService::applyEditionToEmpty() {
TextWithEntities textWithEntities = { QString(), EntitiesInText() };
setServiceText(QString(), Links());
removeMedia();
void HistoryService::createFromMtp(const MTPDmessageService &message) {
if (message.has_reply_to_msg_id()) {
if (message.vaction.type() == mtpc_messageActionPinMessage) {
UpdateComponents(HistoryServicePinned::Bit());
} else if (message.vaction.type() == mtpc_messageActionGameScore) {
UpdateComponents(HistoryServiceGameScore::Bit());
Get<HistoryServiceGameScore>()->score = message.vaction.c_messageActionGameScore().vscore.v;
}
if (auto dependent = GetDependentData()) {
dependent->msgId = message.vreply_to_msg_id.v;
if (!updateDependent() && App::api()) {
App::api()->requestMessageData(history()->peer->asChannel(), dependent->msgId, std_::make_unique<HistoryDependentItemCallback>(fullId()));
}
}
}
setMessageByAction(message.vaction);
}
void HistoryService::applyEdition(const MTPDmessageService &message) {
clearDependency();
UpdateComponents(0);
finishEditionToEmpty();
createFromMtp(message);
if (message.vaction.type() == mtpc_messageActionHistoryClear) {
removeMedia();
finishEditionToEmpty();
} else {
finishEdition(-1);
}
}
void HistoryService::removeMedia() {

View file

@ -1206,7 +1206,7 @@ public:
}
virtual void applyEdition(const MTPDmessage &message) {
}
virtual void applyEditionToEmpty() {
virtual void applyEdition(const MTPDmessageService &message) {
}
virtual void updateMedia(const MTPMessageMedia *media) {
}
@ -2626,7 +2626,7 @@ public:
QString notificationHeader() const override;
void applyEdition(const MTPDmessage &message) override;
void applyEditionToEmpty() override;
void applyEdition(const MTPDmessageService &message) override;
void updateMedia(const MTPMessageMedia *media) override;
int32 addToOverview(AddToOverviewMethod method) override;
void eraseFromOverview() override;
@ -2693,7 +2693,6 @@ public:
~HistoryMessage();
private:
HistoryMessage(History *history, const MTPDmessage &msg);
HistoryMessage(History *history, MsgId msgId, MTPDmessage::Flags flags, QDateTime date, int32 from, HistoryMessage *fwd); // local forwarded
HistoryMessage(History *history, MsgId msgId, MTPDmessage::Flags flags, MsgId replyTo, int32 viaBotId, QDateTime date, int32 from, const TextWithEntities &textWithEntities); // local message
@ -2706,6 +2705,7 @@ private:
void initDimensions() override;
int resizeGetHeight_(int width) override;
int performResizeGetHeight(int width);
void applyEditionToEmpty();
bool displayForwardedFrom() const {
if (const HistoryMessageForwarded *fwd = Get<HistoryMessageForwarded>()) {
@ -2827,7 +2827,7 @@ public:
HistoryItem::clickHandlerPressedChanged(p, pressed);
}
void applyEditionToEmpty() override;
void applyEdition(const MTPDmessageService &message) override;
int32 addToOverview(AddToOverviewMethod method) override;
void eraseFromOverview() override;
@ -2875,6 +2875,7 @@ private:
bool updateDependentText();
void clearDependency();
void createFromMtp(const MTPDmessageService &message);
void setMessageByAction(const MTPmessageAction &action);
bool preparePinnedText(const QString &from, QString *outText, Links *outLinks);
@ -2884,7 +2885,6 @@ private:
class HistoryJoined : public HistoryService, private HistoryItemInstantiated<HistoryJoined> {
public:
static HistoryJoined *create(History *history, const QDateTime &date, UserData *from, MTPDmessage::Flags flags) {
return _create(history, date, from, flags);
}
@ -2894,7 +2894,6 @@ public:
}
protected:
HistoryJoined(History *history, const QDateTime &date, UserData *from, MTPDmessage::Flags flags);
using HistoryItemInstantiated<HistoryJoined>::_create;
friend class HistoryItemInstantiated<HistoryJoined>;

View file

@ -444,7 +444,7 @@ void MediaPreviewWidget::paintEvent(QPaintEvent *e) {
Painter p(this);
QRect r(e->rect());
auto &image = currentImage();
auto image = currentImage();
int w = image.width() / cIntRetinaFactor(), h = image.height() / cIntRetinaFactor();
if (_a_shown.animating()) {
float64 shown = a_shown.current();

View file

@ -4602,9 +4602,8 @@ void MainWidget::feedUpdate(const MTPUpdate &update) {
}
// update before applying skipped
if (d.vmessage.type() == mtpc_message) { // apply message edit
App::updateEditedMessage(d.vmessage.c_message());
}
App::updateEditedMessage(d.vmessage);
if (channel && !_handlingChannelDifference) {
channel->ptsApplySkippedUpdates();
}
@ -4618,14 +4617,8 @@ void MainWidget::feedUpdate(const MTPUpdate &update) {
}
// update before applying skipped
if (d.vmessage.type() == mtpc_message) { // apply message edit
App::updateEditedMessage(d.vmessage.c_message());
} else if (d.vmessage.type() == mtpc_messageService) {
auto &message = d.vmessage.c_messageService();
if (message.vaction.type() == mtpc_messageActionHistoryClear) {
App::updateEditedMessageToEmpty(peerFromMessage(d.vmessage), message.vid.v);
}
}
App::updateEditedMessage(d.vmessage);
ptsApplySkippedUpdates();
} break;

View file

@ -1150,11 +1150,11 @@ void objc_downloadPathEnableAccess(const QByteArray &bookmark) {
}
_downloadPathUrl = url;
cSetDownloadPath(objcString([_downloadPathUrl path]) + '/');
Global::SetDownloadPath(objcString([_downloadPathUrl path]) + '/');
if (isStale) {
NSData *data = [_downloadPathUrl bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope includingResourceValuesForKeys:nil relativeToURL:nil error:&error];
if (data) {
cSetDownloadPathBookmark(QByteArray::fromNSData(data));
Global::SetDownloadPathBookmark(QByteArray::fromNSData(data));
Local::writeUserSettings();
}
}

View file

@ -1441,12 +1441,12 @@ void StickerPanInner::refreshStickers() {
}
auto i = _animations.find(sel + 1);
if (i != _animations.cend()) {
i.value() = (i.value() >= st::emojiPanDuration) ? (i.value() - st::emojiPanDuration) : 0;
i.value() = (i.value() >= static_cast<uint32>(st::emojiPanDuration)) ? (i.value() - st::emojiPanDuration) : 0;
}
if (xsel >= 0) {
auto j = _animations.find(xsel + 1);
if (j != _animations.cend()) {
j.value() = (j.value() >= st::emojiPanDuration) ? (j.value() - st::emojiPanDuration) : 0;
j.value() = (j.value() >= static_cast<uint32>(st::emojiPanDuration)) ? (j.value() - st::emojiPanDuration) : 0;
}
}
step_selected(getms(), true);
@ -2158,7 +2158,7 @@ void StickerPanInner::updateSelected() {
}
for (int c = 0, l = sets.size(); c < l; ++c) {
auto &set = sets[c];
bool special = featured ? false : (set.flags & MTPDstickerSet::Flag::f_official);
bool special = featured ? false : bool(set.flags & MTPDstickerSet::Flag::f_official);
y = ytill;
if (featured) {

View file

@ -357,7 +357,7 @@ if [ "$BuildTarget" == "mac" ] || [ "$BuildTarget" == "mac32" ] || [ "$BuildTarg
rm -rf "$ReleasePath/$BinaryName.app/Contents/_CodeSignature"
mkdir -p "$DropboxDeployPath"
cp -v "$DeployPath/$BinaryName.app" "$DropboxDeployPath/"
cp -rv "$DeployPath/$BinaryName.app" "$DropboxDeployPath/"
cp -rv "$DeployPath/$BinaryName.app.dSYM" "$DropboxDeployPath/"
fi
fi

View file

@ -1,6 +1,6 @@
AppVersion 10007
AppVersion 10008
AppVersionStrMajor 0.10
AppVersionStrSmall 0.10.7
AppVersionStr 0.10.7
AppVersionStrSmall 0.10.8
AppVersionStr 0.10.8
AlphaChannel 0
BetaVersion 0