diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 36b5053d9..f1d274190 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -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."; diff --git a/Telegram/Resources/langs/lang_de.strings b/Telegram/Resources/langs/lang_de.strings index a05215fe5..353b954db 100644 --- a/Telegram/Resources/langs/lang_de.strings +++ b/Telegram/Resources/langs/lang_de.strings @@ -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"; diff --git a/Telegram/Resources/langs/lang_es.strings b/Telegram/Resources/langs/lang_es.strings index 28aa2191c..b844de3b2 100644 --- a/Telegram/Resources/langs/lang_es.strings +++ b/Telegram/Resources/langs/lang_es.strings @@ -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"; diff --git a/Telegram/Resources/langs/lang_it.strings b/Telegram/Resources/langs/lang_it.strings index 9c77af2f8..2d2d99dd4 100644 --- a/Telegram/Resources/langs/lang_it.strings +++ b/Telegram/Resources/langs/lang_it.strings @@ -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."; diff --git a/Telegram/Resources/langs/lang_ko.strings b/Telegram/Resources/langs/lang_ko.strings index 66594c9cd..e0a6c86f5 100644 --- a/Telegram/Resources/langs/lang_ko.strings +++ b/Telegram/Resources/langs/lang_ko.strings @@ -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" = "그룹 이름 수정"; diff --git a/Telegram/Resources/langs/lang_nl.strings b/Telegram/Resources/langs/lang_nl.strings index 486bf85f2..c2b2b2ff6 100644 --- a/Telegram/Resources/langs/lang_nl.strings +++ b/Telegram/Resources/langs/lang_nl.strings @@ -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"; diff --git a/Telegram/Resources/langs/lang_pt_BR.strings b/Telegram/Resources/langs/lang_pt_BR.strings index 7b84dbb6f..16b443849 100644 --- a/Telegram/Resources/langs/lang_pt_BR.strings +++ b/Telegram/Resources/langs/lang_pt_BR.strings @@ -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"; diff --git a/Telegram/Resources/winrc/Telegram.rc b/Telegram/Resources/winrc/Telegram.rc index 999c47d82..72e344e2d 100644 --- a/Telegram/Resources/winrc/Telegram.rc +++ b/Telegram/Resources/winrc/Telegram.rc @@ -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" diff --git a/Telegram/Resources/winrc/Updater.rc b/Telegram/Resources/winrc/Updater.rc index 1db28bea8..69891e4dd 100644 --- a/Telegram/Resources/winrc/Updater.rc +++ b/Telegram/Resources/winrc/Updater.rc @@ -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" diff --git a/Telegram/SourceFiles/app.cpp b/Telegram/SourceFiles/app.cpp index ff9b6df08..b5d6fe50a 100644 --- a/Telegram/SourceFiles/app.cpp +++ b/Telegram/SourceFiles/app.cpp @@ -1110,19 +1110,22 @@ namespace { return false; } - void updateEditedMessage(const MTPDmessage &m) { - PeerId peerId = peerFromMTP(m.vto_id); + template + 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()); } } diff --git a/Telegram/SourceFiles/app.h b/Telegram/SourceFiles/app.h index ed87457ca..299caaf90 100644 --- a/Telegram/SourceFiles/app.h +++ b/Telegram/SourceFiles/app.h @@ -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 &msgs, NewMessageType type); diff --git a/Telegram/SourceFiles/core/lambda_wrap.h b/Telegram/SourceFiles/core/lambda_wrap.h index 344e839f4..77982086c 100644 --- a/Telegram/SourceFiles/core/lambda_wrap.h +++ b/Telegram/SourceFiles/core/lambda_wrap.h @@ -437,7 +437,7 @@ using RPCDoneHandlerImplementation = RPCHandlerImplementation class RPCDoneHandlerImplementationBare : public RPCDoneHandlerImplementation { // done(from, end) public: - using Parent::Parent; + using RPCDoneHandlerImplementation::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 class RPCDoneHandlerImplementationBareReq : public RPCDoneHandlerImplementation { // done(from, end, req_id) public: - using Parent::Parent; + using RPCDoneHandlerImplementation::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 class RPCDoneHandlerImplementationPlain : public RPCDoneHandlerImplementation { // done(result) public: - using Parent::Parent; + using RPCDoneHandlerImplementation::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 class RPCDoneHandlerImplementationReq : public RPCDoneHandlerImplementation { // done(result, req_id) public: - using Parent::Parent; + using RPCDoneHandlerImplementation::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 class RPCDoneHandlerImplementationNo : public RPCDoneHandlerImplementation { // done() public: - using Parent::Parent; + using RPCDoneHandlerImplementation::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 class RPCDoneHandlerImplementationNoReq : public RPCDoneHandlerImplementation { // done(req_id) public: - using Parent::Parent; + using RPCDoneHandlerImplementation::Parent::Parent; void operator()(mtpRequestId requestId, const mtpPrime *from, const mtpPrime *end) const override { return this->_handler ? this->_handler(requestId) : void(0); } diff --git a/Telegram/SourceFiles/core/version.h b/Telegram/SourceFiles/core/version.h index 2153f12b9..23ee2bd5b 100644 --- a/Telegram/SourceFiles/core/version.h +++ b/Telegram/SourceFiles/core/version.h @@ -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; diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index 905289c30..77d143b58 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -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(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()->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(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()->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(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() { diff --git a/Telegram/SourceFiles/history.h b/Telegram/SourceFiles/history.h index d8435ab2d..72cc5f101 100644 --- a/Telegram/SourceFiles/history.h +++ b/Telegram/SourceFiles/history.h @@ -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()) { @@ -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 { 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::_create; friend class HistoryItemInstantiated; diff --git a/Telegram/SourceFiles/layerwidget.cpp b/Telegram/SourceFiles/layerwidget.cpp index 722a387bf..5c1132568 100644 --- a/Telegram/SourceFiles/layerwidget.cpp +++ b/Telegram/SourceFiles/layerwidget.cpp @@ -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(); diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index c44ff0ab7..bc86c1269 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -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; diff --git a/Telegram/SourceFiles/pspecific_mac_p.mm b/Telegram/SourceFiles/pspecific_mac_p.mm index 2ba238047..72d9d9d48 100644 --- a/Telegram/SourceFiles/pspecific_mac_p.mm +++ b/Telegram/SourceFiles/pspecific_mac_p.mm @@ -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(); } } diff --git a/Telegram/SourceFiles/stickers/emoji_pan.cpp b/Telegram/SourceFiles/stickers/emoji_pan.cpp index 125aa4c6a..a6060ffda 100644 --- a/Telegram/SourceFiles/stickers/emoji_pan.cpp +++ b/Telegram/SourceFiles/stickers/emoji_pan.cpp @@ -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(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(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) { diff --git a/Telegram/build/build.sh b/Telegram/build/build.sh index d903c7587..172e00e24 100755 --- a/Telegram/build/build.sh +++ b/Telegram/build/build.sh @@ -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 diff --git a/Telegram/build/version b/Telegram/build/version index eefd756f7..8cf1ec88d 100644 --- a/Telegram/build/version +++ b/Telegram/build/version @@ -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