Compare commits

...

619 Commits

Author SHA1 Message Date
John Preston
6d3a6d20b5 Version 1.1.10: Fix build for Xcode and GCC. 2017-07-04 19:17:44 +03:00
John Preston
91a6853f3c Version 1.1.10: Update langs. 2017-07-04 18:40:59 +03:00
John Preston
60d886a59a Version 1.1.10.
- Filter added to channel and supergroup event log.
- Search by username in privacy exceptions editor fixed.
- Adding admins in channels fixed.
2017-07-04 18:32:05 +03:00
John Preston
397797aac7 Add default changelog for the new stable version.
Also add a non-translated changelog for the new alpha/beta versions.
2017-07-04 18:32:04 +03:00
John Preston
61461d0a87 Improve boxes with checks / radios layout. 2017-07-04 16:59:00 +03:00
John Preston
0ae661edf0 Add channel / supergroup admin event log filter. 2017-07-04 16:31:18 +03:00
John Preston
fc6aa288c2 Show all returned rows in RevokePublicLinkBox.
Fixes #3617
2017-07-03 16:57:46 +03:00
John Preston
58dcba71a4 Switch to PeerListBox in channel admin management.
This will fix the problem with adding admins to channels.
Also this will add local search to channel admins list.
Fixes #3615
2017-07-03 16:17:52 +03:00
John Preston
5ca3a81fe2 Fix global search by username in PeerListBox. 2017-07-03 16:17:44 +03:00
John Preston
f316e3bd17 Add debug logs for window position and autoupdate. 2017-07-03 15:23:41 +03:00
John Preston
ebb10fb8ed Improve night mode theme.
Also fix custom notification border painting with reply button.
2017-07-03 13:51:38 +03:00
John Preston
d08dbb835f Paint admin stars with different color in profile. 2017-07-03 13:31:37 +03:00
John Preston
0d38106ed0 Fix Edit option display for supergroup creator.
Supergroup creator saw the Edit option for other users messages.
2017-07-03 13:13:32 +03:00
Viktor Oreshkin
bca0e1e16c Fix remove option in normal groups
If user invites X to group and then X becomes an admin, user won't be
able to remove X anymore, so remove option shouldn't be shown.

Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2017-07-02 22:29:24 +03:00
John Preston
96d1fe336a Fix assertion violation when editing an admin.
There is a possibility that an EditAdminBox will be shown for someone
who can't add admins right now (in case server says he can edit one).

In that case assertion about the admins checkbox is false and we fix
that. Currently server sometimes does return this flag by mistake.
2017-07-02 22:26:24 +03:00
John Preston
305e15dd03 Fix service message date in admin event log. 2017-07-02 22:26:23 +03:00
John Preston
22287d4c03 Version 1.1.9: Update langs. 2017-06-30 16:02:52 +03:00
John Preston
341b44119f Version 1.1.9.
- Supergroups can now have up to 10.000 members.
- Appoint supergroup admins with granular rights.
Choose who can add users, manage messages, block members,
edit group info & username, add new admins, etc.
- Restrict and ban supergroup members with granular precision.
Read-only bans, GIF & sticker bans, media bans,
temporary bans and restrictions.
- Check the new event log to see all service actions taken by
members and admins of a channel or supergroup in the last 48 hours.
- Toggle night mode in the main menu.
2017-06-30 15:08:29 +03:00
John Preston
0798a0148a Don't change custom background in night mode.
This will at least make it a bit better in #3598.

The real solution with remembering custom backgrounds for both
night mode on and off doesn't fit with current theming way too well.
2017-06-30 15:03:51 +03:00
John Preston
51c0df79fe Support emoji display in PeerListBox status texts. 2017-06-30 14:36:13 +03:00
John Preston
42febdb240 Fix alpha version changelog notification.
We should call window->serviceNotification() because it checks for
the service chat history being loaded before adding the message.

The method in MainWidget was renamed to prevent bugs in the future.
2017-06-30 14:30:11 +03:00
John Preston
5fe1175602 Fix crash when message for forward is deleted.
The messages prepared for forwarding are not a map (MsgId -> item),
but just a map (random int -> item), so we need to loop over them.
2017-06-30 13:46:41 +03:00
John Preston
bf57a1506f Fix assertion violation in the admin events log.
Add support for a log entry about group/channel photo being removed.
2017-06-30 13:35:35 +03:00
John Preston
7b496b3741 Improve in-app changelogs for alpha version. 2017-06-30 13:32:10 +03:00
John Preston
197cdc3928 Alpha 1.1.8.
- Toggle night mode in the main menu.
2017-06-30 09:23:31 +03:00
John Preston
8d14112c5a Update langs. 2017-06-30 09:21:46 +03:00
John Preston
61659244b7 Add night mode switch to the main menu.
Also fix a bug with the default background applying.
2017-06-30 09:21:46 +03:00
John Preston
19023b4cc2 Display a toggle in Menu for Checkable actions. 2017-06-30 09:21:46 +03:00
John Preston
5dcf341aaa Display "no users" in empty add participant box. 2017-06-30 09:21:45 +03:00
John Preston
4993ff1921 Finalize rename / move. 2017-06-30 09:21:45 +03:00
John Preston
d1536d0572 Rename / move history and historywidget modules. 2017-06-30 09:21:45 +03:00
John Preston
836fe119d9 Improve display of admin event log entries.
Don't show the Forward, Delete and Go to message in MediaView.
Better handle round video floating player in admin event log.
2017-06-30 09:21:45 +03:00
John Preston
0b3644b334 Improve phrase on copying selected items as text.
This is a better implementation of #3346.
2017-06-30 09:21:45 +03:00
John Preston
7357119b1a Fix scroll top overflow. Fixes #3524 2017-06-30 09:21:45 +03:00
John Preston
545915e481 Fix name/fwd/reply/viabot info display for media. 2017-06-30 09:21:45 +03:00
John Preston
6f90dc2374 Fix empty admin event log display. 2017-06-30 09:21:45 +03:00
John Preston
91dcfff423 Add unpinned message admin log event action. 2017-06-30 09:21:45 +03:00
John Preston
58b4798b79 Fix tooltip hiding when window is hidden by Cmd+H.
For some reason deleteLater() called for the tooltip from the main
window deactivation signal is really handled only on app quit :/
So now we use InvokeQueued(p, [p] { delete p; }); there instead.

Fixes #3461
2017-06-30 09:21:45 +03:00
John Preston
843d63c221 Fix edit channel controls layout. 2017-06-30 09:21:44 +03:00
John Preston
3b864d63b9 Fix crash in audio player destructor. 2017-06-30 09:21:44 +03:00
John Preston
2a51e2aa59 Workaround GCC bug and fix Linux build. 2017-06-30 09:21:44 +03:00
John Preston
67f2daa43c Closed beta 1001007003: Fix build for old OS X. 2017-06-30 09:21:44 +03:00
John Preston
c3db57a4fc Closed beta 1001007003: Fix Xcode build. 2017-06-30 09:21:44 +03:00
John Preston
885b82b437 Closed beta 1001007003. 2017-06-30 09:21:44 +03:00
John Preston
6487d91722 Add users to a channel check by admin rights.
Also add an admin right checkbox for add users in channels.
2017-06-30 09:21:44 +03:00
John Preston
5b4f70ff96 Fix crash in layer stack unwinding. 2017-06-30 09:21:44 +03:00
John Preston
75fdd5315f Add some more colors for theming. 2017-06-30 09:21:44 +03:00
John Preston
8ee5c70708 Fix admin custom status text in supergroups. 2017-06-30 09:21:44 +03:00
John Preston
b398444b91 Show manage banned and restricted to creator. 2017-06-30 09:21:44 +03:00
John Preston
9e6f2a5d2e Remember connection type settings. 2017-06-30 09:21:43 +03:00
John Preston
7245319351 Prefer static dc options when using a proxy. 2017-06-30 09:21:43 +03:00
John Preston
82912f4a0b Handle socks internal links. 2017-06-30 09:21:43 +03:00
John Preston
1968ca07de Display connecting to proxy state with a link. 2017-06-30 09:21:43 +03:00
John Preston
8c04bed572 Display empty event log placeholder.
Also hide the filter button for now.
2017-06-30 09:21:43 +03:00
John Preston
ae56c5266f Fix rich text entities in log entry original. 2017-06-30 09:21:43 +03:00
John Preston
0a9db8533b Save admin log state to memento and restore it. 2017-06-30 09:21:43 +03:00
John Preston
85e234938d Fix inline keyboard. Disable it in the event log.
Also disable game preview click handler in the event log.
2017-06-30 09:21:43 +03:00
John Preston
816ee794e8 Event log context menu + improved text selection. 2017-06-30 09:21:43 +03:00
John Preston
624f33c5e2 Allow to select and copy text in the events log.
Also better handle window resize in the events log.
2017-06-30 09:21:42 +03:00
John Preston
693c30d264 Handle mouse events in log entry message parts.
Also highlight mentions and hashtags in them.
2017-06-30 09:21:42 +03:00
John Preston
17e08f9291 Separate theme keys for emoji category icon color. 2017-06-30 09:21:42 +03:00
John Preston
cedf8a65e7 Better channel log entry layout inside messages.
Also move HistoryService class to a separate module.
2017-06-30 09:21:42 +03:00
John Preston
0a39e7e2b1 Support userpics and dates in channel log events. 2017-06-30 09:21:42 +03:00
John Preston
5c87b42135 Use plain HistoryItem in channel admin events log.
Instead of using a complex AdminLog::Item use just HistoryItem*.
2017-06-30 09:21:42 +03:00
John Preston
e39b95175b Handle channel event log mouse events. 2017-06-30 09:21:42 +03:00
John Preston
1791b251ad Fix tabbed section / panel render glitches. 2017-06-30 09:21:42 +03:00
John Preston
507b7d7193 Add to each history item its own width value. 2017-06-30 09:21:41 +03:00
John Preston
839e59075d Display log entry original data in HistoryMessage. 2017-06-30 09:21:41 +03:00
John Preston
4962fdf5ae Add phrases and layout for all events in log. 2017-06-30 09:21:41 +03:00
John Preston
fee8690ca6 Channel action log items display and layout. 2017-06-30 09:21:41 +03:00
John Preston
25a718c54b Start recent channel actions log section. 2017-06-30 09:21:41 +03:00
John Preston
401bc86f27 Closed beta 1001007002: New channel rights.
Also fix build in Xcode.
2017-06-30 09:21:41 +03:00
John Preston
c3ad0ae129 Always show that bot-admin reads all messages.
A bot with any admin rights has access to messages.
2017-06-30 09:21:41 +03:00
John Preston
8fe56b9a7d Show blocked / restricted users to all admins. 2017-06-30 09:21:41 +03:00
John Preston
1b649299ff Show edit admin non-mutual-contact error message. 2017-06-30 09:20:31 +03:00
John Preston
6ba57e713e Use forwarded messages only for one selected chat.
Different chats now can have different forwarded "drafts".
2017-06-29 11:40:26 +03:00
John Preston
758cf0388e Edit who can add users to supergroup.
Add a couple of radiobuttons to EditChannelBox for that.
Also a 'change info' admin now can edit 'signatures' in a channel.
2017-06-29 11:40:25 +03:00
John Preston
9de95cee23 Drop link preview if you can't send them.
Just drop the preview when message with a web page preview is
forwarded and we're restricted to send them in the megagroup.
2017-06-29 11:40:23 +03:00
John Preston
b35d2505a4 Better mentions highlighting in PeerListBox. 2017-06-29 11:40:23 +03:00
John Preston
240ced395b Apply changes in ParticipantsBoxController.
When we add admin / banned / restricted user in a channel using
AddParticipantBoxController we now apply the added user in the box.
2017-06-29 11:40:22 +03:00
John Preston
9e8e49b8d9 Add other search to admin/ban/restrict in channel.
Search in chats / contacts / global in AddParticipantBoxController.
Also move all channel participants box controllers to another module.
2017-06-29 11:40:21 +03:00
John Preston
b76bfe2008 Add admin/banned/restricted box using PeerListBox. 2017-06-29 11:40:20 +03:00
John Preston
3dd26dac6e Show supergroup / channel admins in PeerListBox.
Also show "Creator" / "Promoted by" status for those admins.
2017-06-29 11:40:19 +03:00
John Preston
04e587b999 Hide Add Users checkbox if megagroup is democracy.
Also unite invite_users and invite_link flags.
2017-06-29 11:40:17 +03:00
John Preston
adcecaa195 Make search in restricted/blocked box paginated. 2017-06-29 11:40:17 +03:00
John Preston
6fe0fe6fd6 Use lightButtonFg[Over] for Hide All Notifications.
Fixes #3521.
2017-06-29 11:40:15 +03:00
John Preston
7fdac9cd94 Add restricted users box like kicked users box.
Also allow server-side search inside restricted users list.
Also allow server-side search inside kicked users list.
Also allow PeerListController to work not only in PeerListBox.
2017-06-29 11:40:14 +03:00
John Preston
5c0a1bafe2 Add supergroup restriction placeholders / labels. 2017-06-29 11:40:13 +03:00
John Preston
7d2d5c6100 Edit admin and restricted rights in channels. 2017-06-29 11:40:11 +03:00
John Preston
513a9f8d45 Add rich supergroup/channel admin support. 2017-06-29 11:40:10 +03:00
John Preston
330b4a0b00 API scheme updated to layer 68. 2017-06-29 11:40:08 +03:00
John Preston
8ae159dd66 Add special dc options config request. 2017-06-29 11:40:07 +03:00
John Preston
2de96682db Fix phone call decline reason.
If the call was declined fast enough the reason was hangup while it
should be busy.
2017-06-29 11:40:06 +03:00
John Preston
80273c57d0 Fix jumping to an old group message before migration.
Fixes #3513.
2017-06-29 11:40:05 +03:00
John Preston
fe3c33fb52 Change a phrase for the userpic photo area selection.
Fixes #3390.
2017-06-29 11:40:04 +03:00
John Preston
c9a26fd006 Fix call panel with empty user photo on Retina. 2017-06-29 11:40:03 +03:00
John Preston
11d4c50202 Closed beta 1001007001: Fix build in GCC. 2017-06-29 11:40:02 +03:00
John Preston
7dd50fa931 Closed beta 1001007001: Fix build in Xcode. 2017-06-29 11:40:01 +03:00
John Preston
5d0e89db5d Switch to the server side changelogs. 2017-06-29 11:40:00 +03:00
John Preston
d9785f6071 Closed beta 1001007001.
First cloud langpacks version.
2017-06-29 11:39:59 +03:00
John Preston
f3e65d400d Display languages native names in the box.
Also don't suggest the old official languages in a popup.
2017-06-29 11:39:58 +03:00
John Preston
85e6f55536 Support new plural keys format.
All the old plural phrases were changed to work with the new format.
2017-06-29 11:39:56 +03:00
John Preston
b6046d829f Save the default language after logging in.
We suggest an appropriate language in the intro if server has users
system language langpack. But if user doesn't switch to it we save
the default ("en") language so that he won't be bothered again.
2017-06-29 11:39:55 +03:00
John Preston
665a1acfd8 Apply language with app restart if logged in.
Confirm and restart if logged in, just quickly apply if not.
2017-06-29 11:39:54 +03:00
John Preston
d51fd7b3ad Update intro change language link.
Also now MTP::Sender isn't bound to MTP::Instance, because Intro
Widget is MTP::Sender, but Intro::PhoneWidget destroys current
MTP::Instance.
2017-06-29 11:39:53 +03:00
John Preston
b94099e25b Realtime UI translation in all fields and buttons. 2017-06-29 11:39:51 +03:00
John Preston
5fc4f4ed36 Realtime UI translation in Intro.
Also support realtime translation testing by F7-F6-F7-F8 keys.
2017-06-29 11:39:49 +03:00
John Preston
d47a38dfcf Show change language link in intro. 2017-06-29 11:39:48 +03:00
John Preston
f5353080e7 Use Qt UI language if system was not determined.
Also rename platform/mac/specific_mac.cpp to .mm
2017-06-29 11:39:47 +03:00
John Preston
6fb980ca79 Improve custom language loading.
Apply custom language without relaunching the app.
2017-06-29 11:39:46 +03:00
John Preston
3f0b57ec11 Retranslate Settings when language is changed.
Also suggest user to change language from 'en' to his for one time.
2017-06-29 11:39:45 +03:00
John Preston
f5dfeb0c50 Support cloud languages list and switching.
Add Lang::Current().updated() observable for retranslating the UI.
2017-06-29 11:39:43 +03:00
John Preston
139d4e72b5 Start cloud langpack support.
Change the way langpacks are stored.
Support custom langpacks in the new storage.
2017-06-29 11:39:42 +03:00
John Preston
2334ba1fe1 Use QString + Lang::Tag() instead of Lang::String. 2017-06-29 11:39:40 +03:00
John Preston
110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +03:00
John Preston
f643446d1b Rename / move lang files to lang/ subdir.
Next commit fixes the build.
2017-06-29 11:39:36 +03:00
John Preston
a813793007 API scheme updated to layer 67. 2017-06-29 11:39:35 +03:00
John Preston
972fdb5c76 Fix _historyDown button position.
This button is a child widget of _scroll so the position is relative.
2017-06-29 11:39:34 +03:00
John Preston
0e4b057220 Fix transparent reply previews.
The transparent reply previews (for stickers) were not filled by
transparent background before resizing, now there is a flag for that.
2017-06-29 11:39:33 +03:00
John Preston
6869cc7d04 Fix non-square reply preview in selected messages.
After introducing video messages and sticker reply previews they may
be not a rounded rectangle but any transparent image. So instead of
painting a selected rounded rect over them we just colorize them with
an overlay color like it is done with the selected sticker images.
2017-06-29 11:39:32 +03:00
Viktor Oreshkin
68ddabea5c Don't clear undo history when applying draft
Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2017-06-29 11:10:13 +03:00
Zankio
60c84bbf51 Add hime inputcontext plugin for linux version
(#3129)

Signed-off-by: Zankio <xxoojoeooxx1@gmail.com>
(github: zankio)
2017-06-29 10:49:31 +03:00
Nikita K
4c61f27826 Fix inconsistency of max width for message content
Signed-off-by: Nikita Kalashnikov <mendor@yuuzukiyo.net> (github: Mendor)
2017-06-28 19:36:18 +03:00
Viktor Oreshkin
3f3b9f3608 Show date from fwdHeader on tooltip
Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2017-06-28 19:21:34 +03:00
Eduardo Sánchez Muñoz
2eff766e88 Always use UTF-8 to open files in list_sources.py.
This avoids problems with some locale settings.

Signed-off-by: Eduardo Sánchez Muñoz <eduardosanchezmunoz@gmail.com> (github: eduardosm)
2017-06-28 19:19:44 +03:00
Viktor Oreshkin
8b54910538 Fix markdown in issue template
Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2017-06-06 22:48:28 +03:00
John Preston
66662e02a6 Fix crash in video player seeking.
Regression was introduced in 87ff770020.

Seek handler may destroy controller so first the playback is updated.
2017-05-31 11:58:43 +03:00
John Preston
81e728ada0 Version 1.1.7.
- Improved video messages: radial playback progress,
Picture-in-Picture support, duration countdown.
- Voice and video messages now automatically play one after another.
2017-05-30 21:33:02 +03:00
John Preston
47c22c6cec Update langs. 2017-05-30 21:31:31 +03:00
John Preston
983c2c0869 Support non-standard binary names in autoupdater.
On Linux and Windows support non-standard application binary name.
2017-05-30 21:26:53 +03:00
Fake ID
ab3f9fbea2 Update build.sh (#3449)
Fixed typo: "Build successful done!" -> "Build successfully done!"

Telegram Desktop Developer Certificate of Origin

By making a contribution to this project, I certify that:

(a) The contribution was created in whole by me or is based upon
    previous work that, to the best of my knowledge, is in the
    public domain and I have the right to put it in the public domain.

(d) I understand and agree that this project and the contribution are
    public and that a record of the contribution (including all
    metadata and personal information I submit with it, including my
    sign-off) is maintained indefinitely and may be redistributed.

(e) I am granting this work into the public domain.

Signed-off-by: Fake Id 30 <junayeed@protonmail.com>
(github: fakeid30)
2017-05-28 21:52:22 +02:00
John Preston
a1f2fb46f9 Fix scroll history to down with unread bar.
Regression was introduced in 972b5078f6.

When we show history at a specific message or at unread messages we
need to clear and destroy old showFrom and unreadBar like it is done
in historyLoaded(), otherwise we always scroll to existing unreadBar.
2017-05-27 13:28:17 +03:00
John Preston
9a18ecf93d Fix the chats list width saving with passcode.
Regression was introduced in 0339b1b54b.

If the passcode is enabled the main widget is created after the main
window was fully initialized, so the first main widget resize already
used the shrink algorithm while creating the third column.

No we shrink the left column only after the main widget was started.
2017-05-27 13:28:16 +03:00
Evgenij Protasevich
bcd8c87c65 Update building-cmake.md (#3441)
* Added installation command for libtool and automake: #3437
* Fixed git url for FFmpeg libva.git. The project was moved to https://github.com/01org/libva.git #3436

Signed-off-by: Evgenij Protasevich <proeatalk@gmail.com> (github: proea)
2017-05-27 09:50:10 +02:00
John Preston
21df34ad55 Alpha 1.1.6. 2017-05-26 23:10:20 +03:00
John Preston
2c1e27add0 Fix crash in group members list. 2017-05-26 23:05:04 +03:00
John Preston
878e46c61a Alpha 1.1.5.
Also fix build in Xcode.
2017-05-26 19:03:41 +03:00
John Preston
7cea6ede1a Improve input field placeholders with IME.
Respect the IME preedit string when toggling the placeholder.
2017-05-26 18:50:25 +03:00
John Preston
57f0158ade Disable quiet hours check in Windows before 10.
We had several reports about wrong values in registry on Windows 8.1,
like the quiet hours are enabled and all notifications are skipped,
without anything like that being enabled in Windows settings.
2017-05-26 17:40:46 +03:00
John Preston
9e3f13ba2e Destroy members dropdown when the peer changes.
Also use object_ptr for passing widget in InnerDropdown.
2017-05-26 17:36:59 +03:00
John Preston
6148b78745 Read after AVERROR_INVALIDDATA in video sound.
Partially reverse c1c3e4af5b that stopped on error in such cases.
2017-05-26 17:18:58 +03:00
John Preston
e24b0559d3 Fix message history stick to bottom.
Scroll animation should finish when we want to jump to the bottom.
2017-05-26 16:06:18 +03:00
John Preston
10e34aa996 Fix a crash in round videos with a message text. 2017-05-26 15:20:11 +03:00
John Preston
6052a0de0e Fix crash in history geometry update. 2017-05-25 03:11:59 +03:00
John Preston
78d4f29af3 Alpha 1.1.4: Fix build script for macOS.
Regression was introduced in b86da76613.
2017-05-24 23:00:23 +03:00
John Preston
b04c03a5c3 Alpha 1.1.4.
- Fix a crash in animated history scrolling.
- Fix a bug with pinned chat to supergroup upgrade.
2017-05-24 22:59:17 +03:00
John Preston
1cc5b224c7 Fix pinned chat to supergroup upgrade bug.
Pinned chats were always updated in dialogs list, even after being
migrated to supergroups. That was bringing them back to chats list.
2017-05-24 22:54:41 +03:00
John Preston
9665d5cb45 Fix crash and improve animated scrolling.
Also fix reply returns traversing after animated scrolling.
2017-05-24 22:28:24 +03:00
John Preston
e0978f86d1 Alpha 1.1.3: Fix some render in macOS. 2017-05-24 17:36:58 +03:00
John Preston
413be7d76d Alpha 1.1.3.
Also update libtgvoip.
2017-05-24 16:59:40 +03:00
John Preston
972b5078f6 Improve animated scroll to message.
Use it in replies navigation and in jumping to message history end.
2017-05-24 16:25:21 +03:00
John Preston
25587d7e8e Replace different side enums with RectPart.
Including Ui::Shadow::Side, App::RectPart and ImportantTooltip::Side.
2017-05-24 16:25:20 +03:00
John Preston
c91e29d15d Improve floating player show / hide animations.
Also replace Window::Corner with a generic RectPart enumeration.
2017-05-24 16:25:20 +03:00
John Preston
03aeaadd5b Update floating player position. 2017-05-24 16:25:19 +03:00
John Preston
18195f9c4e Rename EmojiPanelTab to ChatHelpers::SelectorTab. 2017-05-24 16:25:18 +03:00
John Preston
75dcce0b3c Save floating player position in localstorage. 2017-05-24 16:25:17 +03:00
John Preston
ee6d80673a Snap floating player to column and corner. 2017-05-24 16:25:17 +03:00
John Preston
8f290451b6 Handle mouse clicks in floating player widget. 2017-05-24 16:25:16 +03:00
John Preston
c58a48276f Hide floating player if video message is visible. 2017-05-24 16:25:15 +03:00
John Preston
b7550f63c9 Add a floating player for round video messages. 2017-05-24 16:25:15 +03:00
John Preston
0bfff65306 Add an animated scroll to current media message. 2017-05-24 16:25:14 +03:00
John Preston
6bde8cdce4 Remove legacy debug information. 2017-05-24 16:25:13 +03:00
John Preston
9332032839 Click on media player goes to voice/video message. 2017-05-24 16:25:12 +03:00
John Preston
7873cb4373 Using media player for voice / video messages.
Media::Player::Widget displays the current voice / video message
if it is played and the current song otherwise.

It is created when a voice / video message starts and is destroyed
when all the voice / video messages in the playlist are finished.
2017-05-24 16:25:12 +03:00
John Preston
2661fe5cd5 Fix crash in clear history after report spam. 2017-05-24 16:25:11 +03:00
John Preston
43c8046e4c Don't handle telesco.pe links like t.me links.
It is better to open web version of telesco.pe/username instead of
a channel, because it shows only the round videos. You can share a
t.me link to your channel if you wish to share the full channel.

It is not bad to open web version of telesco.pe/username/post instead
of a specific post in a channel, because the video message is shown
in the web page preview and can be viewed without following the link.
2017-05-24 16:25:10 +03:00
John Preston
611a3e2f8a Handle voice playlist in Media::Player::Instance.
This allows video and voice messages to autoplay one after another.
2017-05-24 16:25:09 +03:00
John Preston
b9119e5ef6 Play video messages as Type::Voice.
Use AudioMsgId instead of videoPlayId.
Any audio track now can be a child loader track of some video clip.
Use Type::Voice instead of Type::Video for round video messages.
Video messages play / pause / resume the same way as voice messages.
2017-05-24 16:25:09 +03:00
John Preston
1e6d4d6b41 Activate mediaview instead of main window.
If the mediaview is currently shown and we receive an activation
event for the main window we should activate and focus mediaview.
2017-05-24 16:25:08 +03:00
John Preston
5915f3f928 Display radial playback progress in round videos. 2017-05-24 16:25:07 +03:00
John Preston
87ff770020 Make Media::Clip::Playback independent of slider.
Now animation of the playback progress is processed inside the
Media::Clip::Playback and the sliders just hold plain float64 value.
2017-05-24 16:25:06 +03:00
John Preston
8446fa5a4d Change round video playback duration to countdown. 2017-05-24 16:25:06 +03:00
John Preston
efb59e8c3a Show GIF in Mediaview on click.
This way you can watch GIF on full screen and switch between them.
2017-05-24 16:25:05 +03:00
John Preston
2377873c45 Add items to overviews inside HistoryMedia.
This allows one history item to exist in several media overviews.
See voice message, which should be in VoiceFiles and RoundVoiceFiles.
2017-05-24 16:25:04 +03:00
John Preston
2049f3e55a Fix Mac App Store entitlements. 2017-05-19 17:13:33 +03:00
John Preston
e102793d93 Fix Appveyor CI build. 2017-05-18 12:55:05 +03:00
John Preston
b86da76613 Move project files tdesktop to tdesktop/Telegram.
After adding the libtgvoip submodule its project was created by GYP
outside the project folder, because the relative path to libtgvoip.gyp
is "../ThirdParty/libtgvoip/" and projects are created in the same
relative folders.

Now we place MSVC and Xcode projects in tdesktop/Telegram, so the
libtgvoip project is created at tdesktop/ThirdParty/libtgvoip.
2017-05-18 12:04:39 +03:00
John Preston
59100a51c6 Version 1.1.2 update and changelog. 2017-05-18 00:07:06 +03:00
John Preston
bf0f956325 Preserve panels state through visibility toggles.
Emoji/Stickers/GIFs panel saves all the state between activations.
2017-05-18 00:02:31 +03:00
John Preston
132d884600 Fix Ui::ImportantTooltip render on OS X 10.6-10.7. 2017-05-17 23:49:20 +03:00
John Preston
b4d10ca693 Alpha 1.1.1: Update langs. 2017-05-17 17:37:19 +03:00
John Preston
38a99c4669 Alpha 1.1.1: Improved protocol, emoji tooltip. 2017-05-17 17:35:47 +03:00
John Preston
e2b212dba9 Update libtgvoip submodule. 2017-05-17 17:34:28 +03:00
John Preston
c1598ff4ed Highlight mentions in sticker set box title. 2017-05-17 17:32:36 +03:00
John Preston
299143108b Improve protocol support. 2017-05-17 16:39:17 +03:00
John Preston
0339b1b54b Shrink dialogs column when enabling emoji sidebar.
Try to hold the ratio between the chat width and the dialogs list
width when the emoji sidebar is created by shrinking the left column.
2017-05-17 15:38:42 +03:00
John Preston
9f7c45e35c Fix enabling emoji sidebar from a small window.
Extend the window size after the tabbedSelectorSectionEnabled flag
is already set to true. Otherwise we extend the window and switch
to a normal from single column layout before showing the sidebar.
2017-05-17 14:50:00 +03:00
John Preston
966dcd5509 Fix render lag in the new tooltip.
Geometry update, animation cache grab and show call should be invoked
queued, because they depend on the later controls geometry update.
2017-05-17 14:15:08 +03:00
John Preston
52f7c8f064 Mark connection as inited only on a non-error response. 2017-05-17 14:01:58 +03:00
John Preston
b88a49d2f8 Show a tooltip about the emoji section toggling. 2017-05-17 12:40:03 +03:00
John Preston
0eb2d28d90 Show floating date only when scrolling up. 2017-05-16 16:41:47 +03:00
Igor Gnatenko
185bdb6704 localstorage: qFlags is working only on enumeration types
Closes: https://github.com/telegramdesktop/tdesktop/issues/3379
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-05-15 14:03:28 +03:00
John Preston
206dcd1102 Fix calls in Mac App Store build. 2017-05-15 11:18:37 +03:00
John Preston
8a60658af7 Fix crash in calls panel closing. 2017-05-15 11:17:59 +03:00
John Preston
0b77c0bce8 Version 1.1: Show user name in call top bar. 2017-05-14 22:46:05 +03:00
John Preston
983a13f66b Version 1.1: Display changelog. 2017-05-14 20:33:54 +03:00
John Preston
820b07b2bc Version 1.1: Calls. 2017-05-14 19:15:30 +03:00
John Preston
0496a52cdd Alpha 1.0.38: Fix webpage layout.
Webpage layout is broken if title contains a newline.
Remove all newline characters from webpage / game / invoice title.
2017-05-13 17:31:00 +03:00
John Preston
9da9775043 Update langs. 2017-05-13 17:30:38 +03:00
John Preston
e3ddac1686 Handle t.me/iv links, just open the requested url. 2017-05-13 15:14:34 +03:00
John Preston
8d02d81a9a Switch layout to Normal in a wide enough window.
A lot of people didn't know how to bring the dialogs column back
after it was gone in a wide single column MainWindow.

Now we switch to a two column layout if the window allows it,
preserving the emoji / stickers / GIFs section in case it is shown.
2017-05-13 15:02:07 +03:00
John Preston
565b56fb5f Pause all media if a call is created.
Pause video, voice messages, songs and stop video messages.
2017-05-12 20:44:18 +03:00
John Preston
040ee90aec Fix call panel animation in OS X 10.6-10.7. 2017-05-12 19:25:56 +03:00
John Preston
843f983051 Skip call ended sound if ended from other device. 2017-05-12 19:09:34 +03:00
John Preston
9dfd7f4ba9 Play the outgoing call sound only in Ringing state. 2017-05-12 18:53:59 +03:00
John Preston
b74dea8662 Move logo images to Messenger. Set call panel icon. 2017-05-12 18:28:44 +03:00
John Preston
7593be4361 Display a userpic placeholder in the call panel. 2017-05-12 17:33:30 +03:00
John Preston
5fe75fbd5f Attempt to fix an assertion violation.
In some cases HistoryItem::attachToBlock was not calling
History::setHasPendingResizedItems (if it was not pending resize).

That could lead to addition of a whole block of items without
setting pending resize for the history and it violated the history
invariant of the _blocks y/height and their _items y/height.

Now each time we attachToBlock an item we also setPendingResize it.
2017-05-12 17:05:06 +03:00
John Preston
d581e00299 Improve history items management.
Encapsulate HistoryBlock::y and HistoryBlock::height.
2017-05-12 16:53:08 +03:00
John Preston
3f2bed8a92 Improve report spam code. Fix a possible crash.
HistoryWidget::setReportSpamStatus was called even if the _peer
has changed to nullptr, which used this _peer and crashed.
2017-05-11 20:08:08 +03:00
John Preston
ba1f1af83e Test QImage instead of QPixmap for render.
Trying to fix a strange crash inside QWidget::render().
2017-05-11 19:29:57 +03:00
John Preston
8bb4d31409 Fix crash in HistoryWidget::mousePressEvent.
When the mouse was over edit / reply and the history was closed,
mouse click handler still tried to jump to the message. Now we
update the mouse over state each time the history changes.
2017-05-11 19:11:08 +03:00
John Preston
0557eeddbd Switch base::TaskQueue to Qt sync primitives.
std::mutex in the current build environment is not supported
by Windows XP, I guess because Ninja uses v140 platform toolset.
2017-05-11 17:21:43 +03:00
John Preston
c438692d49 Fix Travis build. 2017-05-10 15:05:19 +03:00
John Preston
086684ca69 Use SSE2 flags (instead of SSE4.1) for Linux build. 2017-05-10 14:04:31 +03:00
John Preston
d6a919c372 Alpha 1.0.37: Multiple crash fixes.
Also rate call box style is improved.
2017-05-10 11:01:34 +03:00
John Preston
8a4a7897a0 Fix contract violation in Call::startIncoming.
Also fix call answer while dhConfig is not received yet.
2017-05-10 10:58:02 +03:00
John Preston
e99739ca0e Alpha 1.0.36: First public release of calls. 2017-05-09 23:51:07 +03:00
John Preston
96062039c7 Improve RateCallBox design. 2017-05-09 23:46:43 +03:00
John Preston
c78cc331d1 Discard call in case of an error.
Also add a couple of call error messages.
2017-05-09 23:46:43 +03:00
John Preston
061bd109d2 Closed beta 1000035003: Try new sounds + fixes. 2017-05-09 23:46:42 +03:00
John Preston
e7dcd5ab15 Don't decline awaited incoming call on app quit. 2017-05-09 23:46:41 +03:00
John Preston
530a385d4e Add sound override support by codes in Settings. 2017-05-09 23:46:40 +03:00
John Preston
23874a0a26 Animate call answer button with an outer ripple. 2017-05-09 23:46:39 +03:00
John Preston
3b46382550 Add logging for libtgvoip when we have DebugLogs. 2017-05-09 23:46:39 +03:00
John Preston
b3d5ac1660 Fix call discard when hanging up before request. 2017-05-09 23:46:38 +03:00
John Preston
622fbdb64b Fix BN_div/mod_word() usage. 2017-05-09 23:46:37 +03:00
John Preston
d0afe83beb Fix call panel in macOS build. 2017-05-09 23:46:36 +03:00
John Preston
771bba4e01 Closed beta 1000035002: Sounds in separate qrc. 2017-05-09 23:46:36 +03:00
John Preston
ded6933867 Add call button answer->hangup->redial animation. 2017-05-09 23:46:35 +03:00
John Preston
2214e980ef Add call panel show / hide animation. 2017-05-09 23:46:34 +03:00
John Preston
299dc3fc96 Reuse call panel if current call is in Busy state. 2017-05-09 23:46:33 +03:00
John Preston
0a6e012e90 Add call debug window on Ctrl+Click Show Info.
It is available only when debug logs are enabled.
2017-05-09 23:46:33 +03:00
John Preston
96a0fcb28f Closed beta 1000035001. 2017-05-09 23:46:32 +03:00
John Preston
fd24aff6b1 Play sounds in calls. 2017-05-09 23:46:31 +03:00
John Preston
2e816f2a67 Play notification sound using Media::Audio::Track. 2017-05-09 23:46:30 +03:00
John Preston
6f89d01452 Add new Media::Audio::Instance for audio tracks.
Move some audio-related code from Media::Player to Media::Audio.
2017-05-09 23:46:29 +03:00
John Preston
11525a1e50 Add RateCallBox for calls feedback collection. 2017-05-09 23:46:28 +03:00
John Preston
5f2e295d63 Improve calls panel in macOS.
Use Qt::Dialog instead of Qt::Tool which works better with window
activation / deactivation handling.

Stop displaying the panel on all spaces when the call is established.
2017-05-09 23:46:28 +03:00
John Preston
0cdac83f8a Fix calls build in Xcode. Fix calls panel in Retina.
Also implement panels that appear in all spaces on macOS.
Using them for calls panels and custom notifications, so it
will be possible to use custom notifications in macOS as well.
2017-05-09 23:46:27 +03:00
John Preston
e050e270fc Try to hangup current call when quitting the app. 2017-05-09 23:46:26 +03:00
John Preston
29fc69ebaa Show emoji fingerprint tooltip in call panel. 2017-05-09 23:46:25 +03:00
John Preston
f42f79ea95 Add "line busy" call state with a redial button. 2017-05-09 23:46:24 +03:00
John Preston
d5ff728da6 Show privacy / incompatibility errors in calls. 2017-05-09 23:46:24 +03:00
John Preston
a3252c13d7 Edit phone calls privacy in Settings. 2017-05-09 23:46:23 +03:00
John Preston
30d000e139 Toggle calls controls using config and user flags.
Also use calls timeout values from config.
Also request config each time when the auth session changes.
2017-05-09 23:46:22 +03:00
John Preston
f4911431d5 Request, parse and apply phone.getCallConfig. 2017-05-09 23:46:21 +03:00
John Preston
28c0e815b3 Add new calls to Calls log box in realtime.
Also improve button ripple effect in Calls log box.
2017-05-09 23:46:20 +03:00
John Preston
c4f90983af Redesign calls service messages. 2017-05-09 23:46:19 +03:00
John Preston
06b081f509 Add calls log box.
PeerListBox can have many rows with the same PeerData.
PeerListBox::Row can have arbitrary action on the right side.
2017-05-09 23:46:18 +03:00
John Preston
f6eb2c5205 Add call top bar above the media player. 2017-05-09 23:46:18 +03:00
John Preston
60ac7572af Display name, status and emoji in Call Panel. 2017-05-09 23:46:17 +03:00
John Preston
b267957abe Apply all MTP Key generation checks to calls.
Also move all OpenSSL BN_* calls to base/openssl_help header.
2017-05-09 23:46:16 +03:00
John Preston
4925af69e2 Add Calls::Panel and handle incoming calls. 2017-05-09 23:46:15 +03:00
John Preston
0a716036c2 Extract Calls::Call. Add a call button to TopBar. 2017-05-09 23:46:14 +03:00
John Preston
d18164bc51 Add Calls::Instance. Add libtgvoip as a dependency.
Also move all submodules to Telegram/ThirdParty.
2017-05-09 23:46:08 +03:00
John Preston
d78523e905 Fix resource leak in SPMediaKeyTap. 2017-05-09 14:49:56 +03:00
John Preston
3156dc0f1a Preserve video filename and mime from cloud data. 2017-05-08 17:13:16 +03:00
John Preston
038361a1e9 Fix overview items layout after message deletion. 2017-05-08 17:01:14 +03:00
John Preston
b71a901182 Round thumbs for round videos in shared links. 2017-05-08 17:00:26 +03:00
John Preston
caf2e19d27 Better error message for banned in public groups.
Also improve the changelog.
2017-05-08 16:30:59 +03:00
John Preston
aedf85c965 Update opus library to v1.2-alpha2 version. 2017-05-08 16:26:06 +03:00
John Preston
a7e695d914 Better show in folder in Windows / Linux.
Inspired by https://github.com/qbittorrent/qBittorrent.
2017-05-07 16:28:58 +03:00
John Preston
291a6b73ab Show phone instead of "online" in the main menu. 2017-05-07 12:00:49 +03:00
John Preston
475f0e9544 Fix build for the new GYP version, fix Appveyor. 2017-05-05 12:25:06 +03:00
John Preston
bf659938ba Fix stickers list remote set button update. 2017-05-03 16:56:14 +03:00
John Preston
392ab20a47 Use Segoe UI if no Open Sans in all Win versions. 2017-05-01 12:25:57 +03:00
John Preston
33f59dd3ec Fix an infinite recursion in Emoji panel/section.
HistoryWidget::resizeEvent() can start taking TabbedSelector from
TabbedPanel which will call QWidget::render() which can call again
HistoryWidget::resizeEvent() from sendPendingMoveAndResizeEvents().

Use a separate flag for _tabbedSection to prevent recursion there.
2017-05-01 11:29:02 +03:00
John Preston
aedbd6dfe4 Fix assertion violation when editing GIF / video.
If a GIF / video had no thumbnail the _animated flag was removed.
2017-05-01 11:03:56 +03:00
John Preston
5a8ce36181 Alpha 1.0.35: Admins delete messages in chat. 2017-04-30 20:17:35 +03:00
John Preston
10b7d7c473 Update langs. 2017-04-30 20:00:52 +03:00
John Preston
7fedf24d9e Fix video message and sticker reply preview on Retina.
Wrong preview image size was a reason for image resize before
drawing the preview and it caused black background, not transparent.
2017-04-30 19:58:31 +03:00
John Preston
5ed698ac69 Link correct OS X 10.6-10.7 libraries. 2017-04-30 19:56:13 +03:00
John Preston
297856db32 Load and use Segoe UI [Semibold] if no Open Sans.
Sometimes Open Sans Semibold fails to load properly on the latest
Windows Creators Update. In that case try to load Segoe UI instead.

An attempt to fix #3276.
2017-04-30 19:03:12 +03:00
John Preston
6418c9c718 Handle updates from MTP after RPC responses.
If some RPC responses and MTP updates are received together a fake
requestId in the negative range was used and that way updates were
processed before responses.

That could lead to an incorrect "out" message flag when sending
messages to supergroups, because a broadcast update about the new
message without "out" flag was handled before the request response.

Now a separate response map and updates list are used and responses
are handled always before the updates.
2017-04-30 17:23:57 +03:00
John Preston
413eafb240 Allow chat creator/admins to delete for everyone.
Chat creator and admins (if admins are enabled) now can delete
any message for everyone, not only outgoing ones.
2017-04-30 16:58:45 +03:00
John Preston
4c2a0fa630 Fix top bar layout when emoji section is visible. 2017-04-30 16:58:27 +03:00
John Preston
a925822141 Generate and handle new video message links. 2017-04-30 16:43:19 +03:00
John Preston
cd6a189990 Show some info for USER_BANNED_IN_CHANNEL error. 2017-04-30 16:43:18 +03:00
John Preston
07a274f927 Improve video message status text in a web page.
Show duration / progress text in the bottom left bubble corner.
2017-04-30 16:43:17 +03:00
John Preston
eb240defa3 Display forwarded info in video messages. 2017-04-30 16:43:17 +03:00
John Preston
4659b664e7 Skip fwd_info for msgs from chat with yourself.
Server doesn't add fwd_info if a non-forwarded message is forwarded
from chat with yourself so don't add it locally as well.
2017-04-30 16:43:16 +03:00
John Preston
d2c6de3df6 Play audio documents inside app by actionOnLoad. 2017-04-30 16:43:15 +03:00
John Preston
e8a3535c74 Support audio documents playback inside app.
Also add some more decoders in ffmpeg configuration (wav).
Also stop audio device restart on PKEY_AudioEndpoint changes.
Also deduce channel layout from channel count in ffmpeg loaders.
2017-04-30 14:34:23 +03:00
John Preston
46690da488 Make round reply preview for video messages.
Also add a reply bar for video messages.
Also add a reply preview for stickers.
2017-04-25 13:47:52 +03:00
John Preston
f11c76d06b Show featured sticker sets when no sets installed. 2017-04-24 18:59:54 +03:00
Richard Yu
e57b5a7a47 Update building-msvc.md (#3307)
Use `subst` to map drive instead of `net use`.

Signed-off-by: Richard Yu <yurichard3839@gmail.com> (github: ysc3839)
2017-04-23 23:15:03 +02:00
John Preston
5ec758637d Alpha 1.0.34: Update langs. 2017-04-21 16:25:17 +03:00
John Preston
33ffa0715d Alpha 1.0.34: Fix tabbed section widget render.
Also fix error message layout in EditCaptionBox.
2017-04-21 16:22:45 +03:00
John Preston
8f719f8c06 Remove edit caption UI for not my messages.
Regression was introduced in 8eb7f1f1aa.
2017-04-21 13:59:03 +03:00
John Preston
da0387a23e Fix forwarded message original id. Closes #3305. 2017-04-21 13:47:39 +03:00
John Preston
9eea4fcf03 Update API scheme. Closes #3311, closes #3310. 2017-04-21 13:45:34 +03:00
Christoph Auer
5efc334a04 Remove unused secret from .travis.yml 2017-04-20 12:20:39 +02:00
Christoph
6fa3122bb6 Implement signature check for Travis and AppVeyor (#3295)
Signed-off-by: Christoph Auer <auer.chrisi@gmx.net>
2017-04-19 14:57:45 +02:00
John Preston
71e653db30 Fix non-available API usage in OS X 10.6-10.7 version. 2017-04-18 22:00:51 +03:00
John Preston
bc1eff83cb Fix crash in audio device property change handler.
PSStringFromPropertyKey should be checked before being used.
2017-04-18 21:58:49 +03:00
Christoph
f4edb7ada5 Only clone latest commit at AppVeyor (#3283)
Signed-off-by: Christoph Auer <auer.chrisi@gmx.net>
2017-04-18 11:47:19 +02:00
Christoph Auer
e83dd2037a Remove the check for "Signed-of-by" at PR 2017-04-16 18:05:59 +02:00
John Preston
f619afc4c6 Alpha 1.0.33: Fix build for Xcode. 2017-04-16 00:45:25 +03:00
John Preston
7ad7028880 Alpha 1.0.33: Various fixes and improvements. 2017-04-16 00:36:46 +03:00
John Preston
8e241e8b78 Improve Emoji-Stickers-GIFs panel.
Fix broken minimal panel size.
Remove HistoryWidget context menu from the panel.
2017-04-16 00:05:57 +03:00
John Preston
6226cf2809 Display video message playback progress time. 2017-04-15 23:30:28 +03:00
John Preston
7312114b75 Use full volume for video messages.
Set video volume to VideoVolume in MediaView and to 1 in HistoryGif.
2017-04-15 22:51:53 +03:00
John Preston
0ff299758a Use correct lang phrases for video messages. 2017-04-15 22:51:44 +03:00
John Preston
de7c886008 Move passcode management from MainWindow.
Check for auto lock in AuthSession. Don't autolock while video plays.
Closes #3219
2017-04-15 21:51:12 +03:00
John Preston
e3aacc8072 Don't change notification sound to empty on mute.
If notifications are muted no one from official apps play sound.
So there is no need to turn the sound off, otherwise if you enable
the notifications from a different app the sound stays off.

Enable the sound (change to "default") when turning notifications on.
2017-04-15 21:51:11 +03:00
John Preston
4fc2c18f58 Fix crash in intro label crossfade animation.
Remove the assertion because the assumption was not valid.

Closed #3270
2017-04-15 20:40:23 +03:00
John Preston
8a8e101cd0 Fix crash in file downloader destruction.
Regression was introduced in 835b1801bc.

We need to destroy all FileLoader instances before destroying the
Downloader instance, because they hold pointers to it and call its
methods in destructor if they need to cancel some MTP requests.
2017-04-15 20:39:32 +03:00
John Preston
c10dee11e8 Fix crash in macOS notifications manager init.
Regression was introduced in 1725927aea.

Also create the thread only when it is first needed.
2017-04-15 20:39:25 +03:00
John Preston
4e5c4a462b Fix crash in videoplayer audio stream loader.
Regression was introduced in 835b1801bc.
2017-04-15 20:32:14 +03:00
John Preston
bc7139d67a Fix crash in AuthSession::Exists() if there is no Messenger.
Also use toggleAnimated instead of show/hideAnimated in intro.
2017-04-15 19:28:07 +03:00
Ariel Jannai
bf0bf908c2 Update building-msvc.md (#3264)
* Update building-msvc.md

Fixed some wrong, missing or unclear parts. Based on the problems I came into when trying to build and configure everything.

Ninja not in path - from #3237
Newer msys - from #3247
Telegram.sln - from #2811

* Updated from the PR comments and added a signature


Signed-off-by: Ariel Jannai <arieljannai@gmail.com> (github: arieljannai)

* Updated by the latest comments from the PR

Signed-off-by: Ariel Jannai <arieljannai@gmail.com> (github: arieljannai)
2017-04-14 11:58:10 +02:00
John Preston
dd005d9027 Generate correct lang tag count, not hardcoded. 2017-04-13 11:51:47 +03:00
John Preston
670a725c53 Alpha 1.0.32: Fix round video checks in MediaView. 2017-04-12 23:34:57 +03:00
John Preston
af28e3b0d7 Alpha 1.0.32: Fix build in Xcode. 2017-04-12 23:28:04 +03:00
John Preston
ca90b8b8fd Alpha 1.0.32: Test the new API and CDN support. 2017-04-12 23:04:34 +03:00
John Preston
7b7b9db20b Add support for video messages send actions.
Animate record and upload the same way as voice messages.
2017-04-12 22:37:47 +03:00
John Preston
96dbb38aaa Improve mute and info display in video messages.
Display mute on top of the video and move info to the right side
for incoming messages (because of channel authors and views count).
2017-04-12 22:37:28 +03:00
John Preston
1b7777e3a0 Pause other GIFs when playing round video message. 2017-04-12 22:37:28 +03:00
John Preston
5480a63beb Support round video inline playback with sound. 2017-04-12 22:37:27 +03:00
John Preston
cbf040b4dc Crop round video messages to a circle.
Also display unread media dot like in voice messages.
2017-04-12 22:37:26 +03:00
John Preston
8eb7f1f1aa Display round video messages using HistoryGif.
Use autodownload and autoplay options from GIFs.
Also improve EditCaptionBox code.
2017-04-12 22:37:26 +03:00
John Preston
8d28d0691f API scheme updated to layer 66.
Support CDN file download.
2017-04-12 22:36:25 +03:00
John Preston
7dd24a30b5 Replace MetaLang with codegen_lang. 2017-04-12 22:18:42 +03:00
John Preston
1725927aea Clear macOS notifications in a separate thread.
Sometimes NSUserNotificationCenter -deliveredNotifications method call
freezes for a long time, so now we use it only in a separate thread and
we group all the requests for clearing while another clearing is done.
2017-04-12 15:50:35 +03:00
John Preston
50ea4e316e Improve macOS window behavior.
Don't deactivate the application when the main window is hidden.
Such behavior provides some unwanted windows reordering in the
current workspace when the window is hidden by Cmd+W.

Ignore app activation by applicationDidBecomeActive: notification
for a short period of time after a user notification for other app
instance was received (the system sends them sometimes and the main
window is shown + activated for a wrong instance of the application).
2017-04-12 15:50:12 +03:00
srazi
734b426518 Fix canceling forward when clicking on _userpicButton or _cloudButton (#3248)
- Fixes #3192

Signed-off-by: srazi <s.r.alavizadeh@gmail.com> (github: srazi)
2017-04-11 23:03:34 +03:00
Nicholas Guriev
232d3dcb54 Make theme preview more realistic (#3250)
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru> (github: mymedia2)
2017-04-11 21:16:12 +03:00
John Preston
eaf1e2b18e Alpha 1.0.31: Fix layout for message edit. 2017-04-11 21:04:28 +03:00
John Preston
4b7e5750ec Alpha 1.0.31: Fix crash in localstorage. 2017-04-11 20:31:20 +03:00
John Preston
d4af14041c Fix build for OS X 10.6-10.7.
Qt 5.3.2 doesn't support QTimer::singleShot(delay, lambda).
2017-04-11 18:44:11 +03:00
John Preston
b736d45bc4 Alpha 1.0.30: New tabbed panel as a third column. 2017-04-11 18:02:46 +03:00
John Preston
7f7318c0bf Fix members dropdown and chat info menu position. 2017-04-11 17:27:46 +03:00
John Preston
0e2c282476 Don't stop GIFs when TabbedSection is opened.
Also improve the appearance of Stickers and GIFs tabs with no items.
2017-04-11 17:03:47 +03:00
John Preston
891d200e2d Add TabbedSection which uses the TabbedSelector. 2017-04-10 12:08:56 +03:00
John Preston
647ea44881 Extract TabbedSelector from TabbedPanel.
Now we can use TabbedSelector separately, not only inside the panel.
2017-04-10 12:08:55 +03:00
John Preston
2c81014188 Fix crash on precondition in PeerListBox.
If a global search request was sent and we clear the query the
response still was being processed which caused an Expects() fail.
2017-04-10 12:08:15 +03:00
John Preston
6c4943de97 Cache travis dependencies after Qt build. 2017-04-08 20:29:21 +03:00
Viktor Oreshkin
f1d97fb92c Fix build in Xcode (#3241)
Signed-off-by: Viktor Oreshkin <stek29@users.noreply.github.com>
2017-04-08 18:05:59 +03:00
John Preston
26b05cf844 Finalize rename / move.
Also removed non-existent emoji_section module from GYP.
2017-04-08 17:05:19 +03:00
John Preston
155cd8ce42 Rename / move emoji_panel to tabbed_panel.
Next commit fixes the build.
2017-04-08 16:56:14 +03:00
John Preston
330fc35800 Move some classes to separate modules.
MessageField, BotKeyboard, HistoryInner from historywidget.
2017-04-08 16:31:58 +03:00
John Preston
570cd9bdfa Move GIF pausing methods to Window::Controller. 2017-04-08 16:31:57 +03:00
John Preston
cd3c5e4ade Fix build in GCC.
GCC doesn't allow using scoped enums in bitfields without warnings.
So we use "unsigned" bitfield and a couple of get/set methods.
2017-04-08 14:25:54 +03:00
John Preston
38f94c63e9 Add blocked users list in supergroups profiles. 2017-04-07 18:13:22 +03:00
John Preston
34ab04cbe6 Add lambda-based checked timers.
Also ApiWrap is now not a QObject.
2017-04-07 18:13:21 +03:00
John Preston
6b242a982b Fix GIF pause by layer.
Let MainWindow enable / disable GIF pausing when a layer is shown.
2017-04-07 18:13:20 +03:00
John Preston
0d0307e175 Move ApiWrap to AuthSession.
Also send all ApiWrap requests as an MTP::Sender.
Also create AuthSession only after starting MTProto.
2017-04-07 18:13:19 +03:00
John Preston
835b1801bc Remove Q_OBJECT dependency from ApiWrap.
Also remove it from SingleDelayedCall -> SingleQueuedInvocation.
2017-04-07 18:13:19 +03:00
John Preston
5444b8166c Finalize rename / move of files. 2017-04-07 18:13:18 +03:00
John Preston
c94a88e154 Rename / move a bunch of files.
Next commit fixes the build.
2017-04-07 18:13:16 +03:00
John Preston
b185af6f0c Use a separate Travis job for dependencies. 2017-04-06 18:14:55 +03:00
John Preston
8504bbb9d5 Improve icons and scripts for Windows Store. 2017-04-06 14:35:35 +03:00
John Preston
b2f1177661 Remove 'git checkout 5.*' before 'init-repository'.
Something has changed in Qt libraries remote layout so now the perl
init-repository script from the old Qt version doesn't work anymore.

We init the submodules using script from the latest Qt version and
after that we checkout the desired version by tag in all submodules.
2017-04-06 11:19:00 +03:00
John Preston
6746d4ba2d Build crashpad from git. Crashpad path has changed. 2017-04-06 11:06:29 +03:00
John Preston
0f7567970c Update preview image. 2017-04-05 18:56:58 +03:00
John Preston
7b7df23e3b Version 1.0.29: Fix crash on app quit.
Some cleanup actions in App::clearHistories() queue file loader
destructions that should be completed before MTProto is reset.
2017-04-05 13:39:31 +03:00
John Preston
252a6f9d5a Version 1.0.29: Fix cancel GIFs search button. 2017-04-05 13:14:17 +03:00
John Preston
a1adf2dae6 Version 1.0.29: Fix crash on app quit.
Destroy queued file loaders before destroying AuthSession, because
they have references to Downloader which is owned by AuthSession.
2017-04-05 13:04:26 +03:00
John Preston
f4d1cdf14d Merge branch 'master' into dev 2017-04-05 12:25:43 +03:00
John Preston
22d905b39c Version 1.0.29: Add cloud icon to main menu. 2017-04-05 12:22:45 +03:00
Jan Grulich
58bbc3f537 Add appstream metadata file (#3203)
Signed-off-by: Jan Grulich <grulja@gmail.com> (github: grulja)
2017-04-05 09:35:57 +02:00
John Preston
03a59b04be Add progress animation to GIFs search.
Also display "no results" phrase.
2017-04-04 16:19:49 +03:00
Christoph
2028116e22 Link to image 2017-04-04 14:50:01 +02:00
Christoph
244361b5c6 Add preview image to readme 2017-04-04 14:45:42 +02:00
Christoph
7e680624a0 Add preview image 2017-04-04 14:42:19 +02:00
Christoph
3304ad7222 Rename doc to docs 2017-04-04 14:40:49 +02:00
John Preston
4384c80961 Prefer appindicator only on Unity and Pantheon.
Commit dcd6028e91 introduced a regression which caused
appindicator tray icon to be preferred everywhere else.
2017-04-04 12:59:48 +03:00
John Preston
15befa98c4 Fix headers in building docs. Closes #3182 2017-04-04 12:17:54 +03:00
Lonami
b7ea15b83d Use message date by default when saving a photo (#1586) (#3150)
Signed-off-by: Lonami <totufals@hotmail.com> (github: Lonami)
2017-04-04 12:14:32 +03:00
Fritz Elfert
3915957612 Update libva git URL and Qt init-repository invocation (#3201)
Signed-off-by: Fritz Elfert <fritz-github@fritz-elfert.de> (github: felfert)
2017-04-04 12:12:56 +03:00
John Preston
20ad611924 Alpha 1.0.28: bump version. 2017-04-03 22:08:22 +03:00
John Preston
57b85ac30f Alpha 1.0.28: new emoji panel, GNOME tray icon. 2017-04-03 22:06:20 +03:00
John Preston
81375a05f1 Always write MTP data right after login.
Also write to DebugLogs all keys write attempts.
2017-04-03 21:59:13 +03:00
John Preston
50586eb06d Build codegen_emoji without GUI dependencies.
We need GUI dependencies only when we generate images.
2017-04-03 21:49:07 +03:00
John Preston
afa9393f38 Expose IsPrimeAndGood() interface from connection.
Also fix a race in MTProto debug type serialization initialization.
2017-04-03 21:28:18 +03:00
John Preston
c1aa1c5a0f Enable Qt tray icon in GNOME and derivatives.
As tested in Fedora Qt 5.6.2 tray icon works well in GNOME.
Also add more logs about DE and tray icon. Fix #3175 #3188
2017-04-03 20:46:09 +03:00
John Preston
78d245c02c Improve positioning of chat helper panels. 2017-04-03 19:46:24 +03:00
John Preston
ffc9585196 Add hierarchy of GIF pausing inside a window.
GIFs get paused if some other layer is displayed above.
Media preview > Box or layer > Saved GIFs panel > Inline bot results.
If any of those is displayed, GIFs inside message history pause too.
2017-04-03 19:46:12 +03:00
John Preston
6003ac2132 Add base::weak_unique_ptr<T> template class.
Sometimes you don't need shared ownership (shared_ptr), but you
still need to be able to have weak pointers to an object.

Now you can derive the object from base::enable_weak_from_this
and use base::weak_unique_ptr<T> after that.
2017-04-03 14:08:36 +03:00
John Preston
0cdd0a9ff9 Remove old 'using std::string' from mtproto. 2017-04-02 20:11:30 +03:00
John Preston
7a7f157a8e Fix crash in EmojiListWidget.
Changing recent emoji list was giving us inconsistent emoji list
in _emoji[section] and its size in SectionInfo::count field.
2017-04-01 17:08:56 +03:00
John Preston
f1718f1d10 Generate emoji config by a build action.
Also hopefully optimize the build speed for emoji config.
2017-04-01 17:08:42 +03:00
John Preston
a1b53f07d5 Fix build for Xcode and GCC. 2017-04-01 16:14:56 +03:00
John Preston
e8ed307278 Add search in GIFs to EmojiPanel. 2017-03-31 18:58:59 +03:00
John Preston
0690c4f98c Move EmojiPanel bottom controls to Controller.
Open sticker set by click on the name.
Add a delete sticker set button.
2017-03-31 15:58:52 +03:00
John Preston
6d27172b20 Move [Emoji|Sticker]PanInner to separate modules.
Now we have three separate [Emoji|Stickers|Gifs]ListWidget.
2017-03-31 15:48:03 +03:00
John Preston
bed3aa1a7f Finalize rename / move of files.
Also rename EmojiPan to EmojiPanel.
2017-03-31 15:48:02 +03:00
John Preston
477f175f76 Rename / move emoji_pan module to emoji_panel.
Next commit fixes the build.
2017-03-31 15:48:02 +03:00
John Preston
1540f6f528 Use emoji/stickers/gifs slider in EmojiPan.
Also rename EmojiTabs to EmojiSections.
2017-03-31 15:48:01 +03:00
John Preston
3d846fcd49 Show inline bot results in a separate widget.
Add a InlineBots::Layout::Widget for inline bot results.
GIF search from EmojiPan is disabled for now.
2017-03-31 15:48:00 +03:00
John Preston
5cb66c99bd Make stickers FeaturedReader an MTP::Sender. 2017-03-31 15:47:59 +03:00
John Preston
8d4be19952 Use separate TopBar for History and Overview.
Move TopBar widget to History and Overview from MainWidget.
2017-03-31 15:47:58 +03:00
John Preston
cdca00368f Improve EmojiPan: resource management.
Store inline results and layouts in unique_ptrs.
Move EmojiPan from RPCSender to MTP::Sender.
2017-03-31 15:47:57 +03:00
John Preston
8884cb190a Version 1.0.27: Fix launch in Ubuntu 17.04
Ubuntu 17.04 launch results in segfault if the build was done
by GCC 6.2 (works fine with GCC 4.9). Backtrace shows that it
crashes in gtk_init_check() call somewhere in libmirclient and
tests show that it works fine with GDK_BACKEND=x11.

So we use gdk_set_allowed_backends() method to explicitly state
that we support only "x11" GDK backend, that way it doesn't try
to use libmirclient and it does not crash.

Fix #3176 #3162
2017-03-31 13:46:55 +03:00
John Preston
df6972eeba Update API scheme. 2017-03-31 13:31:51 +03:00
budkin
2a805853ec Fix broken link (#3180)
Signed-off-by: Evgeny Badin <treeshateorcs@gmail.com> (github: budkin)
2017-03-31 10:09:12 +02:00
John Preston
f0ab72ffbc Fix AutoConnection::debugState() for TCP connections. Fix #3171
Also silent new Xcode version warning.
2017-03-30 18:20:51 +03:00
John Preston
a851497bbf Version 1.0.26 for macOS: Fix Clang builds.
Custom build of libc++ for OS X 10.6-10.7 already has C++17 as_const.
Add workaround for Apple Clang has strange issues (freeze and segfault).
2017-03-30 15:00:02 +03:00
John Preston
e6d94b5ee7 Version 1.0.26: Better appx manifest, update langs. 2017-03-30 12:49:58 +03:00
John Preston
23f23e3ca5 Closed beta 1000024001: Improved edit privacy box. 2017-03-30 12:49:16 +03:00
John Preston
dde63a9047 Update langs. 2017-03-30 12:49:16 +03:00
John Preston
5bb68cfd8f Support reading me_url_prefix from config.
The default value 'https://t.me' can be overriden from server config.
2017-03-30 12:49:16 +03:00
John Preston
70b6335b11 Closed beta 1000018003: notifications / jump to date. 2017-03-30 12:49:16 +03:00
John Preston
47c5d56c7b Use QLocale for amount + currency formatting. 2017-03-30 12:49:15 +03:00
John Preston
fde769e0b9 Don't use WebDocument size field.
WebDocument size field is not a reliable information,
it can be > 0 and != upload.WebFile size field, so just ignore it
and load all WebDocument files as files with unknown size.
2017-03-30 12:49:15 +03:00
John Preston
23b39923ad Closed beta 1000018002: more phrases for payments.
Also replacing the Buy keyboard button with Receipt if the invoice
was payed already (like in mobile apps). This required to move the
inline markup apply before the media apply in message editing.
2017-03-30 12:49:15 +03:00
John Preston
a7d0473a1a WebDocument without size is allowed to load.
We load a WebDocument with an unknown size the same way as we load
normal photos with FileLocation, that doesn't contain size as well.

If the size information from WebDocument and upload.WebFile is
inconsistent we still fail to load the file.
2017-03-30 12:49:15 +03:00
John Preston
12ca6f3819 Closed beta 1000018001: calls and payments dummies. 2017-03-30 12:49:15 +03:00
John Preston
31e3c6a2c6 WebDocument wrap to HistoryPhoto supported.
Only WebDocument with a valid 'size' field value and with a valid
'documentAttributeImageSize' attribute works wrapped as a photo.
2017-03-30 12:49:15 +03:00
John Preston
7b5985445c Payment service messages supported. 2017-03-30 12:49:15 +03:00
John Preston
2019c24e08 Pay button and messageMediaInvoice supported.
New button type keyboardButtonBuy just shows a box with information.
WebDocument photo type is not supported yet, 'photo' is ignored.
Also HistoryMediaPtr is now implemented as a std::unique_ptr wrapper.
2017-03-30 12:49:15 +03:00
John Preston
0cc7cdd212 Added phrases for phone calls service messages.
Also refactored service message text parsing from an action object.
2017-03-30 12:49:15 +03:00
John Preston
16396b5d90 API scheme updated to layer 65. 2017-03-30 12:49:14 +03:00
John Preston
5666f14829 Allow audio and video files with duration < 1s. 2017-03-27 15:50:40 +03:00
John Preston
d41372dccd Allow MTP_flags(0) and MTP_flags(single_flag). 2017-03-25 18:42:01 +03:00
Nicholas Guriev
2e6c15ff9d Update .desktop file on Linux (#3109)
What has been done:

 * Removed deprecated Encoding key
 * Specified correct WM class for StartupWMClass key
 * Fixed icon name

I also fixed restarting when language is changed and there is no Updater

Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru> (github: mymedia2)
2017-03-23 18:00:21 +03:00
John Preston
0ce6e8a33a Show warning message before changing phone number. 2017-03-23 17:58:58 +03:00
Christoph
be659e2611 Fix regex for in app links (#3142)
Before, this regex matched also links which contained a in app link, e.g.: https://github.com/search?q=https://telegram.me/BotFather

Fix #3141

Signed-off-by: Christoph <auer.chrisi@gmx.net>
2017-03-23 17:56:51 +03:00
John Preston
47044ab25e Fix GCC warning on Release build in Emoji::Init.
Also use initializer_list instead of recursion in Emoji::ComputeId.
2017-03-23 15:47:01 +03:00
John Preston
731e53bc99 Fix crash in tray icon notifications toggle.
While we have the same tray menu for an authorized user and not.
2017-03-23 15:30:16 +03:00
John Preston
e38d683979 Fix crash in SelfDestructionBox.
base::lambda_guarded may destroy the lambda after the owner. In case
of SelfDestructionBox it lead to a dtor of a dangling object_ptr.

MTP::Sender destroys the lambda handlers together with itself.
2017-03-23 15:18:02 +03:00
John Preston
e9ec09b91a Add MTP::Sender to replace RPCSender some day.
Also use c++1z language standard in Xcode build.
Also treat warnings as errors.
2017-03-23 14:37:38 +03:00
John Preston
7fcc5d649c Change push_back to emplace_back in emoji_config.
Perhaps that way GCC won't give a warning on variable count inside
one method Ui::Emoji::Init() in Release builds.
2017-03-22 12:24:53 +03:00
John Preston
6601a00eea Alpha 1.0.25: Edit phone number in Settings.
Also fix build for GCC.
Also add scripts for GitHub releases management.
2017-03-21 22:49:23 +03:00
John Preston
743743ca10 Fix WebPage reply preview.
Sometimes HistoryWebPage::hasReplyPreview() was returning true while
the HistoryWebPage::replyPreview() method was not offering anything.
2017-03-21 20:59:35 +03:00
John Preston
bd121752f1 Change your account phone number in Settings. 2017-03-21 20:13:34 +03:00
John Preston
facc729234 Edit account self destruct time in Settings.
Also accept lambda_once in rpcDone() and rpcFail() lambda wrappers.
2017-03-20 23:05:38 +03:00
John Preston
a5df46f381 Improve EditPrivacyBox layout.
Also fix incorrect killTimer() calls in DiscreteSlider.
2017-03-19 11:32:24 +03:00
John Preston
5530172add Alpha 1.0.24: Fix build in Xcode. 2017-03-19 00:29:43 +03:00
John Preston
59636ac072 Alpha 1.0.24: edit last seen and invite privacy. 2017-03-19 00:14:23 +03:00
John Preston
12cbf78191 Refactor Ui::Radiobutton. Add Ui::Radioenum<Enum>.
Now group of Ui::Radiobutton instances share Ui::RadiobuttonGroup.
All value management is done through the group instance, not through
separate radio buttons. Also a template for groups over enums added.
2017-03-19 00:06:10 +03:00
John Preston
0a40bf2071 WIP radiobuttons refactoring. 2017-03-18 14:55:04 +03:00
John Preston
7546245213 Show warning when user edits last seen first time. 2017-03-18 12:49:48 +03:00
John Preston
fc77b0a51c Save privacy in ApiWrap. Handle privacy updates. 2017-03-18 12:49:47 +03:00
John Preston
346daee421 Edit groups and channels invite privacy. 2017-03-18 12:49:46 +03:00
John Preston
61c5b45d7a Select exception users in EditPrivacyBox. 2017-03-18 12:49:46 +03:00
John Preston
85fd117675 Add EditPrivacyBox. Edit last seen privacy.
Selecting exception users is not supported yet.
2017-03-18 12:49:45 +03:00
John Preston
a563cf553c Rename / move settings_blocked_box_controller.
Next commit fixes the build.
2017-03-18 12:49:44 +03:00
John Preston
18151359f3 Fix drag-n-drop images from Firefox.
Commit a1b53c660e introduced a regression which caused images that
were shown for sending confirmation as a file path + image not being
passed to FileLoadTask in _image field, they were passed in the
_information field instead. They were not sent in case the file path
was not existing at the moment of processing. If the file path does
not exist anymore read the image from _information and send it.
2017-03-18 12:44:31 +03:00
John Preston
16fa56de48 Finalize rename / move of files. 2017-03-16 12:53:13 +03:00
John Preston
412d3f8350 Rename / move a bunch of files.
Next commit fixes the build.
2017-03-16 12:52:38 +03:00
John Preston
6ad2cd38ed Generate scheme module by GYP action.
Add a new codegen action to generate MTP scheme from scheme.tl file.
2017-03-16 12:37:56 +03:00
John Preston
d91a2403b0 Use refs in AuthSession part getters.
Also use only AuthSession data for Contacts/Dialogs loaded state.
2017-03-15 19:24:06 +03:00
John Preston
1027bd431a Add some helper methods to effect wrappers.
Add and use similar methods to WidgetSlideWrap and WidgetFadeWrap:
[show|hide|toggle]Fast() and [show|hide|toggle]Animated().
2017-03-15 18:10:18 +03:00
Christoph
fed20435ad Update local regex (#3115)
Adds support for telegram.dog links
Fix #3111

Signed-off-by: Christoph <auer.chrisi@gmx.net>
2017-03-15 17:38:05 +03:00
John Preston
b2ac84c8c6 Alpha 1.0.23: Fix changelog message. 2017-03-15 15:13:09 +03:00
John Preston
8c06b08f30 Alpha 1.0.23: Add blocked users list box in settings.
Also fixed build for Xcode.
2017-03-15 13:45:56 +03:00
John Preston
2ce2a14228 Add global search by username in block user box. 2017-03-14 21:38:50 +03:00
John Preston
46dab1a6b4 Add local search (filter) in block user box. 2017-03-14 20:10:28 +03:00
John Preston
805be84bff Add block user box. Search isn't working yet.
Add a box containing all chats and contacts for blocking users.
Contacts and dialogs loaded state can be accessed in AuthSession.
2017-03-14 17:16:03 +03:00
John Preston
b1ee91b06b Add blocked users box to Settings.
Start a general PeerListBox, it should replace both ContactsBox
and MembersBox in the future. Show blocked users list in it.
2017-03-14 13:58:36 +03:00
John Preston
6873d53993 Alpha 1.0.22: fix couple of crashes. 2017-03-13 13:31:11 +03:00
John Preston
929c55a2a1 Include only required moc_*.cpp in the build.
Use a python script to generate the list of sources to build.
Now we don't include moc_*.cpp files in build by default, instead
we list only non-empty ones.

If you change a header so that the corresponding moc_*.cpp changes
its emptyness you may need to gyp/refresh to apply this change.

This should speed up the build significantly on GCC.
2017-03-13 13:17:26 +03:00
John Preston
2e17b480a5 Fix crash in HistoryVideo::draw. 2017-03-12 11:52:28 +03:00
John Preston
1395237810 Fix crash in notifications.
~HistoryItem() sometimes causes a queued notification to show.
Custom notifications depend on MainWindow and it is destroyed
already in clearHistories(), so clear the notifications queue first.
2017-03-12 11:49:44 +03:00
John Preston
bc254228c9 Alpha 1.0.21: Use custom refcount for MTP types.
It seems that heavy using std::shared_ptr and std::make_shared
like it was before completely kills the compilation time.

Also HistoryItem::_create now uses perfect forwarding.
2017-03-11 20:03:36 +03:00
John Preston
f2cd364e14 Alpha 1.0.21: Fix more compilation bugs. 2017-03-11 17:13:57 +03:00
John Preston
28ae5fd65c Alpha 1.0.21: Fix compilation bug. 2017-03-11 13:35:43 +03:00
John Preston
493ba6f2cd Alpha 1.0.21: Send MP4 and MOV files as videos. 2017-03-11 13:33:05 +03:00
John Preston
f2465eba73 Make MTPstring and MTPvector value types.
Also move MTPstring implementation to QByteArray.
2017-03-10 23:27:26 +03:00
John Preston
1df955e30a Closed beta 1000020001: remove chats list padding. Fix #3098
Also return config requesting at the beginning of each app launch.
2017-03-10 23:27:25 +03:00
John Preston
02da80439b Remove read() constructors from MTP types.
This will allow us to handle errors in parsing not by exceptions.
2017-03-10 23:27:24 +03:00
John Preston
3b373e236e Make all owned MTPD types immutable.
Remove custom refcounting in mtpData, use std::shared_ptr instead.
2017-03-10 23:27:23 +03:00
John Preston
839bf313cf Remove two build jobs from appveyor CI.
No need for disable_desktop_generation_file and disable_unity_integration
in appveyor builds, because the defines from this jobs are Linux-only.
2017-03-10 23:12:56 +03:00
John Preston
6061d9d65b Fix WidgetFadeWrap::showFast() after animation. Fix #3096 2017-03-10 19:41:44 +03:00
John Preston
021454dbd4 Add .jpg to inputFile filename when photo is sent.
Server has some extensions checking for inputMediaUploadedPhoto,
so force the extension to be .jpg anyway. It doesn't matter,
because the filename from inputFile is not used anywhere.

Also own PhotoData::UploadingData through std::unique_ptr.
2017-03-10 18:55:34 +03:00
John Preston
f6918feea3 Fix build in Xcode and GCC. 2017-03-10 18:53:16 +03:00
John Preston
6c00b7efde Show animated previews for GIFs in SendFilesBox. 2017-03-10 17:43:26 +03:00
John Preston
a1b53c660e Show video thumbnail in SendFileBox.
Read media information (image / song / video) in SendFileBox in the
same way it is read in FileLoadTask::process() and reuse it in
FileLoadTask if it was loaded already for the box.
2017-03-10 17:14:10 +03:00
John Preston
9ed8cbe2d1 Send mp4 and quicktime files as videos. 2017-03-10 17:12:51 +03:00
John Preston
eaae662b7d Use mapbox::util::variant in a submodule.
While we don't have C++17 std::variant<> use a BSD licensed
alternative from mapbox team in a base:: wrapper.
2017-03-10 17:12:04 +03:00
John Preston
7da52bd3ec Move GSL dependency to a submodule. 2017-03-10 14:34:43 +03:00
John Preston
e4f7b3c7c2 Fix mediaview update when image is loaded.
Subscribe on app launch, not only when AuthSession has changed.
2017-03-10 11:25:38 +03:00
John Preston
ee45bbe4c6 Alpha 1.0.20: fix crash in old Windows versions.
A shell32 method SHCreateItemFromParsingName was used without
checking if it was successfully loaded from shell32.dll (Vista+).
2017-03-09 00:10:32 +03:00
John Preston
5aab168b3e Alpha 1.0.20: fix crash in default notifications.
Before showNextFromQueue() was called from a range-for loop over
the _notifications and it invalidated the _notifications iterators.
2017-03-08 23:51:40 +03:00
John Preston
ce8d68fc8c Alpha 1.0.19: Add MSVC++ bug workaround. 2017-03-08 13:46:04 +03:00
John Preston
6d216042e6 Alpha 1.0.19: jump to date, macOS do not disturb.
Production testing of the AuthSession downloader() and notifications().
2017-03-08 13:33:16 +03:00
John Preston
a5c83467d6 Respect macOS do not disturb settings. Fix #3095. 2017-03-08 13:12:02 +03:00
John Preston
b5d9eee489 Fix macOS native notification callbacks. 2017-03-08 10:31:05 +03:00
John Preston
ed3b2cc017 Make date service messages clickable.
Open jump to date box when clicking on dates including floating date.
2017-03-07 22:30:00 +03:00
John Preston
f663a2bf08 Limit the CalendarBox selectable days.
Use available information (first and last message date) to limit
the days you can choose in jump-to-date calendar box.
2017-03-07 22:29:59 +03:00
John Preston
ec0c3c5f82 Add ripple animation in CalendarBox cells. 2017-03-07 22:29:59 +03:00
John Preston
d3af60ff0b Add a simple jump to date in a chat. 2017-03-07 22:29:59 +03:00
John Preston
ae977044f6 First version of CalendarBox is done.
Also moved BackgroundBox::Inner declaration inside backgroundbox.cpp
2017-03-07 22:29:49 +03:00
John Preston
6d80471fc9 Calendar button added to DialogsWidget.
When you search in a specific chat there is a calendar button now.
2017-03-07 21:59:47 +03:00
John Preston
b80dd99172 Ui::FadeAnimation now supports scaling.
Ui::WidgetScaledFadeWrap<> wrapper added for fading widgets out and
fading them in with a scale effect similar to Ui::SendButton.
2017-03-07 21:58:40 +03:00
John Preston
6456a83a22 Finalizing files rename.
Also moved peer_avatar_button to ui/special_buttons.
2017-03-07 21:58:35 +03:00
John Preston
9510492174 Renamed history_down_button module.
Next commit fixes the build.
2017-03-07 21:58:24 +03:00
John Preston
a441a9fca9 Fix service message highlighting. 2017-03-07 21:58:16 +03:00
John Preston
81790b2271 Notifications management moved to AuthSession.
Also implemented Global::WorkMode() as an base::Variable.
2017-03-06 18:38:15 +03:00
John Preston
b14ba398e6 Fixed Linux build. 2017-03-06 01:43:35 +03:00
John Preston
e88305d984 Fixed freezes in macOS clipboard requests.
Sometimes QClipboard::text() unexpectedly freezes on macOS, no known
causes for that. But before we were requesting the clipboard text after
each change in any text field to update macOS global menu items.

Now we use Cocoa API directly to find out if there were any changes to
the clipboard content and query text through Qt only if we have changes.

That way it should almost never freeze (at least) or even really never.
2017-03-05 23:18:27 +03:00
John Preston
31009b19c6 Removed obsolete storage_file_type fields. 2017-03-04 14:28:21 +03:00
John Preston
83720d8789 Finalizing file renaming. 2017-03-04 13:23:56 +03:00
John Preston
b0dbe9d353 Renamed / moved a bunch of files.
Next commit fixes the build.
2017-03-04 12:56:07 +03:00
John Preston
08167a6a91 Removed #include "stdafx.h" from all files.
Currently the build without implicitly included precompiled header
is not supported anyway (because Qt MOC source files do not include
stdafx.h, they include plain headers).

So when we decide to support building without implicitly included
precompiled headers we'll have to fix all the headers anyway.
2017-03-04 12:27:52 +03:00
John Preston
12bbd971b3 Added Guideline Support Library as a dependency.
See https://github.com/Microsoft/GSL for information.
2017-03-04 12:01:07 +03:00
John Preston
0838d21a05 Removed virtual type getters in mtpFileLoader. 2017-03-04 12:01:06 +03:00
John Preston
f48d6dc464 Alpha 1.0.18: Fixed build for macOS. 2017-03-02 17:01:32 +03:00
John Preston
4b8cc3d355 Changed build status to reflect dev branch.
Default github branch now is dev, so is the build status in README.
2017-03-01 21:59:16 +03:00
John Preston
6576959948 Alpha 1.0.18: destroying auth keys on sign up.
Also some debugging tools for mtproto endpoints added.
2017-03-01 21:42:36 +03:00
John Preston
3da0af3550 Merge branch 'master' into dev 2017-03-01 21:41:42 +03:00
John Preston
195d3d13d7 Fix regression from 87445ccf8c in a helper script. 2017-03-01 21:37:15 +03:00
Konstantin Lazutin
701acace21 Removed click at the end of the notification sound (#3052)
Signed-off-by: Konstantin Lazutin klazutin@gmail.com (github: klazutin)
2017-03-01 21:30:28 +03:00
John Preston
bc76f5ee1e Debug feature added for overriding dc options.
Now you can type "endpoints" in Settings and choose a file with
a complete set of dc_options that will be used instead of built-in
or received through mtproto config till the end of current session.
2017-03-01 20:22:37 +03:00
John Preston
5f5770dd46 Support special seek whence for ffmpeg.
AVSEEK_SIZE is passed as a whence when ffmpeg needs just data size.
2017-03-01 10:31:36 +03:00
John Preston
fb230a443e Fixed text with right bearings display.
Sometimes Text::_maxWidth was not accumulated correctly because
the intermediate text blocks had negative right bearing larger
than the whole width of the next text block, so the final computed
line width was less than some intermediate value. Now we accumulate
the _maxWidth value after each block making this value correct.
2017-02-28 19:38:23 +03:00
John Preston
a4a7a77abd Closed beta 1000017001: enable auth_key_destroy.
Now we use only new authorization keys for signing in. If we are
preparing to sign in and we see, that some of the authorization
keys were not generated in this launch, but were read from file, we
destroy all existing auth keys and generate a completely new set.
2017-02-28 19:08:30 +03:00
John Preston
12705c9065 Removed legacy FileDialog::query* methods.
Everything is done easier and better through the FileDialog::Get*.
2017-02-28 19:04:52 +03:00
John Preston
f8318177b9 Platform-dependent file methods called async.
Some major platform-dependent file operations refactoring.
All methods like "open file", "open file with", "show in folder"
were moved to core/file_utilities module with platform-dependent
backends. All methods interacting with DesktopServices made async.
2017-02-28 18:03:38 +03:00
John Preston
6f0cf30b12 Some platform-dependent modules refactoring.
Now each platform-dependent module declares its interface in
platform/platform_module.h file and after that includes platform-
specific headers like platform/win/module_win.h with implementation.

Also removed the legacy WinRT platform-dependent implementations.
2017-02-28 13:51:00 +03:00
John Preston
ae08a2f697 Alpha 1.0.17: crash fix in file open.
ShellExecute() call reenters Qt event loop, so each time we
schedule a delayed action (like destroying FileLoader) and after
that we call ShellExecute (in psOpenFile) we destroy it inside
this call and can't use it after.

So now we perform ShellExecute calls only delayed (using task queue).
2017-02-28 11:18:27 +03:00
John Preston
a5eb5a6ea2 Crash fix when setting a background image by URL. #3077
When we choose a file from URL we don't get the filename.
In background image apply method we test for a theme / palette
file extensions. Now we don't crash there, but we still can't set
a .tdesktop-theme or .tdesktop-palette file from URL. Who cares :)
2017-02-28 10:26:27 +03:00
John Preston
d254058690 Alpha 1.0.16: fighting crashes.
An attempt to fix a crash in MTP::Instance destructor + additional
logging there to find out how this crash happens.
2017-02-27 21:47:29 +03:00
John Preston
2fa2fa41c5 Some special logging added for crash catching.
Special FileLoader destructor crash added to find the code path
leading to crashes that could be observed through the reports.

Looks like progress() signal handlers enter event loop somehow.
2017-02-27 21:33:42 +03:00
John Preston
3f8e822621 Fixing crash in logout from passcode.
If the MTP::Instance is not started yet (we forgot our passcode),
the logout attempt was attempting to use mtproto from Intro::Widget
constructor before it was created. Now we create it before logout.
2017-02-27 21:25:42 +03:00
John Preston
6c3e1568da Alpha 1.0.15: changelog added. 2017-02-27 16:22:57 +03:00
John Preston
fb2a26fb35 Alpha 1.0.15: various improvements.
Wrong supergroup members display fix, RTL text layout fix.
Linux GTK file chooser image preview added. Fix #3053 #2968
2017-02-27 13:44:14 +03:00
John Preston
6c2f16e9a0 Some improvements in mtproto data processing.
Readability improvements. Checking maximum padding size.
Checking SHA1 hash before validating inner message length.
2017-02-27 12:51:03 +03:00
Christoph Auer
ce0045ff70 Add note about closing issues by commit messages
See https://github.com/telegramdesktop/tdesktop/issues/2955#issuecomment-279875201

Fix #3067
2017-02-27 10:00:30 +01:00
Christoph
87445ccf8c Add interpreter path
Fix #3064
2017-02-27 09:42:11 +01:00
Christoph
46651ab945 Add libdee-dev to build instructions for cmake
Fix #3049
2017-02-27 09:39:59 +01:00
John Preston
4838d1bfc9 GTK file chooser image preview support added. #2968
Thanks to Chromium code.
Also fixed build on GCC / Linux.
2017-02-26 22:27:57 +03:00
John Preston
e8b03248e1 Fix members list in supergroups when scrolling up.
When we load previous messages in chat history we add all authors
of the messages to lastAuthors in regular groups (so that we can
suggest them in mention autocomplete). The same logic was (blindly)
applied to supergroups lastParticipants list which is used not only
for the mention autocomplete but also in Profile members list. That
way we were showing there users who could've already left the group.
2017-02-26 21:02:47 +03:00
John Preston
dcd6028e91 Loading libunity only in Unity and Pantheon. #3053
Commit 296c800b39 introduced a regression which caused crashes
in some ArchLinux distros when attempting to load or use libunity.
2017-02-26 21:02:46 +03:00
John Preston
5195b4d3ef RTL strings with trailing spaces render fix.
Commit 8d354382a4 introduced a regression in RTL phrases display.
When an RTL line had trailing spaces we started displaying them in
front of the text still assuming counted line width value that did
not include those trailing spaces.

Line width is not including trailing spaces width because it is
allowed to fit in the line any number of spaces.

Also text block "left padding" entity was eliminated. If we have
some spaces in the start of the text block (for example a text block
after a link) we just add an empty word and mark those spaces as its
right padding.
2017-02-26 21:02:45 +03:00
John Preston
692d115313 Use a Deleted Account phrase instead of Unknown. 2017-02-26 21:02:45 +03:00
John Preston
c207743338 Made base::lambda a copyable value type.
Now base::lambda can be copied and can wrap any immutable lambda.
For mutable lambdas there is base::lambda_once (which you're
supposed to call only once to pass data through lambda captures,
for example by using std::unique_ptr). Generally base::lambda is
passed by value and base::lambda_once is passed by rvalue reference.
2017-02-26 21:01:23 +03:00
John Preston
f82989c9c3 Using std::vector<> and const fields for emoji. 2017-02-25 23:35:55 +03:00
John Preston
c48ed2e62b Closed beta 1000014001: fixed GCC build. 2017-02-25 21:17:50 +03:00
John Preston
d1e37864ac Closed beta 1000014001: fixed crash in MTP destructor.
Some of MTP::Instance::Private fields access _instance in
destructors. All that cleanup should be performed before the
Instance::~Instance() (which invalidates _private) is called.
2017-02-25 20:55:11 +03:00
John Preston
bcec2f6b84 Closed beta 1000014001: fixed Xcode build. 2017-02-25 20:46:21 +03:00
John Preston
6b70cc342a Closed beta 1000014001: testing MTP changes.
Destroying of the authorization keys disabled for now.
2017-02-25 20:15:30 +03:00
John Preston
7d89b54d1c Ability to delete authorization keys added.
If we start logging in and we know, that some of the authorization
keys were read from the hard drive, not generated, we destroy all
the existing authorization keys and start generating new keys.
2017-02-25 19:48:22 +03:00
John Preston
dd933cf61c MTP global state moved to MTP::Instance class.
Now there will be ability to start multiple mtproto instances.
2017-02-25 19:48:21 +03:00
John Preston
c3b3819d9f Moved AppClass to messenger.cpp:Messenger. 2017-02-25 19:48:20 +03:00
John Preston
63c61637f8 Moved MTP::authedId() to AuthSession::Current(). 2017-02-25 19:48:19 +03:00
John Preston
a35947141c Encapsulated DcOptions to an independent class. 2017-02-25 19:48:19 +03:00
John Preston
90b3b5c3e5 MTP::AuthKey uses std::array for data.
Also using "volatile char*" iteration for secure memset on Mac/Linux.
2017-02-25 19:48:18 +03:00
John Preston
21efb44e81 TL scheme for destroy_auth_key query added. 2017-02-25 19:48:17 +03:00
John Preston
e6672432bb Merge branch 'master' into dev 2017-02-25 19:47:10 +03:00
Mohammad Reza Espargham
8c63feb11e Added interpreter path (#3065)
Signed-off-by: MohammadReza Espargham <reza.espargham@owasp.org> (github: rezasp)
2017-02-23 22:37:24 +01:00
Mohammad Reza Espargham
68e35a6cad Added interpreter path (#3063)
Signed-off-by: MohammadReza Espargham <reza.espargham@owasp.org> (github: rezasp)
2017-02-23 22:37:09 +01:00
Mohammad Reza Espargham
dbd4eaed48 Added interpreter path (#3061)
Signed-off-by: MohammadReza Espargham <reza.espargham@owasp.org> (github: rezasp)
2017-02-23 18:51:29 +01:00
John Preston
9e4b752830 Fix travis build warning on precompiled headers. 2017-02-22 14:00:08 +03:00
John Preston
958d3b7c15 Good alignment in palette reading generated code.
Also added -std=gnu++1y to CMake precompiled header generation.
2017-02-21 21:24:36 +03:00
John Preston
30ae322cf0 Move to GCC 6 and silent some warnings there. 2017-02-21 18:29:59 +03:00
John Preston
755325fef3 Updated Xcode build for using standard library.
Also trying to use g++-6 for travis build.
2017-02-21 17:37:53 +03:00
John Preston
ffc557a0f9 Using standard library instead of std_ namespace.
Currently tested only in VS2015.
2017-02-21 16:45:56 +03:00
John Preston
27f015561a Using custom build of libc++ for old OS X version.
This will allow us to use C++14 library on all platforms.
Patches for macold versions got bigger and are now different for
crashpad and mini_chromium, so they were moved to a separate folder.
2017-02-21 15:37:52 +03:00
John Preston
228e2f7031 Use 'v140' msbuild_toolset for VS project.
We use /SUBSYSTEM:Windows and 'MinimumRequiredVersion': '5.01' to
make our app work in Windows XP, but we use 'v140' toolset instead
of 'v140_xp' so that we have access to modern APIs like WRL.
2017-02-21 15:27:34 +03:00
Christoph
afc98f03fa Add collapse for logs in issues [ci skip] 2017-02-21 09:52:32 +01:00
John Preston
7fa1986b27 Version 1.0.14: crash fix in text rendering.
Fix a regression introduced in 8d354382a4 which caused an overflow
in _parAnalysis access. We were resizing _parAnalysis array for a
line width without the pending newline character while we used it
for painting a line including the pending newline character. It was
not a problem before, when we were trimming them from the end of
the string, but it results in a buffer overflow and crashes in the
lastest versions. So now we just don't include the newline in the
painted string, so it has exactly the same size as _parAnalysis.
2017-02-20 23:58:54 +03:00
Christoph
f7448bbc7f Update issue template
Add theme
Comment instructions to enable debug mode
2017-02-20 15:15:30 +01:00
John Preston
5939c54d33 Version 1.0.13: fix unnecessary window activations.
A regression was introduced in 1.0.12 version which led to wrong
activations of the main window: if a custom popup menu was shown
for the tray icon or a custom notification was clicked.
2017-02-20 13:36:25 +03:00
John Preston
d408fca96f Added some more debug info for wrong history state. 2017-02-20 13:35:30 +03:00
John Preston
2a1219679f Cleaned up README. 2017-02-20 13:33:57 +03:00
Christoph Auer
120e21c126 Remove workaround for missing build defines
Fixed by commit d1d9e29ca5
2017-02-19 14:00:14 +01:00
John Preston
d1d9e29ca5 Version 1.0.12: fix initial build_defines. 2017-02-19 14:02:35 +03:00
John Preston
bcf01cf718 Version 1.0.12: more emoji, voice messages seek, theme editor. 2017-02-19 13:50:36 +03:00
Christoph Auer
daa934014c Change TELEGRAM_BUILD_DEFINES to TDESKTOP_BUILD_DEFINES 2017-02-19 09:29:08 +01:00
Christoph
ef535ca026 Implement AppVeyor (#3025)
Also implement build defines for Windows
Set TELEGRAM_BUILD_DEFINES before calling gyp/refresh.bat

Fix #3000

Signed-off-by: Christoph <auer.chrisi@gmx.net>
2017-02-18 20:23:50 +01:00
John Preston
843089733b Better handle window hide / activate in macOS. #1278
When we hide window by 'x' title button or by cmd+w key we try to
deactivate the whole application (so some other app gets activated).

When we activate the application in any way we check if the main
window is hidden and if it is - we show it and activate it.
2017-02-18 16:34:18 +03:00
John Preston
6e1b6e6e53 Fixed Qt 5.3.2 tray icon with autohidden menu bar.
Also removed the old Qt 5.6.0 patch (only 5.6.2 is currently used).
2017-02-18 16:34:18 +03:00
John Preston
4232fa2f6e Use QuietHours registry key only in latest Windows
Sometimes the windows quiet hours registry key gets set even in
Windows 7 (or older) and we disable notifications though it has
nothing to do with real user settings. Check for 8.1 at least.
2017-02-18 16:06:03 +03:00
John Preston
746d58e453 Fix small glitches in the intro cover sprites. #2904 2017-02-18 15:26:12 +03:00
John Preston
f2e69d2621 Intro cover now shows palette changes in realtime. 2017-02-18 14:38:15 +03:00
John Preston
8ffdfa7923 Fixed a render glitch when highlighting a message. #3023 2017-02-18 14:38:15 +03:00
John Preston
89f3b45888 Fix of neutral emoji color variant choice saving. 2017-02-18 14:38:14 +03:00
John Preston
a2774848ba Changed FileDescription to a smaller one in rc.
This string is displayed in Windows task manager and should be small.
2017-02-18 14:38:13 +03:00
John Preston
36fc7d1991 Merge branch 'master' into temp
Conflicts:
	Telegram/SourceFiles/settings/settings_widget.cpp
2017-02-18 14:37:57 +03:00
John Preston
8060c7e141 Alpha 1.0.11: fix Qt 5.3.2 build.
Qt 5.3.2 QVector works only with types having an assignment operator.
2017-02-17 22:59:25 +03:00
John Preston
b7c4e867e8 Alpha 1.0.11: emoji parsing fixed.
We should count emoji length correctly in cases we have a partial
match for a longer one, but not a full match. If we start reading
the next characters but don't find a full emoji there we need to
have a correct length of a previously found emoji saved already.
2017-02-17 21:57:21 +03:00
John Preston
d259656e89 Alpha 1.0.11: emoji parsing fixed.
Now we ignore all 0xFE0F characters, because some other
apps send or not send them randomly, not like iOS/macOS.
2017-02-17 20:31:46 +03:00
Wouter van Kesteren
540ba9bfaf Fix compilation of history widget with GCC 6. (#3016)
error: inconsistent deduction for 'auto': 'int' and then 'auto'
  auto start = 0, end = list.size();
    ^~~~

Signed-off-by: Wouter van Kesteren <woutershep@gmail.com> (github: woutershep)
2017-02-17 15:56:52 +01:00
John Preston
0411f05c39 Alpha 1.0.11: crashfix in theme preview generator. 2017-02-17 16:07:57 +03:00
Behnam Emamian
54c409d967 Use external video player by hidden setting (#3021)
Signed-off-by: Behnam Emamian <emamian@persianprocess.com> (github: BehnamEmamian)
2017-02-17 13:50:27 +01:00
John Preston
b76e5853a8 Added full changelog (the existing part). 2017-02-17 15:36:28 +03:00
Christoph
e071e2cf6f Remove duplicated src folder of breakpad [ci skip] 2017-02-17 13:28:29 +01:00
John Preston
bff74452b7 Divided emoji resource file in two.
Linux 32bit build cannot handle all the emoji sprites
being compiled in a single translation unit, so now
it is divided in two.
2017-02-17 15:15:24 +03:00
John Preston
c0c7b39375 Alpha 1.0.10: better changelog message. 2017-02-17 13:17:42 +03:00
John Preston
695733f520 Alpha 1.0.10: fix clang/GCC and old OS X build. 2017-02-17 12:56:42 +03:00
John Preston
7adfe93a8d Alpha 1.0.10: unpinning converted chat on demand.
If we want to pin a chat and we have reached the limit we now check
for a deactivated (converted to supergroup) chat that is pinned and
is not in the chats list and just silently unpin it if it is found.

Also possible UB fix for a waveform encoding and decoding.
2017-02-16 19:47:50 +03:00
John Preston
8d354382a4 Text selection display fixes.
- Use QPainter current pen for selected text in cases we
didn't specify it explicitly in the TextPalette.
- Better rounding of QRectF from QFixed values to QRect selected
background filling areas.
- Using QPainter::viewport() instead of random huge QRect() in
clipping, because it fails to apply this huge QRect() clip region
in Retina paint devices: 2x scale QMatrix::map() is not defined for
QRegion-s having rects with sum of dimensions larger than 100000.
2017-02-16 17:07:16 +03:00
Christoph
5ac51efb3e Fix breakpad installation on windows 2017-02-16 11:57:53 +01:00
Christoph Auer
e2cdb8a9ed Fix zlib download link 2017-02-16 10:35:50 +01:00
John Preston
9757489645 Moved to the latest emoji set.
Also the old MetaEmoji project was converted to codegen_emoji.
All emoji now use full string identifiers for local storage.
2017-02-15 21:27:31 +03:00
John Preston
902dee0c2a Fix crash in OpenSSL usage.
First try to activate Qt OpenSSL usage and let Qt to set
the locking methods for OpenSSL. Only if Qt didn't set them
we use our own locking methods. Before that we were always
setting our own locking methods and Qt was overriding them
at some random moment of time sometimes leading to a crash.
2017-02-15 21:27:03 +03:00
John Preston
25f90b5159 Fix build of the new TWidgetHelper<> for GCC, finally.
Also fixed a char-related warning in codegen project.
2017-02-13 02:17:06 +03:00
John Preston
232ed0a7c0 Fix build of the new TWidgetHelper<> for Clang and GCC. 2017-02-12 23:41:29 +03:00
John Preston
25583fa813 Replace T_WIDGET macro with a template base class. 2017-02-11 14:24:37 +03:00
John Preston
61b55706ae Alpha 1.0.9: crash fix in video playback.
Media::Player::Instance started to notify about all sound
playback updates, even for video files (which do not have
DocumentData filled in), while Media::Player widgets were
relying on the existance of DocumentData in each update.
2017-02-11 11:00:21 +03:00
John Preston
d3420b6a92 Fixed info display in media in non-group chats.
Version 1.0.8 introduced a regression in displaying forwarded,
reply and via @bot information in photo, video, GIFs and locations.
2017-02-11 10:55:43 +03:00
John Preston
e922e5be39 Alpha 1.0.8: seek in voice messages (by waveform). 2017-02-11 01:37:37 +03:00
John Preston
296c800b39 Load libunity in all DEs to set dock icon counter. #956
Before we tried loading and using libunity only in Unity DE.
2017-02-10 20:45:11 +03:00
John Preston
c39bf239ea Removed legacy HistoryItem::type() code. 2017-02-10 17:16:50 +03:00
John Preston
2ab3cda743 Use current folder in Debug configuration for UWP. 2017-02-10 13:10:33 +03:00
John Preston
a627ed0929 Merge branch 'master' into dev 2017-02-10 12:18:37 +03:00
John Preston
8b503d4930 Fixed build on Windows. 2017-02-10 01:29:20 +03:00
John Preston
6e833baf91 Handle tg:// links in Windows packaged build. 2017-02-09 22:31:30 +03:00
John Preston
3dbe187f56 Merge remote-tracking branch 'origin/master' into dev 2017-02-09 22:31:11 +03:00
Fela Ameghino
e569b8c5f9 Windows URI association fix (#2957)
Signed-off-by: Fela Ameghino <fela.ameghino@mahiz.it> (github: frayxrulez)
2017-02-09 22:28:46 +03:00
John Preston
2becd307df Always display name in media messages in groups. 2017-02-09 17:34:19 +03:00
John Preston
3c18532612 Fixed Ui::PopupMenu submenu creation. #2971 2017-02-09 17:20:49 +03:00
John Preston
2f85997c9f Fixed multiline comments handling in theme editor. #2987 2017-02-09 16:53:28 +03:00
John Preston
e8ead2974b Added logging of file location invalidations.
If file size or file last modified time were changed we
invalidate our known location for a downloaded file. Now
we log those events to DebugLogs to see if they're responsible
for reported download problems.
2017-02-09 16:51:49 +03:00
John Preston
bb7730eee1 Back mouse button and key return you in stack.
Now you can use mouse Back button and Back keyboard button
to return from media overview through profile to the chat view.
2017-02-09 16:49:43 +03:00
John Preston
0518a456f8 "File Decription" keys updated in Windows resources. 2017-02-09 16:49:03 +03:00
John Preston
8e3274cd8f Colors added in palette for selected messages.
User names in groups, text and links in messages and names
in files and shared contacts not can have different colors
in plain inbox / outbox messages and in selected messages.

Now we can use a separate color for selected parts in Text.
2017-02-09 16:46:14 +03:00
John Preston
cce99a96ac Fixed directory choose dialog in Windows XP. 2017-02-09 16:44:37 +03:00
John Preston
b84abbec08 Fixed crash in Theme Editor.
There was an attempt to access _searchResults with index from _data.
2017-02-09 16:43:21 +03:00
Christoph
be87118778 Fix typo 2017-02-08 11:00:31 +01:00
John Preston
27a4d0f029 Alpha 1.0.7: Theme editor added to Settings. 2017-02-07 20:39:47 +03:00
John Preston
b842761ea3 Closed beta 1000006001: Built in theme and color palette editor. 2017-02-07 17:56:33 +03:00
John Preston
60f45ab9b3 Improved location coords precision when converting them to string.
Also disabled some options for a packaged build.
2017-02-03 13:17:40 +03:00
John Preston
5f0741a0a5 Some more logo assets added. 2017-02-02 20:09:26 +03:00
John Preston
ed4b9bc40b Added comments to the colors.palette rows. 2017-02-01 22:38:31 +03:00
Christoph
51a6ec0952 Update version badge 2017-02-01 12:24:59 +01:00
826 changed files with 98814 additions and 109328 deletions

30
.appveyor/check.bat Normal file
View File

@@ -0,0 +1,30 @@
@echo off
call:checkCommitMessage
GOTO:EOF
:checkCommitMessage
call:logInfo "Commit message: %APPVEYOR_REPO_COMMIT_MESSAGE%"
call:logInfo "Is pull request: %APPVEYOR_PULL_REQUEST_NUMBER%"
if not "%APPVEYOR_PULL_REQUEST_NUMBER%" == "" (
ECHO "%APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED%" | FINDSTR /C:"Signed-off-by: " >nul & IF ERRORLEVEL 1 (
call:logError "The commit message does not contain the signature!"
call:logError "More information: https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md#sign-your-work"
exit 1
) else (
call:logInfo "Commit message contains signature"
:: Reset error level
verify >nul
)
)
GOTO:EOF
:logInfo
echo [INFO] %~1
GOTO:EOF
:logError
echo [ERROR] %~1
GOTO:EOF

81
.appveyor/install.bat Normal file
View File

@@ -0,0 +1,81 @@
@echo off
SET BUILD_DIR=C:\TBuild
SET LIB_DIR=%BUILD_DIR%\Libraries
SET SRC_DIR=%BUILD_DIR%\tdesktop
SET QT_VERSION=5_6_2
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
cd %BUILD_DIR%
call:configureBuild
call:getDependencies
call:setupGYP
cd %SRC_DIR%
echo Finished!
GOTO:EOF
:: FUNCTIONS
:logInfo
echo [INFO] %~1
GOTO:EOF
:getDependencies
call:logInfo "Clone dependencies repository"
git clone -q --depth 1 --branch=master https://github.com/telegramdesktop/dependencies_windows.git %LIB_DIR%
cd %LIB_DIR%
call prepare.bat
GOTO:EOF
:setupGYP
call:logInfo "Setup GYP/Ninja and generate VS solution"
cd %LIB_DIR%
git clone https://chromium.googlesource.com/external/gyp
cd gyp
git checkout a478c1ab51
SET PATH=%PATH%;C:\TBuild\Libraries\gyp;C:\TBuild\Libraries\ninja;
cd %SRC_DIR%
git submodule init
git submodule update
cd %SRC_DIR%\Telegram
call gyp\refresh.bat
GOTO:EOF
:configureBuild
call:logInfo "Configuring build"
call:logInfo "Build version: %BUILD_VERSION%"
set TDESKTOP_BUILD_DEFINES=
echo %BUILD_VERSION% | findstr /C:"disable_autoupdate">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_AUTOUPDATE
)
echo %BUILD_VERSION% | findstr /C:"disable_register_custom_scheme">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME
)
echo %BUILD_VERSION% | findstr /C:"disable_crash_reports">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_CRASH_REPORTS
)
echo %BUILD_VERSION% | findstr /C:"disable_network_proxy">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_NETWORK_PROXY
)
echo %BUILD_VERSION% | findstr /C:"disable_desktop_file_generation">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION
)
echo %BUILD_VERSION% | findstr /C:"disable_unity_integration">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_UNITY_INTEGRATION
)
if not "%TDESKTOP_BUILD_DEFINES%" == "" (
set "TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES:~1%"
)
call:logInfo "Build Defines: %TDESKTOP_BUILD_DEFINES%"
GOTO:EOF

1
.gitattributes vendored
View File

@@ -3,3 +3,4 @@
# Ensure diffs have LF endings
*.diff text eol=lf
*.bat text eol=crlf

View File

@@ -118,7 +118,7 @@ If you already have multiple commits, you can add the commits together (squash t
1. Open `Git Bash` (or `Git Shell`)
2. Enter following command to squash the recent {N} commits: `git reset --soft HEAD~{N} && git commit` (replace `{N}` with the number of commits you want to squash)
3. Press <kbd>i</kbd> to get into Insert-mode
4. Enter the commit message of the new commit (and add the [signature](#sign-your-work) at the and)
4. Enter the commit message of the new commit (and add the [signature](#sign-your-work) at the end)
5. After adding the message, press <kbd>ESC</kbd> to get out of the Insert-mode
6. Write `:wq` and press <kbd>Enter</kbd> to save the new message or write `:q!` to discard your changes
7. Enter `git push --force` to push the new commit to the remote repository
@@ -144,9 +144,13 @@ Before you submit a pull request, please test your changes. Verify that Telegram
### Write a good commit message
Explain why you make the changes. [More infos about a good commit message.][commit_message]
Maybe reference also the related issue in your commit message.
Don't forget to [sign your patch](#sign-your-work) to put it in the public domain.
* Explain why you make the changes. [More infos about a good commit message.][commit_message]
* If you fix an issue with your commit, please close the issue by [adding one of the keywords and the issue number][closing-issues-via-commit-messages] to your commit message.
For example: `Fix #545`
* Don't forget to [sign your patch](#sign-your-work) to put it in the public domain!
[//]: # (LINKS)
[telegram]: https://telegram.org/
@@ -154,4 +158,5 @@ Don't forget to [sign your patch](#sign-your-work) to put it in the public domai
[help_change_commit_message]: https://help.github.com/articles/changing-a-commit-message/
[commit_message]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[pr]: https://github.com/telegramdesktop/tdesktop/compare
[build_instructions]: https://github.com/telegramdesktop/tdesktop/blob/master/README.md#build-instructions
[build_instructions]: https://github.com/telegramdesktop/tdesktop/blob/master/README.md#build-instructions
[closing-issues-via-commit-messages]: https://help.github.com/articles/closing-issues-via-commit-messages/

View File

@@ -19,8 +19,11 @@ Tell us what happens instead
**Version of Telegram Desktop:**
### Logs
**Used theme**:
<details><summary><b>Logs</b>:</summary>
Insert logs here (if necessary)
You can type `debugmode` in settings and then see ~/.TelegramDesktop/DebugLogs/log_...txt for log files.
Type `debugmode` in settings again to disable logs.
<!-- You can type `debugmode` in settings and then see ~/.TelegramDesktop/DebugLogs/log_...txt for log files.
Type `debugmode` in settings again to disable logs. -->
</details>

2
.gitignore vendored
View File

@@ -2,6 +2,7 @@
/Debug/
/Release/
/Deploy/
/ThirdParty/
/Telegram/build/target
/Telegram/GeneratedFiles/
/Telegram/SourceFiles/art/grid.png
@@ -16,6 +17,7 @@
/Telegram/Resources/art/grid_200x.png
/Telegram/Resources/art/sprite_125x.png
/Telegram/Resources/art/sprite_150x.png
/Telegram/Debug/
/Telegram/*.user
*.vcxproj*
*.sln

9
.gitmodules vendored Normal file
View File

@@ -0,0 +1,9 @@
[submodule "Telegram/ThirdParty/libtgvoip"]
path = Telegram/ThirdParty/libtgvoip
url = https://github.com/telegramdesktop/libtgvoip
[submodule "Telegram/ThirdParty/variant"]
path = Telegram/ThirdParty/variant
url = https://github.com/mapbox/variant
[submodule "Telegram/ThirdParty/GSL"]
path = Telegram/ThirdParty/GSL
url = https://github.com/Microsoft/GSL.git

View File

@@ -8,9 +8,6 @@ cache:
- $HOME/travisCacheDir
env:
global:
# GitHub auth token (GH_AUTH_TOKEN)
- secure: "QBbD9VXAx3Mn0vFmHZtm6/sq+twMyR7ilQh7TQm8gBy2TrjhHKDKQ4wRQ5sa2MUFUbzrUOvPlPGq1WuY1mAUt8UE6jZDJNyyDWb6iIlcEmNRsd39XAhYHvJ+uI9JsD+U3OctZ+7Bo4fno0RLv1D5lzh5bpohmjgWxx9TiSZItbsRU+m0XM0Tahx335aXF8NFoVjheGXCOcLAXDt6OmaKPmlrXreuta5nOoRKeOg5vHlt/KNU1pYb8MFvWJc14DKxq3jNqrYlo9vHFv5tVhR1aqvVFWTD/4Z88OSxx3POzyVWdMso0lFov9uxs8qHoqLsGhDMElggyz/jnqZIHpwQMaYIGQ0LLYDv21jGgOuCOWKYlfjDY+tuESXmVPzerTlYBWLZDPrpE8BnXVYo8B/sF4WN6oCuBRjawlqYhqTH+tDDORc9Uc9pamhcuh6OsLMx3PHoyg8joN3t8yUnwhySXyfQ36hqlZ+Y4bBDRZBH/SB/EPmedyLGwdhzQFsUnOBotYeOym7LUdnGraGcj1iTPLdo5TMlBYlAiB12J5mHTNuzUKXh+PBV4REg4Mm2xYX+Pue5Qo1JcOWJteIX4BdPv526DXB3yaNWS1pZgGvYqtBwQlCeOfwOYupS0PksvmV7aX7c4qJSyW3dmEd03cxmebD0b2SbqyPxGFuUajJ7B60="
matrix:
- BUILD_VERSION=""
- BUILD_VERSION="disable_autoupdate"
@@ -35,8 +32,8 @@ addons:
- dpatch
- equivs
- fakeroot
- g++-4.9
- gcc-4.9
- g++-6
- gcc-6
- git
- gnome-common
- gobject-introspection
@@ -62,8 +59,8 @@ addons:
before_install:
- "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\""
- .travis/check.sh
- export CXX="g++-4.9" CC="gcc-4.9"
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
- export CXX="g++-6" CC="gcc-6"
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
- sudo update-alternatives --config gcc
- g++ --version

View File

@@ -9,33 +9,35 @@ UPSTREAM="$REPO/upstream"
EXTERNAL="$REPO/external"
CACHE="$HOME/travisCacheDir"
QT_WAS_BUILT="0"
QT_VERSION=5.6.2
XKB_PATH="$BUILD/libxkbcommon"
XKB_CACHE_VERSION="2"
XKB_CACHE_VERSION="3"
QT_PATH="$BUILD/qt"
QT_CACHE_VERSION="2"
QT_CACHE_VERSION="3"
QT_PATCH="$UPSTREAM/Telegram/Patches/qtbase_${QT_VERSION//\./_}.diff"
BREAKPAD_PATH="$BUILD/breakpad"
BREAKPAD_CACHE_VERSION="2"
BREAKPAD_CACHE_VERSION="3"
GYP_PATH="$BUILD/gyp"
GYP_CACHE_VERSION="2"
GYP_CACHE_VERSION="3"
GYP_PATCH="$UPSTREAM/Telegram/Patches/gyp.diff"
VA_PATH="$BUILD/libva"
VA_CACHE_VERSION="2"
VA_CACHE_VERSION="3"
VDPAU_PATH="$BUILD/libvdpau"
VDPAU_CACHE_VERSION="1"
VDPAU_CACHE_VERSION="3"
FFMPEG_PATH="$BUILD/ffmpeg"
FFMPEG_CACHE_VERSION="2"
FFMPEG_CACHE_VERSION="3"
OPENAL_PATH="$BUILD/openal-soft"
OPENAL_CACHE_VERSION="2"
OPENAL_CACHE_VERSION="3"
GYP_DEFINES=""
@@ -57,6 +59,8 @@ run() {
build() {
mkdir -p "$EXTERNAL"
BUILD_VERSION_DATA=$(echo $BUILD_VERSION | cut -d'-' -f 1)
# libxkbcommon
getXkbCommon
@@ -81,6 +85,14 @@ build() {
# Patched GYP (supports cmake precompiled headers)
getGYP
# Guideline Support Library
getGSL
if [ "$QT_WAS_BUILT" == "1" ]; then
error_msg "Qt was built, please restart the job :("
exit 1
fi
# Configure the build
if [[ $BUILD_VERSION == *"disable_autoupdate"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_AUTOUPDATE"
@@ -202,7 +214,7 @@ buildVa() {
rm -rf *
cd "$EXTERNAL"
git clone git://anongit.freedesktop.org/git/libva
git clone https://github.com/01org/libva
cd "$EXTERNAL/libva"
./autogen.sh --prefix=$VA_PATH --enable-static
@@ -508,6 +520,7 @@ getCustomQt() {
}
buildCustomQt() {
QT_WAS_BUILT="1"
info_msg "Downloading and building patched qt"
if [ -d "$EXTERNAL/qt${QT_VERSION}" ]; then
@@ -520,8 +533,7 @@ buildCustomQt() {
git clone git://code.qt.io/qt/qt5.git qt${QT_VERSION}
cd "$EXTERNAL/qt${QT_VERSION}"
git checkout "$(echo ${QT_VERSION} | sed -e s/\..$//)"
perl init-repository --module-subset=qtbase,qtimageformats
perl init-repository --branch --module-subset=qtbase,qtimageformats
git checkout v${QT_VERSION}
cd qtbase && git checkout v${QT_VERSION} && cd ..
cd qtimageformats && git checkout v${QT_VERSION} && cd ..
@@ -539,6 +551,12 @@ buildCustomQt() {
sudo make install
}
getGSL() {
cd "$UPSTREAM"
git submodule init
git submodule update
}
getGYP() {
travisStartFold "Getting patched GYP"
@@ -593,7 +611,7 @@ buildTelegram() {
cd "$UPSTREAM/Telegram/gyp"
"$GYP_PATH/gyp" \
-Dtravis_defines=${GYP_DEFINES:1} \
-Dbuild_defines=${GYP_DEFINES:1} \
-Dlinux_path_xkbcommon=$XKB_PATH \
-Dlinux_path_va=$VA_PATH \
-Dlinux_path_vdpau=$VDPAU_PATH \
@@ -602,10 +620,11 @@ buildTelegram() {
-Dlinux_path_qt=$QT_PATH \
-Dlinux_path_breakpad=$BREAKPAD_PATH \
-Dlinux_path_libexif_lib=/usr/local/lib \
-Dlinux_path_opus_include=/usr/include/opus \
-Dlinux_lib_ssl=-lssl \
-Dlinux_lib_crypto=-lcrypto \
-Dlinux_lib_icu=-licuuc\ -licutu\ -licui18n \
--depth=. --generator-output=../.. --format=cmake -Goutput_dir=out \
--depth=. --generator-output=.. --format=cmake -Goutput_dir=../out \
Telegram.gyp
cd "$UPSTREAM/out/Debug"
@@ -617,7 +636,7 @@ buildTelegram() {
check() {
local filePath="$UPSTREAM/out/Debug/Telegram"
if test -f "$filePath"; then
success_msg "Build successful done! :)"
success_msg "Build successfully done! :)"
local size;
size=$(stat -c %s "$filePath")

View File

@@ -1,55 +1,23 @@
#!/bin/bash
# Checks commit message, ...
# Checks if the commit message contains the signature
run() {
checkCommitMessage
checkCommitMessage
}
checkCommitMessage() {
info_msg "Commit message: ${TRAVIS_COMMIT_MSG}";
info_msg "Is pull request: ${TRAVIS_PULL_REQUEST}";
info_msg "Commit message: ${TRAVIS_COMMIT_MSG}";
info_msg "Is pull request: ${TRAVIS_PULL_REQUEST}";
if [[ $TRAVIS_PULL_REQUEST != "false" ]];then
if [[ $TRAVIS_COMMIT_MSG != *"Signed-off-by: "* ]];then
error_msg "The commit message does not contain the signature!"
error_msg "More information: https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md#sign-your-work"
addMissingSignatureInfos
exit 1
else
success_msg "Commit message contains signature"
fi
fi
}
addMissingSignatureInfos() {
if [[ $BUILD_VERSION == "" ]]; then
local TEXT="Hi,\n\
thanks for the pull request!\n\
\n\
Please read our [contributing policy](https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md). You'll need to make a pull request with the \\\"Signed-off-by:\\\" signature being the last line of your commit message, like it is described in [sign your work](https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md#sign-your-work) section. That will grant your work into the public domain.\n\
\n\
(See [travis build](https://travis-ci.org/telegramdesktop/tdesktop/jobs/${TRAVIS_JOB_ID}))"
addCommentToGitHub "${TEXT}"
addLabelToGitHub "missing signature"
info_msg "Added missing signature info on github"
fi
}
addCommentToGitHub() {
local BODY=$1
sendGitHubRequest "POST" "{\"body\": \"${BODY}\"}" "repos/${TRAVIS_REPO_SLUG}/issues/${TRAVIS_PULL_REQUEST}/comments"
}
addLabelToGitHub() {
local LABEL=$1
sendGitHubRequest "PATCH" "{\"labels\": [\"${LABEL}\"]}" "repos/${TRAVIS_REPO_SLUG}/issues/${TRAVIS_PULL_REQUEST}"
}
sendGitHubRequest() {
local METHOD=$1
local BODY=$2
local URI=$3
curl -H "Authorization: token ${GH_AUTH_TOKEN}" --request "${METHOD}" --data "${BODY}" --silent "https://api.github.com/${URI}" > /dev/null
if [[ $TRAVIS_PULL_REQUEST != "false" ]];then
if [[ $TRAVIS_COMMIT_MSG != *"Signed-off-by: "* ]];then
error_msg "The commit message does not contain the signature!"
error_msg "More information: https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md#sign-your-work"
exit 1
else
success_msg "Commit message contains signature"
fi
fi
}
source ./.travis/common.sh

View File

@@ -1,3 +1,4 @@
#!/usr/bin/env bash
# set colors
RCol='\e[0m' # Text Reset
@@ -11,8 +12,6 @@ Pur='\e[0;35m'; BPur='\e[1;35m'; UPur='\e[4;35m'; IPur='\e[0;95m';
Cya='\e[0;36m'; BCya='\e[1;36m'; UCya='\e[4;36m'; ICya='\e[0;96m'; BICya='\e[1;96m'; On_Cya='\e[46m'; On_ICya='\e[0;106m';
Whi='\e[0;37m'; BWhi='\e[1;37m'; UWhi='\e[4;37m'; IWhi='\e[0;97m'; BIWhi='\e[1;97m'; On_Whi='\e[47m'; On_IWhi='\e[0;107m';
start_msg() {
echo -e "\n${Gre}$*${RCol}"
}

View File

@@ -2,8 +2,11 @@
This is the complete source code and the build instructions for the alpha version of the official desktop client for the [Telegram][telegram] messenger, based on the [Telegram API][telegram_api] and the [MTProto][telegram_proto] secure protocol.
[![GitHub version](https://badge.fury.io/gh/telegramdesktop%2Ftdesktop.svg)](https://badge.fury.io/gh/telegramdesktop%2Ftdesktop)
[![Build Status](https://travis-ci.org/telegramdesktop/tdesktop.svg?branch=master)](https://travis-ci.org/telegramdesktop/tdesktop)
[![Version](https://badge.fury.io/gh/telegramdesktop%2Ftdesktop.svg)](https://github.com/telegramdesktop/tdesktop/releases)
[![Build Status](https://travis-ci.org/telegramdesktop/tdesktop.svg?branch=dev)](https://travis-ci.org/telegramdesktop/tdesktop)
[![Build status](https://ci.appveyor.com/api/projects/status/uiw2y768iy4i5bu8/branch/dev?svg=true)](https://ci.appveyor.com/project/telegramdesktop/tdesktop)
[![Preview of Telegram Desktop][preview_image]][preview_image_url]
The source code is published under GPLv3 with OpenSSL exception, the license is available [here][license].
@@ -30,6 +33,8 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* OpenAL Soft ([LGPL](http://kcat.strangesoft.net/openal.html))
* Opus codec ([BSD license](http://www.opus-codec.org/license/))
* FFmpeg ([LGPL](https://www.ffmpeg.org/legal.html))
* Guideline Support Library ([MIT License](https://github.com/Microsoft/GSL/blob/master/LICENSE))
* Mapbox Variant ([BSD license](https://github.com/mapbox/variant/blob/master/LICENSE))
* Open Sans font ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html))
## Build instructions
@@ -38,48 +43,15 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* [Xcode 8][xcode]
* [GYP/CMake on GNU/Linux][cmake]
## Projects in Telegram solution
* ### Telegram
[Telegram Desktop][telegram_desktop] messenger
* ### Updater
A little app, that is launched by Telegram when update is ready, replaces all files and launches it back.
* ### Packer
Compiles given files to single update file, compresses it with lzma and signs with a private key. It is not built in **Debug** and **Release** configurations of Telegram solution, because private key is inaccessible.
* ### MetaEmoji
Creates four sprites and text2emoji replace code
* SourceFiles/art/emoji.png
* SourceFiles/art/emoji_125x.png
* SourceFiles/art/emoji_150x.png
* SourceFiles/art/emoji_200x.png
* SourceFiles/art/emoji_250x.png
* SourceFiles/ui/emoji_config.cpp
* ### codegen_style
* ### codegen_numbers
Helper code generating console utilities.
* ### MetaLang
Creates from languagepack file `Resources/lang.strings` language constants code and language file parse code:
* GeneratedFiles/lang.h
* GeneratedFiles/lang.cpp
[//]: # (LINKS)
[telegram]: https://telegram.org
[telegram_desktop]: https://desktop.telegram.org
[telegram_api]: https://core.telegram.org
[telegram_proto]: https://core.telegram.org/mtproto
[license]: LICENSE
[msvc]: doc/building-msvc.md
[xcode]: doc/building-xcode.md
[xcode_old]: doc/building-xcode-old.md
[cmake]: doc/building-cmake.md
[msvc]: docs/building-msvc.md
[xcode]: docs/building-xcode.md
[xcode_old]: docs/building-xcode-old.md
[cmake]: docs/building-cmake.md
[preview_image]: https://github.com/telegramdesktop/tdesktop/blob/dev/docs/assets/preview.png "Preview of Telegram Desktop"
[preview_image_url]: https://raw.githubusercontent.com/telegramdesktop/tdesktop/dev/docs/assets/preview.png

View File

@@ -0,0 +1,20 @@
diff --git a/build/crashpad.gypi b/build/crashpad.gypi
index 027c7b6..4bfdfb5 100644
--- a/build/crashpad.gypi
+++ b/build/crashpad.gypi
@@ -25,5 +25,15 @@
4201, # nonstandard extension used : nameless struct/union.
4324, # structure was padded due to __declspec(align()).
],
+ 'xcode_settings': {
+ 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ],
+ 'OTHER_LDFLAGS': [
+ '/usr/local/macold/lib/libc++.a',
+ '/usr/local/macold/lib/libc++abi.a',
+ ],
+ },
+ 'include_dirs': [
+ '/usr/local/macold/include/c++/v1',
+ ],
},
}

View File

@@ -0,0 +1,26 @@
diff --git a/build/common.gypi b/build/common.gypi
index 1affc70..c0d2f6a 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -66,6 +66,11 @@
'conditions': [
['clang!=0', {
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', # -std=c++11
+ 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ],
+ 'OTHER_LDFLAGS': [
+ '/usr/local/macold/lib/libc++.a',
+ '/usr/local/macold/lib/libc++abi.a',
+ ],
# Don't link in libarclite_macosx.a, see http://crbug.com/156530.
'CLANG_LINK_OBJC_RUNTIME': 'NO', # -fno-objc-link-runtime
@@ -116,6 +121,9 @@
],
},
+ 'include_dirs': [
+ '/usr/local/macold/include/c++/v1',
+ ],
}],
['OS=="linux"', {

View File

@@ -13,16 +13,21 @@ index cb8d78f..cadb3f0 100755
echo " Xcode not set up properly. You may need to confirm the license" >&2
echo " agreement by running /usr/bin/xcodebuild without arguments." >&2
diff --git a/mkspecs/common/g++-macx.conf b/mkspecs/common/g++-macx.conf
index 086510d..ae4f81a 100644
index 086510d..c485967 100644
--- a/mkspecs/common/g++-macx.conf
+++ b/mkspecs/common/g++-macx.conf
@@ -14,7 +14,8 @@ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -gdwarf-2
@@ -14,7 +14,13 @@ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -gdwarf-2
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -gdwarf-2
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += -g -gdwarf-2
-QMAKE_LFLAGS_STATIC_LIB += -all_load
+# Patch: Don't remember :(
+#QMAKE_LFLAGS_STATIC_LIB += -all_load
+
+# Patch: Use C++14 with custom libc++ build.
+QMAKE_CXXFLAGS_CXX11 = -std=c++1y
+QMAKE_CXXFLAGS += -nostdinc++ -I/usr/local/macold/include/c++/v1
+QMAKE_LFLAGS += /usr/local/macold/lib/libc++.a /usr/local/macold/lib/libc++abi.a
QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvmgcc42
@@ -238,6 +243,19 @@ index 92358ec..694fee7 100644
}
- (void)appleEventQuit:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
diff --git a/src/plugins/platforms/cocoa/qcocoacursor.mm b/src/plugins/platforms/cocoa/qcocoacursor.mm
index b81b9a0..4e59e83 100644
--- a/src/plugins/platforms/cocoa/qcocoacursor.mm
+++ b/src/plugins/platforms/cocoa/qcocoacursor.mm
@@ -81,7 +81,7 @@ void QCocoaCursor::setPos(const QPoint &position)
pos.x = position.x();
pos.y = position.y();
- CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0);
+ CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, kCGMouseButtonLeft);
CGEventPost(kCGHIDEventTap, e);
CFRelease(e);
}
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
index 9fd05a6..dea6072 100644
--- a/src/plugins/platforms/cocoa/qcocoaintegration.mm
@@ -297,7 +315,7 @@ index e46eaff..c62db53 100644
}
return ret;
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
index 83c960d..3b9f8d4 100755
index 83c960d..03ae969 100755
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
@@ -102,7 +102,10 @@ QT_USE_NAMESPACE
@@ -343,7 +361,7 @@ index 83c960d..3b9f8d4 100755
void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
{
if (!m_sys)
@@ -194,13 +214,17 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
@@ -194,13 +214,18 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
m_sys->item->icon = icon;
@@ -351,11 +369,13 @@ index 83c960d..3b9f8d4 100755
+ // Patch: Nice macOS tray icon support.
+ //const bool menuVisible = m_sys->item->menu && m_sys->item->menuVisible;
CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
- const short scale = hgt - 4;
+ const int padding = 0;
+ const int menuHeight = [[NSStatusBar systemStatusBar] thickness];
+ const int maxImageHeight = menuHeight - padding;
+
+ // Patch: Nice macOS tray icon support.
+ const short scale = hgt * getDevicePixelRatio();
+ const short scale = maxImageHeight * getDevicePixelRatio();
QPixmap pm = m_sys->item->icon.pixmap(QSize(scale, scale),
- menuVisible ? QIcon::Selected : QIcon::Normal);
@@ -364,7 +384,7 @@ index 83c960d..3b9f8d4 100755
if (pm.isNull()) {
pm = QPixmap(scale, scale);
pm.fill(Qt::transparent);
@@ -322,15 +346,13 @@ QT_END_NAMESPACE
@@ -322,15 +347,16 @@ QT_END_NAMESPACE
return self;
}
@@ -374,18 +394,21 @@ index 83c960d..3b9f8d4 100755
{
- Q_UNUSED(notification);
- down = NO;
-
CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
+ const int padding = 0;
+ const int menuHeight = [[NSStatusBar systemStatusBar] thickness];
+ const int maxImageHeight = menuHeight - padding;
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
- const short scale = hgt - 4;
-
- QPixmap pm = parent->icon.pixmap(QSize(scale, scale), QIcon::Normal);
+ const short scale = hgt * getDevicePixelRatio();
+ const short scale = maxImageHeight * getDevicePixelRatio();
+ QPixmap pm = parent->icon.pixmap(QSize(scale, scale),
+ parent->iconSelected ? QIcon::Selected : QIcon::Normal);
if (pm.isNull()) {
pm = QPixmap(scale, scale);
pm.fill(Qt::transparent);
@@ -338,9 +360,19 @@ QT_END_NAMESPACE
@@ -338,9 +364,19 @@ QT_END_NAMESPACE
NSImage *nsaltimage = static_cast<NSImage *>(qt_mac_create_nsimage(pm));
[self setImage: nsaltimage];
[nsaltimage release];
@@ -405,7 +428,7 @@ index 83c960d..3b9f8d4 100755
[self setNeedsDisplay:YES];
}
@@ -350,18 +382,9 @@ QT_END_NAMESPACE
@@ -350,18 +386,9 @@ QT_END_NAMESPACE
int clickCount = [mouseEvent clickCount];
[self setNeedsDisplay:YES];
@@ -427,7 +450,7 @@ index 83c960d..3b9f8d4 100755
if (clickCount == 2) {
[self menuTrackingDone:nil];
@@ -380,6 +403,10 @@ QT_END_NAMESPACE
@@ -380,6 +407,10 @@ QT_END_NAMESPACE
{
Q_UNUSED(mouseEvent);
[self menuTrackingDone:nil];
@@ -438,7 +461,7 @@ index 83c960d..3b9f8d4 100755
}
- (void)rightMouseDown:(NSEvent *)mouseEvent
@@ -391,6 +418,10 @@ QT_END_NAMESPACE
@@ -391,6 +422,10 @@ QT_END_NAMESPACE
{
Q_UNUSED(mouseEvent);
[self menuTrackingDone:nil];
@@ -449,7 +472,7 @@ index 83c960d..3b9f8d4 100755
}
- (void)otherMouseDown:(NSEvent *)mouseEvent
@@ -405,7 +436,8 @@ QT_END_NAMESPACE
@@ -405,7 +440,8 @@ QT_END_NAMESPACE
}
-(void)drawRect:(NSRect)rect {
@@ -460,7 +483,7 @@ index 83c960d..3b9f8d4 100755
}
@end
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 4d0458a..fde238a 100644
index 4d0458a..3357a5e 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -167,7 +167,8 @@ static bool isMouseEvent(NSEvent *ev)
@@ -473,7 +496,24 @@ index 4d0458a..fde238a 100644
NSPoint loc = [theEvent locationInWindow];
NSRect windowFrame = [self.window legacyConvertRectFromScreen:[self.window frame]];
NSRect contentFrame = [[self.window contentView] frame];
@@ -914,6 +915,19 @@ void QCocoaWindow::setWindowFilePath(const QString &filePath)
@@ -795,6 +796,16 @@ NSUInteger QCocoaWindow::windowStyleMask(Qt::WindowFlags flags)
{
Qt::WindowType type = static_cast<Qt::WindowType>(int(flags & Qt::WindowType_Mask));
NSInteger styleMask = NSBorderlessWindowMask;
+
+ // Patch: allow creating panels floating on all spaces in macOS.
+ // If you call "setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary" before
+ // setting the "NSNonactivatingPanelMask" bit in the style mask it won't work after that.
+ // So we need a way to set that bit before Qt sets collection behavior the way it does.
+ QVariant nonactivatingPanelMask = window()->property("_td_macNonactivatingPanelMask");
+ if (nonactivatingPanelMask.isValid() && nonactivatingPanelMask.toBool()) {
+ styleMask |= NSNonactivatingPanelMask;
+ }
+
if (flags & Qt::FramelessWindowHint)
return styleMask;
if ((type & Qt::Popup) == Qt::Popup) {
@@ -914,6 +925,19 @@ void QCocoaWindow::setWindowFilePath(const QString &filePath)
[m_nsWindow setRepresentedFilename: fi.exists() ? QCFString::toNSString(filePath) : @""];
}
@@ -493,7 +533,7 @@ index 4d0458a..fde238a 100644
void QCocoaWindow::setWindowIcon(const QIcon &icon)
{
QCocoaAutoReleasePool pool;
@@ -929,7 +943,10 @@ void QCocoaWindow::setWindowIcon(const QIcon &icon)
@@ -929,7 +953,10 @@ void QCocoaWindow::setWindowIcon(const QIcon &icon)
if (icon.isNull()) {
[iconButton setImage:nil];
} else {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -24,6 +24,9 @@ TextPalette {
linkFg: color;
monoFg: color;
selectBg: color;
selectFg: color;
selectLinkFg: color;
selectMonoFg: color;
selectOverlay: color;
}
@@ -52,6 +55,9 @@ defaultTextPalette: TextPalette {
linkFg: windowActiveTextFg;
monoFg: windowSubTextFg;
selectBg: msgInBgSelected;
selectFg: transparent; // use painter current pen instead
selectLinkFg: historyLinkInFgSelected;
selectMonoFg: msgInMonoFgSelected;
selectOverlay: msgSelectOverlay;
}
defaultTextStyle: TextStyle {
@@ -110,7 +116,7 @@ msgReplyBarPos: point(1px, 0px);
msgReplyBarSize: size(2px, 36px);
msgReplyBarSkip: 10px;
msgServicePadding: margins(12px, 3px, 12px, 4px);
msgServiceMargin: margins(10px, 10px, 80px, 2px);
msgServiceMargin: margins(10px, 10px, 10px, 2px);
msgDateSpace: 12px;
msgDateDelta: point(2px, 5px);
@@ -125,6 +131,9 @@ serviceTextPalette: TextPalette(defaultTextPalette) {
linkFg: msgServiceFg;
monoFg: msgServiceFg;
selectBg: msgServiceBgSelected;
selectFg: msgServiceFg;
selectLinkFg: msgServiceFg;
selectMonoFg: msgServiceFg;
selectOverlay: msgServiceBgSelected;
}
serviceTextStyle: TextStyle(defaultTextStyle) {
@@ -133,15 +142,31 @@ serviceTextStyle: TextStyle(defaultTextStyle) {
linkFontOver: font(fsize semibold underline);
}
inTextPalette: TextPalette(defaultTextPalette) {
linkFg: historyLinkInFg;
monoFg: msgInMonoFg;
selectBg: msgInBgSelected;
selectFg: historyTextInFgSelected;
selectLinkFg: historyLinkInFgSelected;
selectMonoFg: msgInMonoFgSelected;
selectOverlay: msgSelectOverlay;
}
inTextPaletteSelected: TextPalette(inTextPalette) {
linkFg: historyLinkInFgSelected;
monoFg: msgInMonoFgSelected;
}
outTextPalette: TextPalette(defaultTextPalette) {
linkFg: historyLinkOutFg;
monoFg: msgOutMonoFg;
selectBg: msgOutBgSelected;
selectFg: historyTextOutFgSelected;
selectLinkFg: historyLinkOutFgSelected;
selectMonoFg: msgOutMonoFgSelected;
selectOverlay: msgSelectOverlay;
}
outTextPaletteSelected: TextPalette(outTextPalette) {
linkFg: historyLinkOutFgSelected;
monoFg: msgOutMonoFgSelected;
}
fwdTextStyle: TextStyle(semiboldTextStyle) {
linkFontOver: semiboldFont;
}
@@ -157,6 +182,16 @@ inFwdTextPaletteSelected: TextPalette(defaultTextPalette) {
outFwdTextPaletteSelected: TextPalette(defaultTextPalette) {
linkFg: msgOutServiceFgSelected;
}
inSemiboldPalette: TextPalette(inTextPalette) {
linkFg: msgInServiceFg;
selectFg: msgInServiceFgSelected;
selectLinkFg: msgInServiceFgSelected;
}
outSemiboldPalette: TextPalette(outTextPalette) {
linkFg: msgOutServiceFg;
selectFg: msgOutServiceFgSelected;
selectLinkFg: msgOutServiceFgSelected;
}
mediaPadding: margins(0px, 0px, 0px, 0px);
mediaCaptionSkip: 5px;
@@ -204,7 +239,7 @@ dragPadding: margins(20px, 10px, 20px, 10px);
dragHeight: 72px;
minPhotoSize: 100px;
maxMediaSize: 420px;
maxMediaSize: 430px;
maxStickerSize: 256px;
maxGifSize: 320px;
maxSignatureSize: 144px;
@@ -241,9 +276,6 @@ mediaPlayerSuppressDuration: 150;
botDescSkip: 8px;
suppressAll: 0.2;
suppressSong: 0.05;
inlineResultsLeft: 11px;
inlineResultsSkip: 3px;
inlineMediaHeight: 96px;
@@ -268,8 +300,6 @@ toastFadeOutDuration: 1000;
historyReplyCancelIcon: icon {{ "box_button_close", historyReplyCancelFg }};
historyReplyCancelIconOver: icon {{ "box_button_close", historyReplyCancelFgOver }};
boxSearchCancelIcon: icon {{ "box_button_close", boxSearchCancelIconFg }};
boxSearchCancelIconOver: icon {{ "box_button_close", boxSearchCancelIconFgOver }};
boxTitleCloseIcon: icon {{ "box_button_close", boxTitleCloseFg }};
boxTitleCloseIconOver: icon {{ "box_button_close", boxTitleCloseFgOver }};
@@ -277,3 +307,5 @@ notifyFadeRight: icon {{ "fade_horizontal", notificationBg }};
stickerIconLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanCategories }};
stickerIconRight: icon {{ "fade_horizontal", emojiPanCategories }};
transparentPlaceholderSize: 4px;

View File

@@ -21,468 +21,541 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
// basic
windowBg: #ffffff; // white: fallback for background
windowFg: #000000; // black: fallback for text color
windowBgOver: #f1f1f1; // light gray: fallback for over background
windowFg: #000000; // black: fallback for text
windowBgOver: #f1f1f1; // light gray: fallback for background with mouse over
windowBgRipple: #e5e5e5; // darker gray: fallback for ripple effect
windowFgOver: windowFg; // black: fallback for over text color
windowSubTextFg: #999999; // gray: fallback for subtext color
windowSubTextFgOver: #919191; // gray over light blue: fallback for subtext over color
windowBoldFg: #222222; // dark gray: fallback for bold text color
windowBoldFgOver: #222222; // dark gray: fallback for over bold text color
windowFgOver: windowFg; // black: fallback for text with mouse over
windowSubTextFg: #999999; // gray: fallback for additional text
windowSubTextFgOver: #919191; // darker gray: fallback for additional text with mouse over
windowBoldFg: #222222; // dark gray: fallback for bold text
windowBoldFgOver: #222222; // dark gray: fallback for bold text with mouse over
windowBgActive: #40a7e3; // bright blue: fallback for blue filled active areas
windowFgActive: #ffffff; // text on bright blue: fallback for text on active areas
windowActiveTextFg: #168acd; // online blue: fallback for active color
windowShadowFg: #000000; // black: fallback for shadow color
windowFgActive: #ffffff; // white: fallback for text on active areas
windowActiveTextFg: #168acd; // online blue: fallback for active text like online status
windowShadowFg: #000000; // black: fallback for shadow
windowShadowFgFallback: #f1f1f1; // gray: fallback for shadow without opacity
shadowFg: #00000018;
slideFadeOutBg: #0000003c;
slideFadeOutShadowFg: windowShadowFg;
shadowFg: #00000018; // most shadows (including opacity)
slideFadeOutBg: #0000003c; // slide animation (chat to profile) fade out filling
slideFadeOutShadowFg: windowShadowFg; // slide animation (chat to profile) fade out right section shadow
imageBg: #000000;
imageBgTransparent: #ffffff;
imageBg: #000000; // image background fallback (when photo size is less than minimum allowed)
imageBgTransparent: #ffffff; // image background when displaying an image with opacity where no opacity is needed
// widgets
activeButtonBg: windowBgActive;
activeButtonBgOver: #39a5db;
activeButtonBgRipple: #2095d0;
activeButtonFg: windowFgActive;
activeButtonFgOver: activeButtonFg;
activeButtonSecondaryFg: #cceeff;
activeButtonSecondaryFgOver: activeButtonSecondaryFg;
activeLineFg: #37a1de;
activeLineFgError: #e48383;
activeButtonBg: windowBgActive; // default active button background
activeButtonBgOver: #39a5db; // default active button background with mouse over
activeButtonBgRipple: #2095d0; // default active button ripple effect
activeButtonFg: windowFgActive; // default active button text
activeButtonFgOver: activeButtonFg; // default active button text with mouse over
activeButtonSecondaryFg: #cceeff; // default active button additional text (selected messages counter in forward / delete buttons)
activeButtonSecondaryFgOver: activeButtonSecondaryFg; // default active button additional text with mouse over
activeLineFg: #37a1de; // default active line (like code input field bottom border when you log in and field is focused)
activeLineFgError: #e48383; // default active line for error state (like code input field bottom border when you log in and you've entered incorrect code)
lightButtonBg: windowBg;
lightButtonBgOver: #e3f1fa;
lightButtonBgRipple: #c9e4f6;
lightButtonFg: windowActiveTextFg;
lightButtonFgOver: lightButtonFg;
lightButtonBg: windowBg; // default light button background (like buttons in boxes)
lightButtonBgOver: #e3f1fa; // default light button background with mouse over
lightButtonBgRipple: #c9e4f6; // default light button ripple effect
lightButtonFg: windowActiveTextFg; // default light button text
lightButtonFgOver: lightButtonFg; // default light button text with mouse over
attentionButtonFg: #d14e4e;
attentionButtonFgOver: #d14e4e;
attentionButtonBgOver: #fcdfde;
attentionButtonBgRipple: #f4c3c2;
attentionButtonFg: #d14e4e; // default attention button text (like confirm button on log out)
attentionButtonFgOver: #d14e4e; // default attention button text with mouse over
attentionButtonBgOver: #fcdfde; // default attention button background with mouse over
attentionButtonBgRipple: #f4c3c2; // default attention button ripple effect
outlineButtonBg: windowBg;
outlineButtonBgOver: lightButtonBgOver;
outlineButtonOutlineFg: windowBgActive;
outlineButtonBgRipple: lightButtonBgRipple;
outlineButtonBg: windowBg; // default left outlined button background (like shared media links in profiles)
outlineButtonBgOver: lightButtonBgOver; // default left outlined button background with mouse over
outlineButtonOutlineFg: windowBgActive; // default left outlined button left outline border
outlineButtonBgRipple: lightButtonBgRipple; // default left outlined button ripple effect
menuBg: windowBg;
menuBgOver: windowBgOver;
menuBgRipple: windowBgRipple;
menuIconFg: #a8a8a8;
menuIconFgOver: #999999;
menuSubmenuArrowFg: #373737;
menuFgDisabled: #cccccc;
menuSeparatorFg: #f1f1f1;
menuBg: windowBg; // default popup menu background
menuBgOver: windowBgOver; // default popup menu item background with mouse over
menuBgRipple: windowBgRipple; // default popup menu item ripple effect
menuIconFg: #a8a8a8; // default popup menu item icon (like main menu)
menuIconFgOver: #999999; // default popup menu item icon with mouse over
menuSubmenuArrowFg: #373737; // default popup menu submenu arrow icon (like in message field context menu in case of RTL system language)
menuFgDisabled: #cccccc; // default popup menu item disabled text (like unavailable items in message field context menu)
menuSeparatorFg: #f1f1f1; // default popup menu separator (like in message field context menu)
scrollBarBg: #00000053;
scrollBarBgOver: #0000007a;
scrollBg: #0000001a;
scrollBgOver: #0000002c;
scrollBarBg: #00000053; // default scroll bar current rectangle, the bar itself (like in chats list)
scrollBarBgOver: #0000007a; // default scroll bar current rectangle with mouse over it
scrollBg: #0000001a; // default scroll bar background
scrollBgOver: #0000002c; // default scroll bar background with mouse over the scroll bar
smallCloseIconFg: #c7c7c7;
smallCloseIconFgOver: #a3a3a3;
smallCloseIconFg: #c7c7c7; // small X icon (like in Show all sessions box to the right for sessions termination)
smallCloseIconFgOver: #a3a3a3; // small X icon with mouse over
radialFg: windowFgActive;
radialBg: #00000056;
radialFg: windowFgActive; // default radial loader line (like in Media Viewer when loading a photo)
radialBg: #00000056; // default radial loader background (like in Media Viewer when loading a photo)
placeholderFg: windowSubTextFg;
placeholderFgActive: #aaaaaa;
inputBorderFg: #e0e0e0;
filterInputBorderFg: #54c3f3;
filterInputInactiveBg: windowBgOver;
checkboxFg: #b3b3b3;
placeholderFg: windowSubTextFg; // default input field placeholder when field is not focused (like in phone input field when you log in)
placeholderFgActive: #aaaaaa; // default input field placeholder when field is focused
inputBorderFg: #e0e0e0; // default input field bottom border (like in code input field when you log in and field is not focused)
filterInputBorderFg: #54c3f3; // default rounded input field border (like in chats list search field when field is focused)
filterInputActiveBg: windowBg; // default rounded input field active background (like in chats list search field when field is focused)
filterInputInactiveBg: windowBgOver; // default rounded input field inactive background (like in chats list search field when field is inactive)
checkboxFg: #b3b3b3; // default unchecked checkbox rounded rectangle
sliderBgInactive: #e1eaef;
sliderBgActive: windowBgActive;
botKbBg: menuBgOver; // bot keyboard button background
botKbDownBg: menuBgRipple; // bot keyboard button ripple effect
botKbColor: windowBoldFgOver; // bot keyboard button text
tooltipBg: #eef2f5;
tooltipFg: #5d6c80;
tooltipBorderFg: #c9d1db;
sliderBgInactive: #e1eaef; // default slider not active bar (like in Settings when you choose interface scale or custom notifications count)
sliderBgActive: windowBgActive; // default slider active bar (like in Settings when you choose interface scale or custom notifications count)
tooltipBg: #eef2f5; // tooltip background (like when you put mouse over the message timestamp and wait)
tooltipFg: #5d6c80; // tooltip text
tooltipBorderFg: #c9d1db; // tooltip border
// custom title bar for Windows and macOS
titleShadow: #00000003;
titleBg: windowBgOver;
titleBgActive: titleBg;
titleButtonBg: titleBg;
titleButtonFg: #ababab;
titleButtonBgOver: #e5e5e5;
titleButtonFgOver: #9a9a9a;
titleButtonBgActive: titleButtonBg;
titleButtonFgActive: titleButtonFg;
titleButtonBgActiveOver: titleButtonBgOver;
titleButtonFgActiveOver: titleButtonFgOver;
titleButtonCloseBg: titleButtonBg;
titleButtonCloseFg: titleButtonFg;
titleButtonCloseBgOver: #e81123;
titleButtonCloseFgOver: windowFgActive;
titleButtonCloseBgActive: titleButtonCloseBg;
titleButtonCloseFgActive: titleButtonCloseFg;
titleButtonCloseBgActiveOver: titleButtonCloseBgOver;
titleButtonCloseFgActiveOver: titleButtonCloseFgOver;
titleFg: #acacac;
titleFgActive: #3e3c3e;
titleShadow: #00000003; // one pixel line shadow at the bottom of custom window title
titleBg: windowBgOver; // custom window title background when window is inactive
titleBgActive: titleBg; // custom window title background when window is active
titleButtonBg: titleBg; // custom window title minimize/maximize/restore button background when window is inactive (Windows only)
titleButtonFg: #ababab; // custom window title minimize/maximize/restore button icon when window is inactive (Windows only)
titleButtonBgOver: #e5e5e5; // custom window title minimize/maximize/restore button background with mouse over when window is inactive (Windows only)
titleButtonFgOver: #9a9a9a; // custom window title minimize/maximize/restore button icon with mouse over when window is inactive (Windows only)
titleButtonBgActive: titleButtonBg; // custom window title minimize/maximize/restore button background when window is active (Windows only)
titleButtonFgActive: titleButtonFg; // custom window title minimize/maximize/restore button icon when window is active (Windows only)
titleButtonBgActiveOver: titleButtonBgOver; // custom window title minimize/maximize/restore button background with mouse over when window is active (Windows only)
titleButtonFgActiveOver: titleButtonFgOver; // custom window title minimize/maximize/restore button icon with mouse over when window is active (Windows only)
titleButtonCloseBg: titleButtonBg; // custom window title close button background when window is inactive (Windows only)
titleButtonCloseFg: titleButtonFg; // custom window title close button icon when window is inactive (Windows only)
titleButtonCloseBgOver: #e81123; // custom window title close button background with mouse over when window is inactive (Windows only)
titleButtonCloseFgOver: windowFgActive; // custom window title close button icon with mouse over when window is inactive (Windows only)
titleButtonCloseBgActive: titleButtonCloseBg; // custom window title close button background when window is active (Windows only)
titleButtonCloseFgActive: titleButtonCloseFg; // custom window title close button icon when window is active (Windows only)
titleButtonCloseBgActiveOver: titleButtonCloseBgOver; // custom window title close button background with mouse over when window is active (Windows only)
titleButtonCloseFgActiveOver: titleButtonCloseFgOver; // custom window title close button icon with mouse over when window is active (Windows only)
titleFg: #acacac; // custom window title text when window is inactive (macOS only)
titleFgActive: #3e3c3e; // custom window title text when window is active (macOS only)
// tray icon
trayCounterBg: #f23c34;
trayCounterBgMute: #888888;
trayCounterFg: #ffffff;
trayCounterBgMacInvert: #ffffff;
trayCounterFgMacInvert: #ffffff01;
trayCounterBg: #f23c34; // tray icon counter background
trayCounterBgMute: #888888; // tray icon counter background if all unread messages are muted
trayCounterFg: #ffffff; // tray icon counter text
trayCounterBgMacInvert: #ffffff; // tray icon counter background when tray icon is pressed or when dark theme of macOS is used (macOS only)
trayCounterFgMacInvert: #ffffff01; // tray icon counter text when tray icon is pressed or when dark theme of macOS is used (macOS only)
// layers
layerBg: #0000007f;
layerBg: #0000007f; // box and main menu background layer fade
cancelIconFg: menuIconFg;
cancelIconFgOver: menuIconFgOver;
cancelIconFg: menuIconFg; // default for settings close icon and box search cancel icon
cancelIconFgOver: menuIconFgOver; // default for settings close icon and box search cancel icon with mouse over
// boxes
boxBg: windowBg;
boxTextFg: windowFg;
boxTextFgGood: #4ab44a;
boxTextFgError: #d84d4d;
boxTitleFg: #404040;
boxSearchBg: boxBg;
boxSearchCancelIconFg: cancelIconFg;
boxSearchCancelIconFgOver: cancelIconFgOver;
boxBg: windowBg; // box background
boxTextFg: windowFg; // box text
boxTextFgGood: #4ab44a; // accepted box text (like when choosing username that is not occupied)
boxTextFgError: #d84d4d; // rejecting box text (like when choosing username that is occupied)
boxTitleFg: #404040; // box title text
boxSearchBg: boxBg; // box search field background (like in contacts box)
boxTitleAdditionalFg: #808080;
boxTitleCloseFg: cancelIconFg;
boxTitleCloseFgOver: cancelIconFgOver;
boxTitleAdditionalFg: #808080; // box title additional text (like in create group box when you see chosen members count)
boxTitleCloseFg: cancelIconFg; // settings close icon and box search cancel icon (like in contacts box)
boxTitleCloseFgOver: cancelIconFgOver; // settings close icon and box search cancel icon (like in contacts box) with mouse over
membersAboutLimitFg: windowSubTextFgOver;
//boxSearchCancelIconFg: cancelIconFg; // search cancel X button icon (like in contacts box) (not implemented yet)
//boxSearchCancelIconFgOver: cancelIconFgOver; // search cancel X button icon with mouse over (not implemented yet)
contactsBg: windowBg;
contactsBgOver: windowBgOver;
contactsNameFg: boxTextFg;
contactsStatusFg: windowSubTextFg;
contactsStatusFgOver: windowSubTextFgOver;
contactsStatusFgOnline: windowActiveTextFg;
membersAboutLimitFg: windowSubTextFgOver; // text in channel members box about the limit (max 200 last members are shown)
photoCropFadeBg: layerBg;
photoCropPointFg: #ffffff7f;
contactsBg: windowBg; // contacts (and some other) box row background
contactsBgOver: windowBgOver; // contacts (and some other) box row background with mouse over
contactsNameFg: boxTextFg; // contacts (and some other) box row name text
contactsStatusFg: windowSubTextFg; // contacts (and some other) box row additional text (like last seen stamp)
contactsStatusFgOver: windowSubTextFgOver; // contacts (and some other) box row additional text (like last seen stamp) with mouse over
contactsStatusFgOnline: windowActiveTextFg; // contacts (and some other) box row active additional text (like online status)
photoCropFadeBg: layerBg; // avatar crop box fade background (when choosing a new photo in Settings or for a group)
photoCropPointFg: #ffffff7f; // avatar crop box corner rectangles (when choosing a new photo in Settings or for a group)
callArrowFg: #2ab32a | boxTextFgGood; // received phone call arrow (in calls list box)
callArrowMissedFg: #dd5b4a | boxTextFgError; // missed phone call arrow (in calls list box)
// intro
introBg: windowBg;
introTitleFg: windowBoldFg;
introDescriptionFg: windowSubTextFg;
introErrorFg: windowSubTextFg;
introBg: windowBg; // login background
introTitleFg: windowBoldFg; // login title text
introDescriptionFg: windowSubTextFg; // login description text
introErrorFg: windowSubTextFg; // login error text (like when providing a wrong log in code)
introCoverTopBg: #0f89d0;
introCoverBottomBg: #39b0f0;
introCoverIconsFg: #5ec6ff;
introCoverPlaneTrace: #5ec6ff69;
introCoverPlaneInner: #c6d8e8;
introCoverPlaneOuter: #a1bed4;
introCoverPlaneTop: #ffffff;
introCoverTopBg: #0f89d0; // intro gradient top (from)
introCoverBottomBg: #39b0f0; // intro gradient bottom (to)
introCoverIconsFg: #5ec6ff; // intro cloud graphics
introCoverPlaneTrace: #5ec6ff69; // intro plane traces
introCoverPlaneInner: #c6d8e8; // intro plane part
introCoverPlaneOuter: #a1bed4; // intro plane part
introCoverPlaneTop: #ffffff; // intro plane part
// dialogs
dialogsMenuIconFg: menuIconFg;
dialogsMenuIconFgOver: menuIconFgOver;
dialogsMenuIconFg: menuIconFg; // main menu and lock telegram icon
dialogsMenuIconFgOver: menuIconFgOver; // main menu and lock telegram icon with mouse over
dialogsBg: windowBg;
dialogsNameFg: windowBoldFg;
dialogsChatIconFg: dialogsNameFg;
dialogsDateFg: windowSubTextFg;
dialogsTextFg: windowSubTextFg;
dialogsTextFgService: windowActiveTextFg;
dialogsDraftFg: #dd4b39;
dialogsVerifiedIconBg: windowBgActive;
dialogsVerifiedIconFg: windowFgActive;
dialogsSendingIconFg: #c1c1c1;
dialogsSentIconFg: #5dc452;
dialogsUnreadBg: windowBgActive;
dialogsUnreadBgMuted: #bbbbbb;
dialogsUnreadFg: windowFgActive;
dialogsBg: windowBg; // chat list background
dialogsNameFg: windowBoldFg; // chat list name text
dialogsChatIconFg: dialogsNameFg; // chat list group or channel icon
dialogsDateFg: windowSubTextFg; // chat list date text
dialogsTextFg: windowSubTextFg; // chat list message text
dialogsTextFgService: windowActiveTextFg; // chat list group sender name text (or media message type text)
dialogsDraftFg: #dd4b39; // chat list draft label
dialogsVerifiedIconBg: windowBgActive; // chat list verified icon background
dialogsVerifiedIconFg: windowFgActive; // chat list verified icon check
dialogsSendingIconFg: #c1c1c1; // chat list sending message icon (clock)
dialogsSentIconFg: #5dc452; // chat list sent message tick / double tick icon
dialogsUnreadBg: windowBgActive; // chat list unread badge background for not muted chat
dialogsUnreadBgMuted: #bbbbbb; // chat list unread badge background for muted chat
dialogsUnreadFg: windowFgActive; // chat list unread badge text
dialogsBgOver: windowBgOver;
dialogsNameFgOver: windowBoldFgOver;
dialogsChatIconFgOver: dialogsNameFgOver;
dialogsDateFgOver: windowSubTextFgOver;
dialogsTextFgOver: windowSubTextFgOver;
dialogsTextFgServiceOver: dialogsTextFgService;
dialogsDraftFgOver: dialogsDraftFg;
dialogsVerifiedIconBgOver: dialogsVerifiedIconBg;
dialogsVerifiedIconFgOver: dialogsVerifiedIconFg;
dialogsSendingIconFgOver: dialogsSendingIconFg;
dialogsSentIconFgOver: dialogsSentIconFg;
dialogsUnreadBgOver: dialogsUnreadBg;
dialogsUnreadBgMutedOver: dialogsUnreadBgMuted;
dialogsUnreadFgOver: dialogsUnreadFg;
dialogsBgOver: windowBgOver; // chat list background with mouse over
dialogsNameFgOver: windowBoldFgOver; // chat list name text with mouse over
dialogsChatIconFgOver: dialogsNameFgOver; // chat list group or channel icon with mouse over
dialogsDateFgOver: windowSubTextFgOver; // chat list date text with mouse over
dialogsTextFgOver: windowSubTextFgOver; // chat list message text with mouse over
dialogsTextFgServiceOver: dialogsTextFgService; // chat list group sender name text with mouse over
dialogsDraftFgOver: dialogsDraftFg; // chat list draft label with mouse over
dialogsVerifiedIconBgOver: dialogsVerifiedIconBg; // chat list verified icon background with mouse over
dialogsVerifiedIconFgOver: dialogsVerifiedIconFg; // chat list verified icon check with mouse over
dialogsSendingIconFgOver: dialogsSendingIconFg; // chat list sending message icon (clock) with mouse over
dialogsSentIconFgOver: dialogsSentIconFg; // chat list sent message tick / double tick icon with mouse over
dialogsUnreadBgOver: dialogsUnreadBg; // chat list unread badge background for not muted chat with mouse over
dialogsUnreadBgMutedOver: dialogsUnreadBgMuted; // chat list unread badge background for muted chat with mouse over
dialogsUnreadFgOver: dialogsUnreadFg; // chat list unread badge text with mouse over
dialogsBgActive: #419fd9;
dialogsNameFgActive: windowFgActive;
dialogsChatIconFgActive: dialogsNameFgActive;
dialogsDateFgActive: windowFgActive;
dialogsTextFgActive: windowFgActive;
dialogsTextFgServiceActive: dialogsTextFgActive;
dialogsDraftFgActive: #c6e1f7;
dialogsVerifiedIconBgActive: dialogsTextFgActive;
dialogsVerifiedIconFgActive: dialogsBgActive;
dialogsSendingIconFgActive: #ffffff99;
dialogsSentIconFgActive: dialogsTextFgActive;
dialogsUnreadBgActive: dialogsTextFgActive;
dialogsUnreadBgMutedActive: dialogsDraftFgActive;
dialogsUnreadFgActive: dialogsBgActive;
dialogsBgActive: #419fd9; // chat list background for current (active) chat
dialogsNameFgActive: windowFgActive; // chat list name text for current (active) chat
dialogsChatIconFgActive: dialogsNameFgActive; // chat list group or channel icon for current (active) chat
dialogsDateFgActive: windowFgActive; // chat list date text for current (active) chat
dialogsTextFgActive: windowFgActive; // chat list message text for current (active) chat
dialogsTextFgServiceActive: dialogsTextFgActive; // chat list group sender name text for current (active) chat
dialogsDraftFgActive: #c6e1f7; // chat list draft label for current (active) chat
dialogsVerifiedIconBgActive: dialogsTextFgActive; // chat list verified icon background for current (active) chat
dialogsVerifiedIconFgActive: dialogsBgActive; // chat list verified icon check for current (active) chat
dialogsSendingIconFgActive: #ffffff99; // chat list sending message icon (clock) for current (active) chat
dialogsSentIconFgActive: dialogsTextFgActive; // chat list sent message tick / double tick icon for current (active) chat
dialogsUnreadBgActive: dialogsTextFgActive; // chat list unread badge background for not muted chat for current (active) chat
dialogsUnreadBgMutedActive: dialogsDraftFgActive; // chat list unread badge background for muted chat for current (active) chat
dialogsUnreadFgActive: dialogsBgActive; // chat list unread badge text for current (active) chat
dialogsForwardBg: dialogsBgActive;
dialogsForwardFg: dialogsNameFgActive;
dialogsRippleBg: windowBgRipple; // chat list background ripple effect
dialogsRippleBgActive: activeButtonBgRipple; // chat list background ripple effect for current (active) chat
searchedBarBg: windowBgOver;
searchedBarBorder: shadowFg;
searchedBarFg: windowSubTextFgOver;
dialogsForwardBg: dialogsBgActive; // forwarding panel background (when forwarding messages in the smallest window size)
dialogsForwardFg: dialogsNameFgActive; // forwarding panel text (when forwarding messages in the smallest window size)
searchedBarBg: windowBgOver; // search results bar background (in chats list, contacts box..)
searchedBarFg: windowSubTextFgOver; // search results bar text (in chats list, contacts box..)
// history
topBarBg: windowBg;
topBarBg: windowBg; // top bar background (in chat view, media overview..)
emojiPanBg: windowBg;
emojiPanCategories: #f7f7f7 | windowBg;
emojiPanHeaderFg: windowSubTextFg;
emojiPanHeaderBg: #fffffff2 | emojiPanBg;
stickerPanDeleteBg: #000000cc;
stickerPanDeleteFg: windowFgActive;
stickerPreviewBg: #ffffffb0;
emojiPanBg: windowBg; // emoji panel background
emojiPanCategories: #f7f7f7 | windowBg; // emoji panel categories background
emojiPanHeaderFg: windowSubTextFg; // emoji panel section header text
emojiPanHeaderBg: #fffffff2 | emojiPanBg; // emoji panel section header background
emojiIconFg: checkboxFg; // emoji category icon
emojiIconFgActive: windowBgActive; // active emoji category icon
stickerPanDeleteBg: #000000cc; // delete X button background for custom sent stickers in stickers panel (legacy)
stickerPanDeleteFg: windowFgActive; // delete X button icon for custom sent stickers in stickers panel (legacy)
stickerPreviewBg: #ffffffb0; // sticker and GIF preview background (when you press and hold on a sticker)
historyTextInFg: windowFg;
historyTextOutFg: windowFg;
historyCaptionInFg: historyTextInFg;
historyCaptionOutFg: historyTextOutFg;
historyFileNameInFg: historyTextInFg;
historyFileNameOutFg: historyTextOutFg;
historyOutIconFg: dialogsSentIconFg;
historyOutIconFgSelected: #4da79f;
historyIconFgInverted: windowFgActive;
historySendingOutIconFg: #98d292;
historySendingInIconFg: #a0adb5;
historySendingInvertedIconFg: #ffffffc8;
historyTextInFg: windowFg; // inbox message text
historyTextInFgSelected: historyTextInFg; // inbox message selected text or text in a selected message
historyTextOutFg: windowFg; // outbox message text
historyTextOutFgSelected: historyTextOutFg; // outbox message selected text or text in a selected message
historyLinkInFg: windowActiveTextFg; // inbox message link
historyLinkInFgSelected: historyLinkInFg; // inbox message link in a selected text or message
historyLinkOutFg: windowActiveTextFg; // outbox message link
historyLinkOutFgSelected: historyLinkOutFg; // outbox message link in a selected text or message
historyFileNameInFg: historyTextInFg; // inbox media filename text
historyFileNameInFgSelected: historyFileNameInFg; // inbox media filename text in a selected message
historyFileNameOutFg: historyTextOutFg; // outbox media filename text
historyFileNameOutFgSelected: historyFileNameOutFg; // outbox media filename text in a selected message
historyOutIconFg: dialogsSentIconFg; // outbox message tick / double tick icon
historyOutIconFgSelected: #4da79f; // outbox message tick / double tick icon in a selected message
historyIconFgInverted: windowFgActive; // media message tick / double tick icon (like in sent photo)
historySendingOutIconFg: #98d292; // outbox sending message icon (clock)
historySendingInIconFg: #a0adb5; // inbox sending message icon (clock) (like in sent messages to yourself or in sent messages to a channel)
historySendingInvertedIconFg: #ffffffc8; // media sending message icon (clock) (like in sent photo)
historyCallArrowInFg: callArrowFg; // received phone call arrow
historyCallArrowInFgSelected: callArrowFg; // received phone call arrow in a selected message
historyCallArrowMissedInFg: callArrowMissedFg; // missed phone call arrow
historyCallArrowMissedInFgSelected: callArrowMissedFg; // missed phone call arrow in a selected message
historyCallArrowOutFg: historyCallArrowInFg; // outgoing phone call arrow
historyCallArrowOutFgSelected: historyCallArrowInFgSelected; // outgoing phone call arrow
historySystemBg: #89a0b47f;
historySystemBgSelected: #bbc8d4a2;
historySystemFg: windowFgActive;
historyUnreadBarBg: #fcfbfa; // new unread messages bar background
historyUnreadBarBorder: shadowFg; // new unread messages bar shadow
historyUnreadBarFg: #538bb4; // new unread messages bar text
historyUnreadBarBg: #fcfbfa;
historyUnreadBarBorder: shadowFg;
historyUnreadBarFg: #538bb4;
historyForwardChooseBg: #0000004c; // forwarding messages in a large window size "choose recipient" background
historyForwardChooseFg: windowFgActive; // forwarding messages in a large window size "choose recipient" text
historyForwardChooseBg: #0000004c;
historyForwardChooseFg: windowFgActive;
historyPeer1NameFg: #c03d33; // red group member name
historyPeer1NameFgSelected: historyPeer1NameFg; // red group member name in a selected message
historyPeer1UserpicBg: #e17076; // red userpic background
historyPeer2NameFg: #4fad2d; // green group member name
historyPeer2NameFgSelected: historyPeer2NameFg; // green group member name in a selected message
historyPeer2UserpicBg: #7bc862; // green userpic background
historyPeer3NameFg: #d09306; // yellow group member name
historyPeer3NameFgSelected: historyPeer3NameFg; // yellow group member name in a selected message
historyPeer3UserpicBg: #e5ca77; // yellow userpic background
historyPeer4NameFg: windowActiveTextFg; // blue group member name
historyPeer4NameFgSelected: historyPeer4NameFg; // blue group member name in a selected message
historyPeer4UserpicBg: #65aadd; // blue userpic background
historyPeer5NameFg: #8544d6; // purple group member name
historyPeer5NameFgSelected: historyPeer5NameFg; // purple group member name in a selected message
historyPeer5UserpicBg: #a695e7; // purple userpic background
historyPeer6NameFg: #cd4073; // pink group member name
historyPeer6NameFgSelected: historyPeer6NameFg; // pink group member name in a selected message
historyPeer6UserpicBg: #ee7aae; // pink userpic background
historyPeer7NameFg: #2996ad; // sea group member name
historyPeer7NameFgSelected: historyPeer7NameFg; // sea group member name in a selected message
historyPeer7UserpicBg: #6ec9cb; // sea userpic background
historyPeer8NameFg: #ce671b; // orange group member name
historyPeer8NameFgSelected: historyPeer8NameFg; // orange group member name in a selected message
historyPeer8UserpicBg: #faa774; // orange userpic background
historyPeerUserpicFg: windowFgActive; // default userpic initials
historyPeer1NameFg: #c03d33; // red
historyPeer1UserpicBg: #e17076;
historyPeer2NameFg: #4fad2d; // green
historyPeer2UserpicBg: #7bc862;
historyPeer3NameFg: #d09306; // yellow
historyPeer3UserpicBg: #e5ca77;
historyPeer4NameFg: windowActiveTextFg; // blue
historyPeer4UserpicBg: #65aadd;
historyPeer5NameFg: #8544d6; // purple
historyPeer5UserpicBg: #a695e7;
historyPeer6NameFg: #cd4073; // pink
historyPeer6UserpicBg: #ee7aae;
historyPeer7NameFg: #2996ad; // sea
historyPeer7UserpicBg: #6ec9cb;
historyPeer8NameFg: #ce671b; // orange
historyPeer8UserpicBg: #faa774;
historyPeerUserpicFg: windowFgActive;
// Some values are marked as (adjusted), it means they're adjusted by
// hue and saturation of the average background color if user chooses
// some other (not bundled to this color theme) background. If the
// bundled background is used those colors are not adjusted in any way.
historyScrollBarBg: #517c417a; // scroll bar current rectangle, the bar itself in the chat view (adjusted)
historyScrollBarBgOver: #517c41bc; // scroll bar current rectangle with mouse over it in the chat view (adjusted)
historyScrollBg: #517c414c; // scroll bar background (adjusted)
historyScrollBgOver: #517c416b; // scroll bar background with mouse over the scroll bar (adjusted)
historyScrollBarBg: #517c417a;
historyScrollBarBgOver: #517c41bc;
historyScrollBg: #517c414c;
historyScrollBgOver: #517c416b;
msgInBg: windowBg; // inbox message background
msgInBgSelected: #c2dcf2; // inbox selected message background (and background of selected text in those messages)
msgOutBg: #effdde; // outbox message background
msgOutBgSelected: #b7dbdb; // outbox selected message background (and background of selected text in those messages)
msgSelectOverlay: #358cd44c; // overlay which is filling the media parts of selected messages (like in selected photo message)
msgStickerOverlay: #358cd47f; // overlay which is filling the selected sticker message
msgInServiceFg: windowActiveTextFg; // inbox message information text (like information about a forwarded message original sender)
msgInServiceFgSelected: windowActiveTextFg; // inbox selected message information text (like information about a forwarded message original sender)
msgOutServiceFg: #3a8e26; // outbox message information text (like information about a forwarded message original sender)
msgOutServiceFgSelected: #367570; // outbox message information text (like information about a forwarded message original sender)
msgInShadow: #748ea229; // inbox message shadow (below the bubble)
msgInShadowSelected: #548dbb29; // inbox selected message shadow (below the bubble)
msgOutShadow: #3ac34740; // outbox message shadow (below the bubble)
msgOutShadowSelected: #37a78e40; // outbox selected message shadow (below the bubble)
msgInDateFg: #a0acb6; // inbox message time text
msgInDateFgSelected: #6a9cc5; // inbox selected message time text
msgOutDateFg: #6cc264; // outbox message time text
msgOutDateFgSelected: #50a79c; // outbox selected message time text
msgServiceFg: windowFgActive; // service message text (like date dividers or service message about the group title being changed)
msgServiceBg: #517c417f; // service message background (like in a service message about group title being changed) (adjusted)
msgServiceBgSelected: #96b38ba2; // service message selected text background (like in a service message about group title being changed) (adjusted)
msgInReplyBarColor: activeLineFg; // inbox message reply outline
msgInReplyBarSelColor: activeLineFg; // inbox selected message reply outline
msgOutReplyBarColor: historyOutIconFg; // outbox message reply outline
msgOutReplyBarSelColor: historyOutIconFgSelected; // outbox selected message reply outline
msgImgReplyBarColor: msgServiceFg; // sticker message reply outline
msgInMonoFg: #4e7391; // inbox message monospace text (like a message sent with `test` text)
msgOutMonoFg: #469165; // outbox message monospace text
msgInMonoFgSelected: msgInMonoFg; // inbox message monospace text in a selected text or message
msgOutMonoFgSelected: msgOutMonoFg; // outbox message monospace text in a selected text or message
msgDateImgFg: msgServiceFg; // media message time text (like time text in a sent photo)
msgDateImgBg: #00000054; // media message time bubble background (like time bubble in a sent photo) or file with thumbnail download icon circle background
msgDateImgBgOver: #00000074; // media message download icon circle background with mouse over (like file with thumbnail download icon)
msgDateImgBgSelected: #1c4a7187; // selected media message time bubble background
msgInBg: windowBg;
msgInBgSelected: #c2dcf2; // #358cd4 with 30% opacity
msgOutBg: #effdde;
msgOutBgSelected: #b7dbdb;
msgSelectOverlay: #358cd44c;
msgStickerOverlay: #358cd47f;
msgInServiceFg: windowActiveTextFg;
msgInServiceFgSelected: windowActiveTextFg;
msgOutServiceFg: #3a8e26;
msgOutServiceFgSelected: #367570;
msgInShadow: #748ea229;
msgInShadowSelected: #548dbb29;
msgOutShadow: #3ac34740;
msgOutShadowSelected: #37a78e40;
msgInDateFg: #a0acb6;
msgInDateFgSelected: #6a9cc5;
msgOutDateFg: #6cc264;
msgOutDateFgSelected: #50a79c;
msgServiceFg: windowFgActive;
msgServiceBg: #517c417f;
msgServiceBgSelected: #96b38ba2;
msgInReplyBarColor: activeLineFg;
msgInReplyBarSelColor: activeLineFg;
msgOutReplyBarColor: historyOutIconFg;
msgOutReplyBarSelColor: historyOutIconFgSelected;
msgImgReplyBarColor: msgServiceFg;
msgInMonoFg: #4e7391;
msgOutMonoFg: #469165;
msgDateImgFg: msgServiceFg;
msgDateImgBg: #00000054;
msgDateImgBgOver: #00000074;
msgDateImgBgSelected: #1c4a7187;
msgFileThumbLinkInFg: lightButtonFg; // inbox media file message with thumbnail download / open with button text
msgFileThumbLinkInFgSelected: lightButtonFgOver; // inbox selected media file message with thumbnail download / open with button text
msgFileThumbLinkOutFg: #5eba5b; // outbox media file message with thumbnail download / open with button text
msgFileThumbLinkOutFgSelected: #31a298; // outbox selected media file message with thumbnail download / open with button text
msgFileInBg: windowBgActive; // inbox audio file download circle background
msgFileInBgOver: #4eade3; // inbox audio file download circle background with mouse over
msgFileInBgSelected: #51a3d3; // inbox selected audio file download circle background
msgFileOutBg: #78c67f; // outbox audio file download circle background
msgFileOutBgOver: #6bc272; // outbox audio file download circle background with mouse over
msgFileOutBgSelected: #5fb389; // outbox selected audio file download circle background
msgFileThumbLinkInFg: lightButtonFg;
msgFileThumbLinkInFgSelected: lightButtonFgOver;
msgFileThumbLinkOutFg: #5eba5b;
msgFileThumbLinkOutFgSelected: #31a298;
msgFileInBg: windowBgActive;
msgFileInBgOver: #4eade3;
msgFileInBgSelected: #51a3d3;
msgFileOutBg: #78c67f;
msgFileOutBgOver: #6bc272;
msgFileOutBgSelected: #5fb389;
msgFile1Bg: #72b1df; // blue shared links / files without image square thumbnail
msgFile1BgDark: #5c9ece; // blue shared files without image download circle background
msgFile1BgOver: #5294c4; // blue shared files without image download circle background with mouse over
msgFile1BgSelected: #5099d0; // blue shared files without image download circle background if file is selected
msgFile2Bg: #61b96e; // green shared links / shared files without image square thumbnail
msgFile2BgDark: #4da859; // green shared files without image download circle background
msgFile2BgOver: #44a050; // green shared files without image download circle background with mouse over
msgFile2BgSelected: #46a07e; // green shared files without image download circle background if file is selected
msgFile3Bg: #e47272; // red shared links / shared files without image square thumbnail
msgFile3BgDark: #cd5b5e; // red shared files without image download circle background
msgFile3BgOver: #c35154; // red shared files without image download circle background with mouse over
msgFile3BgSelected: #9f6a82; // red shared files without image download circle background if file is selected
msgFile4Bg: #efc274; // yellow shared links / shared files without image square thumbnail
msgFile4BgDark: #e6a561; // yellow shared files without image download circle background
msgFile4BgOver: #dc9c5a; // yellow shared files without image download circle background with mouse over
msgFile4BgSelected: #b19d84; // yellow shared files without image download circle background if file is selected
msgFile1Bg: #72b1df; // blue
msgFile1BgDark: #5c9ece;
msgFile1BgOver: #5294c4;
msgFile1BgSelected: #5099d0;
msgFile2Bg: #61b96e; // green
msgFile2BgDark: #4da859;
msgFile2BgOver: #44a050;
msgFile2BgSelected: #46a07e;
msgFile3Bg: #e47272; // red
msgFile3BgDark: #cd5b5e;
msgFile3BgOver: #c35154;
msgFile3BgSelected: #9f6a82;
msgFile4Bg: #efc274; // yellow
msgFile4BgDark: #e6a561;
msgFile4BgOver: #dc9c5a;
msgFile4BgSelected: #b19d84;
historyFileInIconFg: msgInBg; // inbox file without thumbnail (like audio file) download arrow icon
historyFileInIconFgSelected: msgInBgSelected; // inbox selected file without thumbnail (like audio file) download arrow icon
historyFileInRadialFg: historyFileInIconFg; // inbox file without thumbnail (like audio file) radial download animation line
historyFileInRadialFgSelected: historyFileInIconFgSelected; // inbox selected file without thumbnail (like audio file) radial download animation line
historyFileOutIconFg: msgOutBg; // outbox file without thumbnail (like audio file) download arrow icon
historyFileOutIconFgSelected: msgOutBgSelected; // outbox selected file without thumbnail (like audio file) download arrow icon
historyFileOutRadialFg: historyFileOutIconFg; // outbox file without thumbnail (like audio file) radial download animation line
historyFileOutRadialFgSelected: historyFileOutIconFgSelected; // outbox selected file without thumbnail (like audio file) radial download animation line
historyFileThumbIconFg: msgInBg; // file with thumbnail (or photo / video) download arrow icon
historyFileThumbIconFgSelected: msgInBgSelected; // selected file with thumbnail (or photo / video) download arrow icon
historyFileThumbRadialFg: historyFileThumbIconFg; // file with thumbnail (or photo / video) radial download animation line
historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected; // selected file with thumbnail (or photo / video) radial download animation line
historyFileInIconFg: msgInBg;
historyFileInIconFgSelected: msgInBgSelected;
historyFileInRadialFg: historyFileInIconFg;
historyFileInRadialFgSelected: historyFileInIconFgSelected;
historyFileOutIconFg: msgOutBg;
historyFileOutIconFgSelected: msgOutBgSelected;
historyFileOutRadialFg: historyFileOutIconFg;
historyFileOutRadialFgSelected: historyFileOutIconFgSelected;
historyFileThumbIconFg: msgInBg;
historyFileThumbIconFgSelected: msgInBgSelected;
historyFileThumbRadialFg: historyFileThumbIconFg;
historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected;
historyVideoMessageProgressFg: historyFileThumbIconFg; // radial playback progress in round video messages
msgWaveformInActive: windowBgActive;
msgWaveformInActiveSelected: #51a3d3;
msgWaveformInInactive: #d4dee6;
msgWaveformInInactiveSelected: #9cc1e1;
msgWaveformOutActive: #78c67f;
msgWaveformOutActiveSelected: #6badad;
msgWaveformOutInactive: #b3e2b4;
msgWaveformOutInactiveSelected: #91c3c3;
msgWaveformInActive: windowBgActive; // inbox voice message active waveform lines (like played part of currently playing voice message)
msgWaveformInActiveSelected: #51a3d3; // inbox selected voice message active waveform lines (like played part of currently playing voice message)
msgWaveformInInactive: #d4dee6; // inbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformInInactiveSelected: #9cc1e1; // inbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformOutActive: #78c67f; // outbox voice message active waveform lines (like played part of currently playing voice message)
msgWaveformOutActiveSelected: #6badad; // outbox selected voice message active waveform lines (like played part of currently playing voice message)
msgWaveformOutInactive: #b3e2b4; // outbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformOutInactiveSelected: #91c3c3; // outbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgBotKbOverBgAdd: #ffffff20;
msgBotKbIconFg: msgServiceFg;
msgBotKbRippleBg: #00000020;
msgBotKbOverBgAdd: #ffffff20; // this is painted over a bot inline keyboard button (which has msgServiceBg background) when mouse is over that button
msgBotKbIconFg: msgServiceFg; // bot inline keyboard button icon in the top-right corner (like in @vote bot when a poll is ready to be shared)
msgBotKbRippleBg: #00000020; // bot inline keyboard button ripple effect
mediaInFg: msgInDateFg;
mediaInFgSelected: msgInDateFgSelected;
mediaOutFg: msgOutDateFg;
mediaOutFgSelected: msgOutDateFgSelected;
mediaInFg: msgInDateFg; // inbox media message status text (like in file that is being downloaded)
mediaInFgSelected: msgInDateFgSelected; // inbox selected media message status text (like in file that is being downloaded)
mediaOutFg: msgOutDateFg; // outbox media message status text (like in file that is being downloaded)
mediaOutFgSelected: msgOutDateFgSelected; // outbox selected media message status text (like in file that is being downloaded)
youtubePlayIconBg: #e83131c8;
youtubePlayIconFg: windowFgActive;
videoPlayIconBg: #0000007f;
videoPlayIconFg: #ffffff;
toastBg: #000000b2;
toastFg: windowFgActive;
youtubePlayIconBg: #e83131c8; // youtube play icon background (when a link to a youtube video with a webpage preview is sent)
youtubePlayIconFg: windowFgActive; // youtube play icon arrow (when a link to a youtube video with a webpage preview is sent)
videoPlayIconBg: #0000007f; // other video play icon background (like when a link to a vimeo video with a webpage preview is sent)
videoPlayIconFg: #ffffff; // other video play icon arrow (like when a link to a vimeo video with a webpage preview is sent)
toastBg: #000000b2; // toast notification background (like when you click on your t.me link when editing your username)
toastFg: windowFgActive; // toast notification text (like when you click on your t.me link when editing your username)
reportSpamBg: emojiPanHeaderBg;
reportSpamFg: windowFg;
reportSpamBg: emojiPanHeaderBg; // report spam panel background (like a non contact user writes your for the first time)
reportSpamFg: windowFg; // report spam panel text (when you send a report from that panel)
historyToDownBg: windowBg;
historyToDownBgOver: windowBgOver;
historyToDownBgRipple: windowBgRipple;
historyToDownFg: menuIconFg;
historyToDownFgOver: menuIconFgOver;
historyToDownShadow: #00000040;
historyToDownBg: windowBg; // arrow button background (to scroll to the end of the viewed chat)
historyToDownBgOver: windowBgOver; // arrow button background with mouse over
historyToDownBgRipple: windowBgRipple; // arrow button ripple effect
historyToDownFg: menuIconFg; // arrow button icon
historyToDownFgOver: menuIconFgOver; // arrow button icon with mouse over
historyToDownShadow: #00000040; // arrow button shadow
historyComposeAreaBg: msgInBg;
historyComposeAreaFg: historyTextInFg;
historyComposeAreaFgService: msgInDateFg;
historyComposeIconFg: menuIconFg;
historyComposeIconFgOver: menuIconFgOver;
historySendIconFg: windowBgActive;
historySendIconFgOver: windowBgActive;
historyPinnedBg: historyComposeAreaBg;
historyReplyBg: historyComposeAreaBg;
historyReplyIconFg: windowBgActive;
historyReplyCancelFg: cancelIconFg;
historyReplyCancelFgOver: cancelIconFgOver;
historyComposeAreaBg: msgInBg; // history compose area background (message write area / reply information / forwarding information)
historyComposeAreaFg: historyTextInFg; // history compose area text
historyComposeAreaFgService: msgInDateFg; // history compose area text when replying to a media message
historyComposeIconFg: menuIconFg; // history compose area icon (like emoji, attach, bot command..)
historyComposeIconFgOver: menuIconFgOver; // history compose area icon with mouse over
historySendIconFg: windowBgActive; // send message icon
historySendIconFgOver: windowBgActive; // send message icon with mouse over
historyPinnedBg: historyComposeAreaBg; // pinned message area background
historyReplyBg: historyComposeAreaBg; // reply / forward / edit message area background
historyReplyIconFg: windowBgActive; // reply / forward / edit message left icon
historyReplyCancelFg: cancelIconFg; // reply / forward / edit message cancel button
historyReplyCancelFgOver: cancelIconFgOver; // reply / forward / edit message cancel button with mouse over
historyComposeButtonBg: historyComposeAreaBg;
historyComposeButtonBgOver: windowBgOver;
historyComposeButtonBgRipple: windowBgRipple;
historyComposeButtonBg: historyComposeAreaBg; // unblock / join channel / mute channel button background
historyComposeButtonBgOver: windowBgOver; // unblock / join channel / mute channel button background with mouse over
historyComposeButtonBgRipple: windowBgRipple; // unblock / join channel / mute channel button ripple effect
// overview
overviewCheckBg: #00000040;
overviewCheckFg: windowBg;
overviewCheckFgActive: windowBg;
overviewPhotoSelectOverlay: #40ace333;
overviewCheckBg: #00000040; // shared media / files / links checkbox background for not selected rows when some rows are selected
overviewCheckBgActive: windowBgActive; // shared media / files / links checkbox background for selected rows
overviewCheckBorder: windowBg; // shared media round checkbox border
overviewCheckFg: windowBg; // shared files / links checkbox icon for not selected rows when some rows are selected
overviewCheckFgActive: windowBg; // shared files / links checkbox icon for selected rows
overviewPhotoSelectOverlay: #40ace333; // shared photos / videos / links fill for selected rows
// profile
profileStatusFgOver: #7c99b2;
profileVerifiedCheckBg: windowBgActive;
profileVerifiedCheckFg: windowFgActive;
profileAdminStartFg: windowBgActive;
profileStatusFgOver: #7c99b2; // group members list in group profile user last seen text with mouse over
profileVerifiedCheckBg: windowBgActive; // profile verified check icon background
profileVerifiedCheckFg: windowFgActive; // profile verified check icon tick
profileAdminStartFg: windowBgActive; // group members list creator star icon
profileAdminStarFgOver: profileAdminStartFg; // group members list creator star icon with mouse over
profileOtherAdminStarFg: windowSubTextFg; // group members list admin star icon
profileOtherAdminStarFgOver: profileStatusFgOver; // group members list admin star icon with mouse over
// settings
notificationsBoxMonitorFg: windowFg;
notificationsBoxScreenBg: dialogsBgActive; // #6389a8;
notificationsBoxMonitorFg: windowFg; // custom notifications settings box monitor color
notificationsBoxScreenBg: dialogsBgActive; // #6389a8; // custom notifications settings box monitor screen background
notificationSampleUserpicFg: windowBgActive;
notificationSampleCloseFg: #d7d7d7 | windowSubTextFg;
notificationSampleTextFg: #d7d7d7 | windowSubTextFg;
notificationSampleNameFg: #939393 | windowSubTextFg;
notificationSampleUserpicFg: windowBgActive; // custom notifications settings box small sample userpic placeholder
notificationSampleCloseFg: #d7d7d7 | windowSubTextFg; // custom notifications settings box small sample close button placeholder
notificationSampleTextFg: #d7d7d7 | windowSubTextFg; // custom notifications settings box small sample text placeholder
notificationSampleNameFg: #939393 | windowSubTextFg; // custom notifications settings box small sample name placeholder
mainMenuBg: windowBg;
mainMenuCoverBg: dialogsBgActive;
mainMenuCoverFg: windowFgActive;
changePhoneSimcardFrom: notificationSampleTextFg; // change phone number box left simcard icon
changePhoneSimcardTo: notificationSampleNameFg; // change phone number box right simcard and plane icons
mediaPlayerBg: windowBg;
mediaPlayerActiveFg: windowBgActive;
mediaPlayerInactiveFg: sliderBgInactive;
mediaPlayerDisabledFg: #9dd1ef;
mainMenuBg: windowBg; // main menu background
mainMenuCoverBg: dialogsBgActive; // main menu top cover background
mainMenuCoverFg: windowFgActive; // main menu top cover text
mainMenuCloudFg: activeButtonFg;
mainMenuCloudBg: #2785bf | activeButtonBgRipple;
mediaPlayerBg: windowBg; // audio file player background
mediaPlayerActiveFg: windowBgActive; // audio file player playback progress already played part
mediaPlayerInactiveFg: sliderBgInactive; // audio file player playback progress upcoming (not played yet) part with mouse over
mediaPlayerDisabledFg: #9dd1ef; // audio file player loading progress (when you're playing an audio file and switch to the previous one which is not loaded yet)
// mediaview
mediaviewFileBg: windowBg;
mediaviewFileNameFg: windowFg;
mediaviewFileSizeFg: windowSubTextFg;
mediaviewFileRedCornerFg: #d55959;
mediaviewFileYellowCornerFg: #e8a659;
mediaviewFileGreenCornerFg: #49a957;
mediaviewFileBlueCornerFg: #599dcf;
mediaviewFileExtFg: activeButtonFg;
mediaviewFileBg: windowBg; // file rectangle background (when you view a png file in Media Viewer and go to a previous, not loaded yet, file)
mediaviewFileNameFg: windowFg; // file name in file rectangle
mediaviewFileSizeFg: windowSubTextFg; // file size text in file rectangle
mediaviewFileRedCornerFg: #d55959; // red file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .pdf)
mediaviewFileYellowCornerFg: #e8a659; // yellow file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .zip)
mediaviewFileGreenCornerFg: #49a957; // green file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .exe)
mediaviewFileBlueCornerFg: #599dcf; // blue file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .dmg)
mediaviewFileExtFg: activeButtonFg; // file extension text in file thumbnail placeholder in file rectangle
mediaviewMenuBg: #383838;
mediaviewMenuBgOver: #505050;
mediaviewMenuBgRipple: #676767;
mediaviewMenuFg: windowFgActive;
mediaviewMenuBg: #383838; // context menu in Media Viewer background
mediaviewMenuBgOver: #505050; // context menu item background with mouse over
mediaviewMenuBgRipple: #676767; // context menu item ripple effect
mediaviewMenuFg: windowFgActive; // context menu item text
mediaviewBg: #222222eb;
mediaviewVideoBg: imageBg;
mediaviewControlBg: #0000003c;
mediaviewControlFg: windowFgActive;
mediaviewCaptionBg: #11111180;
mediaviewCaptionFg: mediaviewControlFg;
mediaviewTextLinkFg: #91d9ff;
mediaviewSaveMsgBg: toastBg;
mediaviewSaveMsgFg: toastFg;
mediaviewBg: #222222eb; // Media Viewer background
mediaviewVideoBg: imageBg; // Media Viewer background when viewing a video in full screen
mediaviewControlBg: #0000003c; // controls background (like next photo / previous photo)
mediaviewControlFg: windowFgActive; // controls icon (like next photo / previous photo)
mediaviewCaptionBg: #11111180; // caption text background (when viewing photo with caption)
mediaviewCaptionFg: mediaviewControlFg; // caption text
mediaviewTextLinkFg: #91d9ff; // caption text link
mediaviewSaveMsgBg: toastBg; // save to file toast message background in Media Viewer
mediaviewSaveMsgFg: toastFg; // save to file toast message text
mediaviewPlaybackActive: #c7c7c7;
mediaviewPlaybackInactive: #252525;
mediaviewPlaybackActiveOver: #ffffff;
mediaviewPlaybackInactiveOver: #474747;
mediaviewPlaybackProgressFg: #ffffffc7;
mediaviewPlaybackIconFg: mediaviewPlaybackActive;
mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver;
mediaviewTransparentBg: #ffffff;
mediaviewTransparentFg: #cccccc;
mediaviewPlaybackActive: #c7c7c7; // video playback progress already played part
mediaviewPlaybackInactive: #252525; // video playback progress upcoming (not played yet) part
mediaviewPlaybackActiveOver: #ffffff; // video playback progress already played part with mouse over
mediaviewPlaybackInactiveOver: #474747; // video playback progress upcoming (not played yet) part with mouse over
mediaviewPlaybackProgressFg: #ffffffc7; // video playback progress text
mediaviewPlaybackIconFg: mediaviewPlaybackActive; // video playback controls icon
mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver; // video playback controls icon with mouse over
mediaviewTransparentBg: #ffffff; // transparent filling part (when viewing a transparent .png file in Media Viewer)
mediaviewTransparentFg: #cccccc; // another transparent filling part
// notification
notificationBg: windowBg;
notificationBg: windowBg; // custom notification window background
// calls
callBg: #26282cf2; // phone call popup background
callNameFg: #ffffff; // phone call popup name text
callFingerprintBg: #00000066; // phone call popup emoji fingerprint background
callStatusFg: #aaabac; // phone call popup status text
callIconFg: #ffffff; // phone call popup answer, hangup and mute mic icon
callAnswerBg: #64c15b; // phone call popup answer button background
callAnswerRipple: #52b149; // phone call popup answer button ripple effect
callAnswerBgOuter: #50eb4126; // phone call popup answer button outer ripple effect
callHangupBg: #d75a5a; // phone call popup hangup button background
callHangupRipple: #c04646; // phone call popup hangup button ripple effect
callCancelBg: #ffffff; // phone call popup line busy cancel button background
callCancelFg: #777777; // phone call popup line busy cancel button icon
callCancelRipple: #f1f1f1; // phone call popup line busy cancel button ripple effect
callMuteRipple: #ffffff12; // phone call popup mute mic ripple effect
callBarBg: dialogsBgActive; // active phone call bar background
callBarMuteRipple: dialogsRippleBgActive; // active phone call bar mute and hangup button ripple effect
callBarBgMuted: #8f8f8f | dialogsUnreadBgMuted; // phone call bar with muted mic background
callBarUnmuteRipple: #7f7f7f | shadowFg; // phone call bar with muted mic mute and hangup button ripple effect
callBarFg: dialogsNameFgActive; // phone call bar text and icons
importantTooltipBg: toastBg;
importantTooltipFg: toastFg;
importantTooltipFgLink: mediaviewTextLinkFg;

View File

@@ -1,415 +0,0 @@
//
// This is a sample Telegram Desktop theme file.
// It was generated from the 'colors.palette' style file.
//
// To create a theme with a background image included you should
// put two files in a .zip archive:
//
// First one is the color scheme like the one you're viewing
// right now, this file should be named 'colors.tdesktop-theme'.
//
// Second one should be the background image and it can be named
// 'background.jpg', 'background.png', 'tiled.jpg' or 'tiled.png'.
// You should name it 'background' (if you'd like it not to be tiled),
// or it can be named 'tiled' (if you'd like it to be tiled).
//
// After that you need to change the extension of your .zip archive
// to 'tdesktop-theme', so you'll have:
//
// mytheme.tdesktop-theme
// |-colors.tdesktop-theme
// |-background.jpg (or tiled.jpg, background.png, tiled.png)
//
windowBg: #ffffff;
windowFg: #000000;
windowBgOver: #f1f1f1;
windowBgRipple: #e5e5e5;
windowFgOver: windowFg;
windowSubTextFg: #999999;
windowSubTextFgOver: #919191;
windowBoldFg: #222222;
windowBoldFgOver: #222222;
windowBgActive: #40a7e3;
windowFgActive: #ffffff;
windowActiveTextFg: #168acd;
windowShadowFg: #000000;
windowShadowFgFallback: #f1f1f1;
shadowFg: #00000018;
slideFadeOutBg: #0000003c;
slideFadeOutShadowFg: windowShadowFg;
imageBg: #000000;
imageBgTransparent: #ffffff;
activeButtonBg: windowBgActive;
activeButtonBgOver: #39a5db;
activeButtonBgRipple: #2095d0;
activeButtonFg: windowFgActive;
activeButtonFgOver: activeButtonFg;
activeButtonSecondaryFg: #cceeff;
activeButtonSecondaryFgOver: activeButtonSecondaryFg;
activeLineFg: #37a1de;
activeLineFgError: #e48383;
lightButtonBg: windowBg;
lightButtonBgOver: #e3f1fa;
lightButtonBgRipple: #c9e4f6;
lightButtonFg: windowActiveTextFg;
lightButtonFgOver: lightButtonFg;
attentionButtonFg: #d14e4e;
attentionButtonFgOver: #d14e4e;
attentionButtonBgOver: #fcdfde;
attentionButtonBgRipple: #f4c3c2;
outlineButtonBg: windowBg;
outlineButtonBgOver: lightButtonBgOver;
outlineButtonOutlineFg: windowBgActive;
outlineButtonBgRipple: lightButtonBgRipple;
menuBg: windowBg;
menuBgOver: windowBgOver;
menuBgRipple: windowBgRipple;
menuIconFg: #a8a8a8;
menuIconFgOver: #999999;
menuSubmenuArrowFg: #373737;
menuFgDisabled: #cccccc;
menuSeparatorFg: #f1f1f1;
scrollBarBg: #00000053;
scrollBarBgOver: #0000007a;
scrollBg: #0000001a;
scrollBgOver: #0000002c;
smallCloseIconFg: #c7c7c7;
smallCloseIconFgOver: #a3a3a3;
radialFg: windowFgActive;
radialBg: #00000056;
placeholderFg: windowSubTextFg;
placeholderFgActive: #aaaaaa;
inputBorderFg: #e0e0e0;
filterInputBorderFg: #54c3f3;
filterInputInactiveBg: windowBgOver;
checkboxFg: #b3b3b3;
sliderBgInactive: #e1eaef;
sliderBgActive: windowBgActive;
tooltipBg: #eef2f5;
tooltipFg: #5d6c80;
tooltipBorderFg: #c9d1db;
titleShadow: #00000003;
titleBg: windowBgOver;
titleBgActive: titleBg;
titleButtonBg: titleBg;
titleButtonFg: #ababab;
titleButtonBgOver: #e5e5e5;
titleButtonFgOver: #9a9a9a;
titleButtonBgActive: titleButtonBg;
titleButtonFgActive: titleButtonFg;
titleButtonBgActiveOver: titleButtonBgOver;
titleButtonFgActiveOver: titleButtonFgOver;
titleButtonCloseBg: titleButtonBg;
titleButtonCloseFg: titleButtonFg;
titleButtonCloseBgOver: #e81123;
titleButtonCloseFgOver: windowFgActive;
titleButtonCloseBgActive: titleButtonCloseBg;
titleButtonCloseFgActive: titleButtonCloseFg;
titleButtonCloseBgActiveOver: titleButtonCloseBgOver;
titleButtonCloseFgActiveOver: titleButtonCloseFgOver;
titleFg: #acacac;
titleFgActive: #3e3c3e;
trayCounterBg: #f23c34;
trayCounterBgMute: #888888;
trayCounterFg: #ffffff;
trayCounterBgMacInvert: #ffffff;
trayCounterFgMacInvert: #ffffff01;
layerBg: #0000007f;
cancelIconFg: menuIconFg;
cancelIconFgOver: menuIconFgOver;
boxBg: windowBg;
boxTextFg: windowFg;
boxTextFgGood: #4ab44a;
boxTextFgError: #d84d4d;
boxTitleFg: #404040;
boxSearchBg: boxBg;
boxSearchCancelIconFg: cancelIconFg;
boxSearchCancelIconFgOver: cancelIconFgOver;
boxTitleAdditionalFg: #808080;
boxTitleCloseFg: cancelIconFg;
boxTitleCloseFgOver: cancelIconFgOver;
membersAboutLimitFg: windowSubTextFgOver;
contactsBg: windowBg;
contactsBgOver: windowBgOver;
contactsNameFg: boxTextFg;
contactsStatusFg: windowSubTextFg;
contactsStatusFgOver: windowSubTextFgOver;
contactsStatusFgOnline: windowActiveTextFg;
photoCropFadeBg: layerBg;
photoCropPointFg: #ffffff7f;
introBg: windowBg;
introTitleFg: windowBoldFg;
introDescriptionFg: windowSubTextFg;
introErrorFg: windowSubTextFg;
introCoverTopBg: #0f89d0;
introCoverBottomBg: #39b0f0;
introCoverIconsFg: #5ec6ff;
introCoverPlaneTrace: #5ec6ff69;
introCoverPlaneInner: #c6d8e8;
introCoverPlaneOuter: #a1bed4;
introCoverPlaneTop: #ffffff;
dialogsMenuIconFg: menuIconFg;
dialogsMenuIconFgOver: menuIconFgOver;
dialogsBg: windowBg;
dialogsNameFg: windowBoldFg;
dialogsChatIconFg: dialogsNameFg;
dialogsDateFg: windowSubTextFg;
dialogsTextFg: windowSubTextFg;
dialogsTextFgService: windowActiveTextFg;
dialogsDraftFg: #dd4b39;
dialogsVerifiedIconBg: windowBgActive;
dialogsVerifiedIconFg: windowFgActive;
dialogsSendingIconFg: #c1c1c1;
dialogsSentIconFg: #5dc452;
dialogsUnreadBg: windowBgActive;
dialogsUnreadBgMuted: #bbbbbb;
dialogsUnreadFg: windowFgActive;
dialogsBgOver: windowBgOver;
dialogsNameFgOver: windowBoldFgOver;
dialogsChatIconFgOver: dialogsNameFgOver;
dialogsDateFgOver: windowSubTextFgOver;
dialogsTextFgOver: windowSubTextFgOver;
dialogsTextFgServiceOver: dialogsTextFgService;
dialogsDraftFgOver: dialogsDraftFg;
dialogsVerifiedIconBgOver: dialogsVerifiedIconBg;
dialogsVerifiedIconFgOver: dialogsVerifiedIconFg;
dialogsSendingIconFgOver: dialogsSendingIconFg;
dialogsSentIconFgOver: dialogsSentIconFg;
dialogsUnreadBgOver: dialogsUnreadBg;
dialogsUnreadBgMutedOver: dialogsUnreadBgMuted;
dialogsUnreadFgOver: dialogsUnreadFg;
dialogsBgActive: #419fd9;
dialogsNameFgActive: windowFgActive;
dialogsChatIconFgActive: dialogsNameFgActive;
dialogsDateFgActive: windowFgActive;
dialogsTextFgActive: windowFgActive;
dialogsTextFgServiceActive: dialogsTextFgActive;
dialogsDraftFgActive: #c6e1f7;
dialogsVerifiedIconBgActive: dialogsTextFgActive;
dialogsVerifiedIconFgActive: dialogsBgActive;
dialogsSendingIconFgActive: #ffffff99;
dialogsSentIconFgActive: dialogsTextFgActive;
dialogsUnreadBgActive: dialogsTextFgActive;
dialogsUnreadBgMutedActive: dialogsDraftFgActive;
dialogsUnreadFgActive: dialogsBgActive;
dialogsForwardBg: dialogsBgActive;
dialogsForwardFg: dialogsNameFgActive;
searchedBarBg: windowBgOver;
searchedBarBorder: shadowFg;
searchedBarFg: windowSubTextFgOver;
topBarBg: windowBg;
emojiPanBg: windowBg;
emojiPanCategories: #f7f7f7; // windowBg;
emojiPanHeaderFg: windowSubTextFg;
emojiPanHeaderBg: #fffffff2; // emojiPanBg;
stickerPanDeleteBg: #000000cc;
stickerPanDeleteFg: windowFgActive;
stickerPreviewBg: #ffffffb0;
historyTextInFg: windowFg;
historyTextOutFg: windowFg;
historyCaptionInFg: historyTextInFg;
historyCaptionOutFg: historyTextOutFg;
historyFileNameInFg: historyTextInFg;
historyFileNameOutFg: historyTextOutFg;
historyOutIconFg: dialogsSentIconFg;
historyOutIconFgSelected: #4da79f;
historyIconFgInverted: windowFgActive;
historySendingOutIconFg: #98d292;
historySendingInIconFg: #a0adb5;
historySendingInvertedIconFg: #ffffffc8;
historySystemBg: #89a0b47f;
historySystemBgSelected: #bbc8d4a2;
historySystemFg: windowFgActive;
historyUnreadBarBg: #fcfbfa;
historyUnreadBarBorder: shadowFg;
historyUnreadBarFg: #538bb4;
historyForwardChooseBg: #0000004c;
historyForwardChooseFg: windowFgActive;
historyPeer1NameFg: #c03d33;
historyPeer1UserpicBg: #e17076;
historyPeer2NameFg: #4fad2d;
historyPeer2UserpicBg: #7bc862;
historyPeer3NameFg: #d09306;
historyPeer3UserpicBg: #e5ca77;
historyPeer4NameFg: windowActiveTextFg;
historyPeer4UserpicBg: #65aadd;
historyPeer5NameFg: #8544d6;
historyPeer5UserpicBg: #a695e7;
historyPeer6NameFg: #cd4073;
historyPeer6UserpicBg: #ee7aae;
historyPeer7NameFg: #2996ad;
historyPeer7UserpicBg: #6ec9cb;
historyPeer8NameFg: #ce671b;
historyPeer8UserpicBg: #faa774;
historyPeerUserpicFg: windowFgActive;
historyScrollBarBg: #517c417a;
historyScrollBarBgOver: #517c41bc;
historyScrollBg: #517c414c;
historyScrollBgOver: #517c416b;
msgInBg: windowBg;
msgInBgSelected: #c2dcf2;
msgOutBg: #effdde;
msgOutBgSelected: #b7dbdb;
msgSelectOverlay: #358cd44c;
msgStickerOverlay: #358cd47f;
msgInServiceFg: windowActiveTextFg;
msgInServiceFgSelected: windowActiveTextFg;
msgOutServiceFg: #3a8e26;
msgOutServiceFgSelected: #367570;
msgInShadow: #748ea229;
msgInShadowSelected: #548dbb29;
msgOutShadow: #3ac34740;
msgOutShadowSelected: #37a78e40;
msgInDateFg: #a0acb6;
msgInDateFgSelected: #6a9cc5;
msgOutDateFg: #6cc264;
msgOutDateFgSelected: #50a79c;
msgServiceFg: windowFgActive;
msgServiceBg: #517c417f;
msgServiceBgSelected: #96b38ba2;
msgInReplyBarColor: activeLineFg;
msgInReplyBarSelColor: activeLineFg;
msgOutReplyBarColor: historyOutIconFg;
msgOutReplyBarSelColor: historyOutIconFgSelected;
msgImgReplyBarColor: msgServiceFg;
msgInMonoFg: #4e7391;
msgOutMonoFg: #469165;
msgDateImgFg: msgServiceFg;
msgDateImgBg: #00000054;
msgDateImgBgOver: #00000074;
msgDateImgBgSelected: #1c4a7187;
msgFileThumbLinkInFg: lightButtonFg;
msgFileThumbLinkInFgSelected: lightButtonFgOver;
msgFileThumbLinkOutFg: #5eba5b;
msgFileThumbLinkOutFgSelected: #31a298;
msgFileInBg: windowBgActive;
msgFileInBgOver: #4eade3;
msgFileInBgSelected: #51a3d3;
msgFileOutBg: #78c67f;
msgFileOutBgOver: #6bc272;
msgFileOutBgSelected: #5fb389;
msgFile1Bg: #72b1df;
msgFile1BgDark: #5c9ece;
msgFile1BgOver: #5294c4;
msgFile1BgSelected: #5099d0;
msgFile2Bg: #61b96e;
msgFile2BgDark: #4da859;
msgFile2BgOver: #44a050;
msgFile2BgSelected: #46a07e;
msgFile3Bg: #e47272;
msgFile3BgDark: #cd5b5e;
msgFile3BgOver: #c35154;
msgFile3BgSelected: #9f6a82;
msgFile4Bg: #efc274;
msgFile4BgDark: #e6a561;
msgFile4BgOver: #dc9c5a;
msgFile4BgSelected: #b19d84;
historyFileInIconFg: msgInBg;
historyFileInIconFgSelected: msgInBgSelected;
historyFileInRadialFg: historyFileInIconFg;
historyFileInRadialFgSelected: historyFileInIconFgSelected;
historyFileOutIconFg: msgOutBg;
historyFileOutIconFgSelected: msgOutBgSelected;
historyFileOutRadialFg: historyFileOutIconFg;
historyFileOutRadialFgSelected: historyFileOutIconFgSelected;
historyFileThumbIconFg: msgInBg;
historyFileThumbIconFgSelected: msgInBgSelected;
historyFileThumbRadialFg: historyFileThumbIconFg;
historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected;
msgWaveformInActive: windowBgActive;
msgWaveformInActiveSelected: #51a3d3;
msgWaveformInInactive: #d4dee6;
msgWaveformInInactiveSelected: #9cc1e1;
msgWaveformOutActive: #78c67f;
msgWaveformOutActiveSelected: #6badad;
msgWaveformOutInactive: #b3e2b4;
msgWaveformOutInactiveSelected: #91c3c3;
msgBotKbOverBgAdd: #ffffff20;
msgBotKbIconFg: msgServiceFg;
msgBotKbRippleBg: #00000020;
mediaInFg: msgInDateFg;
mediaInFgSelected: msgInDateFgSelected;
mediaOutFg: msgOutDateFg;
mediaOutFgSelected: msgOutDateFgSelected;
youtubePlayIconBg: #e83131c8;
youtubePlayIconFg: windowFgActive;
videoPlayIconBg: #0000007f;
videoPlayIconFg: #ffffff;
toastBg: #000000b2;
toastFg: windowFgActive;
reportSpamBg: emojiPanHeaderBg;
reportSpamFg: windowFg;
historyToDownBg: windowBg;
historyToDownBgOver: windowBgOver;
historyToDownBgRipple: windowBgRipple;
historyToDownFg: menuIconFg;
historyToDownFgOver: menuIconFgOver;
historyToDownShadow: #00000040;
historyComposeAreaBg: msgInBg;
historyComposeAreaFg: historyTextInFg;
historyComposeAreaFgService: msgInDateFg;
historyComposeIconFg: menuIconFg;
historyComposeIconFgOver: menuIconFgOver;
historySendIconFg: windowBgActive;
historySendIconFgOver: windowBgActive;
historyPinnedBg: historyComposeAreaBg;
historyReplyBg: historyComposeAreaBg;
historyReplyIconFg: windowBgActive;
historyReplyCancelFg: cancelIconFg;
historyReplyCancelFgOver: cancelIconFgOver;
historyComposeButtonBg: historyComposeAreaBg;
historyComposeButtonBgOver: windowBgOver;
historyComposeButtonBgRipple: windowBgRipple;
overviewCheckBg: #00000040;
overviewCheckFg: windowBg;
overviewCheckFgActive: windowBg;
overviewPhotoSelectOverlay: #40ace333;
profileStatusFgOver: #7c99b2;
profileVerifiedCheckBg: windowBgActive;
profileVerifiedCheckFg: windowFgActive;
profileAdminStartFg: windowBgActive;
notificationsBoxMonitorFg: windowFg;
notificationsBoxScreenBg: dialogsBgActive;
notificationSampleUserpicFg: windowBgActive;
notificationSampleCloseFg: #d7d7d7; // windowSubTextFg;
notificationSampleTextFg: #d7d7d7; // windowSubTextFg;
notificationSampleNameFg: #939393; // windowSubTextFg;
mainMenuBg: windowBg;
mainMenuCoverBg: dialogsBgActive;
mainMenuCoverFg: windowFgActive;
mediaPlayerBg: windowBg;
mediaPlayerActiveFg: windowBgActive;
mediaPlayerInactiveFg: sliderBgInactive;
mediaPlayerDisabledFg: #9dd1ef;
mediaviewFileBg: windowBg;
mediaviewFileNameFg: windowFg;
mediaviewFileSizeFg: windowSubTextFg;
mediaviewFileRedCornerFg: #d55959;
mediaviewFileYellowCornerFg: #e8a659;
mediaviewFileGreenCornerFg: #49a957;
mediaviewFileBlueCornerFg: #599dcf;
mediaviewFileExtFg: activeButtonFg;
mediaviewMenuBg: #383838;
mediaviewMenuBgOver: #505050;
mediaviewMenuBgRipple: #676767;
mediaviewMenuFg: windowFgActive;
mediaviewBg: #222222eb;
mediaviewVideoBg: imageBg;
mediaviewControlBg: #0000003c;
mediaviewControlFg: windowFgActive;
mediaviewCaptionBg: #11111180;
mediaviewCaptionFg: mediaviewControlFg;
mediaviewTextLinkFg: #91d9ff;
mediaviewSaveMsgBg: toastBg;
mediaviewSaveMsgFg: toastFg;
mediaviewPlaybackActive: #c7c7c7;
mediaviewPlaybackInactive: #252525;
mediaviewPlaybackActiveOver: #ffffff;
mediaviewPlaybackInactiveOver: #474747;
mediaviewPlaybackProgressFg: #ffffffc7;
mediaviewPlaybackIconFg: mediaviewPlaybackActive;
mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver;
mediaviewTransparentBg: #ffffff;
mediaviewTransparentFg: #cccccc;
notificationBg: windowBg;

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 793 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 868 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

View File

@@ -1,3 +1,4 @@
#!/usr/bin/env bash
set -e
FullExecPath=$PWD
pushd `dirname $0` > /dev/null
@@ -29,6 +30,5 @@ for file in *.strings; do
awk '{ if (NR==1) sub(/^\xef\xbb\xbf/,""); sub(/
/,""); print }' "../../tdesktop/Telegram/Resources/langs/lang_$file.tmp" > "../../tdesktop/Telegram/Resources/langs/lang_$file"
rm "../../tdesktop/Telegram/Resources/langs/lang_$file.tmp"
done
done

View File

@@ -22,11 +22,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_switch_to_this" = "Switch to English";
"lng_menu_contacts" = "Contacts";
"lng_menu_calls" = "Calls";
"lng_menu_settings" = "Settings";
"lng_menu_about" = "About";
"lng_menu_update" = "Update";
"lng_menu_restart" = "Restart";
"lng_menu_back" = "Back";
"lng_menu_night_mode" = "Night mode";
"lng_disable_notifications_from_tray" = "Disable notifications";
"lng_enable_notifications_from_tray" = "Enable notifications";
@@ -79,7 +81,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_month_day" = "{month} {day}";
"lng_month_day_year" = "{month} {day}, {year}";
"lng_month_year" = "{month}, {year}";
"lng_month_year" = "{month} {year}";
"lng_box_ok" = "OK";
@@ -87,7 +89,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_continue" = "Continue";
"lng_close" = "Close";
"lng_connecting" = "Connecting...";
"lng_reconnecting" = "Reconnect {count:now|in # s|in # s}...";
"lng_connecting_to_proxy" = "Connecting to proxy...";
"lng_connecting_settings" = "Settings";
"lng_reconnecting#one" = "Reconnect in {count} s...";
"lng_reconnecting#other" = "Reconnect in {count} s...";
"lng_reconnecting_try_now" = "Try now";
"lng_status_service_notifications" = "service notifications";
@@ -101,8 +106,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_last_month" = "last seen within a month";
"lng_status_invisible" = "invisible";
"lng_status_lastseen_now" = "last seen just now";
"lng_status_lastseen_minutes" = "last seen {count:_not_used_|# minute|# minutes} ago";
"lng_status_lastseen_hours" = "last seen {count:_not_used_|# hour|# hours} ago";
"lng_status_lastseen_minutes#one" = "last seen {count} minute ago";
"lng_status_lastseen_minutes#other" = "last seen {count} minutes ago";
"lng_status_lastseen_hours#one" = "last seen {count} hour ago";
"lng_status_lastseen_hours#other" = "last seen {count} hours ago";
"lng_status_lastseen_today" = "last seen today at {time}";
"lng_status_lastseen_yesterday" = "last seen yesterday at {time}";
"lng_status_lastseen_date" = "last seen {date}";
@@ -111,14 +118,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_connecting" = "connecting...";
"lng_chat_status_unaccessible" = "group is inaccessible";
"lng_chat_status_members" = "{count:no members|# member|# members}";
"lng_chat_status_members_online" = "{count:_not_used_|# member|# members}, {count_online:_not_used_|# online|# online}";
"lng_chat_status_no_members" = "no members";
"lng_chat_status_members#one" = "{count} member";
"lng_chat_status_members#other" = "{count} members";
"lng_chat_status_online#one" = "{count} online";
"lng_chat_status_online#other" = "{count} online";
"lng_chat_status_members_online" = "{members_count}, {online_count}";
"lng_channel_status" = "channel";
"lng_group_status" = "group";
"lng_channel_members_link" = "{count:_not_used_|# member|# members}";
"lng_channel_admins_link" = "{count:_not_used_|# administrator|# administrators}";
"lng_channel_members_link#one" = "{count} member";
"lng_channel_members_link#other" = "{count} members";
"lng_channel_admins_link#one" = "{count} administrator";
"lng_channel_admins_link#other" = "{count} administrators";
"lng_server_error" = "Internal server error.";
"lng_flood_error" = "Too many tries. Please try again later.";
@@ -127,13 +140,26 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_join_channel_error" = "Sorry, you have joined too many channels and supergroups. Please leave some before joining.";
"lng_error_phone_flood" = "Sorry, you have deleted and re-created your account too many times recently. Please wait for a few days before signing up again.";
"lng_error_start_minimized_passcoded" = "You have set a local passcode, so the app can't be launched minimized. App will ask you to enter the passcode before it can start working.";
"lng_error_pinned_max" = "Sorry, you can pin no more than {count:_not_used_|# chat|# chats} to the top.";
"lng_error_pinned_max#one" = "Sorry, you can pin no more than {count} chat to the top.";
"lng_error_pinned_max#other" = "Sorry, you can pin no more than {count} chats to the top.";
"lng_error_public_groups_denied" = "Unfortunately, you were banned from participating in public groups.\n{more_info}";
"lng_error_cant_edit_admin" = "Sorry, you can't edit permissions for this admin.";
"lng_error_cant_add_member" = "Sorry, you can't add the bot to this group. Ask a group admin to do it.";
"lng_error_cant_add_admin_invite" = "Sorry, you can't add this user as an admin because they are not a member of this group and you are not allowed to invite them.";
"lng_error_cant_add_admin_unban" = "Sorry, you can't add this user as an admin because they are in the blacklist and you can't unban them.";
"lng_error_cant_ban_admin" = "Sorry, you can't ban this user because they are an admin in this group and you are not allowed to demote them.";
"lng_sure_add_admin_invite" = "This user is not a member of this group. Add them to the group and promote them to admin?";
"lng_sure_add_admin_unban" = "This user is currently restricted or banned in this group. Are you sure you want to unban and promote them?";
"lng_sure_ban_admin" = "This user is an admin in this group. Are you sure you want to go ahead and restrict them?";
"lng_sure_ban_user_group" = "Ban {user} in the group?";
"lng_sure_enable_socks" = "Are you sure you want to enable this proxy?\n\nServer: {server}\nPort: {port}\n\nYou can change your proxy server later in the Settings (Connection Type).";
"lng_sure_enable" = "Enable";
"lng_edit_deleted" = "This message was deleted";
"lng_edit_too_long" = "Your message text is too long";
"lng_edit_message" = "Edit message";
"lng_edit_message_text" = "New message text...";
"lng_deleted" = "Unknown";
"lng_deleted" = "Deleted Account";
"lng_deleted_message" = "Deleted message";
"lng_pinned_message" = "Pinned message";
"lng_pinned_unpin_sure" = "Would you like to unpin this message?";
@@ -196,9 +222,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_signin_sure_reset" = "Warning!\n\nYou will lose all your chats and messages, along with any media and files you shared!\n\nDo you want to reset your account?";
"lng_signin_reset" = "Reset";
"lng_signin_reset_wait" = "Since the account {phone_number} is active and protected by a password, we will delete it in 1 week for security purposes. You can cancel this process at any time.\n\nYoull be able to reset your account in:\n{when}";
"lng_signin_reset_in_days" = "{count_days:0 days|# day|# days} {count_hours:0 hours|# hour|# hours} {count_minutes:0 minutes|# minute|# minutes}";
"lng_signin_reset_in_hours" = "{count_hours:0 hours|# hour|# hours} {count_minutes:0 minutes|# minute|# minutes}";
"lng_signin_reset_in_minutes" = "{count_minutes:0 minutes|# minute|# minutes}";
"lng_signin_reset_days#one" = "{count} day";
"lng_signin_reset_days#other" = "{count} days";
"lng_signin_reset_hours#one" = "{count} hour";
"lng_signin_reset_hours#other" = "{count} hours";
"lng_signin_reset_minutes#one" = "{count} minute";
"lng_signin_reset_minutes#other" = "{count} minutes";
"lng_signin_reset_in_days" = "{days_count} {hours_count} {minutes_count}";
"lng_signin_reset_in_hours" = "{hours_count} {minutes_count}";
"lng_signin_reset_cancelled" = "Your recent attempts to reset this account have been cancelled by its active user. Please try again in 7 days.";
"lng_signup_title" = "Your Info";
@@ -221,10 +252,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_save" = "Save";
"lng_settings_upload" = "Set Profile Photo";
"lng_settings_crop_profile" = "Select a square area for your profile photo";
"lng_settings_crop_profile" = "Select an area for your profile photo";
"lng_settings_uploading_photo" = "Uploading photo...";
"lng_settings_edit" = "Edit";
"lng_settings_drop_area_subtitle" = "to set it as your photo";
"lng_username_title" = "Username";
@@ -296,12 +326,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_bg_use_default" = "Use default color theme";
"lng_settings_bg_from_gallery" = "Choose from gallery";
"lng_settings_bg_from_file" = "Choose from file";
"lng_settings_bg_edit_theme" = "Edit theme";
"lng_settings_bg_tile" = "Tile background";
"lng_settings_adaptive_wide" = "Adaptive layout for wide screens";
"lng_backgrounds_header" = "Choose your new chat background";
"lng_theme_sure_keep" = "Keep this color theme?";
"lng_theme_reverting" = "Reverting to the old color theme in {count:_not_used_|# second|# seconds}.";
"lng_theme_reverting#one" = "Reverting to the old color theme in {count} second.";
"lng_theme_reverting#other" = "Reverting to the old color theme in {count} seconds.";
"lng_theme_keep_changes" = "Keep changes";
"lng_theme_revert" = "Revert";
@@ -327,14 +359,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_local_storage_title" = "Local storage";
"lng_settings_no_data_cached" = "No cached data found!";
"lng_settings_images_cached" = "{count:_not_used_|# image|# images}, {size}";
"lng_settings_audios_cached" = "{count:_not_used_|# voice message|# voice messages}, {size}";
"lng_settings_images_cached#one" = "{count} image, {size}";
"lng_settings_images_cached#other" = "{count} images, {size}";
"lng_settings_audios_cached#one" = "{count} voice message, {size}";
"lng_settings_audios_cached#other" = "{count} voice messages, {size}";
"lng_local_storage_clear" = "Clear all";
"lng_local_storage_clearing" = "Clearing...";
"lng_local_storage_cleared" = "Cleared!";
"lng_local_storage_clear_failed" = "Clear failed :(";
"lng_settings_section_advanced_settings" = "Advanced Settings";
"lng_settings_enable_night_theme" = "Enable night mode";
"lng_settings_disable_night_theme" = "Disable night mode";
"lng_passcode_remove_button" = "Remove";
@@ -346,8 +382,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_passcode_autolock" = "Auto-Lock";
"lng_passcode_autolock_away" = "Auto-Lock if away for:";
"lng_passcode_autolock_inactive" = "Auto-Lock if inactive for:";
"lng_passcode_autolock_minutes" = "{count:_not_used_|# minute|# minutes}";
"lng_passcode_autolock_hours" = "{count:_not_used_|# hour|# hours}";
"lng_passcode_autolock_minutes#one" = "{count} minute";
"lng_passcode_autolock_minutes#other" = "{count} minutes";
"lng_passcode_autolock_hours#one" = "{count} hour";
"lng_passcode_autolock_hours#other" = "{count} hours";
"lng_passcode_enter_old" = "Enter current passcode";
"lng_passcode_enter_first" = "Enter a passcode";
"lng_passcode_enter_new" = "Enter new passcode";
@@ -403,7 +441,15 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_connection_user_ph" = "Username";
"lng_connection_password_ph" = "Password";
"lng_connection_save" = "Save";
"lng_settings_blocked_users" = "Blocked users";
"lng_settings_last_seen_privacy" = "Last seen privacy";
"lng_settings_calls_privacy" = "Phone calls privacy";
"lng_settings_groups_invite_privacy" = "Group invite settings";
"lng_settings_show_sessions" = "Show all sessions";
"lng_settings_self_destruct" = "Account self-destruct settings";
"lng_settings_change_phone" = "Change phone number";
"lng_settings_reset" = "Terminate all other sessions";
"lng_settings_reset_sure" = "Are you sure you want to terminate\nall other sessions?";
"lng_settings_reset_one_sure" = "Do you want to terminate this session?";
@@ -428,6 +474,76 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_sessions_other_desc" = "You can log in to Telegram from other mobile, tablet and desktop devices, using the same phone number. All your data will be instantly synchronized.";
"lng_sessions_terminate_all" = "Terminate all other sessions";
"lng_blocked_list_title" = "Blocked users";
"lng_blocked_list_unknown_phone" = "unknown phone";
"lng_blocked_list_unblock" = "Unblock";
"lng_blocked_list_add" = "Block user";
"lng_blocked_list_add_title" = "Select user to block";
"lng_blocked_list_already_blocked" = "blocked already";
"lng_blocked_list_about" = "Blocked users can't send you messages or add you to groups. They will not see your profile pictures, online and last seen status.";
"lng_blocked_list_not_found" = "No users found.";
"lng_edit_privacy_everyone" = "Everybody";
"lng_edit_privacy_contacts" = "My contacts";
"lng_edit_privacy_nobody" = "Nobody";
"lng_edit_privacy_exceptions" = "Add exceptions";
"lng_edit_privacy_lastseen_title" = "Last seen privacy";
"lng_edit_privacy_lastseen_description" = "You can choose who can see your last seen time:";
"lng_edit_privacy_lastseen_warning" = "Important: you won't be able to see Last Seen times for people with whom you don't share your Last Seen time. Approximate last seen will be shown instead (recently, within a week, within a month).";
"lng_edit_privacy_lastseen_always_empty" = "Always share with";
"lng_edit_privacy_lastseen_always#one" = "Always share with {count} user";
"lng_edit_privacy_lastseen_always#other" = "Always share with {count} users";
"lng_edit_privacy_lastseen_never_empty" = "Never share with";
"lng_edit_privacy_lastseen_never#one" = "Never share with {count} user";
"lng_edit_privacy_lastseen_never#other" = "Never share with {count} users";
"lng_edit_privacy_lastseen_exceptions" = "These settings will override the values above.";
"lng_edit_privacy_lastseen_always_title" = "Always share with";
"lng_edit_privacy_lastseen_never_title" = "Never share with";
"lng_edit_privacy_groups_title" = "Group invite settings";
"lng_edit_privacy_groups_description" = "You can choose who can add you to groups and channels with granular precision:";
"lng_edit_privacy_groups_always_empty" = "Always allow";
"lng_edit_privacy_groups_always#one" = "Always allow {count} user";
"lng_edit_privacy_groups_always#other" = "Always allow {count} users";
"lng_edit_privacy_groups_never_empty" = "Never allow";
"lng_edit_privacy_groups_never#one" = "Never allow {count} user";
"lng_edit_privacy_groups_never#other" = "Never allow {count} users";
"lng_edit_privacy_groups_exceptions" = "These users will or will not be able to add you to groups and channels regardless of the settings above.";
"lng_edit_privacy_groups_always_title" = "Always allow";
"lng_edit_privacy_groups_never_title" = "Never allow";
"lng_edit_privacy_calls_title" = "Phone calls privacy";
"lng_edit_privacy_calls_description" = "You can restrict who can call you:";
"lng_edit_privacy_calls_always_empty" = "Always allow";
"lng_edit_privacy_calls_always#one" = "Always allow {count} user";
"lng_edit_privacy_calls_always#other" = "Always allow {count} users";
"lng_edit_privacy_calls_never_empty" = "Never allow";
"lng_edit_privacy_calls_never#one" = "Never allow {count} user";
"lng_edit_privacy_calls_never#other" = "Never allow {count} users";
"lng_edit_privacy_calls_exceptions" = "These users will or will not be able to call you regardless of the settings above.";
"lng_edit_privacy_calls_always_title" = "Always allow";
"lng_edit_privacy_calls_never_title" = "Never allow";
"lng_self_destruct_title" = "Account self-destruction";
"lng_self_destruct_description" = "If you don't come online at least once within this period, your account will be deleted along with all groups, messages and contacts.";
"lng_self_destruct_months#one" = "{count} month";
"lng_self_destruct_months#other" = "{count} months";
"lng_self_destruct_years#one" = "{count} year";
"lng_self_destruct_years#other" = "{count} years";
"lng_change_phone_title" = "Change phone number";
"lng_change_phone_description" = "You can change your Telegram number\nhere. Your account and all your cloud data\n— messages, media, contacts, etc. will be\nmoved to the new number.\n\n[b]Important[/b]: all your Telegram contacts will\nget your [b]new number[/b] added to their address\nbook, provided they had your old number and\nyou haven't blocked them in Telegram.";
"lng_change_phone_warning" = "All your Telegram contacts will get your new number added to their address book, provided they had your old number and you haven't blocked them in Telegram.";
"lng_change_phone_occupied" = "The number {phone} is already connected to a Telegram account. Please delete that account before migrating to the new number.";
"lng_change_phone_button" = "Change number";
"lng_change_phone_new_title" = "Enter new number";
"lng_change_phone_new_description" = "We will send an SMS with a confirmation code to your new number.";
"lng_change_phone_new_submit" = "Submit";
"lng_change_phone_code_title" = "Enter code";
"lng_change_phone_code_description" = "We've sent an SMS with a confirmation code to your phone {phone}.";
"lng_change_phone_success" = "Your phone number has been changed.";
"lng_preview_loading" = "Getting Link Info...";
"lng_profile_chat_unaccessible" = "Group is inaccessible";
@@ -441,7 +557,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_create_public_link" = "Create public link";
"lng_profile_edit_public_link" = "Edit public link";
"lng_profile_manage_admins" = "Manage administrators";
"lng_profile_common_groups" = "{count:_not_used_|# group|# groups} in common";
"lng_profile_manage_blocklist" = "Manage banned users";
"lng_profile_manage_restrictedlist" = "Manage restricted users";
"lng_profile_recent_actions" = "Recent actions";
"lng_profile_common_groups#one" = "{count} group in common";
"lng_profile_common_groups#other" = "{count} groups in common";
"lng_profile_common_groups_section" = "Groups in common";
"lng_profile_participants_section" = "Members";
"lng_profile_info_section" = "Info";
@@ -475,23 +595,30 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_delete_and_exit" = "Leave";
"lng_profile_kick" = "Remove";
"lng_profile_admin" = "admin";
"lng_profile_edit_permissions" = "Edit";
"lng_profile_sure_kick" = "Remove {user} from the group?";
"lng_profile_sure_kick_channel" = "Remove {user} from the channel?";
"lng_profile_sure_kick_admin" = "Remove {user} from administrators?";
"lng_profile_loading" = "Loading...";
"lng_profile_shared_media" = "Shared media";
"lng_profile_no_media" = "No media in this conversation.";
"lng_profile_photos" = "{count:_not_used_|# photo|# photos}";
"lng_profile_photos#one" = "{count} photo";
"lng_profile_photos#other" = "{count} photos";
"lng_profile_photos_header" = "Photos";
"lng_profile_videos" = "{count:_not_used_|# video|# videos}";
"lng_profile_videos#one" = "{count} video";
"lng_profile_videos#other" = "{count} videos";
"lng_profile_videos_header" = "Videos";
"lng_profile_songs" = "{count:_not_used_|# audio file|# audio files}";
"lng_profile_songs#one" = "{count} audio file";
"lng_profile_songs#other" = "{count} audio files";
"lng_profile_songs_header" = "Audio files";
"lng_profile_files" = "{count:_not_used_|# file|# files}";
"lng_profile_files#one" = "{count} file";
"lng_profile_files#other" = "{count} files";
"lng_profile_files_header" = "Files";
"lng_profile_audios" = "{count:_not_used_|# voice message|# voice messages}";
"lng_profile_audios#one" = "{count} voice message";
"lng_profile_audios#other" = "{count} voice messages";
"lng_profile_audios_header" = "Voice messages";
"lng_profile_shared_links" = "{count:_not_used_|# shared link|# shared links}";
"lng_profile_shared_links#one" = "{count} shared link";
"lng_profile_shared_links#other" = "{count} shared links";
"lng_profile_shared_links_header" = "Shared links";
"lng_profile_copy_phone" = "Copy Phone Number";
"lng_profile_copy_fullname" = "Copy Name";
@@ -513,12 +640,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_add_admins" = "New administrator";
"lng_channel_add_members" = "Add members";
"lng_channel_add_banned" = "Ban user";
"lng_channel_add_restricted" = "Restrict user";
"lng_channel_members" = "Members";
"lng_channel_only_last_shown" = "Only the last {count:_not_used_|# member is|# members are} shown here";
"lng_channel_only_last_shown#one" = "Only the last {count} member is shown here";
"lng_channel_only_last_shown#other" = "Only the last {count} members are shown here";
"lng_channel_admins" = "Administrators";
"lng_channel_add_admin" = "Add Administrator";
"lng_channel_admin_sure" = "Add {user} to administrators?";
"lng_channel_admins_too_much" = "Sorry, you have reached the limit of the administrators. Please remove one administrator first.";
"lng_channel_admin_status_creator" = "Creator";
"lng_channel_admin_status_promoted_by" = "Promoted by {user}";
"lng_group_blocked_list_about" = "Banned users are removed from the group and can only come back if invited by an admin.\nInvite links don't work for them.";
"lng_chat_all_members_admins" = "All Members Are Admins";
"lng_chat_about_all_admins" = "Group members can add new members, edit name and photo of the group.";
@@ -526,7 +659,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_participant_filter" = "Search";
"lng_participant_invite" = "Invite";
"lng_participant_invite_sorry" = "Sorry, you can only add the first {count:_not_used|# member|# members} to a channel personally.\n\nFrom now on, people will need to join via your invite link.";
"lng_participant_invite_sorry#one" = "Sorry, you can only add the first {count} member to a channel personally.\n\nFrom now on, people will need to join via your invite link.";
"lng_participant_invite_sorry#other" = "Sorry, you can only add the first {count} members to a channel personally.\n\nFrom now on, people will need to join via your invite link.";
"lng_create_group_back" = "Back";
"lng_create_group_next" = "Next";
"lng_create_group_create" = "Create";
@@ -549,8 +683,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_create_channel_link_available" = "This link is available";
"lng_create_channel_link_copied" = "Link copied to clipboard";
"lng_create_group_crop" = "Select a square area for group photo";
"lng_create_channel_crop" = "Select a square area for channel photo";
"lng_create_group_crop" = "Select an area for group photo";
"lng_create_channel_crop" = "Select an area for channel photo";
"lng_failed_add_participant" = "Could not add user. Please try again later.";
"lng_failed_add_not_mutual" = "Sorry, if a person leaves a group, only a mutual contact can bring them back (they need to have your phone number, and you need theirs).";
@@ -568,6 +702,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_message_empty" = "Empty Message";
"lng_message_unsupported" = "This message is not supported by your version of Telegram Desktop. Please update to the last version in Settings or install it from {link}";
"lng_duration_seconds#one" = "{count} second";
"lng_duration_seconds#other" = "{count} seconds";
"lng_duration_minsec_minutes#one" = "{count} min";
"lng_duration_minsec_minutes#other" = "{count} min";
"lng_duration_minsec_seconds#one" = "{count} sec";
"lng_duration_minsec_seconds#other" = "{count} sec";
"lng_duration_minutes_seconds" = "{minutes_count} {seconds_count}";
"lng_action_add_user" = "{from} added {user}";
"lng_action_add_users_many" = "{from} added {users}";
"lng_action_add_users_and_one" = "{accumulated}, {user}";
@@ -596,6 +738,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_video" = "a video";
"lng_action_pinned_media_audio" = "an audio file";
"lng_action_pinned_media_voice" = "a voice message";
"lng_action_pinned_media_video_message" = "a video message";
"lng_action_pinned_media_file" = "a file";
"lng_action_pinned_media_gif" = "a GIF animation";
"lng_action_pinned_media_contact" = "a contact information";
@@ -603,16 +746,24 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_sticker" = "a sticker";
"lng_action_pinned_media_emoji_sticker" = "a {emoji} sticker";
"lng_action_pinned_media_game" = "the game «{game}»";
"lng_action_game_score" = "{from} scored {count:#|#|#} in {game}";
"lng_action_game_you_scored" = "You scored {count:#|#|#} in {game}";
"lng_action_game_score_no_game" = "{from} scored {count:#|#|#}";
"lng_action_game_you_scored_no_game" = "You scored {count:#|#|#}";
"lng_action_game_score#one" = "{from} scored {count} in {game}";
"lng_action_game_score#other" = "{from} scored {count} in {game}";
"lng_action_game_you_scored#one" = "You scored {count} in {game}";
"lng_action_game_you_scored#other" = "You scored {count} in {game}";
"lng_action_game_score_no_game#one" = "{from} scored {count}";
"lng_action_game_score_no_game#other" = "{from} scored {count}";
"lng_action_game_you_scored_no_game#one" = "You scored {count}";
"lng_action_game_you_scored_no_game#other" = "You scored {count}";
"lng_action_payment_done" = "You have just successfully transferred {amount} to {user}";
"lng_action_payment_done_for" = "You have just successfully transferred {amount} to {user} for {invoice}";
"lng_profile_migrate_reached" = "{count:_not_used_|# member|# members} limit reached";
"lng_profile_migrate_reached#one" = "{count} member limit reached";
"lng_profile_migrate_reached#other" = "{count} members limit reached";
"lng_profile_migrate_body" = "To get over this limit, you can upgrade your group to a supergroup.";
"lng_profile_migrate_learn_more" = "Learn more »";
"lng_profile_migrate_about" = "If you'd like to go over this limit, you can upgrade your group to a supergroup. In supergroups:";
"lng_profile_migrate_feature1" = "— The members limit is {count:_not_used_|# user|# users}";
"lng_profile_migrate_feature1#one" = "— The members limit is {count} user";
"lng_profile_migrate_feature1#other" = "— The members limit is {count} users";
"lng_profile_migrate_feature2" = "— New members see the entire chat history";
"lng_profile_migrate_feature3" = "— Admins delete messages for everyone";
"lng_profile_migrate_feature4" = "— Notifications are muted by default";
@@ -627,7 +778,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_convert_feature4" = "— Creator can set a public link for the group";
"lng_profile_convert_warning" = "{bold_start}Note:{bold_end} This action can not be undone";
"lng_profile_convert_confirm" = "Convert";
"lng_profile_add_more_after_upgrade" = "You will be able to add up to {count:_not_used_|# member|# members} after you upgrade your group to a supergroup.";
"lng_profile_add_more_after_upgrade#one" = "You will be able to add up to {count} member after you upgrade your group to a supergroup.";
"lng_profile_add_more_after_upgrade#other" = "You will be able to add up to {count} members after you upgrade your group to a supergroup.";
"lng_channel_not_accessible" = "Sorry, this channel is not accessible.";
"lng_group_not_accessible" = "Sorry, this group is not accessible.";
@@ -642,7 +794,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_group_invite_want_join_channel" = "Do you want to join the channel «{title}»?";
"lng_group_invite_join" = "Join";
"lng_group_invite_members" = "{count:_not_used_|# member|# members}, among them:";
"lng_group_invite_members#one" = "{count} member, among them:";
"lng_group_invite_members#other" = "{count} members, among them:";
"lng_group_invite_link" = "Invite link:";
"lng_group_invite_create" = "Create an invite link";
@@ -655,6 +808,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_public_link_copied" = "Link copied to clipboard.";
"lng_forwarded" = "Forwarded from {user}";
"lng_forwarded_date" = "Original: {date}";
"lng_forwarded_channel" = "Forwarded from {channel}";
"lng_forwarded_via" = "Forwarded from {user} via {inline_bot}";
"lng_forwarded_channel_via" = "Forwarded from {channel} via {inline_bot}";
@@ -705,16 +859,17 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_emoji_category5" = "Travel & Places";
"lng_emoji_category6" = "Objects";
"lng_emoji_category7" = "Symbols & Flags";
"lng_emoji_hide_panel" = "Click here to hide the emoji sidebar";
"lng_recent_stickers" = "Frequently used";
"lng_switch_stickers" = "Stickers";
"lng_switch_stickers_gifs" = "GIFs & Stickers";
"lng_switch_emoji" = "Emoji";
"lng_switch_gifs" = "GIFs";
"lng_stickers_featured_add" = "Add";
"lng_gifs_search" = "Search GIFs";
"lng_gifs_no_saved" = "You have no saved GIFs yet.";
"lng_saved_gifs" = "Saved GIFs";
"lng_inline_bot_results" = "Results from {inline_bot}";
"lng_inline_bot_no_results" = "No results";
"lng_inline_bot_no_results" = "No results.";
"lng_inline_bot_via" = "via {inline_bot}";
"lng_box_remove" = "Remove";
@@ -733,7 +888,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_stickers_you_have" = "Manage and reorder sticker packs";
"lng_stickers_featured" = "Trending Stickers";
"lng_stickers_return" = "Undo";
"lng_stickers_count" = "{count:Loading...|# sticker|# stickers}";
"lng_stickers_count#one" = "{count} sticker";
"lng_stickers_count#other" = "{count} stickers";
"lng_stickers_masks_pack" = "This is a pack of mask stickers. You can use them in the photo editor on our mobile apps.";
"lng_in_dlg_photo" = "Photo";
@@ -741,6 +897,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_in_dlg_audio_file" = "Audio file";
"lng_in_dlg_contact" = "Contact";
"lng_in_dlg_audio" = "Voice message";
"lng_in_dlg_video_message" = "Video message";
"lng_in_dlg_file" = "File";
"lng_in_dlg_sticker" = "Sticker";
"lng_in_dlg_sticker_emoji" = "{emoji} Sticker";
@@ -807,11 +964,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_typing" = "typing";
"lng_user_typing" = "{user} is typing";
"lng_users_typing" = "{user} and {second_user} are typing";
"lng_many_typing" = "{count:_not_used_|# is|# are} typing";
"lng_many_typing#one" = "{count} is typing";
"lng_many_typing#other" = "{count} are typing";
"lng_playing_game" = "playing a game";
"lng_user_playing_game" = "{user} is playing a game";
"lng_users_playing_game" = "{user} and {second_user} are playing a game";
"lng_many_playing_game" = "{count:_not_used_|# is|# are} playing a game";
"lng_many_playing_game#one" = "{count} is playing a game";
"lng_many_playing_game#other" = "{count} are playing a game";
"lng_send_action_record_video" = "recording a video";
"lng_user_action_record_video" = "{user} is recording a video";
"lng_send_action_upload_video" = "sending a video";
@@ -820,6 +979,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_record_audio" = "{user} is recording a voice message";
"lng_send_action_upload_audio" = "sending a voice message";
"lng_user_action_upload_audio" = "{user} is sending a voice message";
"lng_send_action_record_round" = "recording a video message";
"lng_user_action_record_round" = "{user} is recording a video message";
"lng_send_action_upload_round" = "sending a video message";
"lng_user_action_upload_round" = "{user} is sending a video message";
"lng_send_action_upload_photo" = "sending a photo";
"lng_user_action_upload_photo" = "{user} is sending a photo";
"lng_send_action_upload_file" = "sending a file";
@@ -828,7 +991,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_geo_location" = "{user} is picking a location";
"lng_send_action_choose_contact" = "choosing a contact";
"lng_user_action_choose_contact" = "{user} is choosing a contact";
"lng_unread_bar" = "{count:_not_used_|# unread message|# unread messages}";
"lng_unread_bar#one" = "{count} unread message";
"lng_unread_bar#other" = "{count} unread messages";
"lng_maps_point" = "Location";
"lng_save_photo" = "Save image";
@@ -851,7 +1015,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_from_top" = "Unpin from top";
"lng_context_promote_admin" = "Promote to admin";
"lng_context_remove_admin" = "Remove from admins";
"lng_context_edit_permissions" = "Edit permissions";
"lng_context_restrict_user" = "Restrict user";
"lng_context_remove_from_group" = "Remove from group";
"lng_context_copy_link" = "Copy Link";
@@ -877,6 +1042,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_delete_file" = "Delete File";
"lng_context_close_file" = "Close File";
"lng_context_copy_text" = "Copy Text";
"lng_context_open_gif" = "Open GIF";
"lng_context_save_gif" = "Save GIF";
"lng_context_to_msg" = "Go To Message";
"lng_context_reply_msg" = "Reply";
@@ -888,31 +1054,41 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_msg" = "Unpin Message";
"lng_context_cancel_upload" = "Cancel Upload";
"lng_context_copy_selected" = "Copy Selected Text";
"lng_context_copy_selected_items" = "Copy Selected as Text";
"lng_context_forward_selected" = "Forward Selected";
"lng_context_delete_selected" = "Delete Selected";
"lng_context_clear_selection" = "Clear Selection";
"lng_really_send_image" = "Do you want to send this image?";
"lng_really_send_file" = "Do you want to send this file?";
"lng_really_share_contact" = "Do you want to share this contact?";
"lng_send_images_compress" = "Compress {count:_not_used_|image|images}";
"lng_send_images_compress#one" = "Compress image";
"lng_send_images_compress#other" = "Compress images";
"lng_send_image_non_local" = "Could not send a non local file: {name}";
"lng_send_image_empty" = "Could not send an empty file: {name}";
"lng_send_image_too_large" = "Could not send a file, because it is larger than 1500 MB: {name}";
"lng_send_folder" = "Could not send «{name}» because it is a directory :(";
"lng_send_images_selected" = "{count:_not_used_|# image|# images} selected";
"lng_send_photos" = "Send {count:_not_used_|# photo|# photos}";
"lng_send_files_selected" = "{count:_not_used_|# file|# files} selected";
"lng_send_files" = "Send {count:_not_used_|# file|# files}";
"lng_send_images_selected#one" = "{count} image selected";
"lng_send_images_selected#other" = "{count} images selected";
"lng_send_photos#one" = "Send {count} photo";
"lng_send_photos#other" = "Send {count} photos";
"lng_send_files_selected#one" = "{count} file selected";
"lng_send_files_selected#other" = "{count} files selected";
"lng_send_files#one" = "Send {count} file";
"lng_send_files#other" = "Send {count} files";
"lng_forward_choose" = "Choose recipient...";
"lng_forward_cant" = "Sorry, no way to forward here :(";
"lng_forward_confirm" = "Forward to {recipient}?";
"lng_forward_share_contact" = "Share contact to {recipient}?";
"lng_forward_share_cant" = "Sorry, no way to share contact here :(";
"lng_forward_send_file_confirm" = "Send «{name}» to {recipient}?";
"lng_forward_send_files_confirm" = "Send selected files to {recipient}?";
"lng_forward_send_files_cant" = "Sorry, no way to send media here :(";
"lng_forward_send" = "Send";
"lng_forward_messages" = "{count:_not_used_|Forwarded message|# forwarded messages}";
"lng_forwarding_from" = "{user} and {count:_not_used_|# other|# others}";
"lng_forward_messages#one" = "{count} forwarded message";
"lng_forward_messages#other" = "{count} forwarded messages";
"lng_forwarding_from#one" = "{user} and {count} other";
"lng_forwarding_from#other" = "{user} and {count} others";
"lng_forwarding_from_two" = "{user} and {second_user}";
"lng_inline_switch_choose" = "Choose conversation...";
"lng_inline_switch_cant" = "Sorry, no way to write here :(";
@@ -934,6 +1110,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_edit_contact_title" = "Edit contact name";
"lng_edit_channel_title" = "Edit channel";
"lng_edit_sign_messages" = "Sign messages";
"lng_edit_group_who_invites" = "Who can add members";
"lng_edit_group_invites_everybody" = "All members";
"lng_edit_group_invites_only_admins" = "Only admins";
"lng_edit_group" = "Edit group";
"lng_edit_self_title" = "Edit your name";
"lng_confirm_contact_data" = "New Contact";
@@ -958,15 +1137,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_selected_clear" = "Cancel";
"lng_selected_delete" = "Delete";
"lng_selected_forward" = "Forward";
"lng_selected_count" = "{count:_not_used_|# message|# messages}";
"lng_selected_count#one" = "{count} message";
"lng_selected_count#other" = "{count} messages";
"lng_selected_cancel_sure_this" = "Cancel uploading?";
"lng_selected_upload_stop" = "Stop";
"lng_selected_delete_sure_this" = "Do you want to delete this message?";
"lng_selected_delete_sure" = "Do you want to delete {count:_not_used_|# message|# messages}?";
"lng_selected_delete_sure#one" = "Do you want to delete {count} message?";
"lng_selected_delete_sure#other" = "Do you want to delete {count} messages?";
"lng_delete_photo_sure" = "Do you want to delete this photo?";
"lng_delete_for_everyone_hint" = "This will delete {count:_not_used_|it|them} for everyone in this chat.";
"lng_delete_for_me_chat_hint" = "This will delete {count:_not_used_|it|them} just for you, not for other participants of the chat.";
"lng_delete_for_me_hint" = "This will delete {count:_not_used_|it|them} just for you.";
"lng_delete_for_everyone_hint#one" = "This will delete it for everyone in this chat.";
"lng_delete_for_everyone_hint#other" = "This will delete them for everyone in this chat.";
"lng_delete_for_me_chat_hint#one" = "This will delete it just for you, not for other participants of the chat.";
"lng_delete_for_me_chat_hint#other" = "This will delete them just for you, not for other participants of the chat.";
"lng_delete_for_me_hint#one" = "This will delete it just for you.";
"lng_delete_for_me_hint#other" = "This will delete them just for you.";
"lng_delete_for_everyone_check" = "Delete for everyone";
"lng_delete_for_other_check" = "Delete for {user}";
"lng_box_delete" = "Delete";
@@ -978,7 +1162,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_about_text_3" = "Visit {faq_open}Telegram FAQ{faq_close} for more info.";
"lng_about_done" = "Done";
"lng_search_found_results" = "{count:No messages found|Found # message|Found # messages}";
"lng_search_no_results" = "No messages found";
"lng_search_found_results#one" = "Found {count} message";
"lng_search_found_results#other" = "Found {count} messages";
"lng_search_global_results" = "Global search results";
"lng_media_save_progress" = "{ready} of {total} {mb}";
@@ -1010,7 +1196,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram Desktop was updated to version {version}\n\n{changes}\n\nFull version history is available here:\n{link}";
"lng_new_version_minor" = "— Bug fixes and other minor improvements";
"lng_new_version_text" = "— Click and drag to reorder pinned chats.\n— Bug fixes and other minor improvements.";
"lng_new_version_text" = "— Improved video messages: radial playback progress, Picture-in-Picture support, duration countdown.\n— Voice and video messages now automatically play one after another.";
"lng_menu_insert_unicode" = "Insert Unicode control character";
@@ -1023,6 +1209,181 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_confirm_phone_send" = "Send";
"lng_confirm_phone_enter_code" = "Please enter the code.";
"lng_theme_editor_no_keys" = "No keys in the palette yet";
"lng_theme_editor_cant_change_theme" = "You can not apply new themes while you're editing the color palette. Please close the theme editor first.";
"lng_theme_editor_new_keys" = "Not in the palette yet";
"lng_theme_editor_background_image" = "Background image";
"lng_theme_editor_saved_to_jpg" = "Saved to JPEG, {size}";
"lng_theme_editor_read_from_jpg" = "JPEG image, {size}";
"lng_theme_editor_read_from_png" = "PNG image, {size}";
"lng_theme_editor_export" = "Export";
"lng_theme_editor_choose_image" = "Choose background image";
"lng_theme_editor_save_palette" = "Save palette file";
"lng_theme_editor_choose_name" = "Save theme file";
"lng_theme_editor_error" = "The editor encountered an error :( See 'log.txt' for details.";
"lng_theme_editor_done" = "Theme exported successfully!";
"lng_theme_editor_title" = "Edit color palette";
"lng_theme_editor_export_button" = "Export theme";
"lng_payments_not_supported" = "Sorry, Telegram Desktop doesn't support payments yet. Please use one of our mobile apps to do this.";
"lng_payments_receipt_label" = "Receipt";
"lng_payments_receipt_label_test" = "Test receipt";
"lng_payments_invoice_label" = "Invoice";
"lng_payments_invoice_label_test" = "Test invoice";
"lng_payments_receipt_button" = "Receipt";
"lng_call_status_incoming" = "is calling you...";
"lng_call_status_connecting" = "connecting...";
"lng_call_status_exchanging" = "exchanging encryption keys...";
"lng_call_status_waiting" = "waiting...";
"lng_call_status_requesting" = "requesting...";
"lng_call_status_hanging" = "hanging up...";
"lng_call_status_ended" = "call ended";
"lng_call_status_failed" = "failed to connect";
"lng_call_status_ringing" = "ringing...";
"lng_call_status_busy" = "line busy";
"lng_call_fingerprint_tooltip" = "If emoji on {user}'s screen are the same, this call is 100% secure";
"lng_call_error_not_available" = "Sorry, {user} doesn't accept calls.";
"lng_call_error_incompatible" = "{user}'s app is using an incompatible protocol. They need to update their app before you can call them.";
"lng_call_error_outdated" = "{user}'s app does not support calls. They need to update their app before you can call them.";
"lng_call_error_audio_io" = "There seems to be a problem with audio playback on your computer. Please make sure that your computer's speakers and microphone are working and try again.";
"lng_call_bar_hangup" = "End call";
"lng_call_box_title" = "Calls";
"lng_call_box_about" = "You didn't make any calls yet.";
"lng_call_box_status_today" = "{time}";
"lng_call_box_status_yesterday" = "Yesterday at {time}";
"lng_call_box_status_date" = "{date} at {time}";
"lng_call_box_status_group" = "({count}) {status}";
"lng_call_outgoing" = "Outgoing call";
"lng_call_incoming" = "Incoming call";
"lng_call_missed" = "Missed call";
"lng_call_cancelled" = "Cancelled call";
"lng_call_declined" = "Declined call";
"lng_call_duration_info" = "{time}, {duration}";
"lng_call_type_and_duration" = "{type} ({duration})";
"lng_call_rate_label" = "Please rate the quality of your call";
"lng_call_rate_comment" = "Comment (optional)";
"lng_player_message_today" = "Today at {time}";
"lng_player_message_yesterday" = "Yesterday at {time}";
"lng_player_message_date" = "{date} at {time}";
"lng_rights_edit_admin" = "Edit administrator";
"lng_rights_edit_admin_header" = "What can this admin do?";
"lng_rights_about_add_admins_yes" = "This admin will be able to add new admins with the same (or more limited) permissions.";
"lng_rights_about_add_admins_no" = "This admin will not be able to add new admins.";
"lng_rights_user_restrictions" = "User restrictions";
"lng_rights_user_restrictions_header" = "What can this user do?";
"lng_rights_channel_info" = "Change channel info";
"lng_rights_channel_post" = "Post messages";
"lng_rights_channel_edit" = "Edit messages of others";
"lng_rights_channel_delete" = "Delete messages of others";
"lng_rights_group_info" = "Change group info";
"lng_rights_group_ban" = "Ban users";
"lng_rights_group_invite_link" = "Invite users via link";
"lng_rights_group_invite" = "Add users";
"lng_rights_group_pin" = "Pin messages";
"lng_rights_group_delete" = "Delete messages";
"lng_rights_add_admins" = "Add new admins";
"lng_rights_chat_read" = "Read messages";
"lng_rights_chat_send_text" = "Send messages";
"lng_rights_chat_send_media" = "Send media";
"lng_rights_chat_send_stickers" = "Send stickers & GIFs";
"lng_rights_chat_send_links" = "Embed links";
"lng_rights_chat_banned_until" = "Restricted until: {when}";
"lng_rights_chat_banned_forever" = "Forever";
"lng_rights_chat_banned_block" = "Ban and remove from group";
"lng_restricted_send_message" = "The admins of this group restricted you from writing here.";
"lng_restricted_send_media" = "The admins of this group restricted you from posting media content here.";
"lng_restricted_send_stickers" = "The admins of this group restricted you from posting stickers here.";
"lng_restricted_send_gifs" = "The admins of this group restricted you from posting GIFs here.";
"lng_restricted_send_inline" = "The admins of this group restricted you from posting inline content here.";
"lng_restricted_list_title" = "Restricted users";
"lng_banned_list_title" = "Banned users";
"lng_admin_log_title_all" = "All actions";
"lng_admin_log_title_selected" = "Selected actions";
"lng_admin_log_filter" = "Filter";
"lng_admin_log_filter_title" = "Filter";
"lng_admin_log_filter_all_actions" = "All actions";
"lng_admin_log_filter_restrictions" = "New restrictions";
"lng_admin_log_filter_admins_new" = "New admins";
"lng_admin_log_filter_members_new" = "New members";
"lng_admin_log_filter_info_group" = "Group info";
"lng_admin_log_filter_info_channel" = "Channel info";
"lng_admin_log_filter_messages_deleted" = "Deleted messages";
"lng_admin_log_filter_messages_edited" = "Edited messages";
"lng_admin_log_filter_messages_pinned" = "Pinned messages";
"lng_admin_log_filter_members_removed" = "Leaving members";
"lng_admin_log_filter_all_admins" = "All users and admins";
"lng_admin_log_about" = "What is this?";
"lng_admin_log_about_text" = "This is a list of all service actions taken by the group's members and admins in the last 48 hours.";
"lng_admin_log_no_results_title" = "No events found";
"lng_admin_log_no_results_text" = "No recent events that match your query have been found.";
"lng_admin_log_no_events_title" = "No events yet";
"lng_admin_log_no_events_text" = "There were no service actions\ntaken by the group's members\nand admins in the last 48 hours.";
"lng_admin_log_empty_text" = "Empty";
"lng_admin_log_changed_title_group" = "{from} changed group name to «{title}»";
"lng_admin_log_changed_title_channel" = "{from} changed channel name to «{title}»";
"lng_admin_log_changed_description_group" = "{from} edited group description:";
"lng_admin_log_removed_description_group" = "{from} removed group description";
"lng_admin_log_changed_description_channel" = "{from} edited channel description:";
"lng_admin_log_removed_description_channel" = "{from} removed channel description";
"lng_admin_log_previous_description" = "Previous description";
"lng_admin_log_changed_link_group" = "{from} changed group link:";
"lng_admin_log_removed_link_group" = "{from} removed group link";
"lng_admin_log_changed_link_channel" = "{from} changed channel link:";
"lng_admin_log_removed_link_channel" = "{from} removed channel link";
"lng_admin_log_previous_link" = "Previous link";
"lng_admin_log_changed_photo_group" = "{from} changed group photo";
"lng_admin_log_changed_photo_channel" = "{from} changed channel photo";
"lng_admin_log_removed_photo_group" = "{from} removed group photo";
"lng_admin_log_removed_photo_channel" = "{from} removed channel photo";
"lng_admin_log_invites_enabled" = "{from} enabled group invites";
"lng_admin_log_invites_disabled" = "{from} disabled group invites";
"lng_admin_log_signatures_enabled" = "{from} enabled signatures";
"lng_admin_log_signatures_disabled" = "{from} disabled signatures";
"lng_admin_log_pinned_message" = "{from} pinned message:";
"lng_admin_log_unpinned_message" = "{from} unpinned message";
"lng_admin_log_edited_caption" = "{from} edited caption:";
"lng_admin_log_removed_caption" = "{from} removed caption";
"lng_admin_log_previous_caption" = "Original caption";
"lng_admin_log_edited_message" = "{from} edited message:";
"lng_admin_log_previous_message" = "Original message";
"lng_admin_log_deleted_message" = "{from} deleted message:";
"lng_admin_log_participant_joined" = "{from} joined the group";
"lng_admin_log_participant_left" = "{from} left the group";
"lng_admin_log_invited" = "invited {user}";
"lng_admin_log_banned" = "banned {user}";
"lng_admin_log_restricted" = "changed restrictions for {user} {until}";
"lng_admin_log_promoted" = "changed privileges for {user}";
"lng_admin_log_user_with_username" = "{name} ({mention})";
"lng_admin_log_restricted_forever" = "indefinitely";
"lng_admin_log_restricted_until" = "until {date}";
"lng_admin_log_banned_view_messages" = "Read messages";
"lng_admin_log_banned_send_messages" = "Send messages";
"lng_admin_log_banned_send_media" = "Send media";
"lng_admin_log_banned_send_stickers" = "Send stickers & GIFs";
"lng_admin_log_banned_embed_links" = "Embed links";
"lng_admin_log_admin_change_info" = "Change info";
"lng_admin_log_admin_post_messages" = "Post messages";
"lng_admin_log_admin_edit_messages" = "Edit messages";
"lng_admin_log_admin_delete_messages" = "Delete messages";
"lng_admin_log_admin_ban_users" = "Ban users";
"lng_admin_log_admin_invite_users" = "Add users";
"lng_admin_log_admin_invite_link" = "Invite users via link";
"lng_admin_log_admin_pin_messages" = "Pin messages";
"lng_admin_log_admin_add_admins" = "Add new admins";
// Not used
"lng_topbar_info" = "Info";

View File

@@ -22,11 +22,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_switch_to_this" = "Auf Deutsch zurücksetzen";
"lng_menu_contacts" = "Kontakte";
"lng_menu_calls" = "Anrufe";
"lng_menu_settings" = "Einstellungen";
"lng_menu_about" = "Über";
"lng_menu_update" = "Update";
"lng_menu_restart" = "Neustart";
"lng_menu_back" = "Zurück";
"lng_menu_night_mode" = "Nachtmodus";
"lng_disable_notifications_from_tray" = "Benachrichtigungen aus";
"lng_enable_notifications_from_tray" = "Benachrichtigungen ein";
@@ -79,7 +81,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_month_day" = "{day}. {month}";
"lng_month_day_year" = "{day}. {month} {year}";
"lng_month_year" = "{month}, {year}";
"lng_month_year" = "{month} {year}";
"lng_box_ok" = "OK";
@@ -87,7 +89,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_continue" = "Weiter";
"lng_close" = "Schließen";
"lng_connecting" = "Verbinde...";
"lng_reconnecting" = "Neu verbinden {count:jetzt|in # s|in # s}...";
"lng_connecting_to_proxy" = "Verbinde mit Proxy...";
"lng_connecting_settings" = "Einstellungen";
"lng_reconnecting#one" = "Neu verbinden in {count} s...";
"lng_reconnecting#other" = "Neu verbinden in {count} s...";
"lng_reconnecting_try_now" = "Jetzt versuchen";
"lng_status_service_notifications" = "Servicemeldungen";
@@ -101,8 +106,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_last_month" = "innerhalb eines Monats gesehen";
"lng_status_invisible" = "unsichtbar";
"lng_status_lastseen_now" = "gerade eben gesehen";
"lng_status_lastseen_minutes" = "zuletzt gesehen vor {count:_not_used_|# Minute|# Minuten}";
"lng_status_lastseen_hours" = "zuletzt gesehen vor {count:_not_used_|# Stunde|# Stunden}";
"lng_status_lastseen_minutes#one" = "zuletzt gesehen vor {count} Minute";
"lng_status_lastseen_minutes#other" = "zuletzt gesehen vor {count} Minuten";
"lng_status_lastseen_hours#one" = "zuletzt gesehen vor {count} Stunde";
"lng_status_lastseen_hours#other" = "zuletzt gesehen vor {count} Stunden";
"lng_status_lastseen_today" = "zuletzt heute um {time} gesehen";
"lng_status_lastseen_yesterday" = "gestern um {time} zuletzt gesehen";
"lng_status_lastseen_date" = "zuletzt gesehen am {date}";
@@ -111,14 +118,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_connecting" = "verbinden...";
"lng_chat_status_unaccessible" = "Gruppe ist nicht verfügbar";
"lng_chat_status_members" = "{count:keine Mitglieder|# Mitglied|# Mitglieder}";
"lng_chat_status_members_online" = "{count:_not_used_|# Mitglied|# Mitglieder}, {count_online:_not_used_|# online|# online}";
"lng_chat_status_no_members" = "keine Mitglieder";
"lng_chat_status_members#one" = "{count} Mitglied";
"lng_chat_status_members#other" = "{count} Mitglieder";
"lng_chat_status_online#one" = "{count} online";
"lng_chat_status_online#other" = "{count} online";
"lng_chat_status_members_online" = "{members_count}, {online_count}";
"lng_channel_status" = "Kanal";
"lng_group_status" = "Gruppe";
"lng_channel_members_link" = "{count:_not_used_|# Mitglied|# Mitglieder}";
"lng_channel_admins_link" = "{count:_not_used_|# Administrator|# Administratoren}";
"lng_channel_members_link#one" = "{count} Mitglied";
"lng_channel_members_link#other" = "{count} Mitglieder";
"lng_channel_admins_link#one" = "{count} Administrator";
"lng_channel_admins_link#other" = "{count} Administratoren";
"lng_server_error" = "Interner Serverfehler.";
"lng_flood_error" = "Zu viele Versuche, bitte später erneut probieren.";
@@ -127,13 +140,26 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_join_channel_error" = "Du bist bereits in zu vielen Kanälen und Supergruppen. Bitte trenne dich zuvor von ein paar davon.";
"lng_error_phone_flood" = "Du hast dein Konto leider zu oft gelöscht. Bitte warte einige Tage, erst dann kannst du dich erneut registrieren.";
"lng_error_start_minimized_passcoded" = "Du hast den lokalen Pincode-Schutz aktiviert, deshalb kannst du die App nicht minimiert starten. Die App muss dich vorher nach dem Pincode fragen.";
"lng_error_pinned_max" = "Du kannst nicht mehr als {count:_not_used_|# Chat|# Chats} oben anheften.";
"lng_error_pinned_max#one" = "Du kannst nicht mehr als {count} Chat oben anheften.";
"lng_error_pinned_max#other" = "Du kannst nicht mehr als {count} Chats oben anheften.";
"lng_error_public_groups_denied" = "Leider kannst du an keinen öffentlichen Gruppen mehr teilnehmen.\n{more_info}";
"lng_error_cant_edit_admin" = "Du kannst die Berechtigungen für diesen Admin nicht ändern.";
"lng_error_cant_add_member" = "Du kannst diesen Bot leider nicht der Gruppe hinzufügen. Ein Admin der Gruppe kann ihn hinzufügen.";
"lng_error_cant_add_admin_invite" = "Du kannst diesen Nutzer nicht als Admin festlegen, da er kein Mitglied dieser Gruppe ist oder du keine Erlaubnis hast, ihn einzuladen.";
"lng_error_cant_add_admin_unban" = "Du kannst diesen Nutzer nicht als Admin festlegen, da er sich in der Sperrliste befindet und du ihn nicht entsperren darfst.";
"lng_error_cant_ban_admin" = "Du kannst diesen Nutzer nicht sperren, da er ein Admin dieser Gruppe ist und du keine Berechtigung hast, ihn zurückzustufen.";
"lng_sure_add_admin_invite" = "Dieser Nutzer ist kein Gruppenmitglied. Möchtest du ihn der Gruppe hinzufügen und als Admin festlegen?";
"lng_sure_add_admin_unban" = "Dieser Nutzer ist derzeit in dieser Gruppe eingeschränkt oder gesperrt. Möchtest du ihn entsperren und befördern?";
"lng_sure_ban_admin" = "Dieser Nutzer ist Admin in dieser Gruppe. Möchtest du fortfahren und ihn einschränken?";
"lng_sure_ban_user_group" = "{user} in der Gruppe sperren?";
"lng_sure_enable_socks" = "Möchtest du wirklich diesen Proxy aktivieren?\n\nServer: {server}\nPort: {port}\n\nDu kannst ihn später in den Einstellungen (Verbindungsart) ändern.";
"lng_sure_enable" = "Aktivieren";
"lng_edit_deleted" = "Diese Nachricht wurde gelöscht";
"lng_edit_too_long" = "Der Text ist leider zu lang";
"lng_edit_message" = "Nachricht bearbeiten";
"lng_edit_message_text" = "Neuer Text...";
"lng_deleted" = "Gelöschter Kontakt";
"lng_deleted" = "Gelöschtes Konto";
"lng_deleted_message" = "Gelöschte Nachricht";
"lng_pinned_message" = "Angeheftete Nachricht";
"lng_pinned_unpin_sure" = "Angeheftete Nachricht entfernen?";
@@ -196,9 +222,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_signin_sure_reset" = "Hinweis!\n\nDu verlierst du alle Chats und Nachrichten, ebenso deine geteilten Bilder und Videos.\n\nKonto wirklich zurücksetzen?";
"lng_signin_reset" = "Zurücksetzen";
"lng_signin_reset_wait" = "Da dein Konto {phone_number} aktiv und durch ein Kennwort geschützt ist, löschen wir es aus Sicherheitsgründen in einer Woche. Du kannst den Vorgang jederzeit abbrechen.\n\nDu kannst dein Konto zurücksetzen in:\n{when}";
"lng_signin_reset_in_days" = "{count_days:0 Tage|# Tag|# Tage} {count_hours:0 Stunden|# Stunde|# Stunden} {count_minutes:0 Minuten|# Minute|# Minuten}";
"lng_signin_reset_in_hours" = "{count_hours:0 Stunden|# Stunde|# Stunden} {count_minutes:0 Minuten|# Minute|# Minuten}";
"lng_signin_reset_in_minutes" = "{count_minutes:0 Minuten|# Minute|# Minuten}";
"lng_signin_reset_days#one" = "{count} Tag";
"lng_signin_reset_days#other" = "{count} Tage";
"lng_signin_reset_hours#one" = "{count} Stunde";
"lng_signin_reset_hours#other" = "{count} Stunden";
"lng_signin_reset_minutes#one" = "{count} Minute";
"lng_signin_reset_minutes#other" = "{count} Minuten";
"lng_signin_reset_in_days" = "{days_count} {hours_count} {minutes_count}";
"lng_signin_reset_in_hours" = "{hours_count} {minutes_count}";
"lng_signin_reset_cancelled" = "Deine vorherigen Versuche das Konto zurückzusetzen wurden durch den aktiven Nutzer abgebrochen. Bitte in 7 Tagen erneut probieren.";
"lng_signup_title" = "Deine Info";
@@ -221,10 +252,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_save" = "Speichern";
"lng_settings_upload" = "Profilbild festlegen";
"lng_settings_crop_profile" = "Sichtbaren Bereich für Bild wählen";
"lng_settings_crop_profile" = "Wähle einen Bereich für dein Profilbild";
"lng_settings_uploading_photo" = "Bild wird geladen...";
"lng_settings_edit" = "Bearbeiten";
"lng_settings_drop_area_subtitle" = "um es als dein Bild auszuwählen";
"lng_username_title" = "Benutzername";
@@ -296,12 +326,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_bg_use_default" = "Benutze Standardthema";
"lng_settings_bg_from_gallery" = "Aus der Galerie";
"lng_settings_bg_from_file" = "Durchsuchen";
"lng_settings_bg_edit_theme" = "Thema bearbeiten";
"lng_settings_bg_tile" = "Nebeneinander";
"lng_settings_adaptive_wide" = "Flexibles Layout für breite Bildschirme";
"lng_backgrounds_header" = "Neuen Chat-Hintergrund wählen";
"lng_theme_sure_keep" = "Wirklich dieses Thema verwenden?";
"lng_theme_reverting" = "Vorheriges Thema wird in {count:_not_used_|# Sekunde|# Sekunden} benutzt.";
"lng_theme_reverting#one" = "Vorheriges Thema wird in {count} Sekunde benutzt.";
"lng_theme_reverting#other" = "Vorheriges Thema wird in {count} Sekunden benutzt.";
"lng_theme_keep_changes" = "Anwenden";
"lng_theme_revert" = "Zurücksetzen";
@@ -327,14 +359,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_local_storage_title" = "Lokaler Cache";
"lng_settings_no_data_cached" = "Keine temporären Daten!";
"lng_settings_images_cached" = "{count:_not_used_|# Bild|# Bilder}, {size}";
"lng_settings_audios_cached" = "{count:_not_used_|# Sprachnachricht|# Sprachnachrichten}, {size}";
"lng_settings_images_cached#one" = "{count} Bild, {size}";
"lng_settings_images_cached#other" = "{count} Bilder, {size}";
"lng_settings_audios_cached#one" = "{count} Sprachnachricht, {size}";
"lng_settings_audios_cached#other" = "{count} Sprachnachrichten, {size}";
"lng_local_storage_clear" = "Leeren";
"lng_local_storage_clearing" = "Leeren...";
"lng_local_storage_cleared" = "Alles entfernt!";
"lng_local_storage_clear_failed" = "Ein Fehler ist aufgetreten :(";
"lng_settings_section_advanced_settings" = "Erweiterte Einstellungen";
"lng_settings_enable_night_theme" = "Nachtmodus aktivieren";
"lng_settings_disable_night_theme" = "Nachtmodus deaktivieren";
"lng_passcode_remove_button" = "Entfernen";
@@ -346,8 +382,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_passcode_autolock" = "Auto-Sperre";
"lng_passcode_autolock_away" = "Auto-Sperre bei Abwesenheit:";
"lng_passcode_autolock_inactive" = "Auto-Sperre bei Inaktivität:";
"lng_passcode_autolock_minutes" = "{count:_not_used_|# Minute|# Minuten}";
"lng_passcode_autolock_hours" = "{count:_not_used_|# Stunde|# Stunden}";
"lng_passcode_autolock_minutes#one" = "{count} Minute";
"lng_passcode_autolock_minutes#other" = "{count} Minuten";
"lng_passcode_autolock_hours#one" = "{count} Stunde";
"lng_passcode_autolock_hours#other" = "{count} Stunden";
"lng_passcode_enter_old" = "Aktuellen Pincode eingeben";
"lng_passcode_enter_first" = "Pincode festlegen";
"lng_passcode_enter_new" = "Neuer Pincode";
@@ -403,10 +441,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_connection_user_ph" = "Benutzer";
"lng_connection_password_ph" = "Kennwort";
"lng_connection_save" = "Speichern";
"lng_settings_blocked_users" = "Blockierte Nutzer";
"lng_settings_last_seen_privacy" = "Zuletzt gesehen";
"lng_settings_calls_privacy" = "Anrufe";
"lng_settings_groups_invite_privacy" = "Gruppen";
"lng_settings_show_sessions" = "Sitzungen";
"lng_settings_reset" = "Alle anderen Geräte abmelden";
"lng_settings_reset_sure" = "Sicher, dass du alle anderen Geräte\nabmelden möchtest?";
"lng_settings_reset_one_sure" = "Dieses Gerät wirklich abmelden?";
"lng_settings_self_destruct" = "Kontolöschung bei Inaktivität";
"lng_settings_change_phone" = "Nummer ändern";
"lng_settings_reset" = "Alle anderen Sitzungen abmelden";
"lng_settings_reset_sure" = "Sicher, dass du alle anderen Sitzungen\nabmelden möchtest?";
"lng_settings_reset_one_sure" = "Diese Sitzung wirklich abmelden?";
"lng_settings_reset_button" = "Beenden";
"lng_settings_reset_done" = "Alle anderen Sitzungen wurden erfolgreich beendet.";
"lng_settings_manage_local_storage" = "Lokalen Cache verwalten";
@@ -422,11 +468,81 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_restart_now" = "NEUSTART";
"lng_settings_restart_later" = "SPÄTER";
"lng_sessions_header" = "Aktuelles Gerät";
"lng_sessions_other_header" = "Andere Geräte";
"lng_sessions_no_other" = "Keine anderen Geräte";
"lng_sessions_header" = "Aktuelle Sitzung";
"lng_sessions_other_header" = "Aktive Sitzungen";
"lng_sessions_no_other" = "Keine anderen Sitzungen";
"lng_sessions_other_desc" = "Du kannst Telegram gleichzeitig vom Handy, Tablet oder auch Computer mit der gleichen Handynummer benutzen. Alles wird immer synchronisiert.";
"lng_sessions_terminate_all" = "Alle anderen Geräte abmelden";
"lng_sessions_terminate_all" = "Alle anderen Sitzungen abmelden";
"lng_blocked_list_title" = "Blockierte Nutzer";
"lng_blocked_list_unknown_phone" = "unbekannte Nummer";
"lng_blocked_list_unblock" = "Freigeben";
"lng_blocked_list_add" = "Nutzer blockieren";
"lng_blocked_list_add_title" = "Wen möchtest du blockieren?";
"lng_blocked_list_already_blocked" = "bereits blockiert";
"lng_blocked_list_about" = "Blockierte Nutzer können dir keine Nachrichten schicken oder dich in Gruppen einladen. Sie sehen weder dein Profilbild, noch deinen Online- und \"zuletzt gesehen\" Status.";
"lng_blocked_list_not_found" = "Keine Nutzer gefunden.";
"lng_edit_privacy_everyone" = "Jeder";
"lng_edit_privacy_contacts" = "Meine Kontakte";
"lng_edit_privacy_nobody" = "Niemand";
"lng_edit_privacy_exceptions" = "Ausnahmen hinzufügen";
"lng_edit_privacy_lastseen_title" = "Zuletzt gesehen";
"lng_edit_privacy_lastseen_description" = "Wer darf deine \"zuletzt gesehen\" Zeit sehen:";
"lng_edit_privacy_lastseen_warning" = "Wichtig: Du kannst den \"zuletzt gesehen\" Status nur von Personen sehen, mit denen du auch deinen teilst. Sonst wird nur die ungefähre Zeit angezeigt.";
"lng_edit_privacy_lastseen_always_empty" = "Immer teilen mit";
"lng_edit_privacy_lastseen_always#one" = "Immer teilen mit {count} Kontakt";
"lng_edit_privacy_lastseen_always#other" = "Immer teilen mit {count} Kontakten";
"lng_edit_privacy_lastseen_never_empty" = "Niemals teilen mit";
"lng_edit_privacy_lastseen_never#one" = "Niemals teilen mit {count} Kontakt";
"lng_edit_privacy_lastseen_never#other" = "Niemals teilen mit {count} Kontakten";
"lng_edit_privacy_lastseen_exceptions" = "Hier kannst du Kontakte hinzufügen, für die eine Ausnahme gemacht werden soll.";
"lng_edit_privacy_lastseen_always_title" = "Immer teilen mit";
"lng_edit_privacy_lastseen_never_title" = "Niemals teilen mit";
"lng_edit_privacy_groups_title" = "Wer kann mich Gruppen hinzufügen?";
"lng_edit_privacy_groups_description" = "Du kannst bestimmen, wer dich in Gruppen oder Kanälen hinzufügen kann:";
"lng_edit_privacy_groups_always_empty" = "Immer erlauben";
"lng_edit_privacy_groups_always#one" = "Immer {count} Kontakt erlauben";
"lng_edit_privacy_groups_always#other" = "Immer {count} Kontakten erlauben";
"lng_edit_privacy_groups_never_empty" = "Niemals erlauben";
"lng_edit_privacy_groups_never#one" = "Niemals {count} Kontakt erlauben";
"lng_edit_privacy_groups_never#other" = "Niemals {count} Kontakten erlauben";
"lng_edit_privacy_groups_exceptions" = "Hier kannst du Nutzer hinzufügen, für die eine Ausnahme gemacht werden soll.";
"lng_edit_privacy_groups_always_title" = "Immer erlauben";
"lng_edit_privacy_groups_never_title" = "Niemals erlauben";
"lng_edit_privacy_calls_title" = "Anrufe";
"lng_edit_privacy_calls_description" = "Du kannst festlegen, wer dich anrufen darf:";
"lng_edit_privacy_calls_always_empty" = "Immer erlauben";
"lng_edit_privacy_calls_always#one" = "Immer {count} Kontakt erlauben";
"lng_edit_privacy_calls_always#other" = "Immer {count} Kontakten erlauben";
"lng_edit_privacy_calls_never_empty" = "Niemals erlauben";
"lng_edit_privacy_calls_never#one" = "Niemals {count} Kontakt erlauben";
"lng_edit_privacy_calls_never#other" = "Niemals {count} Kontakten erlauben";
"lng_edit_privacy_calls_exceptions" = "Hier kannst du Nutzer hinzufügen, für die eine Ausnahme gemacht werden soll.";
"lng_edit_privacy_calls_always_title" = "Immer erlauben";
"lng_edit_privacy_calls_never_title" = "Niemals erlauben";
"lng_self_destruct_title" = "Automatische Kontolöschung";
"lng_self_destruct_description" = "Wenn du dich innerhalb dieser Zeit nicht anmeldest, wird dein Konto mit allen Nachrichten, Gruppen und Kontakten gelöscht.";
"lng_self_destruct_months#one" = "{count} Monat";
"lng_self_destruct_months#other" = "{count} Monate";
"lng_self_destruct_years#one" = "{count} Jahr";
"lng_self_destruct_years#other" = "{count} Jahre";
"lng_change_phone_title" = "Nummer ändern";
"lng_change_phone_description" = "Du kannst deine Telefonnummer hier ändern.\nDein Konto und alle Daten in der Cloud, also \nNachrichten, Medien, Kontakte, etc. werden \nauf das neue Konto übertragen.\n\n[b]Wichtig[/b]: Alle deine Kontakte erhalten deine\n[b]neue Nummer[/b] ihrem Telefonbuch\nhinzugefügt, sofern sie deine alte Nummer \nhatten und du sie nicht blockiert hattest.";
"lng_change_phone_warning" = "Bitte beachte, dass alle deine Kontakte deine neue Nummer ihrem Telefonbuch hinzugefügt bekommen, sofern sie deine alte Nummer gespeichert hatten und du sie nicht blockiert hattest.";
"lng_change_phone_occupied" = "Unter der Nummer {phone} gibt es bereits ein Telegram-Konto. Du musst es vor der Änderung deiner Nummer löschen.";
"lng_change_phone_button" = "Nummer ändern";
"lng_change_phone_new_title" = "Neue Nummer eingeben";
"lng_change_phone_new_description" = "Der Bestätigungscode kommt per SMS an deine neue Nummer.";
"lng_change_phone_new_submit" = "Absenden";
"lng_change_phone_code_title" = "Code eingeben";
"lng_change_phone_code_description" = "Wir haben dir einen Bestätigungscode per SMS an {phone} gesendet.";
"lng_change_phone_success" = "Deine Telefonnummer wurde geändert.";
"lng_preview_loading" = "Lade Linkvorschau...";
@@ -441,7 +557,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_create_public_link" = "Öffentlichen Link erstellen";
"lng_profile_edit_public_link" = "Öffentlichen Link bearbeiten";
"lng_profile_manage_admins" = "Administratoren verwalten";
"lng_profile_common_groups" = "{count:_not_used_|# gemeinsame Gruppe|# gemeinsame Gruppen}";
"lng_profile_manage_blocklist" = "Gesperrte Nutzer verwalten";
"lng_profile_manage_restrictedlist" = "Eingeschränke Nutzer verwalten";
"lng_profile_recent_actions" = "Letzte Aktionen";
"lng_profile_common_groups#one" = "{count} gemeinsame Gruppe";
"lng_profile_common_groups#other" = "{count} gemeinsame Gruppen";
"lng_profile_common_groups_section" = "Gemeinsame Gruppen";
"lng_profile_participants_section" = "Teilnehmer";
"lng_profile_info_section" = "Info";
@@ -475,23 +595,30 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_delete_and_exit" = "Verlassen";
"lng_profile_kick" = "Entfernen";
"lng_profile_admin" = "Admin";
"lng_profile_edit_permissions" = "Bearbeiten";
"lng_profile_sure_kick" = "{user} aus der Gruppe entfernen?";
"lng_profile_sure_kick_channel" = "{user} aus dem Kanal entfernen?";
"lng_profile_sure_kick_admin" = "{user} als Administrator entfernen?";
"lng_profile_loading" = "Lade...";
"lng_profile_shared_media" = "Geteilte Medien";
"lng_profile_no_media" = "Noch keine Medien in diesem Chat";
"lng_profile_photos" = "{count:_not_used_|# Bild|# Bilder}";
"lng_profile_photos#one" = "{count} Bild";
"lng_profile_photos#other" = "{count} Bilder";
"lng_profile_photos_header" = "Bilder";
"lng_profile_videos" = "{count:_not_used_|# Video|# Videos}";
"lng_profile_videos#one" = "{count} Video";
"lng_profile_videos#other" = "{count} Videos";
"lng_profile_videos_header" = "Videos";
"lng_profile_songs" = "{count:_not_used_|# Audio|# Audios}";
"lng_profile_songs#one" = "{count} Audiodatei";
"lng_profile_songs#other" = "{count} Audiodateien";
"lng_profile_songs_header" = "Audiodateien";
"lng_profile_files" = "{count:_not_used_|# Datei|# Dateien}";
"lng_profile_files#one" = "{count} Datei";
"lng_profile_files#other" = "{count} Dateien";
"lng_profile_files_header" = "Dateien";
"lng_profile_audios" = "{count:_not_used_|# Sprachnachricht|# Sprachnachrichten}";
"lng_profile_audios#one" = "{count} Sprachnachricht";
"lng_profile_audios#other" = "{count} Sprachnachrichten";
"lng_profile_audios_header" = "Sprachnachrichten";
"lng_profile_shared_links" = "{count:_not_used_|# Geteilter Link|# Geteilte Links}";
"lng_profile_shared_links#one" = "{count} geteilter Link";
"lng_profile_shared_links#other" = "{count} geteilte Links";
"lng_profile_shared_links_header" = "Geteilte Links";
"lng_profile_copy_phone" = "Telefonnummer kopieren";
"lng_profile_copy_fullname" = "Name kopieren";
@@ -513,12 +640,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_add_admins" = "Neuer Administrator";
"lng_channel_add_members" = "Mitglieder hinzufügen";
"lng_channel_add_banned" = "Nutzer sperren";
"lng_channel_add_restricted" = "Nutzer einschränken";
"lng_channel_members" = "Mitglieder";
"lng_channel_only_last_shown" = "Nur {count:_not_used_|# letztes Mitglied wird angezeigt|letzte # Mitglieder werden angezeigt}";
"lng_channel_only_last_shown#one" = "Nur {count} letztes Mitgled wird hier angezeigt";
"lng_channel_only_last_shown#other" = "Nur {count} letzte Mitgleder werden hier angezeigt";
"lng_channel_admins" = "Administratoren";
"lng_channel_add_admin" = "Administrator hinzufügen";
"lng_channel_admin_sure" = "Soll {user} Administrator werden?";
"lng_channel_admins_too_much" = "Leider kannst du keine weiteren Admins dieser Gruppe hinzufügen, bitte erst welche löschen.";
"lng_channel_admin_status_creator" = "Ersteller";
"lng_channel_admin_status_promoted_by" = "Befördert von {user}";
"lng_group_blocked_list_about" = "Gesperrte Nutzer werden von der Gruppe entfernt und können nur durch Admins erneut hinzugefügt werden. \nEinladungslinks funktionieren nicht.";
"lng_chat_all_members_admins" = "Alle Mitglieder Sind Admins";
"lng_chat_about_all_admins" = "Gruppenmitglieder können neue Leute hinzufügen sowie den Gruppennamen und das Bild ändern.";
@@ -526,7 +659,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_participant_filter" = "Suche";
"lng_participant_invite" = "Einladen";
"lng_participant_invite_sorry" = "Du kannst selbst nur {count:_not_used| das erste Mitglied|die ersten # Mitglieder} in einen Kanal einladen.\n\nWeitere Mitglieder können deinem Kanal über den Einladungslink beitreten.";
"lng_participant_invite_sorry#one" = "Du kannst selbst nur das erste {count} Mitglied einem Kanal hinzufügen.\n\nWeitere Leute können den Kanal über den Einladungslink betreten.";
"lng_participant_invite_sorry#other" = "Du kannst selbst nur die ersten {count} Mitglieder einem Kanal hinzufügen.\n\nWeitere Leute können den Kanal über den Einladungslink betreten.";
"lng_create_group_back" = "Zurück";
"lng_create_group_next" = "Weiter";
"lng_create_group_create" = "Erstellen";
@@ -549,11 +683,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_create_channel_link_available" = "Dieser Link ist verfügbar";
"lng_create_channel_link_copied" = "Link in die Zwischenablage kopiert";
"lng_create_group_crop" = "Sichtbaren Bereich für Bild wählen";
"lng_create_channel_crop" = "Sichtbaren Bereich für Bild wählen";
"lng_create_group_crop" = "Wähle einen Bereich für dein Gruppenbild";
"lng_create_channel_crop" = "Wähle einen Bereich für dein Kanalbild";
"lng_failed_add_participant" = "Kann Teilnehmer nicht hinzufügen. Später erneut versuchen.";
"lng_failed_add_not_mutual" = "Wenn man eine Gruppe verlässt, kann nur ein gemeinsamer Kontakt die Person erneut einladen (beide Seiten müssen die Nummer \ndes anderen gespeichert haben).";
"lng_failed_add_not_mutual" = "Wenn man eine Gruppe verlässt, kann nur ein gemeinsamer Kontakt die Person erneut einladen (beide Seiten müssen die Nummer des anderen gespeichert haben).";
"lng_failed_add_not_mutual_channel" = "Wenn man einen Kanal verlässt, kann nur ein gemeinsamer Kontakt die Person erneut einladen (beide Seiten müssen die Nummer \ndes anderen gespeichert haben).";
"lng_sure_delete_contact" = "Bist du sicher, dass du {contact} von deinen Kontakten löschen willst?";
@@ -568,6 +702,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_message_empty" = "Leere Nachricht";
"lng_message_unsupported" = "Diese Nachricht wird von deiner Telegram Desktop Version nicht unterstützt. Bitte aktualisiere sie in den Einstellungen oder über {link}";
"lng_duration_seconds#one" = "{count} Sekunde";
"lng_duration_seconds#other" = "{count} Sekunden";
"lng_duration_minsec_minutes#one" = "{count} Min";
"lng_duration_minsec_minutes#other" = "{count} Min";
"lng_duration_minsec_seconds#one" = "{count} Sek";
"lng_duration_minsec_seconds#other" = "{count} Sek";
"lng_duration_minutes_seconds" = "{minutes_count} {seconds_count}";
"lng_action_add_user" = "{from} hat {user} hinzugefügt";
"lng_action_add_users_many" = "{from} hat {users} hinzugefügt";
"lng_action_add_users_and_one" = "{accumulated}, {user}";
@@ -596,6 +738,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_video" = "ein Video";
"lng_action_pinned_media_audio" = "eine Audiodatei";
"lng_action_pinned_media_voice" = "eine Sprachnachricht";
"lng_action_pinned_media_video_message" = "eine Videonachricht";
"lng_action_pinned_media_file" = "eine Datei";
"lng_action_pinned_media_gif" = "ein GIF";
"lng_action_pinned_media_contact" = "einen Kontakt";
@@ -603,16 +746,24 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_sticker" = "einen Sticker";
"lng_action_pinned_media_emoji_sticker" = "einen {emoji} Sticker";
"lng_action_pinned_media_game" = "das Spiel «{game}»";
"lng_action_game_score" = "{from} erzielte {count:# Punkte|# Punkt|# Punkte} bei {game}";
"lng_action_game_you_scored" = "Du hast {count:# Punkte|# Punkt|# Punkte} bei {game} erzielt";
"lng_action_game_score_no_game" = "{from} erzielte {count:# Punkte|# Punkt|# Punkte}";
"lng_action_game_you_scored_no_game" = "Du hast {count:# Punkte erzielt|# Punkt erzielt|# Punkte erzielt}";
"lng_action_game_score#one" = "{from} erzielte {count} Punkt bei {game}";
"lng_action_game_score#other" = "{from} erzielte {count} Punkte bei {game}";
"lng_action_game_you_scored#one" = "Du hast {count} Punkt bei {game} erzielt";
"lng_action_game_you_scored#other" = "Du hast {count} Punkte bei {game} erzielt";
"lng_action_game_score_no_game#one" = "{from} erzielte {count} Punkt";
"lng_action_game_score_no_game#other" = "{from} erzielte {count} Punkte";
"lng_action_game_you_scored_no_game#one" = "Du hast {count} Punkt erzielt";
"lng_action_game_you_scored_no_game#other" = "Du hast {count} Punkte erzielt";
"lng_action_payment_done" = "Du hast erfolgreich {amount} an {user} übermittelt";
"lng_action_payment_done_for" = "Du hast erfolgreich {amount} an {user} für {invoice} übermittelt";
"lng_profile_migrate_reached" = "Limit von {count:_not_used_|# Mitglied|# Mitgliedern} erreicht";
"lng_profile_migrate_reached#one" = "Limit von {count} Mitglied erreicht";
"lng_profile_migrate_reached#other" = "Limit von {count} Mitgliedern erreicht";
"lng_profile_migrate_body" = "Um das Limit aufzuheben, ändere die Gruppe in eine Supergruppe.";
"lng_profile_migrate_learn_more" = "Mehr unter:";
"lng_profile_migrate_about" = "Für weitere Funktionen und um das Limit aufzuheben in Supergruppe ändern:";
"lng_profile_migrate_feature1" = "— Bis zu {count:_not_used_|# Mitglied|# Mitglieder} sind nun möglich";
"lng_profile_migrate_feature1#one" = "— Das Limit beträgt {count} Mitglied";
"lng_profile_migrate_feature1#other" = "— Das Limit beträgt {count} Mitglieder";
"lng_profile_migrate_feature2" = "— Neue Mitglieder sehen gesamten Verlauf";
"lng_profile_migrate_feature3" = "— Admins können alle Nachrichten löschen";
"lng_profile_migrate_feature4" = "— Mitteilungen sind standardmäßig stumm";
@@ -627,7 +778,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_convert_feature4" = "— Gründer kann Gruppe öffentlich machen";
"lng_profile_convert_warning" = "{bold_start}Wichtig:{bold_end} Die Änderung in eine Supergruppe kann nicht rückgängig gemacht werden.";
"lng_profile_convert_confirm" = "Ändern";
"lng_profile_add_more_after_upgrade" = "Du kannst nach der Änderung der Gruppe in eine Supergruppe bis zu {count:_not_used_|# Mitglied|# Mitglieder} hinzufügen.";
"lng_profile_add_more_after_upgrade#one" = "Du kannst nach der Änderung der Gruppe in eine Supergruppe bis zu {count} Mitglied hinzufügen.";
"lng_profile_add_more_after_upgrade#other" = "Du kannst nach der Änderung der Gruppe in eine Supergruppe bis zu {count} Mitglieder hinzufügen.";
"lng_channel_not_accessible" = "Dieser Kanal ist nicht zugänglich";
"lng_group_not_accessible" = "Diese Gruppe ist nicht zugänglich.";
@@ -642,19 +794,21 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_group_invite_want_join_channel" = "Möchtest du dem Kanal «{title}» beitreten?";
"lng_group_invite_join" = "Beitreten";
"lng_group_invite_members" = "{count:_not_used_|# Mitglied|# Mitglieder}, darunter:";
"lng_group_invite_members#one" = "{count} Mitglied, darunter:";
"lng_group_invite_members#other" = "{count} Mitglieder, darunter:";
"lng_group_invite_link" = "Einladungslink:";
"lng_group_invite_create" = "Neuer Link";
"lng_group_invite_about" = "Jeder, der Telegram installiert hat,\nkann anhand dieses Links in deine Gruppe.";
"lng_group_invite_create_new" = "Link widerrufen";
"lng_group_invite_about_new" = "Dein vorheriger Link wird ungültig, wenn du einen neuen erstellst.";
"lng_group_invite_copied" = "Der Einladungslink für die Gruppe\nwurde in die Zwischenablage kopiert.";
"lng_group_invite_copied" = "Einladungslink wurde kopiert.";
"lng_group_invite_no_room" = "Leider kannst du dieser Gruppe nicht mehr beitreten, da sie bereits voll ist.";
"lng_channel_public_link_copied" = "Link in die Zwischenablage kopiert.\n";
"lng_forwarded" = "Weitergeleitet von {user}";
"lng_forwarded_date" = "Original: {date}";
"lng_forwarded_channel" = "Weitergeleitet aus {channel}";
"lng_forwarded_via" = "Weitergeleitet von {user} via {inline_bot}";
"lng_forwarded_channel_via" = "Weitergeleitet aus {channel} via {inline_bot}";
@@ -705,16 +859,17 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_emoji_category5" = "Reisen & Orte";
"lng_emoji_category6" = "Objekte";
"lng_emoji_category7" = "Symbole & Flaggen";
"lng_emoji_hide_panel" = "Hier klicken, um Emoji Sidebar zu verstecken";
"lng_recent_stickers" = "Häufig genutzt";
"lng_switch_stickers" = "Sticker";
"lng_switch_stickers_gifs" = "GIFs & Sticker";
"lng_switch_emoji" = "Emoji";
"lng_switch_gifs" = "GIFs";
"lng_stickers_featured_add" = "Hinzufügen";
"lng_gifs_search" = "Suche GIFs";
"lng_gifs_no_saved" = "Du hast noch keine GIFs gespeichert.";
"lng_saved_gifs" = "Gespeicherte GIFs";
"lng_inline_bot_results" = "Ergebnisse von {inline_bot}";
"lng_inline_bot_no_results" = "Keine Ergebnisse";
"lng_inline_bot_no_results" = "Keine Ergebnisse.";
"lng_inline_bot_via" = "via {inline_bot}";
"lng_box_remove" = "Entfernen";
@@ -733,7 +888,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_stickers_you_have" = "Sticker-Pakete verwalten";
"lng_stickers_featured" = "Angesagte Sticker";
"lng_stickers_return" = "Rückgängig";
"lng_stickers_count" = "{count:Lade...|# Sticker|# Sticker}";
"lng_stickers_count#one" = "{count} Sticker";
"lng_stickers_count#other" = "{count} 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";
@@ -741,6 +897,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_in_dlg_audio_file" = "Audiodatei";
"lng_in_dlg_contact" = "Kontakt";
"lng_in_dlg_audio" = "Sprachnachricht";
"lng_in_dlg_video_message" = "Videonachricht";
"lng_in_dlg_file" = "Datei";
"lng_in_dlg_sticker" = "Sticker";
"lng_in_dlg_sticker_emoji" = "{emoji} Sticker";
@@ -807,11 +964,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_typing" = "tippt";
"lng_user_typing" = "{user} tippt";
"lng_users_typing" = "{user} und {second_user} tippen";
"lng_many_typing" = "{count:_not_used_|# tippt|# tippen}";
"lng_many_typing#one" = "{count} tippt";
"lng_many_typing#other" = "{count} tippen";
"lng_playing_game" = "spielt ein Spiel";
"lng_user_playing_game" = "{user} spielt ein Spiel";
"lng_users_playing_game" = "{user} und {second_user} spielen ein Spiel";
"lng_many_playing_game" = "{count:_not_used_|# spielt|# spielen} ein Spiel";
"lng_many_playing_game#one" = "{count} spielt ein Spiel";
"lng_many_playing_game#other" = "{count} spielen ein Spiel";
"lng_send_action_record_video" = "schickt Video";
"lng_user_action_record_video" = "{user} sendet ein Video";
"lng_send_action_upload_video" = "schickt ein Video";
@@ -820,6 +979,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_record_audio" = "{user} nimmt Sprachnachricht auf";
"lng_send_action_upload_audio" = "sendet Sprachnachricht";
"lng_user_action_upload_audio" = "{user} sendet Sprachnachricht";
"lng_send_action_record_round" = "nimmt Videonachricht auf";
"lng_user_action_record_round" = "{user} nimmt Videonachricht auf";
"lng_send_action_upload_round" = "sendet eine Videonachricht";
"lng_user_action_upload_round" = "{user} sendet eine Videonachricht";
"lng_send_action_upload_photo" = "sendet ein Bild";
"lng_user_action_upload_photo" = "{user} sendet ein Bild";
"lng_send_action_upload_file" = "sendet eine Datei";
@@ -828,7 +991,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_geo_location" = "{user} wählt einen Standort aus";
"lng_send_action_choose_contact" = "wählt einen Kontakt aus";
"lng_user_action_choose_contact" = "{user} wählt einen Kontakt aus";
"lng_unread_bar" = "{count:_not_used_|# Ungelesene Nachricht|# Ungelesene Nachrichten}";
"lng_unread_bar#one" = "{count} ungelesene Nachricht";
"lng_unread_bar#other" = "{count} ungelesene Nachrichten";
"lng_maps_point" = "Standort";
"lng_save_photo" = "Bild speichern";
@@ -847,11 +1011,12 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_view_profile" = "Profil öffnen";
"lng_context_view_group" = "Gruppeninfo zeigen";
"lng_context_view_channel" = "Kanalinfo anzeigen";
"lng_context_pin_to_top" = "Anheften";
"lng_context_unpin_from_top" = "Entfernen";
"lng_context_pin_to_top" = "Oben anheften";
"lng_context_unpin_from_top" = "Oben entfernen";
"lng_context_promote_admin" = "Zum Admin machen";
"lng_context_remove_admin" = "Als Admin entfernen";
"lng_context_edit_permissions" = "Berechtigungen bearbeiten";
"lng_context_restrict_user" = "Nutzer einschränken";
"lng_context_remove_from_group" = "Aus Gruppe entfernen";
"lng_context_copy_link" = "Link kopieren";
@@ -877,6 +1042,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_delete_file" = "Datei löschen";
"lng_context_close_file" = "Datei schließen";
"lng_context_copy_text" = "Text kopieren";
"lng_context_open_gif" = "GIF öffnen";
"lng_context_save_gif" = "GIF speichern";
"lng_context_to_msg" = "Zur Nachricht";
"lng_context_reply_msg" = "Antworten";
@@ -888,31 +1054,41 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_msg" = "Nachricht entfernen";
"lng_context_cancel_upload" = "Upload abbrechen";
"lng_context_copy_selected" = "Text kopieren";
"lng_context_copy_selected_items" = "Als Text kopieren";
"lng_context_forward_selected" = "Auswahl weiterleiten";
"lng_context_delete_selected" = "Auswahl löschen";
"lng_context_clear_selection" = "Auswahl aufheben";
"lng_really_send_image" = "Willst du dieses Bild senden?";
"lng_really_send_file" = "Willst du diese Datei senden?";
"lng_really_share_contact" = "Willst du diesen Kontakt senden?";
"lng_send_images_compress" = "Komprimiere {count:_not_used_|Bild|Bilder}";
"lng_send_images_compress#one" = "Bild komprimieren";
"lng_send_images_compress#other" = "Bilder komprimieren";
"lng_send_image_non_local" = "{name} befindet sich nicht direkt auf dem Gerät";
"lng_send_image_empty" = "Leere Datei {name} konnte nicht gesendet werden";
"lng_send_image_too_large" = "{name} ist größer als 1500 MB und kann daher nicht gesendet werden";
"lng_send_folder" = "Verzeichnis «{name}» kann nicht gesendet werden :(";
"lng_send_images_selected" = "{count:_not_used_|# Bild|# Bilder} ausgewählt";
"lng_send_photos" = "{count:_not_used_|# Bild|# Bilder} senden";
"lng_send_files_selected" = "{count:_not_used_|# Datei|# Dateien} ausgewählt";
"lng_send_files" = "{count:_not_used_|# Datei|# Dateien} senden";
"lng_send_images_selected#one" = "{count} Bild ausgewählt";
"lng_send_images_selected#other" = "{count} Bilder ausgewählt";
"lng_send_photos#one" = "{count} Bild senden";
"lng_send_photos#other" = "{count} Bilder senden";
"lng_send_files_selected#one" = "{count} Datei ausgewählt";
"lng_send_files_selected#other" = "{count} Dateien ausgewählt";
"lng_send_files#one" = "{count} Datei senden";
"lng_send_files#other" = "{count} Dateien senden";
"lng_forward_choose" = "Empfänger wählen...";
"lng_forward_cant" = "Weiterleiten nicht möglich :(";
"lng_forward_confirm" = "An {recipient} weiterleiten?";
"lng_forward_share_contact" = "Kontakt an {recipient} senden?";
"lng_forward_share_cant" = "Kontakt teilen nicht möglich :(";
"lng_forward_send_file_confirm" = "«{name}» an {recipient} senden?";
"lng_forward_send_files_confirm" = "Ausgewählte Dateien an {recipient} senden?";
"lng_forward_send_files_cant" = "Medien senden nicht möglich :(";
"lng_forward_send" = "Senden";
"lng_forward_messages" = "{count:_not_used_|Nachrichtenanhang|# Nachrichtenanhänge}";
"lng_forwarding_from" = "{user} und {count:_not_used_|# anderer|# andere}";
"lng_forward_messages#one" = "{count} weitergeleitete Nachricht";
"lng_forward_messages#other" = "{count} weitergeleitete Nachrichten";
"lng_forwarding_from#one" = "{user} und {count} anderer";
"lng_forwarding_from#other" = "{user} und {count} andere";
"lng_forwarding_from_two" = "{user} und {second_user}";
"lng_inline_switch_choose" = "Chat wählen...";
"lng_inline_switch_cant" = "Hier kannst du nicht schreiben :(";
@@ -934,6 +1110,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_edit_contact_title" = "Kontaktnamen ändern";
"lng_edit_channel_title" = "Kanal bearbeiten";
"lng_edit_sign_messages" = "Nachrichten unterschreiben";
"lng_edit_group_who_invites" = "Wer kann Mitglieder hinzufügen";
"lng_edit_group_invites_everybody" = "Alle Mitglieder";
"lng_edit_group_invites_only_admins" = "Nur Admins";
"lng_edit_group" = "Gruppe bearbeiten";
"lng_edit_self_title" = "Name bearbeiten";
"lng_confirm_contact_data" = "Neuer Kontakt";
@@ -958,15 +1137,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_selected_clear" = "Abbrechen";
"lng_selected_delete" = "Löschen";
"lng_selected_forward" = "Weiterleiten";
"lng_selected_count" = "{count:_not_used_|# Nachricht|# Nachrichten}";
"lng_selected_count#one" = "{count} Nachricht";
"lng_selected_count#other" = "{count} Nachrichten";
"lng_selected_cancel_sure_this" = "Upload abbrechen?";
"lng_selected_upload_stop" = "Stoppen";
"lng_selected_delete_sure_this" = "Diese Nachricht wirklich löschen?";
"lng_selected_delete_sure" = "Willst du {count:_not_used_|# Nachricht|# Nachrichten} löschen?";
"lng_selected_delete_sure#one" = "Möchtest du {count} Nachricht löschen?";
"lng_selected_delete_sure#other" = "Möchtest du {count} Nachrichten löschen?";
"lng_delete_photo_sure" = "Dieses Bild wirklich löschen?";
"lng_delete_for_everyone_hint" = "Das wird {count:_not_used_|sie|sie} bei allen im Chat löschen.";
"lng_delete_for_me_chat_hint" = "Das wird {count:_not_used_|sie|sie} nur bei dir löschen und nicht bei anderen Teilnehmern.";
"lng_delete_for_me_hint" = "Das wird {count:_not_used_|sie|sie} nur bei dir löschen.";
"lng_delete_for_everyone_hint#one" = "Das wird es bei allen im Chat löschen.";
"lng_delete_for_everyone_hint#other" = "Das wird sie bei allen im Chat löschen.";
"lng_delete_for_me_chat_hint#one" = "Das wird es nur bei dir löschen und nicht bei anderen Teilnehmern.";
"lng_delete_for_me_chat_hint#other" = "Das wird sie nur bei dir löschen und nicht bei anderen Teilnehmern.";
"lng_delete_for_me_hint#one" = "Das wird es nur bei dir löschen.";
"lng_delete_for_me_hint#other" = "Das wird sie nur bei dir löschen.";
"lng_delete_for_everyone_check" = "Bei allen löschen";
"lng_delete_for_other_check" = "Bei {user} löschen";
"lng_box_delete" = "Löschen";
@@ -978,7 +1162,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_about_text_3" = "Fragen? Besuche doch {faq_open}unsere FAQ{faq_close} für mehr Infos.";
"lng_about_done" = "Fertig";
"lng_search_found_results" = "{count:Keine Nachrichten|# Nachricht|# Nachrichten}";
"lng_search_no_results" = "Keine Nachrichten gefunden";
"lng_search_found_results#one" = "{count} Nachricht gefunden";
"lng_search_found_results#other" = "{count} Nachrichten gefunden";
"lng_search_global_results" = "Globale Suchergebnisse";
"lng_media_save_progress" = "{ready} von {total} {mb}";
@@ -1010,7 +1196,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram Desktop wurde aktualisiert auf Version {version}\n\n{changes}\n\nGesamter Versionsverlauf:\n{link}";
"lng_new_version_minor" = "— Fehlerbehebungen und Softwareoptimierungen";
"lng_new_version_text" = "— Angeheftete Chats lassen sich verschieben (gedrückt halten und nach oben oder unter ziehen).\n— Fehlerbehebungen und sonstige Softwareoptimierungen.";
"lng_new_version_text" = "— Verbesserte Videonachrichten: Fortschrittsanzeige (Rahmen um die Videonachricht), Bild-in-Bild-Unterstützung, Anzeige der verbleibenden Zeit.\n— Sprach- und Videonachrichten werden nun automatisch nacheinander abgespielt.";
"lng_menu_insert_unicode" = "Unicode-Steuerzeichen einfügen";
@@ -1023,6 +1209,181 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_confirm_phone_send" = "Senden";
"lng_confirm_phone_enter_code" = "Bitte den Code eingeben.";
"lng_theme_editor_no_keys" = "Noch keine Werte in der Palette";
"lng_theme_editor_cant_change_theme" = "Neue Themen kannst du während der Bearbeitung nicht anwenden. Bitte schliesse zuerst den Editor.";
"lng_theme_editor_new_keys" = "Noch nicht in der Palette";
"lng_theme_editor_background_image" = "Hintergrundbild";
"lng_theme_editor_saved_to_jpg" = "Als JPEG gespeichert, {size}";
"lng_theme_editor_read_from_jpg" = "JPEG Bild, {size}";
"lng_theme_editor_read_from_png" = "PNG Bild, {size}";
"lng_theme_editor_export" = "Exportieren";
"lng_theme_editor_choose_image" = "Hintergrundbild wählen";
"lng_theme_editor_save_palette" = "Palettendatei speichern";
"lng_theme_editor_choose_name" = "Themen-Datei speichern";
"lng_theme_editor_error" = "Ein Fehler ist im Editor aufgetreten. Mehr Infos gibt es in der Datei 'log.txt'.";
"lng_theme_editor_done" = "Thema erfolgreich exportiert!";
"lng_theme_editor_title" = "Farbpalette bearbeiten";
"lng_theme_editor_export_button" = "Thema exportieren";
"lng_payments_not_supported" = "Telegram Desktop unterstützt derzeit leider noch keine Zahlungen. Bitte benutze eine unserer mobilen Apps, um die Zahlung abzuschliessen.";
"lng_payments_receipt_label" = "Beleg";
"lng_payments_receipt_label_test" = "Test-Beleg";
"lng_payments_invoice_label" = "Rechnung";
"lng_payments_invoice_label_test" = "Test-Rechnung";
"lng_payments_receipt_button" = "Beleg";
"lng_call_status_incoming" = "ruft dich an...";
"lng_call_status_connecting" = "verbinden...";
"lng_call_status_exchanging" = "tausche Verschlüsselungsschlüssel aus...";
"lng_call_status_waiting" = "warte...";
"lng_call_status_requesting" = "anfordern...";
"lng_call_status_hanging" = "lege auf...";
"lng_call_status_ended" = "Anruf beendet";
"lng_call_status_failed" = "Verbindung nicht möglich";
"lng_call_status_ringing" = "es klingelt...";
"lng_call_status_busy" = "besetzt";
"lng_call_fingerprint_tooltip" = "Wenn diese Emoji genau so bei {user} aussehen, ist euer Anruf 100% sicher.";
"lng_call_error_not_available" = "{user} akzeptiert leider keine Anrufe.";
"lng_call_error_incompatible" = "{user}s App ist nicht mit unserem Protokoll kompatibel. Dein Chatpartner muss seine App aktualisieren, bevor du anrufen kannst.";
"lng_call_error_outdated" = "{user}s App unterstützt keine Anrufe. Dein Chatpartner muss seine App aktualisieren, bevor du anrufen kannst.";
"lng_call_error_audio_io" = "Leider gibt es ein Problem mit der Audiowiedergabe auf deinem Computer. Bitte stelle sicher, dass Lautsprecher und Mikrofon funktionieren und probiere es erneut.";
"lng_call_bar_hangup" = "Anruf beenden";
"lng_call_box_title" = "Anrufe";
"lng_call_box_about" = "Du hast noch keine Anrufe geführt.";
"lng_call_box_status_today" = "{time}";
"lng_call_box_status_yesterday" = "Gestern um {time}";
"lng_call_box_status_date" = "{date} um {time}";
"lng_call_box_status_group" = "({count}) {status}";
"lng_call_outgoing" = "Ausgehender Anruf";
"lng_call_incoming" = "Eingehender Anruf";
"lng_call_missed" = "Verpasster Anruf";
"lng_call_cancelled" = "Abgebrochener Anruf";
"lng_call_declined" = "Abgelehnter Anruf";
"lng_call_duration_info" = "{time}, {duration}";
"lng_call_type_and_duration" = "{type} ({duration})";
"lng_call_rate_label" = "Gesprächsqualität bewerten";
"lng_call_rate_comment" = "Beschreibung (optional)";
"lng_player_message_today" = "Heute um {time}";
"lng_player_message_yesterday" = "Gestern um {time}";
"lng_player_message_date" = "{date} um {time}";
"lng_rights_edit_admin" = "Administrator bearbeiten";
"lng_rights_edit_admin_header" = "Was kann dieser Admin machen?";
"lng_rights_about_add_admins_yes" = "Dieser Admin wird neue Admins mit gleichen (oder eingeschränkten) Rechten hinzufügen können.";
"lng_rights_about_add_admins_no" = "Dieser Admin kann keine neuen Admins hinzufügen.";
"lng_rights_user_restrictions" = "Nutzerbeschränkungen";
"lng_rights_user_restrictions_header" = "Was kann dieser Nutzer machen?";
"lng_rights_channel_info" = "Kanal-Info ändern";
"lng_rights_channel_post" = "Nachrichten senden";
"lng_rights_channel_edit" = "Nachrichten von anderen bearbeiten";
"lng_rights_channel_delete" = "Nachrichten von anderen löschen";
"lng_rights_group_info" = "Gruppen-Info ändern";
"lng_rights_group_ban" = "Nutzer sperren";
"lng_rights_group_invite_link" = "Nutzer per Link einladen";
"lng_rights_group_invite" = "Nutzer hinzufügen";
"lng_rights_group_pin" = "Nachrichten anheften";
"lng_rights_group_delete" = "Nachrichten löschen";
"lng_rights_add_admins" = "Neue Admins hinzufügen";
"lng_rights_chat_read" = "Nachrichten lesen";
"lng_rights_chat_send_text" = "Nachrichten senden";
"lng_rights_chat_send_media" = "Medien senden";
"lng_rights_chat_send_stickers" = "Sticker & GIFs senden";
"lng_rights_chat_send_links" = "Linkvorschau senden";
"lng_rights_chat_banned_until" = "Eingeschränkt bis: {when}";
"lng_rights_chat_banned_forever" = "Dauerhaft";
"lng_rights_chat_banned_block" = "Sperren und aus Gruppe entfernen";
"lng_restricted_send_message" = "Die Admins dieser Gruppe haben dir die Berechtigung entzogen, Nachrichten zu senden.";
"lng_restricted_send_media" = "Die Admins dieser Gruppe haben dir die Berechtigung entzogen, Medien zu senden.";
"lng_restricted_send_stickers" = "Die Admins dieser Gruppe haben dir die Berechtigung entzogen, Sticker zu senden.";
"lng_restricted_send_gifs" = "Die Admins dieser Gruppe haben dir die Berechtigung entzogen, GIFs zu senden.";
"lng_restricted_send_inline" = "Die Admins dieser Gruppe haben dir die Berechtigung entzogen, Inline-Bot Inhalte zu senden.";
"lng_restricted_list_title" = "Eingeschränke Nutzer";
"lng_banned_list_title" = "Gesperrte Nutzer";
"lng_admin_log_title_all" = "Alle Aktionen";
"lng_admin_log_title_selected" = "Ausgewählte Aktionen";
"lng_admin_log_filter" = "Filtern";
"lng_admin_log_filter_title" = "Filtern";
"lng_admin_log_filter_all_actions" = "Alle Aktionen";
"lng_admin_log_filter_restrictions" = "Neue Einschränkungen";
"lng_admin_log_filter_admins_new" = "Neue Admins";
"lng_admin_log_filter_members_new" = "Neue Mitglieder";
"lng_admin_log_filter_info_group" = "Gruppen-Info";
"lng_admin_log_filter_info_channel" = "Kanal-Info";
"lng_admin_log_filter_messages_deleted" = "Gelöschte Nachrichten";
"lng_admin_log_filter_messages_edited" = "Bearbeitete Nachrichten";
"lng_admin_log_filter_messages_pinned" = "Angeheftete Nachrichten";
"lng_admin_log_filter_members_removed" = "Ehemalige Mitglieder";
"lng_admin_log_filter_all_admins" = "Alle Admins";
"lng_admin_log_about" = "Was ist das?";
"lng_admin_log_about_text" = "Das ist eine Liste aller Aktionen, die von Gruppenmitgliedern und Admins in den letzten 48 Stunden durchgeführt wurden.";
"lng_admin_log_no_results_title" = "Keine Ereignisse gefunden";
"lng_admin_log_no_results_text" = "Keine kürzlichen Ereignisse gefunden, die deinen Suchbegriff beinhalten.";
"lng_admin_log_no_events_title" = "Keine Ereignisse gefunden";
"lng_admin_log_no_events_text" = "Es wurden keine Service-Aktionen \nvon Admins und Gruppenmitgliedern\nin den letzten 48 Stunden durchgeführt.";
"lng_admin_log_empty_text" = "Leer";
"lng_admin_log_changed_title_group" = "{from} hat den Gruppennamen in «{title}» geändert";
"lng_admin_log_changed_title_channel" = "{from} hat den Kanalnamen in «{title}» geändert";
"lng_admin_log_changed_description_group" = "{from} hat Gruppenbeschreibung bearbeitet:";
"lng_admin_log_removed_description_group" = "{from} hat Gruppenbeschreibung entfernt";
"lng_admin_log_changed_description_channel" = "{from} hat Kanalbeschreibung bearbeitet:";
"lng_admin_log_removed_description_channel" = "{from} hat Kanalbeschreibung entfernt";
"lng_admin_log_previous_description" = "Vorherige Beschreibung";
"lng_admin_log_changed_link_group" = "{from} hat Gruppen-Link geändert:";
"lng_admin_log_removed_link_group" = "{from} hat Gruppen-Link entfernt";
"lng_admin_log_changed_link_channel" = "{from} hat Kanal-Link geändert:";
"lng_admin_log_removed_link_channel" = "{from} hat Kanal-Link entfernt";
"lng_admin_log_previous_link" = "Vorheriger Link";
"lng_admin_log_changed_photo_group" = "{from} hat Gruppenbild geändert";
"lng_admin_log_changed_photo_channel" = "{from} hat Kanalbild geändert";
"lng_admin_log_removed_photo_group" = "{from} hat Gruppenbild entfernt";
"lng_admin_log_removed_photo_channel" = "{from} hat Kanalbild entfernt";
"lng_admin_log_invites_enabled" = "{from} hat Gruppeneinladungen aktiviert";
"lng_admin_log_invites_disabled" = "{from} hat Gruppeneinladungen deaktiviert";
"lng_admin_log_signatures_enabled" = "{from} hat Unterschriften aktiviert";
"lng_admin_log_signatures_disabled" = "{from} hat Unterschriften deaktiviert";
"lng_admin_log_pinned_message" = "{from} hat Nachricht angeheftet:";
"lng_admin_log_unpinned_message" = "{from} hat angeheftete Nachricht entfernt";
"lng_admin_log_edited_caption" = "{from} hat Beschriftung bearbeitet:";
"lng_admin_log_removed_caption" = "{from} hat Beschriftung entfernt";
"lng_admin_log_previous_caption" = "Original-Beschriftung";
"lng_admin_log_edited_message" = "{from} hat Nachricht bearbeitet:";
"lng_admin_log_previous_message" = "Original-Nachricht";
"lng_admin_log_deleted_message" = "{from} hat Nachricht gelöscht:";
"lng_admin_log_participant_joined" = "{from} ist der Gruppe beigetreten";
"lng_admin_log_participant_left" = "{from} hat die Gruppe verlassen";
"lng_admin_log_invited" = "hat {user} eingeladen";
"lng_admin_log_banned" = "hat {user} gesperrt";
"lng_admin_log_restricted" = "hat Einschränkungen für {user} {until} geändert";
"lng_admin_log_promoted" = "hat Berechtigungen für {user} geändert";
"lng_admin_log_user_with_username" = "{name} ({mention})";
"lng_admin_log_restricted_forever" = "unbegrenzt";
"lng_admin_log_restricted_until" = "bis {date}";
"lng_admin_log_banned_view_messages" = "Nachrichten lesen";
"lng_admin_log_banned_send_messages" = "Nachrichten senden";
"lng_admin_log_banned_send_media" = "Medien senden";
"lng_admin_log_banned_send_stickers" = "Sticker & GIFs senden";
"lng_admin_log_banned_embed_links" = "Linkvorschau senden";
"lng_admin_log_admin_change_info" = "Info ändern";
"lng_admin_log_admin_post_messages" = "Nachrichten senden";
"lng_admin_log_admin_edit_messages" = "Nachrichten bearbeiten";
"lng_admin_log_admin_delete_messages" = "Nachrichten löschen";
"lng_admin_log_admin_ban_users" = "Nutzer sperren";
"lng_admin_log_admin_invite_users" = "Nutzer hinzufügen";
"lng_admin_log_admin_invite_link" = "Nutzer per Link einladen";
"lng_admin_log_admin_pin_messages" = "Nachrichten anheften";
"lng_admin_log_admin_add_admins" = "Neue Admins hinzufügen";
// Not used
"lng_topbar_info" = "Info";

View File

@@ -22,11 +22,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_switch_to_this" = "Cambiar a español";
"lng_menu_contacts" = "Contactos";
"lng_menu_calls" = "Llamadas";
"lng_menu_settings" = "Ajustes";
"lng_menu_about" = "Acerca de";
"lng_menu_update" = "Actualizar";
"lng_menu_restart" = "Reiniciar";
"lng_menu_back" = "Atrás";
"lng_menu_night_mode" = "Modo noche";
"lng_disable_notifications_from_tray" = "Desactivar notificaciones";
"lng_enable_notifications_from_tray" = "Activar notificaciones";
@@ -79,7 +81,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_month_day" = "{day} de {month}";
"lng_month_day_year" = "{day} de {month} de {year}";
"lng_month_year" = "{month}, {year}";
"lng_month_year" = "{month} de {year}";
"lng_box_ok" = "OK";
@@ -87,7 +89,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_continue" = "Continuar";
"lng_close" = "Cerrar";
"lng_connecting" = "Conectando...";
"lng_reconnecting" = "Reconectar {count:ahora|en # s|en # s}...";
"lng_connecting_to_proxy" = "Conectando al proxy...";
"lng_connecting_settings" = "Ajustes";
"lng_reconnecting#one" = "Reconectar en {count} s...";
"lng_reconnecting#other" = "Reconectar en {count} s...";
"lng_reconnecting_try_now" = "Intentar ahora";
"lng_status_service_notifications" = "servicio de notificaciones";
@@ -101,8 +106,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_last_month" = "última vez hace unas semanas";
"lng_status_invisible" = "invisible";
"lng_status_lastseen_now" = "última vez hace un momento";
"lng_status_lastseen_minutes" = "última vez hace {count:_not_used_|# minuto|# minutos}";
"lng_status_lastseen_hours" = "última vez hace {count:_not_used_|# hora|# horas}";
"lng_status_lastseen_minutes#one" = "última vez hace {count} minuto";
"lng_status_lastseen_minutes#other" = "última vez hace {count} minutos";
"lng_status_lastseen_hours#one" = "última vez hace {count} hora";
"lng_status_lastseen_hours#other" = "última vez hace {count} horas";
"lng_status_lastseen_today" = "última vez hoy a las {time}";
"lng_status_lastseen_yesterday" = "última vez ayer a las {time}";
"lng_status_lastseen_date" = "última vez el {date}";
@@ -111,14 +118,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_connecting" = "conectando...";
"lng_chat_status_unaccessible" = "grupo inaccesible";
"lng_chat_status_members" = "{count:sin miembros|# miembro|# miembros}";
"lng_chat_status_members_online" = "{count:_not_used_|# miembro|# miembros}, {count_online:_not_used_|# en línea|# en línea}";
"lng_chat_status_no_members" = "sin miembros";
"lng_chat_status_members#one" = "{count} miembro";
"lng_chat_status_members#other" = "{count} miembros";
"lng_chat_status_online#one" = "{count} en línea";
"lng_chat_status_online#other" = "{count} en línea";
"lng_chat_status_members_online" = "{members_count}, {online_count}";
"lng_channel_status" = "canal";
"lng_group_status" = "grupo";
"lng_channel_members_link" = "{count:_not_used_|# miembro|# miembros}";
"lng_channel_admins_link" = "{count:_not_used_|# administrador|# administradores}";
"lng_channel_members_link#one" = "{count} miembro";
"lng_channel_members_link#other" = "{count} miembros";
"lng_channel_admins_link#one" = "{count} administrador";
"lng_channel_admins_link#other" = "{count} administradores";
"lng_server_error" = "Error interno del servidor.";
"lng_flood_error" = "Muchos intentos. Por favor, reinténtalo más tarde.";
@@ -127,13 +140,26 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_join_channel_error" = "Lo sentimos, te has unido a demasiados canales y supergrupos. Por favor, sal de algunos antes de unirte.";
"lng_error_phone_flood" = "Has eliminado y vuelto a crear tu cuenta muchas veces recientemente. Por favor, espera algunos días antes de inscribirte de nuevo.";
"lng_error_start_minimized_passcoded" = "Has configurado un código de acceso, así que no puedes iniciar la app minimizada. La app te pedirá el código de acceso para que empiece a funcionar.";
"lng_error_pinned_max" = "Lo sentimos, no puedes anclar más de {count:_not_used_|# chat|# chats}.";
"lng_error_pinned_max#one" = "Lo sentimos, no puedes anclar más de {count} chat.";
"lng_error_pinned_max#other" = "Lo sentimos, no puedes anclar más de {count} chats.";
"lng_error_public_groups_denied" = "Lamentablemente, tienes prohibido participar en grupos públicos.\n{more_info}";
"lng_error_cant_edit_admin" = "No puedes editar los permisos de este administrador.";
"lng_error_cant_add_member" = "No puedes añadir al bot a este grupo. Pide a algún administrador que lo haga.";
"lng_error_cant_add_admin_invite" = "No puedes añadir a este usuario como administrador porque no es un miembro de este grupo y no puedes invitarlo.";
"lng_error_cant_add_admin_unban" = "No puedes añadir a este usuario como administrador porque está en la lista de suspendidos y no puedes quitar su suspensión.";
"lng_error_cant_ban_admin" = "No puedes suspender a este usuario porque es un administrador del grupo y no puedes degradarlo.";
"lng_sure_add_admin_invite" = "Este usuario no es miembro del grupo. ¿Quieres añadirlo y ascenderlo a administrador?";
"lng_sure_add_admin_unban" = "Este usuario está restringido o suspendido del grupo. ¿Quieres quitar su suspensión y ascenderlo a administrador?";
"lng_sure_ban_admin" = "Este usuario es administrador del grupo. ¿Quieres continuar y restringirlo?";
"lng_sure_ban_user_group" = "¿Suspender a {user} en el grupo?";
"lng_sure_enable_socks" = "¿Quieres activar este proxy?\n\nServidor: {server}\nPuerto: {port}\n\nPuedes cambiar tu servidor proxy más tarde en Ajustes (Tipo de conexión).";
"lng_sure_enable" = "Activar";
"lng_edit_deleted" = "Este mensaje fue eliminado";
"lng_edit_too_long" = "Tu texto es demasiado largo";
"lng_edit_message" = "Editar mensaje";
"lng_edit_message_text" = "Mensaje nuevo...";
"lng_deleted" = "Desconocido";
"lng_deleted" = "Cuenta eliminada";
"lng_deleted_message" = "Mensaje eliminado";
"lng_pinned_message" = "Mensaje anclado";
"lng_pinned_unpin_sure" = "¿Quieres desanclar este mensaje?";
@@ -155,7 +181,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_phone_ph" = "Tu número de teléfono";
"lng_phone_title" = "Tu teléfono";
"lng_phone_desc" = "Por favor, confirma el código de tu país\ny tu número de teléfono.";
"lng_phone_notreg" = "Si no tienes una cuenta de Telegram todavía, \npor favor, [b]regístrate[/b] con {link_start}Android / iPhone{link_end}\no aquí {signup_start}here{signup_end}";
"lng_phone_notreg" = "Si no tienes una cuenta de Telegram todavía, \npor favor, [b]regístrate[/b] con {link_start}Android / iPhone{link_end}\no {signup_start}aquí{signup_end}";
"lng_country_code" = "Código de país";
"lng_bad_country_code" = "Código de país inválido";
"lng_country_ph" = "Buscar";
@@ -196,9 +222,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_signin_sure_reset" = "¡Advertencia!\n\n¡Perderás todos tus chats y mensajes, junto con la multimedia y archivos compartidos!\n\n¿Quieres restablecer tu cuenta?";
"lng_signin_reset" = "Restablecer";
"lng_signin_reset_wait" = "Como la cuenta {phone_number} está activa y protegida con una contraseña, la eliminaremos en 1 semana, por motivos de seguridad. Puedes cancelar el proceso en cualquier momento.\n\nPodrás restablecer tu cuenta en:\n{when}";
"lng_signin_reset_in_days" = "{count_days:0 días|# día|# días} {count_hours:0 horas|# hora|# horas} {count_minutes:0 minutos|# minuto|# minutos}";
"lng_signin_reset_in_hours" = "{count_hours:0 horas|# hora|# horas} {count_minutes:0 minutos|# minuto|# minutos}";
"lng_signin_reset_in_minutes" = "{count_minutes:0 minutos|# minuto|# minutos}";
"lng_signin_reset_days#one" = "{count} día";
"lng_signin_reset_days#other" = "{count} días";
"lng_signin_reset_hours#one" = "{count} hora";
"lng_signin_reset_hours#other" = "{count} horas";
"lng_signin_reset_minutes#one" = "{count} minuto";
"lng_signin_reset_minutes#other" = "{count} minutos";
"lng_signin_reset_in_days" = "{days_count} {hours_count} {minutes_count}";
"lng_signin_reset_in_hours" = "{hours_count} {minutes_count}";
"lng_signin_reset_cancelled" = "Tus intentos recientes para restablecer la cuenta fueron cancelados por su usuario activo. Por favor, reinténtalo en 7 días.";
"lng_signup_title" = "Tu información";
@@ -221,10 +252,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_save" = "Guardar";
"lng_settings_upload" = "Poner foto de perfil";
"lng_settings_crop_profile" = "Selecciona el área para tu foto de perfil";
"lng_settings_crop_profile" = "Selecciona un área para tu foto de perfil";
"lng_settings_uploading_photo" = "Subiendo foto...";
"lng_settings_edit" = "Editar";
"lng_settings_drop_area_subtitle" = "para ponerla como tu foto";
"lng_username_title" = "Alias";
@@ -296,12 +326,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_bg_use_default" = "Usar el tema por defecto";
"lng_settings_bg_from_gallery" = "Elegir desde la galería";
"lng_settings_bg_from_file" = "Elegir desde archivos";
"lng_settings_bg_edit_theme" = "Editar tema";
"lng_settings_bg_tile" = "Fondo con mosaico";
"lng_settings_adaptive_wide" = "Diseño adaptable para pantallas anchas";
"lng_backgrounds_header" = "Elige tu nuevo fondo de chat";
"lng_theme_sure_keep" = "¿Mantener este tema?";
"lng_theme_reverting" = "Regresar al tema anterior en {count:_not_used_|# segundo|# segundos}.";
"lng_theme_reverting#one" = "Regresar al tema anterior en {count} segundo.";
"lng_theme_reverting#other" = "Regresar al tema anterior en {count} segundos.";
"lng_theme_keep_changes" = "Mantener cambios";
"lng_theme_revert" = "Revertir";
@@ -327,14 +359,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_local_storage_title" = "Almacenamiento local";
"lng_settings_no_data_cached" = "¡No se encontraron datos en la caché!";
"lng_settings_images_cached" = "{count:_not_used_|# imagen|# imágenes}, {size}";
"lng_settings_audios_cached" = "{count:_not_used_|# mensaje de voz|# mensajes de voz}, {size}";
"lng_settings_images_cached#one" = "{count} imagen, {size}";
"lng_settings_images_cached#other" = "{count} imágenes, {size}";
"lng_settings_audios_cached#one" = "{count} mensaje de voz, {size}";
"lng_settings_audios_cached#other" = "{count} mensajes de voz, {size}";
"lng_local_storage_clear" = "Eliminar todo";
"lng_local_storage_clearing" = "Borrando...";
"lng_local_storage_cleared" = "¡Borrado!";
"lng_local_storage_clear_failed" = "Borrado fallido :(";
"lng_settings_section_advanced_settings" = "Ajustes avanzados";
"lng_settings_enable_night_theme" = "Activar modo noche";
"lng_settings_disable_night_theme" = "Desactivar modo noche";
"lng_passcode_remove_button" = "Quitar";
@@ -343,11 +379,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_passcode_create" = "Código de acceso";
"lng_passcode_remove" = "Quitar código de acceso";
"lng_passcode_turn_off" = "Desactivar";
"lng_passcode_autolock" = "Bloqueo automático";
"lng_passcode_autolock_away" = "Bloqueo automático si estoy fuera:";
"lng_passcode_autolock_inactive" = "Bloqueo automático si estoy inactivo:";
"lng_passcode_autolock_minutes" = "{count:_not_used_|# minuto|# minutos}";
"lng_passcode_autolock_hours" = "{count:_not_used_|# hora|# horas}";
"lng_passcode_autolock" = "Autobloqueo";
"lng_passcode_autolock_away" = "Autobloqueo si estoy fuera:";
"lng_passcode_autolock_inactive" = "Autobloqueo si estoy inactivo:";
"lng_passcode_autolock_minutes#one" = "{count} minuto";
"lng_passcode_autolock_minutes#other" = "{count} minutos";
"lng_passcode_autolock_hours#one" = "{count} hora";
"lng_passcode_autolock_hours#other" = "{count} horas";
"lng_passcode_enter_old" = "Pon el código de acceso actual";
"lng_passcode_enter_first" = "Pon un código de acceso";
"lng_passcode_enter_new" = "Pon tu nuevo código";
@@ -403,7 +441,15 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_connection_user_ph" = "Alias";
"lng_connection_password_ph" = "Contraseña";
"lng_connection_save" = "Guardar";
"lng_settings_blocked_users" = "Usuarios bloqueados";
"lng_settings_last_seen_privacy" = "Última conexión";
"lng_settings_calls_privacy" = "Privacidad de llamadas";
"lng_settings_groups_invite_privacy" = "Invitación a grupos";
"lng_settings_show_sessions" = "Mostrar todas las sesiones";
"lng_settings_self_destruct" = "Autodestrucción de la cuenta";
"lng_settings_change_phone" = "Cambiar número de teléfono";
"lng_settings_reset" = "Cerrar todas las otras sesiones";
"lng_settings_reset_sure" = "¿Quieres cerrar todas \nlas otras sesiones?";
"lng_settings_reset_one_sure" = "¿Quieres cerrar esta sesión?";
@@ -428,6 +474,76 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_sessions_other_desc" = "Puedes iniciar sesión en Telegram desde otro móvil, tablet o computador, usando el mismo número de teléfono. Todos tus datos se sincronizarán al instante.";
"lng_sessions_terminate_all" = "Cerrar todas las otras sesiones";
"lng_blocked_list_title" = "Usuarios bloqueados";
"lng_blocked_list_unknown_phone" = "número desconocido";
"lng_blocked_list_unblock" = "Desbloquear";
"lng_blocked_list_add" = "Bloquear";
"lng_blocked_list_add_title" = "Elige un usuario para bloquear";
"lng_blocked_list_already_blocked" = "ya está bloqueado";
"lng_blocked_list_about" = "Los usuarios bloqueados no pueden enviarte mensajes o añadirte a grupos. No verán tus fotos de perfil ni estados de conexión.";
"lng_blocked_list_not_found" = "No se encontraron usuarios.";
"lng_edit_privacy_everyone" = "Todos";
"lng_edit_privacy_contacts" = "Mis contactos";
"lng_edit_privacy_nobody" = "Nadie";
"lng_edit_privacy_exceptions" = "Añadir excepciones";
"lng_edit_privacy_lastseen_title" = "Última conexión";
"lng_edit_privacy_lastseen_description" = "Puedes elegir quién ve tu última conexión:";
"lng_edit_privacy_lastseen_warning" = "Importante: No verás la última conexión de las personas con las que no compartes la tuya. En su lugar, se mostrarán conexiones indeterminadas (recientemente, hace unos días, hace unas semanas).";
"lng_edit_privacy_lastseen_always_empty" = "Compartir con";
"lng_edit_privacy_lastseen_always#one" = "Compartir con {count} usuario";
"lng_edit_privacy_lastseen_always#other" = "Compartir con {count} usuarios";
"lng_edit_privacy_lastseen_never_empty" = "No compartir con";
"lng_edit_privacy_lastseen_never#one" = "No compartir con {count} usuario";
"lng_edit_privacy_lastseen_never#other" = "No compartir con {count} usuarios";
"lng_edit_privacy_lastseen_exceptions" = "Estos ajustes anularán los valores de arriba.";
"lng_edit_privacy_lastseen_always_title" = "Compartir con";
"lng_edit_privacy_lastseen_never_title" = "No compartir con";
"lng_edit_privacy_groups_title" = "Invitación a grupos";
"lng_edit_privacy_groups_description" = "Puedes restringir quién puede añadirte a grupos o canales con gran precisión:";
"lng_edit_privacy_groups_always_empty" = "Permitir";
"lng_edit_privacy_groups_always#one" = "Permitir {count} usuario";
"lng_edit_privacy_groups_always#other" = "Permitir {count} usuarios";
"lng_edit_privacy_groups_never_empty" = "No permitir";
"lng_edit_privacy_groups_never#one" = "No permitir {count} usuario";
"lng_edit_privacy_groups_never#other" = "No permitir {count} usuarios";
"lng_edit_privacy_groups_exceptions" = "Estos usuarios podrán o no añadirte a grupos y canales, independiente de los ajustes de arriba.";
"lng_edit_privacy_groups_always_title" = "Permitir";
"lng_edit_privacy_groups_never_title" = "No permitir";
"lng_edit_privacy_calls_title" = "Privacidad de llamadas";
"lng_edit_privacy_calls_description" = "Puedes restringir quién puede llamarte:";
"lng_edit_privacy_calls_always_empty" = "Permitir";
"lng_edit_privacy_calls_always#one" = "Permitir {count} usuario";
"lng_edit_privacy_calls_always#other" = "Permitir {count} usuarios";
"lng_edit_privacy_calls_never_empty" = "No permitir";
"lng_edit_privacy_calls_never#one" = "No permitir {count} usuario";
"lng_edit_privacy_calls_never#other" = "No permitir {count} usuarios";
"lng_edit_privacy_calls_exceptions" = "Estos usuarios podrán o no llamarte, independiente de los ajustes de arriba.";
"lng_edit_privacy_calls_always_title" = "Permitir";
"lng_edit_privacy_calls_never_title" = "No permitir";
"lng_self_destruct_title" = "Autodestrucción de la cuenta";
"lng_self_destruct_description" = "Si no estás en línea durante este tiempo, al menos una vez, tu cuenta se eliminará con todos tus grupos, mensajes y contactos.";
"lng_self_destruct_months#one" = "{count} mes";
"lng_self_destruct_months#other" = "{count} meses";
"lng_self_destruct_years#one" = "{count} año";
"lng_self_destruct_years#other" = "{count} años";
"lng_change_phone_title" = "Cambiar número de teléfono";
"lng_change_phone_description" = "Puedes cambiar tu número de Telegram aquí. \nTu cuenta y todos tus datos de la nube, mensajes,\narchivos, grupos, contactos, etc., se moverán al \nnuevo número.\n\n[b]Importante[/b]: Todos tus contactos de Telegram\ntendrán tu [b]nuevo número[/b] añadido a sus \nagendas de contactos, siempre que hayan tenido \ntu número viejo y no los hayas bloqueado.";
"lng_change_phone_warning" = "Todos tus contactos de Telegram tendrán tu número nuevo añadido a sus agendas de contactos, siempre que hayan tenido tu número viejo y no los hayas bloqueado en Telegram.";
"lng_change_phone_occupied" = "El número {phone} ya está vinculado a una cuenta de Telegram. Por favor, elimina esa cuenta antes de migrar al nuevo número.";
"lng_change_phone_button" = "Cambiar número";
"lng_change_phone_new_title" = "Pon tu número nuevo";
"lng_change_phone_new_description" = "Enviaremos un SMS con el código de confirmación a tu nuevo número.";
"lng_change_phone_new_submit" = "Enviar";
"lng_change_phone_code_title" = "Pon el código";
"lng_change_phone_code_description" = "Enviamos un SMS con el código de activación a tu teléfono {phone}.";
"lng_change_phone_success" = "Tu número de teléfono ha sido cambiado.";
"lng_preview_loading" = "Obteniendo enlace...";
"lng_profile_chat_unaccessible" = "El grupo es inaccesible";
@@ -441,7 +557,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_create_public_link" = "Crear enlace público";
"lng_profile_edit_public_link" = "Editar enlace público";
"lng_profile_manage_admins" = "Gestionar administradores";
"lng_profile_common_groups" = "{count:_not_used_|# grupo|# grupos} en común";
"lng_profile_manage_blocklist" = "Administrar usuarios suspendidos";
"lng_profile_manage_restrictedlist" = "Administrar usuarios restringidos";
"lng_profile_recent_actions" = "Acciones recientes";
"lng_profile_common_groups#one" = "{count} grupo en común";
"lng_profile_common_groups#other" = "{count} grupos en común";
"lng_profile_common_groups_section" = "Grupos en común";
"lng_profile_participants_section" = "Miembros";
"lng_profile_info_section" = "Información";
@@ -475,23 +595,30 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_delete_and_exit" = "Salir";
"lng_profile_kick" = "Eliminar";
"lng_profile_admin" = "administrador";
"lng_profile_edit_permissions" = "Editar";
"lng_profile_sure_kick" = "¿Eliminar a {user} del grupo?";
"lng_profile_sure_kick_channel" = "¿Eliminar a {user} del canal?";
"lng_profile_sure_kick_admin" = "¿Eliminar a {user} de los administradores?";
"lng_profile_loading" = "Cargando...";
"lng_profile_shared_media" = "Multimedia";
"lng_profile_no_media" = "No hay multimedia en este chat.";
"lng_profile_photos" = "{count:_not_used_|# foto|# fotos}";
"lng_profile_photos#one" = "{count} foto";
"lng_profile_photos#other" = "{count} fotos";
"lng_profile_photos_header" = "Fotos";
"lng_profile_videos" = "{count:_not_used_|# vídeo|# vídeos}";
"lng_profile_videos#one" = "{count} vídeo";
"lng_profile_videos#other" = "{count} vídeos";
"lng_profile_videos_header" = "Vídeos";
"lng_profile_songs" = "{count:_not_used_|# audio|# audios}";
"lng_profile_songs#one" = "{count} audio";
"lng_profile_songs#other" = "{count} audios";
"lng_profile_songs_header" = "Audios";
"lng_profile_files" = "{count:_not_used_|# archivo|# archivos}";
"lng_profile_files#one" = "{count} archivo";
"lng_profile_files#other" = "{count} archivos";
"lng_profile_files_header" = "Archivos";
"lng_profile_audios" = "{count:_not_used_|# mensaje de voz|# mensajes de voz}";
"lng_profile_audios#one" = "{count} mensaje de voz";
"lng_profile_audios#other" = "{count} mensajes de voz";
"lng_profile_audios_header" = "Mensajes de voz";
"lng_profile_shared_links" = "{count:_not_used_|# enlace|# enlaces}";
"lng_profile_shared_links#one" = "{count} enlace";
"lng_profile_shared_links#other" = "{count} enlaces";
"lng_profile_shared_links_header" = "Enlaces";
"lng_profile_copy_phone" = "Copiar número de teléfono";
"lng_profile_copy_fullname" = "Copiar nombre";
@@ -513,12 +640,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_add_admins" = "Nuevo administrador";
"lng_channel_add_members" = "Añadir miembros";
"lng_channel_add_banned" = "Suspender usuario";
"lng_channel_add_restricted" = "Restringir usuario";
"lng_channel_members" = "Miembros";
"lng_channel_only_last_shown" = "Sólo {count:_not_used_|aparece el último miembro|aparecen los últimos # miembros}";
"lng_channel_only_last_shown#one" = "Sólo aparece el último miembro";
"lng_channel_only_last_shown#other" = "Sólo aparecen los últimos {count} miembros";
"lng_channel_admins" = "Administradores";
"lng_channel_add_admin" = "Añadir administrador";
"lng_channel_admin_sure" = "¿Añadir a {user} como administrador?";
"lng_channel_admins_too_much" = "Lo sentimos, alcanzaste el límite de administradores. Por favor, elimina un administrador primero.";
"lng_channel_admin_status_creator" = "Creador";
"lng_channel_admin_status_promoted_by" = "Ascendido por {user}";
"lng_group_blocked_list_about" = "Los usuarios suspendidos son eliminados del grupo y sólo pueden volver si son invitados por un administrador. \nLos enlaces de invitación no funcionan para ellos.";
"lng_chat_all_members_admins" = "Todos son administradores";
"lng_chat_about_all_admins" = "Todos pueden añadir nuevos miembros, editar el nombre y la foto del grupo.";
@@ -526,7 +659,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_participant_filter" = "Buscar";
"lng_participant_invite" = "Invitar";
"lng_participant_invite_sorry" = "Lo sentimos, sólo puedes añadir {count:_not_used|# miembros|# miembros} a un canal personalmente.\n\nAhora, las personas deben unirse con un enlace de invitación.";
"lng_participant_invite_sorry#one" = "Lo sentimos, sólo puedes añadir a {count} miembro a un canal. \n\nAhora será necesario un enlace de invitación para unirse.";
"lng_participant_invite_sorry#other" = "Lo sentimos, sólo puedes añadir a los primeros {count} miembros a un canal. \n\nAhora será necesario un enlace de invitación para unirse.";
"lng_create_group_back" = "Atrás";
"lng_create_group_next" = "Siguiente";
"lng_create_group_create" = "Crear";
@@ -549,8 +683,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_create_channel_link_available" = "Este enlace está disponible";
"lng_create_channel_link_copied" = "Enlace copiado al portapapeles";
"lng_create_group_crop" = "Selecciona el área para la foto del grupo";
"lng_create_channel_crop" = "Selecciona el área para la foto del canal";
"lng_create_group_crop" = "Selecciona un área para la foto del grupo";
"lng_create_channel_crop" = "Selecciona un área para la foto del canal";
"lng_failed_add_participant" = "No se pudo añadir al usuario. Por favor, reinténtalo más tarde.";
"lng_failed_add_not_mutual" = "Lo sentimos, si una persona sale del grupo, sólo un contacto mutuo puede volver a invitarlo (necesitan tener tu número y tú el suyo).";
@@ -568,6 +702,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_message_empty" = "Mensaje vacío";
"lng_message_unsupported" = "Este mensaje no es soportado por tu versión de Telegram Desktop. Por favor, actualiza a la última versión desde Ajustes o instálala desde {link}";
"lng_duration_seconds#one" = "{count} segundo";
"lng_duration_seconds#other" = "{count} segundos";
"lng_duration_minsec_minutes#one" = "{count} min";
"lng_duration_minsec_minutes#other" = "{count} min";
"lng_duration_minsec_seconds#one" = "{count} s";
"lng_duration_minsec_seconds#other" = "{count} s";
"lng_duration_minutes_seconds" = "{minutes_count} {seconds_count}";
"lng_action_add_user" = "{from} añadió a {user}";
"lng_action_add_users_many" = "{from} añadió a {users}";
"lng_action_add_users_and_one" = "{accumulated}, {user}";
@@ -596,6 +738,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_video" = "un vídeo";
"lng_action_pinned_media_audio" = "un audio";
"lng_action_pinned_media_voice" = "un mensaje de voz";
"lng_action_pinned_media_video_message" = "un mensaje de vídeo";
"lng_action_pinned_media_file" = "un archivo";
"lng_action_pinned_media_gif" = "un GIF";
"lng_action_pinned_media_contact" = "un contacto";
@@ -603,16 +746,24 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_sticker" = "un sticker";
"lng_action_pinned_media_emoji_sticker" = "un {emoji} sticker";
"lng_action_pinned_media_game" = "el juego «{game}»";
"lng_action_game_score" = "{from} consiguió {count:# puntos|# punto|# puntos} en {game}";
"lng_action_game_you_scored" = "Conseguiste {count:# puntos|# punto|# puntos} en {game}";
"lng_action_game_score_no_game" = "{from} consiguió {count:# puntos|# punto|# puntos}";
"lng_action_game_you_scored_no_game" = "Conseguiste {count:# puntos|# punto|# puntos}";
"lng_action_game_score#one" = "{from} consiguió {count} punto en {game}";
"lng_action_game_score#other" = "{from} consiguió {count} puntos en {game}";
"lng_action_game_you_scored#one" = "Conseguiste {count} punto en {game}";
"lng_action_game_you_scored#other" = "Conseguiste {count} puntos en {game}";
"lng_action_game_score_no_game#one" = "{from} consiguió {count} punto";
"lng_action_game_score_no_game#other" = "{from} consiguió {count} puntos";
"lng_action_game_you_scored_no_game#one" = "Conseguiste {count} punto";
"lng_action_game_you_scored_no_game#other" = "Conseguiste {count} puntos";
"lng_action_payment_done" = "Has transferido satisfactoriamente {amount} a {user}";
"lng_action_payment_done_for" = "Has transferido satisfactoriamente {amount} a {name} por {invoice}";
"lng_profile_migrate_reached" = "Límite de {count:_not_used_|# miembro|# miembros} alcanzado";
"lng_profile_migrate_reached#one" = "Límite de {count} miembro alcanzado";
"lng_profile_migrate_reached#other" = "Límite de {count} miembros alcanzado";
"lng_profile_migrate_body" = "Para superar este límite, puedes convertir tu grupo en un supergrupo.";
"lng_profile_migrate_learn_more" = "Saber más »";
"lng_profile_migrate_about" = "Para superar el límite y tener características adicionales, conviértelo en un supergrupo:";
"lng_profile_migrate_feature1" = "— Permiten hasta {count:_not_used_|# usuario|# usuarios}";
"lng_profile_migrate_feature1#one" = "— Permiten hasta {count} usuario";
"lng_profile_migrate_feature1#other" = "— Permiten hasta {count} usuarios";
"lng_profile_migrate_feature2" = "— Nuevos miembros ven todo el historial";
"lng_profile_migrate_feature3" = "— Un admin. borra mensajes para todos";
"lng_profile_migrate_feature4" = "— Notificaciones silenciadas por defecto";
@@ -627,7 +778,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_convert_feature4" = "— El creador puede generar un enlace público";
"lng_profile_convert_warning" = "{bold_start}Importante:{bold_end} Esta acción no se puede deshacer";
"lng_profile_convert_confirm" = "Convertir";
"lng_profile_add_more_after_upgrade" = "Podrás añadir hasta {count:_not_used_|# miembro|# miembros} una vez que conviertas tu grupo en un supergrupo.";
"lng_profile_add_more_after_upgrade#one" = "Podrás añadir hasta {count} miembro una vez que conviertas tu grupo en un supergrupo.";
"lng_profile_add_more_after_upgrade#other" = "Podrás añadir hasta {count} miembros una vez que conviertas tu grupo en un supergrupo.";
"lng_channel_not_accessible" = "Lo sentimos, este canal no es accesible.";
"lng_group_not_accessible" = "Lo sentimos, este grupo no es accesible.";
@@ -642,7 +794,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_group_invite_want_join_channel" = "¿Quieres unirte al canal «{title}»?";
"lng_group_invite_join" = "Unirme";
"lng_group_invite_members" = "{count:_not_used_|# miembro|# miembros}, entre ellos:";
"lng_group_invite_members#one" = "{count} miembro, entre ellos:";
"lng_group_invite_members#other" = "{count} miembros, entre ellos:";
"lng_group_invite_link" = "Enlace de invitación:";
"lng_group_invite_create" = "Crear un enlace de invitación";
@@ -655,6 +808,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_public_link_copied" = "Enlace copiado al portapapeles.";
"lng_forwarded" = "Reenviado desde {user}";
"lng_forwarded_date" = "Original: {date}";
"lng_forwarded_channel" = "Reenviado desde {channel}";
"lng_forwarded_via" = "Reenviado desde {user} vía {inline_bot}";
"lng_forwarded_channel_via" = "Reenviado desde {channel} vía {inline_bot}";
@@ -689,10 +843,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_media_video" = "Vídeo";
"lng_media_audio" = "Mensaje de voz";
"lng_media_auto_settings" = "Ajustes de descarga automática de multimedia";
"lng_media_auto_photo" = "Descarga automática de fotos";
"lng_media_auto_audio" = "Descarga automática de audio";
"lng_media_auto_gif" = "Descarga automática de GIF";
"lng_media_auto_settings" = "Ajustes de autodescarga de multimedia";
"lng_media_auto_photo" = "Autodescarga de fotos";
"lng_media_auto_audio" = "Autodescarga de audio";
"lng_media_auto_gif" = "Autodescarga de GIF";
"lng_media_auto_private_chats" = "Chats";
"lng_media_auto_groups" = "Grupos y canales";
"lng_media_auto_play" = "Autorreproducir";
@@ -705,16 +859,17 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_emoji_category5" = "Viajes y destinos";
"lng_emoji_category6" = "Objetos";
"lng_emoji_category7" = "Símbolos y banderas";
"lng_emoji_hide_panel" = "Haz clic aquí para esconder el panel de emojis";
"lng_recent_stickers" = "Uso frecuente";
"lng_switch_stickers" = "Stickers";
"lng_switch_stickers_gifs" = "GIF y stickers";
"lng_switch_emoji" = "Emoji";
"lng_switch_gifs" = "GIF";
"lng_stickers_featured_add" = "Añadir";
"lng_gifs_search" = "Buscar GIF";
"lng_gifs_no_saved" = "Aún no tienes GIF guardados.";
"lng_saved_gifs" = "GIF guardados";
"lng_inline_bot_results" = "Resultados de {inline_bot}";
"lng_inline_bot_no_results" = "Sin resultados";
"lng_inline_bot_no_results" = "Sin resultados.";
"lng_inline_bot_via" = "vía {inline_bot}";
"lng_box_remove" = "Eliminar";
@@ -733,7 +888,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_stickers_you_have" = "Administrar y ordenar los packs de stickers";
"lng_stickers_featured" = "Stickers destacados";
"lng_stickers_return" = "Deshacer";
"lng_stickers_count" = "{count:Cargando...|# sticker|# stickers}";
"lng_stickers_count#one" = "{count} sticker";
"lng_stickers_count#other" = "{count} 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";
@@ -741,6 +897,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_in_dlg_audio_file" = "Audio";
"lng_in_dlg_contact" = "Contacto";
"lng_in_dlg_audio" = "Mensaje de voz";
"lng_in_dlg_video_message" = "Mensaje de vídeo";
"lng_in_dlg_file" = "Archivo";
"lng_in_dlg_sticker" = "Sticker";
"lng_in_dlg_sticker_emoji" = "{emoji} Sticker";
@@ -807,11 +964,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_typing" = "escribiendo";
"lng_user_typing" = "{user} está escribiendo";
"lng_users_typing" = "{user} y {second_user} están escribiendo";
"lng_many_typing" = "{count:_not_used_|# está|# están} escribiendo";
"lng_many_typing#one" = "{count} está escribiendo";
"lng_many_typing#other" = "{count} están escribiendo";
"lng_playing_game" = "jugando";
"lng_user_playing_game" = "{user} está jugando";
"lng_users_playing_game" = "{user} y {second_user} están jugando";
"lng_many_playing_game" = "{count:_not_used_|# está|# están} jugando";
"lng_many_playing_game#one" = "{count} está jugando";
"lng_many_playing_game#other" = "{count} están jugando";
"lng_send_action_record_video" = "grabando un vídeo";
"lng_user_action_record_video" = "{user} está grabando un vídeo";
"lng_send_action_upload_video" = "enviando un vídeo";
@@ -820,6 +979,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_record_audio" = "{user} está grabando un mensaje de voz";
"lng_send_action_upload_audio" = "enviando un mensaje de voz";
"lng_user_action_upload_audio" = "{user} está enviando un mensaje de voz";
"lng_send_action_record_round" = "grabando un mensaje de vídeo";
"lng_user_action_record_round" = "{user} está grabando un mensaje de vídeo";
"lng_send_action_upload_round" = "enviando un mensaje de vídeo";
"lng_user_action_upload_round" = "{user} está enviando un mensaje de vídeo";
"lng_send_action_upload_photo" = "enviando una foto";
"lng_user_action_upload_photo" = "{user} está enviando una foto";
"lng_send_action_upload_file" = "enviando un archivo";
@@ -828,7 +991,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_geo_location" = "{user} está obteniendo una ubicación";
"lng_send_action_choose_contact" = "eligiendo un contacto";
"lng_user_action_choose_contact" = "{user} está eligiendo un contacto";
"lng_unread_bar" = "{count:_not_used_|# mensaje sin leer|# mensajes sin leer}";
"lng_unread_bar#one" = "{count} mensaje no leído";
"lng_unread_bar#other" = "{count} mensajes no leídos";
"lng_maps_point" = "Ubicación";
"lng_save_photo" = "Guardar imagen";
@@ -851,7 +1015,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_from_top" = "Desanclar";
"lng_context_promote_admin" = "Nombrar administrador";
"lng_context_remove_admin" = "Eliminar de los administradores";
"lng_context_edit_permissions" = "Editar permisos";
"lng_context_restrict_user" = "Restringir usuario";
"lng_context_remove_from_group" = "Eliminar del grupo";
"lng_context_copy_link" = "Copiar enlace";
@@ -877,6 +1042,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_delete_file" = "Eliminar archivo";
"lng_context_close_file" = "Cerrar archivo";
"lng_context_copy_text" = "Copiar texto";
"lng_context_open_gif" = "Abrir GIF";
"lng_context_save_gif" = "Guardar GIF";
"lng_context_to_msg" = "Ir al mensaje";
"lng_context_reply_msg" = "Responder";
@@ -888,31 +1054,41 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_msg" = "Desanclar mensaje";
"lng_context_cancel_upload" = "Cancelar envío";
"lng_context_copy_selected" = "Copiar el texto seleccionado";
"lng_context_copy_selected_items" = "Copiar como texto";
"lng_context_forward_selected" = "Reenviar lo seleccionado";
"lng_context_delete_selected" = "Eliminar lo seleccionado";
"lng_context_clear_selection" = "Eliminar selección";
"lng_really_send_image" = "¿Quieres enviar esta imagen?";
"lng_really_send_file" = "¿Quieres enviar este archivo?";
"lng_really_share_contact" = "¿Quieres compartir este contacto?";
"lng_send_images_compress" = "Comprimir {count:_not_used_|imagen|imágenes}";
"lng_send_images_compress#one" = "Comprimir imagen";
"lng_send_images_compress#other" = "Comprimir imágenes";
"lng_send_image_non_local" = "No se pudo enviar el archivo remoto: {name}";
"lng_send_image_empty" = "No se pudo enviar el archivo vacío: {name}";
"lng_send_image_too_large" = "No se pudo enviar el archivo porque supera los 1500 MB: {name}";
"lng_send_folder" = "No se pudo enviar «{name}», porque es un directorio :(";
"lng_send_images_selected" = "{count:_not_used_|# imagen seleccionada|# imágenes seleccionadas}";
"lng_send_photos" = "Enviar {count:_not_used_|# foto|# fotos}";
"lng_send_files_selected" = "{count:_not_used_|# archivo seleccionado|# archivos seleccionados}";
"lng_send_files" = "Enviar {count:_not_used_|# archivo|# archivos}";
"lng_send_images_selected#one" = "{count} imagen seleccionada";
"lng_send_images_selected#other" = "{count} imágenes seleccionadas";
"lng_send_photos#one" = "Enviar {count} foto";
"lng_send_photos#other" = "Enviar {count} fotos";
"lng_send_files_selected#one" = "{count} archivo seleccionado";
"lng_send_files_selected#other" = "{count} archivos seleccionados";
"lng_send_files#one" = "Enviar {count} archivo";
"lng_send_files#other" = "Enviar {count} archivos";
"lng_forward_choose" = "Elige un destinatario...";
"lng_forward_cant" = "Lo sentimos, no puedes reenviar aquí :(";
"lng_forward_confirm" = "¿Reenviar a {recipient}?";
"lng_forward_share_contact" = "¿Compartir contacto con {recipient}?";
"lng_forward_share_cant" = "No hay forma de compartir un contacto aquí :(";
"lng_forward_send_file_confirm" = "¿Enviar «{name}» a {recipient}?";
"lng_forward_send_files_confirm" = "¿Enviar los archivos seleccionados a {recipient}?";
"lng_forward_send_files_cant" = "No hay forma de enviar multimedia aquí :(";
"lng_forward_send" = "Enviar";
"lng_forward_messages" = "{count:_not_used_|Mensaje adjunto|# mensajes adjuntos}";
"lng_forwarding_from" = "{user} y {count:_not_used_|# otro|# otros}";
"lng_forward_messages#one" = "{count} mensaje reenviado";
"lng_forward_messages#other" = "{count} mensajes reenviados";
"lng_forwarding_from#one" = "{user} y {count} otro";
"lng_forwarding_from#other" = "{user} y {count} otros";
"lng_forwarding_from_two" = "{user} y {second_user}";
"lng_inline_switch_choose" = "Elige una conversación...";
"lng_inline_switch_cant" = "Lo sentimos, no puedes escribir aquí :(";
@@ -934,6 +1110,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_edit_contact_title" = "Editar nombre del contacto";
"lng_edit_channel_title" = "Editar canal";
"lng_edit_sign_messages" = "Firmar los mensajes";
"lng_edit_group_who_invites" = "Quién puede añadir miembros";
"lng_edit_group_invites_everybody" = "Todos los miembros";
"lng_edit_group_invites_only_admins" = "Sólo administradores";
"lng_edit_group" = "Editar grupo";
"lng_edit_self_title" = "Editar tu nombre";
"lng_confirm_contact_data" = "Nuevo contacto";
@@ -958,15 +1137,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_selected_clear" = "Cancelar";
"lng_selected_delete" = "Eliminar";
"lng_selected_forward" = "Reenviar";
"lng_selected_count" = "{count:_not_used_|# mensaje|# mensajes}";
"lng_selected_count#one" = "{count} mensaje";
"lng_selected_count#other" = "{count} mensajes";
"lng_selected_cancel_sure_this" = "¿Detener el envío?";
"lng_selected_upload_stop" = "Detener";
"lng_selected_delete_sure_this" = "¿Quieres eliminar este mensaje?";
"lng_selected_delete_sure" = "¿Quieres eliminar {count:_not_used_|# mensaje|# mensajes}?";
"lng_selected_delete_sure#one" = "¿Quieres eliminar {count} mensaje?";
"lng_selected_delete_sure#other" = "¿Quieres eliminar {count} mensajes?";
"lng_delete_photo_sure" = "¿Quieres eliminar esta foto?";
"lng_delete_for_everyone_hint" = "Esto {count:_not_used_|lo|los} eliminará para todos en este chat.";
"lng_delete_for_me_chat_hint" = "Esto {count:_not_used_|lo|los} eliminará sólo para ti, y no para los otros participantes del chat.";
"lng_delete_for_me_hint" = "Esto {count:_not_used_|lo|los} eliminará sólo para ti.";
"lng_delete_for_everyone_hint#one" = "Esto lo eliminará para todos en este chat.";
"lng_delete_for_everyone_hint#other" = "Esto los eliminará para todos en este chat.";
"lng_delete_for_me_chat_hint#one" = "Esto lo eliminará sólo para ti, no para los otros miembros del chat.";
"lng_delete_for_me_chat_hint#other" = "Esto los eliminará sólo para ti, no para los otros miembros del chat.";
"lng_delete_for_me_hint#one" = "Esto lo eliminará sólo para ti.";
"lng_delete_for_me_hint#other" = "Esto los eliminará sólo para ti.";
"lng_delete_for_everyone_check" = "Eliminar para todos";
"lng_delete_for_other_check" = "Eliminar para {user}";
"lng_box_delete" = "Eliminar";
@@ -978,7 +1162,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_about_text_3" = "Conoce más en las {faq_open}preguntas frecuentes de Telegram{faq_close}.";
"lng_about_done" = "Hecho";
"lng_search_found_results" = "{count:No se encontraron mensajes|# mensaje encontrado|# mensajes encontrados}";
"lng_search_no_results" = "No se encontraron mensajes";
"lng_search_found_results#one" = "{count} mensaje encontrado";
"lng_search_found_results#other" = "{count} mensajes encontrados";
"lng_search_global_results" = "Resultados de la búsqueda global";
"lng_media_save_progress" = "{ready} de {total} {mb}";
@@ -1010,7 +1196,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram Desktop ha sido actualizada a la versión {version}\n\n{changes}\n\nEl historial completo está disponible aquí:\n{link}";
"lng_new_version_minor" = "— Corrección de errores y otras mejoras menores";
"lng_new_version_text" = "— Arrastra un chat anclado para cambiar su posición.\n— Corrección de errores y otras mejoras menores.";
"lng_new_version_text" = "— Videomensajes mejorados: barra de progreso circular, soporte para Picture-in-Picture y cuenta regresiva de la duración.\n— Los mensajes de voz y de video ahora se reproducen automáticamente uno tras otro.";
"lng_menu_insert_unicode" = "Insertar caracteres de control Unicode";
@@ -1023,6 +1209,181 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_confirm_phone_send" = "Enviar";
"lng_confirm_phone_enter_code" = "Por favor, pon el código.";
"lng_theme_editor_no_keys" = "Aún no hay valores en la paleta";
"lng_theme_editor_cant_change_theme" = "No puedes aplicar nuevos temas mientras editas la paleta de colores. Por favor, cierra el editor de temas primero.";
"lng_theme_editor_new_keys" = "Aún no está en la paleta";
"lng_theme_editor_background_image" = "Imagen de fondo";
"lng_theme_editor_saved_to_jpg" = "Guardado como JPEG, {size}";
"lng_theme_editor_read_from_jpg" = "Imagen JPEG, {size}";
"lng_theme_editor_read_from_png" = "Imagen PNG, {size}";
"lng_theme_editor_export" = "Exportar";
"lng_theme_editor_choose_image" = "Elige la imagen de fondo";
"lng_theme_editor_save_palette" = "Guardar archivo de la paleta de colores";
"lng_theme_editor_choose_name" = "Guardar archivo del tema";
"lng_theme_editor_error" = "El editor encontró un error :( Ve “log.txt” para los detalles.";
"lng_theme_editor_done" = "¡Tema exportado con éxito!";
"lng_theme_editor_title" = "Editar la paleta de colores";
"lng_theme_editor_export_button" = "Exportar tema";
"lng_payments_not_supported" = "Lo sentimos, Telegram Desktop no soporta pagos todavía. Por favor, usa una de nuestras aplicaciones móviles para hacerlo.";
"lng_payments_receipt_label" = "Recibo";
"lng_payments_receipt_label_test" = "Recibo de prueba";
"lng_payments_invoice_label" = "Factura";
"lng_payments_invoice_label_test" = "Factura de prueba";
"lng_payments_receipt_button" = "Recibo";
"lng_call_status_incoming" = "te está llamando...";
"lng_call_status_connecting" = "conectando...";
"lng_call_status_exchanging" = "intercambiando claves de cifrado...";
"lng_call_status_waiting" = "esperando...";
"lng_call_status_requesting" = "solicitando...";
"lng_call_status_hanging" = "colgando...";
"lng_call_status_ended" = "llamada terminada";
"lng_call_status_failed" = "conexión fallida";
"lng_call_status_ringing" = "llamando...";
"lng_call_status_busy" = "línea ocupada";
"lng_call_fingerprint_tooltip" = "Si los emojis son los mismos para {user}, la llamada es 100% segura.";
"lng_call_error_not_available" = "Lo sentimos, {user} no acepta llamadas.";
"lng_call_error_incompatible" = "La app de {user} usa un protocolo incompatible. Debe actualizar su app para recibir tu llamada.";
"lng_call_error_outdated" = "La app de {user} no soporta llamadas. Debe actualizar su app para recibir tu llamada.";
"lng_call_error_audio_io" = "Parece existir un problema con la reproducción de audio en tu PC. Por favor, verifica que tu altavoz y micrófono están funcionando y reinténtalo.";
"lng_call_bar_hangup" = "Terminar llamada";
"lng_call_box_title" = "Llamadas";
"lng_call_box_about" = "Aún no has realizado llamadas.";
"lng_call_box_status_today" = "{time}";
"lng_call_box_status_yesterday" = "Ayer a las {time}";
"lng_call_box_status_date" = "{date} a las {time}";
"lng_call_box_status_group" = "({count}) {status}";
"lng_call_outgoing" = "Llamada saliente";
"lng_call_incoming" = "Llamada entrante";
"lng_call_missed" = "Llamada perdida";
"lng_call_cancelled" = "Llamada cancelada";
"lng_call_declined" = "Llamada rechazada";
"lng_call_duration_info" = "{time}, {duration}";
"lng_call_type_and_duration" = "{type} ({duration})";
"lng_call_rate_label" = "Evalúa la calidad de tu llamada";
"lng_call_rate_comment" = "Comentario (opcional)";
"lng_player_message_today" = "Hoy a las {time}";
"lng_player_message_yesterday" = "Ayer a las {time}";
"lng_player_message_date" = "{date} a las {time}";
"lng_rights_edit_admin" = "Editar administrador";
"lng_rights_edit_admin_header" = "¿Qué puede hacer este administrador?";
"lng_rights_about_add_admins_yes" = "Este administrador podrá añadir administradores con los mismos (o menos) permisos.";
"lng_rights_about_add_admins_no" = "Este administrador no podrá añadir administradores.";
"lng_rights_user_restrictions" = "Restricciones";
"lng_rights_user_restrictions_header" = "¿Qué puede hacer este usuario?";
"lng_rights_channel_info" = "Cambiar información del canal";
"lng_rights_channel_post" = "Publicar mensajes";
"lng_rights_channel_edit" = "Editar mensajes de otros";
"lng_rights_channel_delete" = "Eliminar mensajes de otros";
"lng_rights_group_info" = "Cambiar información del grupo";
"lng_rights_group_ban" = "Suspender usuarios";
"lng_rights_group_invite_link" = "Invitar con un enlace";
"lng_rights_group_invite" = "Añadir usuarios";
"lng_rights_group_pin" = "Anclar mensajes";
"lng_rights_group_delete" = "Eliminar mensajes";
"lng_rights_add_admins" = "Añadir administradores";
"lng_rights_chat_read" = "Leer mensajes";
"lng_rights_chat_send_text" = "Enviar mensajes";
"lng_rights_chat_send_media" = "Enviar multimedia";
"lng_rights_chat_send_stickers" = "Enviar stickers y GIF";
"lng_rights_chat_send_links" = "Enviar vista previa de enlaces";
"lng_rights_chat_banned_until" = "Restringido hasta: {when}";
"lng_rights_chat_banned_forever" = "Siempre";
"lng_rights_chat_banned_block" = "Suspender y eliminar del grupo";
"lng_restricted_send_message" = "Los administradores del grupo han restringido que escribas.";
"lng_restricted_send_media" = "Los administradores del grupo han restringido que envíes multimedia.";
"lng_restricted_send_stickers" = "Los administradores del grupo han restringido que envíes stickers.";
"lng_restricted_send_gifs" = "Los administradores del grupo han restringido que envíes GIF.";
"lng_restricted_send_inline" = "Los administradores del grupo han restringido que envíes contenido integrado.";
"lng_restricted_list_title" = "Usuarios restringidos";
"lng_banned_list_title" = "Usuarios suspendidos";
"lng_admin_log_title_all" = "Todas las acciones";
"lng_admin_log_title_selected" = "Acciones seleccionadas";
"lng_admin_log_filter" = "Filtrar";
"lng_admin_log_filter_title" = "Filtrar";
"lng_admin_log_filter_all_actions" = "Todas las acciones";
"lng_admin_log_filter_restrictions" = "Nuevas restricciones";
"lng_admin_log_filter_admins_new" = "Nuevos administradores";
"lng_admin_log_filter_members_new" = "Nuevos miembros";
"lng_admin_log_filter_info_group" = "Información del grupo";
"lng_admin_log_filter_info_channel" = "Información del canal";
"lng_admin_log_filter_messages_deleted" = "Mensajes eliminados";
"lng_admin_log_filter_messages_edited" = "Mensajes editados";
"lng_admin_log_filter_messages_pinned" = "Mensajes anclados";
"lng_admin_log_filter_members_removed" = "Miembros eliminados";
"lng_admin_log_filter_all_admins" = "Todos los administradores";
"lng_admin_log_about" = "¿Qué es esto?";
"lng_admin_log_about_text" = "Esta es una lista de las acciones de servicio realizadas por los miembros y administradores del grupo en las últimas 48 horas.";
"lng_admin_log_no_results_title" = "No se encontraron eventos";
"lng_admin_log_no_results_text" = "No se encontraron eventos que coincidan con tu solicitud.";
"lng_admin_log_no_events_title" = "Aún no hay eventos";
"lng_admin_log_no_events_text" = "Los miembros y administradores\nno han realizado acciones de \nservicio en las últimas 48 horas.";
"lng_admin_log_empty_text" = "Vacío";
"lng_admin_log_changed_title_group" = "{from} cambió el nombre del grupo a «{title}»";
"lng_admin_log_changed_title_channel" = "{from} cambió el nombre del canal a «{title}»";
"lng_admin_log_changed_description_group" = "{from} editó la descripción del grupo:";
"lng_admin_log_removed_description_group" = "{from} eliminó la descripción del grupo";
"lng_admin_log_changed_description_channel" = "{from} editó la descripción del canal:";
"lng_admin_log_removed_description_channel" = "{from} eliminó la descripción del canal";
"lng_admin_log_previous_description" = "Descripción anterior";
"lng_admin_log_changed_link_group" = "{from} cambió el enlace del grupo:";
"lng_admin_log_removed_link_group" = "{from} eliminó el enlace del grupo";
"lng_admin_log_changed_link_channel" = "{from} cambió el enlace del canal:";
"lng_admin_log_removed_link_channel" = "{from} eliminó el enlace del canal";
"lng_admin_log_previous_link" = "Enlace previo";
"lng_admin_log_changed_photo_group" = "{from} cambió la foto de grupo";
"lng_admin_log_changed_photo_channel" = "{from} cambió la foto del canal";
"lng_admin_log_removed_photo_group" = "{from} eliminó la foto del grupo";
"lng_admin_log_removed_photo_channel" = "{from} eliminó la foto del canal";
"lng_admin_log_invites_enabled" = "{from} permitió las invitaciones";
"lng_admin_log_invites_disabled" = "{from} desactivó las invitaciones";
"lng_admin_log_signatures_enabled" = "{from} activó las firmas";
"lng_admin_log_signatures_disabled" = "{from} desactivó las firmas";
"lng_admin_log_pinned_message" = "{from} ancló un mensaje:";
"lng_admin_log_unpinned_message" = "{from} desancló un mensaje";
"lng_admin_log_edited_caption" = "{from} editó un comentario:";
"lng_admin_log_removed_caption" = "{from} eliminó un comentario";
"lng_admin_log_previous_caption" = "Comentario original";
"lng_admin_log_edited_message" = "{from} editó un mensaje:";
"lng_admin_log_previous_message" = "Mensaje original";
"lng_admin_log_deleted_message" = "{from} eliminó un mensaje:";
"lng_admin_log_participant_joined" = "{from} se unió al grupo";
"lng_admin_log_participant_left" = "{from} dejó el grupo";
"lng_admin_log_invited" = "invitó a {user}";
"lng_admin_log_banned" = "suspendió a {user}";
"lng_admin_log_restricted" = "cambió las restricciones de {user} {until}";
"lng_admin_log_promoted" = "cambió los privilegios de {user}";
"lng_admin_log_user_with_username" = "{name} ({mention})";
"lng_admin_log_restricted_forever" = "indefinidamente";
"lng_admin_log_restricted_until" = "hasta el {date}";
"lng_admin_log_banned_view_messages" = "Leer mensajes";
"lng_admin_log_banned_send_messages" = "Enviar mensajes";
"lng_admin_log_banned_send_media" = "Enviar multimedia";
"lng_admin_log_banned_send_stickers" = "Enviar stickers y GIF";
"lng_admin_log_banned_embed_links" = "Enviar vista previa de enlaces";
"lng_admin_log_admin_change_info" = "Cambiar información";
"lng_admin_log_admin_post_messages" = "Publicar mensajes";
"lng_admin_log_admin_edit_messages" = "Editar mensajes";
"lng_admin_log_admin_delete_messages" = "Eliminar mensajes";
"lng_admin_log_admin_ban_users" = "Suspender usuarios";
"lng_admin_log_admin_invite_users" = "Añadir usuarios";
"lng_admin_log_admin_invite_link" = "Invitar con un enlace";
"lng_admin_log_admin_pin_messages" = "Anclar mensajes";
"lng_admin_log_admin_add_admins" = "Añadir administradores";
// Not used
"lng_topbar_info" = "Información";

View File

@@ -19,14 +19,16 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
"lng_language_name" = "Italiano";
"lng_switch_to_this" = "Passa all'italiano";
"lng_switch_to_this" = "Passa all'Italiano";
"lng_menu_contacts" = "Contatti";
"lng_menu_calls" = "Chiamate";
"lng_menu_settings" = "Impostazioni";
"lng_menu_about" = "Info";
"lng_menu_update" = "Aggiorna";
"lng_menu_restart" = "Riavvia";
"lng_menu_back" = "Indietro";
"lng_menu_night_mode" = "Modalità notte";
"lng_disable_notifications_from_tray" = "Disattiva notifiche";
"lng_enable_notifications_from_tray" = "Attiva notifiche";
@@ -79,7 +81,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_month_day" = "{day} {month}";
"lng_month_day_year" = "{day} {month} {year}";
"lng_month_year" = "{month}, {year}";
"lng_month_year" = "{month} {year}";
"lng_box_ok" = "Ok";
@@ -87,7 +89,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_continue" = "Continua";
"lng_close" = "Chiudi";
"lng_connecting" = "Connetto...";
"lng_reconnecting" = "Riconnetto {count:ora|tra # s|tra # s}...";
"lng_connecting_to_proxy" = "Connetto al proxy...";
"lng_connecting_settings" = "Impostazioni";
"lng_reconnecting#one" = "Riconnetto tra {count} s...";
"lng_reconnecting#other" = "Riconnetto tra {count} s...";
"lng_reconnecting_try_now" = "Prova ora";
"lng_status_service_notifications" = "notifiche di servizio";
@@ -101,8 +106,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_last_month" = "ultimo accesso entro un mese";
"lng_status_invisible" = "invisibile";
"lng_status_lastseen_now" = "ultimo accesso adesso";
"lng_status_lastseen_minutes" = "ultimo accesso {count:_not_used_|# minuto|# minuti} fa";
"lng_status_lastseen_hours" = "ultimo accesso {count:_not_used_|# ora|# ore} fa";
"lng_status_lastseen_minutes#one" = "ultimo accesso {count} minuto fa";
"lng_status_lastseen_minutes#other" = "ultimo accesso {count} minuti fa";
"lng_status_lastseen_hours#one" = "ultimo accesso {count} ora fa";
"lng_status_lastseen_hours#other" = "ultimo accesso {count} ore fa";
"lng_status_lastseen_today" = "ultimo accesso oggi alle {time}";
"lng_status_lastseen_yesterday" = "ultimo accesso ieri alle {time}";
"lng_status_lastseen_date" = "ultimo accesso {date}";
@@ -111,14 +118,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_connecting" = "connetto...";
"lng_chat_status_unaccessible" = "gruppo inaccessibile";
"lng_chat_status_members" = "{count:nessun membro|# membro|# membri}";
"lng_chat_status_members_online" = "{count:_not_used_|# membro|# membri}, {count_online:_not_used_|# in linea|# in linea}";
"lng_chat_status_no_members" = "nessun membro";
"lng_chat_status_members#one" = "{count} membro";
"lng_chat_status_members#other" = "{count} membri";
"lng_chat_status_online#one" = "{count} in linea";
"lng_chat_status_online#other" = "{count} in linea";
"lng_chat_status_members_online" = "{members_count}, {online_count}";
"lng_channel_status" = "canale";
"lng_group_status" = "gruppo";
"lng_channel_members_link" = "{count:_not_used_|# membro|# membri}";
"lng_channel_admins_link" = "{count:_not_used_|# amministratore|# amministratori}";
"lng_channel_members_link#one" = "{count} membro";
"lng_channel_members_link#other" = "{count} membri";
"lng_channel_admins_link#one" = "{count} amministratore";
"lng_channel_admins_link#other" = "{count} amministratori";
"lng_server_error" = "Errore interno del server.";
"lng_flood_error" = "Troppi tentativi. Per favore riprova più tardi.";
@@ -127,13 +140,26 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_join_channel_error" = "Spiacenti, ti sei unito a troppi canali e supergruppi. Per favore lasciane qualcuno prima di unirti.";
"lng_error_phone_flood" = "Spiacenti, hai eliminato e ricreato il tuo account troppe volte di recente. Per favore attendi alcuni giorni prima di iscriverti di nuovo.";
"lng_error_start_minimized_passcoded" = "Hai inserito un codice di blocco, quindi l'app non può essere avviata minimizzata. L'app ti chiederà il codice prima di potersi avviare.";
"lng_error_pinned_max" = "Spiacenti, non puoi fissare in alto più di {count:_not_used_|# chat|# chat}.";
"lng_error_pinned_max#one" = "Spiacenti, non puoi fissare in alto più di {count} chat.";
"lng_error_pinned_max#other" = "Spiacenti, non puoi fissare in alto più di {count} chat.";
"lng_error_public_groups_denied" = "Sfortunatamente, non ti è permesso partecipare ai gruppi pubblici.\n{more_info}";
"lng_error_cant_edit_admin" = "Spiacenti, non puoi modificare le autorizzazioni di questo amministratore.";
"lng_error_cant_add_member" = "Spiacenti, non puoi aggiungere il bot a questo gruppo. Chiedi ad un amministratore di farlo.";
"lng_error_cant_add_admin_invite" = "Spiacenti, non puoi aggiungere questo utente come amministratore perché non è un membro del gruppo e non sei autorizzato ad invitarlo.";
"lng_error_cant_add_admin_unban" = "Spiacenti, non puoi aggiungere questo utente come amministratore perché è bloccato e non puoi sbloccarlo.";
"lng_error_cant_ban_admin" = "Spiacenti, non puoi bloccare questo utente perché è un amministratore in questo gruppo e non sei autorizzato a degradarlo.";
"lng_sure_add_admin_invite" = "Questo utente non è membro del gruppo. Vuoi aggiungerlo e promuoverlo ad amministratore?";
"lng_sure_add_admin_unban" = "Questo utente è limitato o bloccato nel gruppo. Sei sicuro di volerlo sbloccare e promuoverlo?";
"lng_sure_ban_admin" = "Questo utente è un amministratore nel gruppo. Sei sicuro di voler proseguire e limitarlo?";
"lng_sure_ban_user_group" = "Bloccare {user} nel gruppo?";
"lng_sure_enable_socks" = "Sei sicuro di voler attivare questo proxy?\n\nServer: {server}\nPorta: {port}\n\nPuoi cambiare il tuo server proxy più tardi nelle Impostazioni (Tipo di connessione).";
"lng_sure_enable" = "Attiva";
"lng_edit_deleted" = "Questo messaggio è stato eliminato";
"lng_edit_too_long" = "Il tuo messaggio è troppo lungo";
"lng_edit_message" = "Modifica messaggio";
"lng_edit_message_text" = "Nuovo testo messaggio...";
"lng_deleted" = "Sconosciuto";
"lng_deleted" = "Account eliminato";
"lng_deleted_message" = "Messaggio eliminato";
"lng_pinned_message" = "Messaggio fissato";
"lng_pinned_unpin_sure" = "Vuoi togliere questo messaggio?";
@@ -196,9 +222,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_signin_sure_reset" = "Attenzione!\n\nPerderai tutte le chat e i messaggi, insieme a tutti i media e i file condivisi!\n\nVuoi ripristinare il tuo account?";
"lng_signin_reset" = "Ripristina";
"lng_signin_reset_wait" = "Dato che l'account {phone_number} è attivo e protetto da una password, lo elimineremo tra 1 settimana per motivi di sicurezza. Puoi annullare questo processo in qualsiasi momento.\n\nPotrai ripristinare il tuo account tra:\n{when}";
"lng_signin_reset_in_days" = "{count_days:0 giorni|# giorno|# giorni} {count_hours:0 ore|# ora|# ore} {count_minutes:0 minuti|# minuto|# minuti}";
"lng_signin_reset_in_hours" = "{count_hours:0 ore|# ora|# ore} {count_minutes:0 minuti|# minuto|# minuti}";
"lng_signin_reset_in_minutes" = "{count_minutes:0 minuti|# minuto|# minuti}";
"lng_signin_reset_days#one" = "{count} giorno";
"lng_signin_reset_days#other" = "{count} giorni";
"lng_signin_reset_hours#one" = "{count} ora";
"lng_signin_reset_hours#other" = "{count} ore";
"lng_signin_reset_minutes#one" = "{count} minuto";
"lng_signin_reset_minutes#other" = "{count} minuti";
"lng_signin_reset_in_days" = "{days_count} {hours_count} {minutes_count}";
"lng_signin_reset_in_hours" = "{hours_count} {minutes_count}";
"lng_signin_reset_cancelled" = "I tuoi tentativi recenti di ripristinare questo account sono stati annullati dal suo utente attivo. Per favore riprova tra 7 giorni.";
"lng_signup_title" = "Le tue info";
@@ -208,8 +239,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_signup_lastname" = "Cognome";
"lng_dlg_filter" = "Cerca";
"lng_dlg_new_group_name" = "Nome gruppo";
"lng_dlg_new_channel_name" = "Nome canale";
"lng_dlg_new_group_name" = "Nome del gruppo";
"lng_dlg_new_channel_name" = "Nome del canale";
"lng_no_contacts" = "Non hai contatti";
"lng_no_chats" = "Le tua chat saranno qui";
"lng_contacts_loading" = "Carico...";
@@ -221,10 +252,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_save" = "Salva";
"lng_settings_upload" = "Imposta foto profilo";
"lng_settings_crop_profile" = "Seleziona un riquadro per la tua foto profilo";
"lng_settings_crop_profile" = "Seleziona un'area per la tua foto profilo";
"lng_settings_uploading_photo" = "Carico foto...";
"lng_settings_edit" = "Modifica";
"lng_settings_drop_area_subtitle" = "per impostarla come foto profilo";
"lng_username_title" = "Username";
@@ -296,12 +326,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_bg_use_default" = "Usa tema predefinito";
"lng_settings_bg_from_gallery" = "Scegli dalla galleria";
"lng_settings_bg_from_file" = "Scegli da file";
"lng_settings_bg_edit_theme" = "Modifica tema";
"lng_settings_bg_tile" = "Affianca sfondo";
"lng_settings_adaptive_wide" = "Layout adattivo per grandi schermi";
"lng_backgrounds_header" = "Scegli un nuovo sfondo per la chat";
"lng_theme_sure_keep" = "Mantenere questo tema?";
"lng_theme_reverting" = "Ripristino il vecchio tema tra {count:_not_used_|# secondo|# secondi}.";
"lng_theme_reverting#one" = "Ripristino il vecchio tema tra {count} secondo.";
"lng_theme_reverting#other" = "Ripristino il vecchio tema tra {count} secondi.";
"lng_theme_keep_changes" = "Mantieni modifiche";
"lng_theme_revert" = "Ripristina";
@@ -327,14 +359,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_local_storage_title" = "Archivio locale";
"lng_settings_no_data_cached" = "Non ci sono dati nella cache!";
"lng_settings_images_cached" = "{count:_not_used_|# immagine|# immagini}, {size}";
"lng_settings_audios_cached" = "{count:_not_used_|# messaggio vocale|# messaggi vocali}, {size}";
"lng_settings_images_cached#one" = "{count} immagine, {size}";
"lng_settings_images_cached#other" = "{count} immagini, {size}";
"lng_settings_audios_cached#one" = "{count} messaggio vocale, {size}";
"lng_settings_audios_cached#other" = "{count} messaggi vocali, {size}";
"lng_local_storage_clear" = "Elimina tutto";
"lng_local_storage_clearing" = "Elimino...";
"lng_local_storage_cleared" = "Eliminato!";
"lng_local_storage_clear_failed" = "Eliminazione fallita :(";
"lng_settings_section_advanced_settings" = "Impostazioni avanzate";
"lng_settings_enable_night_theme" = "Attiva la modalità notte";
"lng_settings_disable_night_theme" = "Disattiva la modalità notte";
"lng_passcode_remove_button" = "Rimuovi";
@@ -346,13 +382,15 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_passcode_autolock" = "Blocco automatico";
"lng_passcode_autolock_away" = "Blocco automatico se lontano per:";
"lng_passcode_autolock_inactive" = "Blocco automatico se inattivo per:";
"lng_passcode_autolock_minutes" = "{count:_not_used_|# minuto|# minuti}";
"lng_passcode_autolock_hours" = "{count:_not_used_|# ora|# ore}";
"lng_passcode_autolock_minutes#one" = "{count} minuto";
"lng_passcode_autolock_minutes#other" = "{count} minuti";
"lng_passcode_autolock_hours#one" = "{count} ora";
"lng_passcode_autolock_hours#other" = "{count} ore";
"lng_passcode_enter_old" = "Inserisci il codice attuale";
"lng_passcode_enter_first" = "Inserisci un codice";
"lng_passcode_enter_new" = "Inserisci il nuovo codice";
"lng_passcode_confirm_new" = "Reinserisci il nuovo codice";
"lng_passcode_about" = "Quando un codice è attivo, appare un'icona col lucchetto sopra la lista delle chat. Premi su di essa per bloccare l'app.\n\nNota: se dimentichi il codice, dovrai accedere di nuovo su Telegram Desktop.";
"lng_passcode_about" = "Quando è attivo un codice, appare un'icona col lucchetto sopra la lista delle chat. Premila per bloccare l'app.\n\nNota: se dimentichi il codice, dovrai accedere di nuovo su Telegram Desktop.";
"lng_passcode_differ" = "I codici sono diversi";
"lng_passcode_wrong" = "Codice errato";
"lng_passcode_is_same" = "Il codice non è stato cambiato";
@@ -403,13 +441,21 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_connection_user_ph" = "Username";
"lng_connection_password_ph" = "Password";
"lng_connection_save" = "Salva";
"lng_settings_blocked_users" = "Utenti bloccati";
"lng_settings_last_seen_privacy" = "Ultimo accesso";
"lng_settings_calls_privacy" = "Privacy chiamate";
"lng_settings_groups_invite_privacy" = "Gruppi";
"lng_settings_show_sessions" = "Mostra tutte le sessioni";
"lng_settings_self_destruct" = "Impostazioni autodistruzione account";
"lng_settings_change_phone" = "Cambia numero di telefono";
"lng_settings_reset" = "Termina tutte le altre sessioni";
"lng_settings_reset_sure" = "Sicuro di voler terminare\ntutte le altre sessioni?";
"lng_settings_reset_one_sure" = "Vuoi terminare questa sessione?";
"lng_settings_reset_button" = "Chiudi";
"lng_settings_reset_done" = "Altre sessioni terminate";
"lng_settings_manage_local_storage" = "Gestisci archivio locale";
"lng_settings_manage_local_storage" = "Gestisci l'archivio locale";
"lng_settings_ask_question" = "Fai una domanda";
"lng_settings_ask_sure" = "Per favore nota che l'assistenza di Telegram è fornita da volontari. Proviamo a rispondere quanto prima, ma potrebbe volerci del tempo.\n\nDai un'occhiata alle domande frequenti di Telegram: contengono suggerimenti importanti per risolvere i problemi e risposte a quasi tutte le domande.";
"lng_settings_faq_button" = "Domande frequenti";
@@ -428,6 +474,76 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_sessions_other_desc" = "Ti puoi connettere a Telegram da altri dispositivi mobili, tablet e desktop usando lo stesso numero. Tutti i tuoi dati saranno sincronizzati istantaneamente.";
"lng_sessions_terminate_all" = "Termina tutte le altre sessioni";
"lng_blocked_list_title" = "Utenti bloccati";
"lng_blocked_list_unknown_phone" = "numero sconosciuto";
"lng_blocked_list_unblock" = "Sblocca";
"lng_blocked_list_add" = "Blocca utente";
"lng_blocked_list_add_title" = "Seleziona l'utente da bloccare";
"lng_blocked_list_already_blocked" = "già bloccato";
"lng_blocked_list_about" = "Gli utenti bloccati non possono inviarti messaggi o aggiungerti ai gruppi. Non vedranno le tue foto profilo, lo stato in linea e l'ultimo accesso.";
"lng_blocked_list_not_found" = "Nessun utente trovato.";
"lng_edit_privacy_everyone" = "Tutti";
"lng_edit_privacy_contacts" = "I miei contatti";
"lng_edit_privacy_nobody" = "Nessuno";
"lng_edit_privacy_exceptions" = "Aggiungi eccezioni";
"lng_edit_privacy_lastseen_title" = "Ultimo accesso";
"lng_edit_privacy_lastseen_description" = "Puoi decidere chi può vedere il tuo ultimo accesso:";
"lng_edit_privacy_lastseen_warning" = "Importante: non potrai vedere l'ultimo accesso delle persone con cui non condividi l'ultimo accesso. Verrà mostrato un orario approssimativo (di recente, entro una settimana, entro un mese).";
"lng_edit_privacy_lastseen_always_empty" = "Condividi con";
"lng_edit_privacy_lastseen_always#one" = "Condividi con {count} utente";
"lng_edit_privacy_lastseen_always#other" = "Condividi con {count} utenti";
"lng_edit_privacy_lastseen_never_empty" = "Non condividere con";
"lng_edit_privacy_lastseen_never#one" = "Non condividere con {count} utente";
"lng_edit_privacy_lastseen_never#other" = "Non condividere con {count} utenti";
"lng_edit_privacy_lastseen_exceptions" = "Queste impostazioni annulleranno i valori precedenti.";
"lng_edit_privacy_lastseen_always_title" = "Condividi con";
"lng_edit_privacy_lastseen_never_title" = "Non condividere co";
"lng_edit_privacy_groups_title" = "Gruppi";
"lng_edit_privacy_groups_description" = "Puoi decidere chi può aggiungerti a gruppi e canali con precisione granulare:";
"lng_edit_privacy_groups_always_empty" = "Consenti sempre";
"lng_edit_privacy_groups_always#one" = "Consenti sempre {count} utente";
"lng_edit_privacy_groups_always#other" = "Consenti sempre {count} utenti";
"lng_edit_privacy_groups_never_empty" = "Non consentire mai";
"lng_edit_privacy_groups_never#one" = "Non consentire mai {count} utente";
"lng_edit_privacy_groups_never#other" = "Non consentire mai {count} utenti";
"lng_edit_privacy_groups_exceptions" = "Questi utenti potranno o non potranno aggiungerti a gruppi e canali indipendentemente dalle impostazioni precedenti.";
"lng_edit_privacy_groups_always_title" = "Consenti sempre";
"lng_edit_privacy_groups_never_title" = "Non consentire mai";
"lng_edit_privacy_calls_title" = "Privacy chiamate";
"lng_edit_privacy_calls_description" = "Puoi decidere chi può chiamarti:";
"lng_edit_privacy_calls_always_empty" = "Consenti sempre";
"lng_edit_privacy_calls_always#one" = "Consenti sempre {count} utente";
"lng_edit_privacy_calls_always#other" = "Consenti sempre {count} utenti";
"lng_edit_privacy_calls_never_empty" = "Non consentire mai";
"lng_edit_privacy_calls_never#one" = "Non consentire mai {count} utente";
"lng_edit_privacy_calls_never#other" = "Non consentire mai {count} utenti";
"lng_edit_privacy_calls_exceptions" = "Questi utenti potranno o non potranno chiamarti indipendentemente dalle impostazioni precedenti.";
"lng_edit_privacy_calls_always_title" = "Consenti sempre";
"lng_edit_privacy_calls_never_title" = "Non consentire mai";
"lng_self_destruct_title" = "Autodistruzione account";
"lng_self_destruct_description" = "Se non ti connetti almeno una volta in questo periodo, il tuo account verrà eliminato insieme a tutti i gruppi, i messaggi e i contatti.";
"lng_self_destruct_months#one" = "{count} mese";
"lng_self_destruct_months#other" = "{count} mesi";
"lng_self_destruct_years#one" = "{count} anno";
"lng_self_destruct_years#other" = "{count} anni";
"lng_change_phone_title" = "Cambia numero di telefono";
"lng_change_phone_description" = "Puoi cambiare il tuo numero di telefono\nqui. Il tuo account e tutti i tuoi dati cloud\n— messaggi, file, contatti, etc. saranno\ntrasferiti sul nuovo numero.\n\n[b]Importante[/b]: a tutti i tuoi contatti di Telegram\nverrà aggiunto il tuo [b]nuovo numero[/b] ai contatti,\npurché abbiano il tuo vecchio numero e\ntu non li abbia bloccati su Telegram.";
"lng_change_phone_warning" = "Tutti i tuoi contatti Telegram avranno il tuo nuovo numero tra i loro contatti, purché abbiano il tuo vecchio numero e tu non li abbia bloccati su Telegram.";
"lng_change_phone_occupied" = "Il numero {phone} è già connesso ad un account Telegram. Per favore elimina quell'account prima di migrare sul nuovo numero.";
"lng_change_phone_button" = "Cambia numero";
"lng_change_phone_new_title" = "Inserisci il nuovo numero";
"lng_change_phone_new_description" = "Invieremo un SMS con un codice di conferma al tuo nuovo numero.";
"lng_change_phone_new_submit" = "Invia";
"lng_change_phone_code_title" = "Inserisci il codice";
"lng_change_phone_code_description" = "Abbiamo inviato un SMS con un codice di conferma al tuo numero {phone}.";
"lng_change_phone_success" = "Il tuo numero di telefono è stato cambiato.";
"lng_preview_loading" = "Recupero le info del link...";
"lng_profile_chat_unaccessible" = "Gruppo inaccessibile";
@@ -440,12 +556,16 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_invite_link_section" = "Link d'invito";
"lng_profile_create_public_link" = "Crea link pubblico";
"lng_profile_edit_public_link" = "Modifica link pubblico";
"lng_profile_manage_admins" = "Gestisci amministratori";
"lng_profile_common_groups" = "{count:_not_used_|# gruppo|# gruppi} in comune";
"lng_profile_manage_admins" = "Gestisci gli amministratori";
"lng_profile_manage_blocklist" = "Gestisci gli utenti bloccati";
"lng_profile_manage_restrictedlist" = "Gestisci gli utenti limitati";
"lng_profile_recent_actions" = "Azioni recenti";
"lng_profile_common_groups#one" = "{count} gruppo in comune";
"lng_profile_common_groups#other" = "{count} gruppi in comune";
"lng_profile_common_groups_section" = "Gruppi in comune";
"lng_profile_participants_section" = "Membri";
"lng_profile_info_section" = "Info";
"lng_profile_mobile_number" = "Telefono:";
"lng_profile_mobile_number" = "Cellulare:";
"lng_profile_username" = "Username:";
"lng_profile_link" = "Link:";
"lng_profile_add_contact" = "Aggiungi contatto";
@@ -475,23 +595,30 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_delete_and_exit" = "Esci";
"lng_profile_kick" = "Rimuovi";
"lng_profile_admin" = "amministratore";
"lng_profile_edit_permissions" = "Modifica";
"lng_profile_sure_kick" = "Rimuovere {user} dal gruppo?";
"lng_profile_sure_kick_channel" = "Rimuovere {user} dal canale?";
"lng_profile_sure_kick_admin" = "Rimuovere {user} dagli amministratori?";
"lng_profile_loading" = "Carico...";
"lng_profile_shared_media" = "Media condivisi";
"lng_profile_no_media" = "Nessun media in questa chat.";
"lng_profile_photos" = "{count:_not_used_|# foto|# foto}";
"lng_profile_photos#one" = "{count} foto";
"lng_profile_photos#other" = "{count} foto";
"lng_profile_photos_header" = "Foto";
"lng_profile_videos" = "{count:_not_used_|# video|# video}";
"lng_profile_videos#one" = "{count} video";
"lng_profile_videos#other" = "{count} video";
"lng_profile_videos_header" = "Video";
"lng_profile_songs" = "{count:_not_used_|# file audio|# file audio}";
"lng_profile_songs#one" = "{count} file audio";
"lng_profile_songs#other" = "{count} file audio";
"lng_profile_songs_header" = "File audio";
"lng_profile_files" = "{count:_not_used_|# file|# file}";
"lng_profile_files#one" = "{count} file";
"lng_profile_files#other" = "{count} file";
"lng_profile_files_header" = "File";
"lng_profile_audios" = "{count:_not_used_|# messaggio vocale|# messaggi vocali}";
"lng_profile_audios#one" = "{count} messaggio vocale";
"lng_profile_audios#other" = "{count} messaggi vocali";
"lng_profile_audios_header" = "Messaggi vocali";
"lng_profile_shared_links" = "{count:_not_used_|# link condiviso|# link condivisi}";
"lng_profile_shared_links#one" = "{count} link condiviso";
"lng_profile_shared_links#other" = "{count} link condivisi";
"lng_profile_shared_links_header" = "Link condivisi";
"lng_profile_copy_phone" = "Copia numero di telefono";
"lng_profile_copy_fullname" = "Copia nome";
@@ -513,12 +640,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_add_admins" = "Nuovo amministratore";
"lng_channel_add_members" = "Aggiungi membri";
"lng_channel_add_banned" = "Blocca utente";
"lng_channel_add_restricted" = "Limita utente";
"lng_channel_members" = "Membri";
"lng_channel_only_last_shown" = "Solo {count:_not_used_|l'ultimo membro è mostrato|gli ultimi # membri sono mostrati} qui";
"lng_channel_only_last_shown#one" = "Solo l'ultimo membro è mostrato qui";
"lng_channel_only_last_shown#other" = "Solo gli ultimi {count} membri sono mostrati qui";
"lng_channel_admins" = "Amministratori";
"lng_channel_add_admin" = "Aggiungi amministratore";
"lng_channel_admin_sure" = "Aggiungere {user} agli amministratori?";
"lng_channel_admins_too_much" = "Spiacenti, hai raggiunto il limite di amministratori. Prima devi rimuoverne qualcuno.";
"lng_channel_admin_status_creator" = "Creatore";
"lng_channel_admin_status_promoted_by" = "Promosso da {user}";
"lng_group_blocked_list_about" = "Gli utenti bloccati sono rimossi dal gruppo e possono rientrare solo se invitati da un amministratore.\nI link di invito non funzionano per loro.";
"lng_chat_all_members_admins" = "Tutti sono amministratori";
"lng_chat_about_all_admins" = "Tutti i membri possono aggiungere nuovi membri, modificare nome e foto del gruppo.";
@@ -526,7 +659,8 @@ Copyright (c) 2014-2017 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 tramite il tuo link d'invito.";
"lng_participant_invite_sorry#one" = "Spiacenti, puoi aggiungere solo il primo membro a un canale.\n\nDa adesso, le persone potranno unirsi tramite il tuo link d'invito.";
"lng_participant_invite_sorry#other" = "Spiacenti, puoi aggiungere solo i primi {count} membri a un canale.\n\nDa adesso, le persone potranno unirsi tramite il tuo link d'invito.";
"lng_create_group_back" = "Indietro";
"lng_create_group_next" = "Avanti";
"lng_create_group_create" = "Crea";
@@ -549,8 +683,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_create_channel_link_available" = "Questo link è disponibile";
"lng_create_channel_link_copied" = "Link copiato negli appunti";
"lng_create_group_crop" = "Seleziona un riquadro per la foto del gruppo";
"lng_create_channel_crop" = "Seleziona un riquadro per la foto del canale";
"lng_create_group_crop" = "Seleziona un'area per la foto del gruppo";
"lng_create_channel_crop" = "Seleziona un'area per la foto del canale";
"lng_failed_add_participant" = "Impossibile aggiungere l'utente. Riprova più tardi.";
"lng_failed_add_not_mutual" = "Spiacenti, se una persona lascia un gruppo, solo un contatto reciproco può aggiungerla (chi ti invita deve avere il tuo numero, e viceversa).";
@@ -568,6 +702,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_message_empty" = "Messaggio vuoto";
"lng_message_unsupported" = "Questo messaggio non è supportato dalla tua versione di Telegram Desktop. Per favore, aggiorna all'ultima versione dalle Impostazioni o installalo da {link}";
"lng_duration_seconds#one" = "{count} secondo";
"lng_duration_seconds#other" = "{count} secondi";
"lng_duration_minsec_minutes#one" = "{count} min";
"lng_duration_minsec_minutes#other" = "{count} min";
"lng_duration_minsec_seconds#one" = "{count} sec";
"lng_duration_minsec_seconds#other" = "{count} sec";
"lng_duration_minutes_seconds" = "{minutes_count} {seconds_count}";
"lng_action_add_user" = "{from} ha aggiunto {user}";
"lng_action_add_users_many" = "{from} ha aggiunto {users}";
"lng_action_add_users_and_one" = "{accumulated}, {user}";
@@ -596,6 +738,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_video" = "un video";
"lng_action_pinned_media_audio" = "un file audio";
"lng_action_pinned_media_voice" = "un messaggio vocale";
"lng_action_pinned_media_video_message" = "un videomessaggio";
"lng_action_pinned_media_file" = "un file";
"lng_action_pinned_media_gif" = "una GIF";
"lng_action_pinned_media_contact" = "un contatto";
@@ -603,16 +746,24 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_sticker" = "uno sticker";
"lng_action_pinned_media_emoji_sticker" = "uno {emoji} sticker";
"lng_action_pinned_media_game" = "il gioco «{game}»";
"lng_action_game_score" = "{from} ha totalizzato {count:# punti|# punto|# punti} a {game}";
"lng_action_game_you_scored" = "Hai totalizzato {count:# punti|# punto|# punti} a {game}";
"lng_action_game_score_no_game" = "{from} ha totalizzato {count:# punti|# punto|# punti}";
"lng_action_game_you_scored_no_game" = "Hai totalizzato {count:# punti|# punto|# punti}";
"lng_action_game_score#one" = "{from} ha totalizzato {count} punto a {game}";
"lng_action_game_score#other" = "{from} ha totalizzato {count} punti a {game}";
"lng_action_game_you_scored#one" = "Hai totalizzato {count} punto a {game}";
"lng_action_game_you_scored#other" = "Hai totalizzato {count} punti a {game}";
"lng_action_game_score_no_game#one" = "{from} ha totalizzato {count} punto";
"lng_action_game_score_no_game#other" = "{from} ha totalizzato {count} punti";
"lng_action_game_you_scored_no_game#one" = "Hai totalizzato {count} punto";
"lng_action_game_you_scored_no_game#other" = "Hai totalizzato {count} punti";
"lng_action_payment_done" = "Hai appena trasferito con successo {amount} a {user}";
"lng_action_payment_done_for" = "Hai appena trasferito con successo {amount} a {user} per {invoice}";
"lng_profile_migrate_reached" = "Limite di {count:_not_used_|# membro|# membri} raggiunto";
"lng_profile_migrate_reached#one" = "Limite di {count} membro raggiunto";
"lng_profile_migrate_reached#other" = "Limite di {count} membri raggiunto";
"lng_profile_migrate_body" = "Per superare questo limite, puoi aggiornare il gruppo a supergruppo.";
"lng_profile_migrate_learn_more" = "Scopri di più »";
"lng_profile_migrate_about" = "Se vuoi superare questo limite, puoi aggiornare il gruppo a supergruppo. Nei supergruppi:";
"lng_profile_migrate_feature1" = "— I supergruppi hanno massimo {count:_not_used_|# membro|# membri}";
"lng_profile_migrate_feature1#one" = "— I supergruppi hanno massimo {count} membro";
"lng_profile_migrate_feature1#other" = "— I supergruppi hanno massimo {count} 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 disattivate di default";
@@ -627,7 +778,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_convert_feature4" = "— Il creatore può creare un link pubblico per il gruppo";
"lng_profile_convert_warning" = "{bold_start}Nota:{bold_end} Questa azione non può essere annullata";
"lng_profile_convert_confirm" = "Converti";
"lng_profile_add_more_after_upgrade" = "Potrai aggiungere fino a {count:_not_used_|# membro|# membri} dopo aver aggiornato a supergruppo.";
"lng_profile_add_more_after_upgrade#one" = "Potrai aggiungere fino a {count} membro dopo aver aggiornato il tuo gruppo a supergruppo.";
"lng_profile_add_more_after_upgrade#other" = "Potrai aggiungere fino a {count} membri dopo aver aggiornato il tuo gruppo a supergruppo.";
"lng_channel_not_accessible" = "Spiacenti, questo canale non è accessibile.";
"lng_group_not_accessible" = "Spiacenti, questo gruppo non è accessibile.";
@@ -642,7 +794,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_group_invite_want_join_channel" = "Vuoi unirti al canale «{title}»?";
"lng_group_invite_join" = "Unisciti";
"lng_group_invite_members" = "{count:_not_used_|# membro|# membri}, tra cui:";
"lng_group_invite_members#one" = "{count} membro, tra cui:";
"lng_group_invite_members#other" = "{count} membri, tra cui:";
"lng_group_invite_link" = "Link d'invito:";
"lng_group_invite_create" = "Crea un link d'invito";
@@ -655,6 +808,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_public_link_copied" = "Link copiato negli appunti.";
"lng_forwarded" = "Inoltrato da {user}";
"lng_forwarded_date" = "Originale: {date}";
"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}";
@@ -705,16 +859,17 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_emoji_category5" = "Viaggi e luoghi";
"lng_emoji_category6" = "Oggetti";
"lng_emoji_category7" = "Simboli e bandiere";
"lng_emoji_hide_panel" = "Clicca qui per nascondere la barra delle emoji";
"lng_recent_stickers" = "Usati di frequente";
"lng_switch_stickers" = "Sticker";
"lng_switch_stickers_gifs" = "GIF e Sticker";
"lng_switch_emoji" = "Emoji";
"lng_switch_gifs" = "GIF";
"lng_stickers_featured_add" = "Aggiungi";
"lng_gifs_search" = "Cerca GIF";
"lng_gifs_no_saved" = "Non hai ancora GIF salvate.";
"lng_saved_gifs" = "GIF salvate";
"lng_inline_bot_results" = "Risultati da {inline_bot}";
"lng_inline_bot_no_results" = "Nessun risultato";
"lng_inline_bot_no_results" = "Nessun risultato.";
"lng_inline_bot_via" = "via {inline_bot}";
"lng_box_remove" = "Rimuovi";
@@ -733,7 +888,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_stickers_you_have" = "Organizza e riordina i set di sticker";
"lng_stickers_featured" = "Sticker in primo piano";
"lng_stickers_return" = "Annulla";
"lng_stickers_count" = "{count:Carico...|# sticker|# sticker}";
"lng_stickers_count#one" = "{count} sticker";
"lng_stickers_count#other" = "{count} sticker";
"lng_stickers_masks_pack" = "Questo è un set di maschere. Puoi usarle nell'editor fotografico sulle nostre app mobili.";
"lng_in_dlg_photo" = "Foto";
@@ -741,6 +897,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_in_dlg_audio_file" = "File audio";
"lng_in_dlg_contact" = "Contatto";
"lng_in_dlg_audio" = "Messaggio vocale";
"lng_in_dlg_video_message" = "Videomessaggio";
"lng_in_dlg_file" = "File";
"lng_in_dlg_sticker" = "Sticker";
"lng_in_dlg_sticker_emoji" = "{emoji} Sticker";
@@ -807,11 +964,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_typing" = "sta scrivendo";
"lng_user_typing" = "{user} sta scrivendo";
"lng_users_typing" = "{user} e {second_user} stanno scrivendo";
"lng_many_typing" = "{count:_not_used_|# sta|# stanno} scrivendo";
"lng_many_typing#one" = "{count} sta scrivendo";
"lng_many_typing#other" = "{count} stanno scrivendo";
"lng_playing_game" = "sta giocando a un gioco";
"lng_user_playing_game" = "{user} sta giocando a un gioco";
"lng_users_playing_game" = "{user} e {second_user} stanno giocando a un gioco";
"lng_many_playing_game" = "{count:_not_used_|# sta|# stanno} giocando a un gioco";
"lng_many_playing_game#one" = "{count} sta giocando a un gioco";
"lng_many_playing_game#other" = "{count} stanno giocando a un gioco";
"lng_send_action_record_video" = "sta registrando un video";
"lng_user_action_record_video" = "{user} sta registrando un video";
"lng_send_action_upload_video" = "sta inviando un video";
@@ -820,6 +979,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_record_audio" = "{user} sta registrando un audio";
"lng_send_action_upload_audio" = "sta inviando un audio";
"lng_user_action_upload_audio" = "{user} sta inviando un audio";
"lng_send_action_record_round" = "sta registrando un videomessaggio";
"lng_user_action_record_round" = "{user} sta registrando un videomessaggio";
"lng_send_action_upload_round" = "sta inviando un videomessaggio";
"lng_user_action_upload_round" = "{user} sta inviando un videomessaggio";
"lng_send_action_upload_photo" = "sta inviando una foto";
"lng_user_action_upload_photo" = "{user} sta inviando una foto";
"lng_send_action_upload_file" = "sta inviando un file";
@@ -828,7 +991,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_geo_location" = "{user} sta scegliendo una posizione";
"lng_send_action_choose_contact" = "scegliendo un contatto";
"lng_user_action_choose_contact" = "{user} sta scegliendo un contatto";
"lng_unread_bar" = "{count:_not_used_|# messaggio non letto|# messaggi non letti}";
"lng_unread_bar#one" = "{count} messaggio non letto";
"lng_unread_bar#other" = "{count} messaggi non letti";
"lng_maps_point" = "Posizione";
"lng_save_photo" = "Salva immagine";
@@ -851,7 +1015,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_from_top" = "Togli dall'alto";
"lng_context_promote_admin" = "Rendi amministratore";
"lng_context_remove_admin" = "Rimuovi dagli amministratori";
"lng_context_edit_permissions" = "Modifica autorizzazioni";
"lng_context_restrict_user" = "Limita utente";
"lng_context_remove_from_group" = "Rimuovi dal gruppo";
"lng_context_copy_link" = "Copia link";
@@ -877,6 +1042,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_delete_file" = "Elimina file";
"lng_context_close_file" = "Chiudi file";
"lng_context_copy_text" = "Copia testo";
"lng_context_open_gif" = "Apri GIF";
"lng_context_save_gif" = "Salva GIF";
"lng_context_to_msg" = "Vai al messaggio";
"lng_context_reply_msg" = "Rispondi";
@@ -888,31 +1054,41 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_msg" = "Togli messaggio";
"lng_context_cancel_upload" = "Annulla caricamento";
"lng_context_copy_selected" = "Copia testo selezionato";
"lng_context_copy_selected_items" = "Copia selezione come testo";
"lng_context_forward_selected" = "Inoltra selezione";
"lng_context_delete_selected" = "Elimina selezione";
"lng_context_clear_selection" = "Annulla selezione";
"lng_really_send_image" = "Vuoi inviare questa immagine?";
"lng_really_send_file" = "Vuoi inviare questo file?";
"lng_really_share_contact" = "Vuoi condividere questo contatto?";
"lng_send_images_compress" = "Comprimi {count:_not_used_|immagine|immagini}";
"lng_send_images_compress#one" = "Comprimi immagine";
"lng_send_images_compress#other" = "Comprimi immagini";
"lng_send_image_non_local" = "Impossibile inviare un file non locale: {name}";
"lng_send_image_empty" = "Impossibile inviare un file vuoto: {name}";
"lng_send_image_too_large" = "Impossibile inviare il file, perché è più grande di 1500 MB: {name}";
"lng_send_folder" = "Impossibile inviare «{name}» perché è una cartella :(";
"lng_send_images_selected" = "{count:_not_used_|# immagine selezionata|# immagini selezionate}";
"lng_send_photos" = "Invia {count:_not_used_|# foto|# foto}";
"lng_send_files_selected" = "{count:_not_used_|# file selezionato|# file selezionati}";
"lng_send_files" = "Invia {count:_not_used_|# file|# file}";
"lng_send_images_selected#one" = "{count} immagine selezionata";
"lng_send_images_selected#other" = "{count} immagini selezionate";
"lng_send_photos#one" = "Invia {count} foto";
"lng_send_photos#other" = "Invia {count} foto";
"lng_send_files_selected#one" = "{count} file selezionato";
"lng_send_files_selected#other" = "{count} file selezionati";
"lng_send_files#one" = "Invia {count} file";
"lng_send_files#other" = "Invia {count} file";
"lng_forward_choose" = "Scegli destinatario...";
"lng_forward_cant" = "Spiacenti, impossibile inoltrare qui :(";
"lng_forward_confirm" = "Inoltra a {recipient}?";
"lng_forward_share_contact" = "Condividi contatto con {recipient}?";
"lng_forward_share_cant" = "Spiacenti, non è possibile condividere contatti qui :(";
"lng_forward_send_file_confirm" = "Invia «{name}» a {recipient}?";
"lng_forward_send_files_confirm" = "Invia i file selezionati a {recipient}?";
"lng_forward_send_files_cant" = "Spiacenti, non è possibile inviare media qui :(";
"lng_forward_send" = "Invia";
"lng_forward_messages" = "{count:_not_used_|messaggio inoltrato|# messaggi inoltrati}";
"lng_forwarding_from" = "{user} e {count:_not_used_|# altro|altri #}";
"lng_forward_messages#one" = "{count} messaggio inoltrato";
"lng_forward_messages#other" = "{count} messaggi inoltrati";
"lng_forwarding_from#one" = "{user} e {count} altro";
"lng_forwarding_from#other" = "{user} e {count} altri";
"lng_forwarding_from_two" = "{user} e {second_user}";
"lng_inline_switch_choose" = "Scegli conversazione...";
"lng_inline_switch_cant" = "Spiacenti, impossibile scrivere qui :(";
@@ -930,10 +1106,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_contact_phone" = "Numero di telefono";
"lng_enter_contact_data" = "Nuovo contatto";
"lng_edit_group_title" = "Modifica nome gruppo";
"lng_edit_group_title" = "Modifica il nome del gruppo";
"lng_edit_contact_title" = "Modifica nome contatto";
"lng_edit_channel_title" = "Modifica canale";
"lng_edit_sign_messages" = "Firma messaggi";
"lng_edit_group_who_invites" = "Chi può aggiungere membri";
"lng_edit_group_invites_everybody" = "Tutti i membri";
"lng_edit_group_invites_only_admins" = "Solo gli amministratori";
"lng_edit_group" = "Modifica gruppo";
"lng_edit_self_title" = "Modifica il tuo nome";
"lng_confirm_contact_data" = "Nuovo contatto";
@@ -958,15 +1137,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_selected_clear" = "Annulla";
"lng_selected_delete" = "Elimina";
"lng_selected_forward" = "Inoltra";
"lng_selected_count" = "{count:_not_used_|# messaggio|# messaggi}";
"lng_selected_count#one" = "{count} messaggio";
"lng_selected_count#other" = "{count} messaggi";
"lng_selected_cancel_sure_this" = "Annullare il caricamento?";
"lng_selected_upload_stop" = "Arresta ";
"lng_selected_delete_sure_this" = "Vuoi eliminare questo messaggio?";
"lng_selected_delete_sure" = "Vuoi eliminare {count:_not_used_|# messaggio|# messaggi}?";
"lng_selected_delete_sure#one" = "Vuoi eliminare {count} messaggio?";
"lng_selected_delete_sure#other" = "Vuoi eliminare {count} messaggi?";
"lng_delete_photo_sure" = "Vuoi eliminare questa foto?";
"lng_delete_for_everyone_hint" = "Questo {count:_not_used_|lo eliminerà|li eliminerà} per chiunque in questa chat.";
"lng_delete_for_me_chat_hint" = "Questo {count:_not_used_|lo eliminerà|li eliminerà} solo per te, non per gli altri membri della chat.";
"lng_delete_for_me_hint" = "Questo {count:_not_used_|lo eliminerà|li eliminerà} solo per te.";
"lng_delete_for_everyone_hint#one" = "Questo lo eliminerà per chiunque in questa chat.";
"lng_delete_for_everyone_hint#other" = "Questo li eliminerà per chiunque in questa chat.";
"lng_delete_for_me_chat_hint#one" = "Questo lo eliminerà solo per te, non per gli altri membri della chat.";
"lng_delete_for_me_chat_hint#other" = "Questo li eliminerà solo per te, non per gli altri membri della chat.";
"lng_delete_for_me_hint#one" = "Questo lo eliminerà solo per te.";
"lng_delete_for_me_hint#other" = "Questo li eliminerà solo per te.";
"lng_delete_for_everyone_check" = "Elimina per tutti";
"lng_delete_for_other_check" = "Elimina per {user}";
"lng_box_delete" = "Elimina";
@@ -978,7 +1162,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_about_text_3" = "Visita le {faq_open}domande frequenti{faq_close} per maggiori info.";
"lng_about_done" = "Fatto";
"lng_search_found_results" = "{count:Nessun messaggio trovato|# messaggio trovato|# messaggi trovati}";
"lng_search_no_results" = "Nessun messaggio trovato";
"lng_search_found_results#one" = "Trovato {count} messaggio";
"lng_search_found_results#other" = "Trovati {count} messaggi";
"lng_search_global_results" = "Risultati ricerca globale";
"lng_media_save_progress" = "{ready} di {total} {mb}";
@@ -989,8 +1175,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_mediaview_photos_all" = "Visualizza tutte le foto";
"lng_mediaview_files_all" = "Visualizza tutti i file";
"lng_mediaview_single_photo" = "Foto singola";
"lng_mediaview_group_photo" = "Foto gruppo";
"lng_mediaview_channel_photo" = "Foto canale";
"lng_mediaview_group_photo" = "Foto del gruppo";
"lng_mediaview_channel_photo" = "Foto del canale";
"lng_mediaview_profile_photo" = "Foto profilo";
"lng_mediaview_file_n_of_count" = "{file} {n} di {count}";
"lng_mediaview_n_of_count" = "Foto {n} di {count}";
@@ -1006,11 +1192,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_theme_preview_invalid" = "Dati non validi in questo file tema.";
"lng_theme_preview_apply" = "Applica questo tema";
"lng_new_authorization" = "{name},\nAbbiamo rilevato un accesso al tuo account da un nuovo dispositivo {day}, {date} alle {time}\n\nDispositivo: {device}\nPosizione: {location}\n\nSe non sei tu, puoi andare nelle Impostazioni Mostra tutte le sessioni e terminare quella sessione.\n\nSe credi che qualcuno si sia collegato al tuo account contro il tuo volere, puoi attivare la verifica in due passaggi nelle Impostazioni. \n\nSinceramente, \nIl Team di Telegram";
"lng_new_authorization" = "{name},\nAbbiamo rilevato un accesso al tuo account da un nuovo dispositivo {day}, {date} alle {time}\n\nDispositivo: {device}\nPosizione: {location}\n\nSe non sei tu, puoi andare nelle Impostazioni Mostra tutte le sessioni e terminare quella sessione.\n\nSe credi che qualcuno si sia collegato al tuo account contro il tuo volere, puoi attivare la verifica in due passaggi nelle Impostazioni. \n\nCordiali saluti, \nil team di Telegram";
"lng_new_version_wrap" = "Telegram Desktop si è aggiornato alla versione {version}\n\n{changes}\n\nLa cronologia degli aggiornamenti è disponibile qui:\n{link}";
"lng_new_version_minor" = "— Risoluzione di problemi e altri miglioramenti minori";
"lng_new_version_text" = "— Premi e trascina per riordinare le chat fissate.\n— Risoluzione di problemi e altri miglioramenti minori.";
"lng_new_version_text" = "— Videomessaggi migliorati: barra del progresso attorno al video durante la riproduzione, supporto picture-in-picture, conto alla rovescia per la durata.\n— Ora i messaggi vocali e i videomessaggi vengono riprodotti uno dopo l'altro";
"lng_menu_insert_unicode" = "Inserisci carattere di controllo Unicode";
@@ -1023,6 +1209,181 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_confirm_phone_send" = "Invia";
"lng_confirm_phone_enter_code" = "Per favore inserisci il codice.";
"lng_theme_editor_no_keys" = "Ancora nessun valore nella tavolozza";
"lng_theme_editor_cant_change_theme" = "Non puoi applicare nuovi temi mentre modifichi la tavolozza dei colori. Per favore chiudi prima l'editor dei temi.";
"lng_theme_editor_new_keys" = "Non ancora nella tavolozza";
"lng_theme_editor_background_image" = "Immagine di sfondo";
"lng_theme_editor_saved_to_jpg" = "Salvato in JPEG, {size}";
"lng_theme_editor_read_from_jpg" = "Immagine JPEG, {size}";
"lng_theme_editor_read_from_png" = "Immagine PNG, {size}";
"lng_theme_editor_export" = "Esporta";
"lng_theme_editor_choose_image" = "Scegli immagine di sfondo";
"lng_theme_editor_save_palette" = "Salva file tavolozza";
"lng_theme_editor_choose_name" = "Salva file tema";
"lng_theme_editor_error" = "L'editor ha rilevato un errore :( Controlla 'log.txt' per i dettagli.";
"lng_theme_editor_done" = "Tema esportato con successo!";
"lng_theme_editor_title" = "Modifica tavolozza dei colori";
"lng_theme_editor_export_button" = "Esporta tema";
"lng_payments_not_supported" = "Spiacenti, Telegram Desktop non supporta i pagamenti al momento. Per favore usa una delle nostre app mobili per fare questo.";
"lng_payments_receipt_label" = "Ricevuta";
"lng_payments_receipt_label_test" = "Ricevuta di test";
"lng_payments_invoice_label" = "Fattura";
"lng_payments_invoice_label_test" = "Fattura di test";
"lng_payments_receipt_button" = "Ricevuta";
"lng_call_status_incoming" = "ti sta chiamando...";
"lng_call_status_connecting" = "connetto...";
"lng_call_status_exchanging" = "scambio chiavi di crittografia...";
"lng_call_status_waiting" = "attendo...";
"lng_call_status_requesting" = "richiedo...";
"lng_call_status_hanging" = "riaggancio...";
"lng_call_status_ended" = "chiamata terminata";
"lng_call_status_failed" = "connessione fallita";
"lng_call_status_ringing" = "suono...";
"lng_call_status_busy" = "occupato";
"lng_call_fingerprint_tooltip" = "Se le emoji sono uguali sullo schermo di {user}, la chiamata è sicura al 100%.";
"lng_call_error_not_available" = "Spiacenti, {user} non accetta le chiamate.";
"lng_call_error_incompatible" = "L'app di {user} sta usando un protocollo non compatibile. Deve aggiornare la sua app prima che tu possa chiamarlo.";
"lng_call_error_outdated" = "L'app di {user} non supporta le chiamate. Deve aggiornare la sua app prima che tu possa chiamarlo.";
"lng_call_error_audio_io" = "Sembra esserci un problema con la riproduzione audio del tuo computer. Per favore assicurati che gli altoparlanti e il microfono del tuo computer stiano funzionando e riprova.";
"lng_call_bar_hangup" = "Termina chiamata";
"lng_call_box_title" = "Chiamate";
"lng_call_box_about" = "Non hai ancora effettuato alcuna chiamata.";
"lng_call_box_status_today" = "{time}";
"lng_call_box_status_yesterday" = "Ieri alle {time}";
"lng_call_box_status_date" = "{date} alle {time}";
"lng_call_box_status_group" = "({count}) {status}";
"lng_call_outgoing" = "Chiamata in uscita";
"lng_call_incoming" = "Chiamata in entrata";
"lng_call_missed" = "Chiamata persa";
"lng_call_cancelled" = "Chiamata annullata";
"lng_call_declined" = "Chiamata rifiutata";
"lng_call_duration_info" = "{time}, {duration}";
"lng_call_type_and_duration" = "{type} ({duration})";
"lng_call_rate_label" = "Per favore valuta la tua chiamata";
"lng_call_rate_comment" = "Commento (opzionale)";
"lng_player_message_today" = "Oggi alle {time}";
"lng_player_message_yesterday" = "Ieri alle {time}";
"lng_player_message_date" = "{date} alle {time}";
"lng_rights_edit_admin" = "Modifica amministratore";
"lng_rights_edit_admin_header" = "Cosa può fare questo amministratore?";
"lng_rights_about_add_admins_yes" = "Questo amministratore sarà in grado di aggiungere nuovi amministratori con le stesse autorizzazioni (o più limitate) .";
"lng_rights_about_add_admins_no" = "Questo amministratore non sarà in grado di aggiungere nuovi amministratori.";
"lng_rights_user_restrictions" = "Restrizioni utente";
"lng_rights_user_restrictions_header" = "Cosa può fare questo utente?";
"lng_rights_channel_info" = "Cambiare le info del canale";
"lng_rights_channel_post" = "Pubblicare messaggi";
"lng_rights_channel_edit" = "Modificare i messaggi di altri";
"lng_rights_channel_delete" = "Eliminare i messaggi di altri";
"lng_rights_group_info" = "Cambiare le info del gruppo";
"lng_rights_group_ban" = "Bloccare utenti";
"lng_rights_group_invite_link" = "Invitare utenti tramite link";
"lng_rights_group_invite" = "Aggiungere utenti";
"lng_rights_group_pin" = "Fissare messaggi";
"lng_rights_group_delete" = "Eliminare messaggi";
"lng_rights_add_admins" = "Aggiungere amministratori";
"lng_rights_chat_read" = "Leggere messaggi";
"lng_rights_chat_send_text" = "Inviare messaggi";
"lng_rights_chat_send_media" = "Inviare media";
"lng_rights_chat_send_stickers" = "Inviare sticker e GIF";
"lng_rights_chat_send_links" = "Inviare link con anteprima";
"lng_rights_chat_banned_until" = "Limitato fino a: {when}";
"lng_rights_chat_banned_forever" = "Sempre";
"lng_rights_chat_banned_block" = "Blocca e rimuovi dal gruppo";
"lng_restricted_send_message" = "Gli amministratori di questo gruppo ti hanno vietato di scrivere qui.";
"lng_restricted_send_media" = "Spiacenti, gli amministratori di questo gruppo ti hanno vietato di inviare media.";
"lng_restricted_send_stickers" = "Spiacenti, gli amministratori di questo gruppo ti hanno vietato di inviare sticker.";
"lng_restricted_send_gifs" = "Spiacenti, gli amministratori di questo gruppo ti hanno vietato di inviare GIF.";
"lng_restricted_send_inline" = "Gli amministratori di questo gruppo ti hanno vietato di inviare contenuti inline qui.";
"lng_restricted_list_title" = "Utenti limitati";
"lng_banned_list_title" = "Utenti bloccati";
"lng_admin_log_title_all" = "Tutte le azioni";
"lng_admin_log_title_selected" = "Azioni selezionate";
"lng_admin_log_filter" = "Filtro";
"lng_admin_log_filter_title" = "Filtro";
"lng_admin_log_filter_all_actions" = "Tutte le azioni";
"lng_admin_log_filter_restrictions" = "Nuove restrizioni";
"lng_admin_log_filter_admins_new" = "Nuovi amministratori";
"lng_admin_log_filter_members_new" = "Nuovi membri";
"lng_admin_log_filter_info_group" = "Info gruppo";
"lng_admin_log_filter_info_channel" = "Info canale";
"lng_admin_log_filter_messages_deleted" = "Messaggi eliminati";
"lng_admin_log_filter_messages_edited" = "Messaggi modificati";
"lng_admin_log_filter_messages_pinned" = "Messaggi fissati";
"lng_admin_log_filter_members_removed" = "Membri rimossi";
"lng_admin_log_filter_all_admins" = "Tutti gli amministratori";
"lng_admin_log_about" = "Cos'è questo?";
"lng_admin_log_about_text" = "Questa è una lista di tutte le azioni di servizio eseguite dai membri e dagli amministratori del gruppo nelle ultime 48 ore.";
"lng_admin_log_no_results_title" = "Nessun evento trovato";
"lng_admin_log_no_results_text" = "Non sono stati trovati eventi recenti che rispondono alla tua richiesta.";
"lng_admin_log_no_events_title" = "Ancora nessun evento";
"lng_admin_log_no_events_text" = "Non ci sono state azioni di servizio\nda parte dei membri e degli amministratori\ndel gruppo nelle ultime 48 ore.";
"lng_admin_log_empty_text" = "Vuota";
"lng_admin_log_changed_title_group" = "{from} ha cambiato il nome del gruppo in «{title}»";
"lng_admin_log_changed_title_channel" = "{from} ha cambiato il nome del canale in «{title}»";
"lng_admin_log_changed_description_group" = "{from} ha cambiato la descrizione del gruppo:";
"lng_admin_log_removed_description_group" = "{from} ha rimosso la descrizione del gruppo";
"lng_admin_log_changed_description_channel" = "{from} ha cambiato la descrizione del canale:";
"lng_admin_log_removed_description_channel" = "{from} ha rimosso la descrizione del canale";
"lng_admin_log_previous_description" = "Descrizione precedente";
"lng_admin_log_changed_link_group" = "{from} ha cambiato il link del gruppo:";
"lng_admin_log_removed_link_group" = "{from} ha rimosso il link del gruppo";
"lng_admin_log_changed_link_channel" = "{from} ha cambiato il link del canale:";
"lng_admin_log_removed_link_channel" = "{from} ha rimosso il link del canale";
"lng_admin_log_previous_link" = "Link precedente";
"lng_admin_log_changed_photo_group" = "{from} ha cambiato la foto del gruppo";
"lng_admin_log_changed_photo_channel" = "{from} ha cambiato la foto del canale";
"lng_admin_log_removed_photo_group" = "{from} ha rimosso la foto del gruppo";
"lng_admin_log_removed_photo_channel" = "{from} ha rimosso la foto del canale";
"lng_admin_log_invites_enabled" = "{from} ha attivato gli inviti del gruppo";
"lng_admin_log_invites_disabled" = "{from} ha disattivato gli inviti del gruppo";
"lng_admin_log_signatures_enabled" = "{from} ha attivato le firme";
"lng_admin_log_signatures_disabled" = "{from} ha disattivato le firme";
"lng_admin_log_pinned_message" = "{from} ha fissato un messaggio:";
"lng_admin_log_unpinned_message" = "{from} ha tolto un messaggio";
"lng_admin_log_edited_caption" = "{from} ha modificato la didascalia:";
"lng_admin_log_removed_caption" = "{from} ha rimosso la didascalia";
"lng_admin_log_previous_caption" = "Didascalia originale";
"lng_admin_log_edited_message" = "{from} ha modificato un messaggio:";
"lng_admin_log_previous_message" = "Messaggio originale";
"lng_admin_log_deleted_message" = "{from} ha eliminato un messaggio:";
"lng_admin_log_participant_joined" = "{from} si è unito al gruppo";
"lng_admin_log_participant_left" = "{from} ha lasciato il gruppo";
"lng_admin_log_invited" = "ha invitato {user}";
"lng_admin_log_banned" = "ha bloccato {user}";
"lng_admin_log_restricted" = "ha cambiato le restrizioni di {user} {until}";
"lng_admin_log_promoted" = "ha cambiato i privilegi di {user}";
"lng_admin_log_user_with_username" = "{name} ({mention})";
"lng_admin_log_restricted_forever" = "indefinitamente";
"lng_admin_log_restricted_until" = "fino a {date}";
"lng_admin_log_banned_view_messages" = "Leggere messaggi";
"lng_admin_log_banned_send_messages" = "Inviare messaggi";
"lng_admin_log_banned_send_media" = "Inviare media";
"lng_admin_log_banned_send_stickers" = "Inviare sticker e GIF";
"lng_admin_log_banned_embed_links" = "Inviare link con anteprima";
"lng_admin_log_admin_change_info" = "Cambiare le info";
"lng_admin_log_admin_post_messages" = "Pubblicare messaggi";
"lng_admin_log_admin_edit_messages" = "Modificare messaggi";
"lng_admin_log_admin_delete_messages" = "Eliminare messaggi";
"lng_admin_log_admin_ban_users" = "Bloccare utenti";
"lng_admin_log_admin_invite_users" = "Aggiungere utenti";
"lng_admin_log_admin_invite_link" = "Invitare utenti tramite link";
"lng_admin_log_admin_pin_messages" = "Fissare messaggi";
"lng_admin_log_admin_add_admins" = "Aggiungere amministratori";
// Not used
"lng_topbar_info" = "Info";

View File

@@ -18,15 +18,17 @@ to link the code of portions of this program with the OpenSSL library.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
"lng_language_name" = "한국어";
"lng_switch_to_this" = "한국어로 변경";
"lng_language_name" = "어";
"lng_switch_to_this" = "어로 변경";
"lng_menu_contacts" = "주소록";
"lng_menu_calls" = "전화";
"lng_menu_settings" = "설정";
"lng_menu_about" = "정보";
"lng_menu_update" = "업데이트";
"lng_menu_restart" = "재시작";
"lng_menu_back" = "뒤로가기";
"lng_menu_night_mode" = "야간 모드";
"lng_disable_notifications_from_tray" = "알림 해제";
"lng_enable_notifications_from_tray" = "알림 사용";
@@ -79,7 +81,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_month_day" = "{month} {day}일";
"lng_month_day_year" = "{month} {day}, {year}";
"lng_month_year" = "{month}, {year}";
"lng_month_year" = "{month} {year}";
"lng_box_ok" = "확인";
@@ -87,7 +89,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_continue" = "계속";
"lng_close" = "닫기";
"lng_connecting" = "연결중...";
"lng_reconnecting" = "재연결중..{count:now|in # 초|in # 초}...";
"lng_connecting_to_proxy" = "프록시 연결 중...";
"lng_connecting_settings" = "설정";
"lng_reconnecting#one" = "{count} 초 후 재연결...";
"lng_reconnecting#other" = "{count} 초 후 재연결...";
"lng_reconnecting_try_now" = "다시 시도";
"lng_status_service_notifications" = "서비스 알림";
@@ -101,8 +106,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_last_month" = "한 달 이내 마지막으로 접속";
"lng_status_invisible" = "숨김";
"lng_status_lastseen_now" = "방금 접속";
"lng_status_lastseen_minutes" = "{count:_not_used_|#분|#분}전 접속";
"lng_status_lastseen_hours" = "{count:_not_used_|#시간|#시간}전 접속";
"lng_status_lastseen_minutes#one" = "{count} 분전 접속";
"lng_status_lastseen_minutes#other" = "{count} 분전 접속";
"lng_status_lastseen_hours#one" = "{count} 시간전 접속";
"lng_status_lastseen_hours#other" = "{count} 시간전 접속";
"lng_status_lastseen_today" = "오늘 {time}에 마지막으로 접속";
"lng_status_lastseen_yesterday" = "어제 {time}에 마지막으로 접속";
"lng_status_lastseen_date" = "{date}에 마지막으로 접속";
@@ -111,14 +118,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_connecting" = "연결중...";
"lng_chat_status_unaccessible" = "그룹에 접근할 수 없습니다.";
"lng_chat_status_members" = "{count:맴버 없음|#명|#명}";
"lng_chat_status_members_online" = "{count:_not_used_|#명|#명}중 {count_online:_not_used_|#명 접속중|#명 접속중}";
"lng_chat_status_no_members" = "대화상대가 없음";
"lng_chat_status_members#one" = "대화상대 {count}";
"lng_chat_status_members#other" = "대화상대 {count}명";
"lng_chat_status_online#one" = "온라인 {count}명";
"lng_chat_status_online#other" = "온라인 {count}명";
"lng_chat_status_members_online" = "{members_count}, {online_count}";
"lng_channel_status" = "채널";
"lng_group_status" = "그룹방";
"lng_channel_members_link" = "{count:_not_used_|#명|#명}";
"lng_channel_admins_link" = "{count:_not_used_|# 관리자|# 관리자}";
"lng_channel_members_link#one" = "대화상대 {count}";
"lng_channel_members_link#other" = "대화상대 {count}명";
"lng_channel_admins_link#one" = "관리자 {count}명";
"lng_channel_admins_link#other" = "관리자 {count}명";
"lng_server_error" = "내부 서버 오류";
"lng_flood_error" = "시도가 너무 많습니다. 나중에 다시 시도해주세요.";
@@ -127,13 +140,26 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_join_channel_error" = "너무 많은 채널과 슈퍼그룹에 참여하였습니다.\n기존 대화방을 나가주셔야 참여가 가능합니다.";
"lng_error_phone_flood" = "죄송합니다, 너무 많이 계정 재가입이 최근에 이루어졌습니다. 다시 재가입까지 몇일 기다려주시기 바랍니다.";
"lng_error_start_minimized_passcoded" = "잠금코드를 설정하였기 때문에 앱이 최소화된 상태에서 시작할 수 없습니다. 앱이 시작하기 전에 잠금코드 입력이 필요합니다.";
"lng_error_pinned_max" = "죄송합니다, {count:_not_used_|# 대화|# 대화} 이상은 맨위 고정할 수 없습니다.";
"lng_error_pinned_max#one" = "죄송합니다, {count}개 이상의 대화를 고정할 수 없습니다.";
"lng_error_pinned_max#other" = "죄송합니다, {count}개 이상의 대화를 고정할 수 없습니다.";
"lng_error_public_groups_denied" = "죄송하지만, 회원님은 공개그룹 참여에 제한 되었습니다.\n{more_info}";
"lng_error_cant_edit_admin" = "죄송합니다, 이 관리자의 권한을 변경 할 수 없습니다.";
"lng_error_cant_add_member" = "죄송합니다, 이 봇을 그룹에 추가할 수 없습니다. 관리자에게 추가 문의해주세요.";
"lng_error_cant_add_admin_invite" = "죄송합니다, 이 사용자는 이 그룹에 속해있지 않으며 초대가 되지 않기 때문에 관리자로 추가할 수 없습니다.";
"lng_error_cant_add_admin_unban" = "죄송합니다, 이 사용자는 블랙리스트에 있으며 해제가 가능하지 않기 떄문에 관리자로 추가할 수 없습니다.";
"lng_error_cant_ban_admin" = "죄송합니다, 이 사용자는 그룹의 관리자이며 해제권한이 없으시기 떄문에 차단할 수 없습니다.";
"lng_sure_add_admin_invite" = "이 사용자는 그룹에 참여하고 있지 않습니다. 그룹에 초대하고 관리자로 추가하시겠습니까?";
"lng_sure_add_admin_unban" = "이 사용자는 제한되어져 있으며 그룹에서 차단당한 상태입니다. 정말로 차단을 해제하고 추가하시겠습니까?";
"lng_sure_ban_admin" = "이 사용자는 그룹의 관리자입니다. 정말로 제한을 하시겠습니까?";
"lng_sure_ban_user_group" = "{user} 를 그룹에서 차단하시겠습니까?";
"lng_sure_enable_socks" = "프록시 설정을 하시겠습니까?\n\n서버: {server}\n포트: {port}\n\n나중에 설정에서 프록시 서버를 변경 할 수 있습니다. (연결유형)";
"lng_sure_enable" = "활성";
"lng_edit_deleted" = "메시지는 삭제 되었습니다.";
"lng_edit_too_long" = "메시지 길이가 너무 깁니다.";
"lng_edit_message" = "메시지 수정";
"lng_edit_message_text" = "새로운 메시지...";
"lng_deleted" = "알 수 없음";
"lng_deleted" = "삭제된 계정";
"lng_deleted_message" = "삭제된 메시지";
"lng_pinned_message" = "고정된 메시지";
"lng_pinned_unpin_sure" = "메시지를 고정 해제하시겠습니까?";
@@ -196,9 +222,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_signin_sure_reset" = "경고!\n\n계정 초기화 진행시 모든 대화,\n메시지 및 공유받은 미디어와 파일이 삭제가 됩니다.\n\n계정 초기화를 진행하시겠습니까?";
"lng_signin_reset" = "초기화";
"lng_signin_reset_wait" = "{phone_number} 계정이 사용중이고 비밀번호 설정이 되어져 있어, 보안을 위하여 1주일 이후에 삭제가 될 예정입니다. 이 설정은 언제든지 취소 할 수 있습니다.\n\n계정은 다음시간 이후에 초기화가 됩니다:\n{when}";
"lng_signin_reset_in_days" = "{count_days:0 일|# 일|# 일} {count_hours:0 시간|# 시간|# 시간} {count_minutes:0 분|# 분|# 분}";
"lng_signin_reset_in_hours" = "{count_hours:0 시간|# 시간|# 시간} {count_minutes:0 분|# 분|# 분}";
"lng_signin_reset_in_minutes" = "{count_minutes:0 분|# 분|# 분}";
"lng_signin_reset_days#one" = "{count} 일";
"lng_signin_reset_days#other" = "{count} 일";
"lng_signin_reset_hours#one" = "{count} 시간";
"lng_signin_reset_hours#other" = "{count} 시간";
"lng_signin_reset_minutes#one" = "{count} 분";
"lng_signin_reset_minutes#other" = "{count} 분";
"lng_signin_reset_in_days" = "{days_count} {hours_count} {minutes_count}";
"lng_signin_reset_in_hours" = "{hours_count} {minutes_count}";
"lng_signin_reset_cancelled" = "현재 사용중인 사용자가 요청하신 계정 초기화를 취소 하였습니다.\n7일 이후에 다시 시도해주세요.";
"lng_signup_title" = "정보";
@@ -221,10 +252,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_save" = "저장";
"lng_settings_upload" = "프로필 이미지 선택";
"lng_settings_crop_profile" = "프로필 사진으로 사용할 사각영역을 선택세요";
"lng_settings_crop_profile" = "프로필 사진으로 설정할 영역을 선택해주세요.";
"lng_settings_uploading_photo" = "사진 업로드 중...";
"lng_settings_edit" = "수정";
"lng_settings_drop_area_subtitle" = "프로필 사진으로 설정";
"lng_username_title" = "아이디";
@@ -296,12 +326,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_bg_use_default" = "기존 테마 색상 사용";
"lng_settings_bg_from_gallery" = "이미지 선택";
"lng_settings_bg_from_file" = "파일 선택";
"lng_settings_bg_edit_theme" = "테마 수정";
"lng_settings_bg_tile" = "타일형 배경화면";
"lng_settings_adaptive_wide" = "와이드 스크린 레이아웃 적용";
"lng_backgrounds_header" = "새로운 대화창 배경화면을 선택";
"lng_theme_sure_keep" = "이 테마 색상을 유지하시겠습니까?";
"lng_theme_reverting" = " {count:_not_used_|# 초|# 초} 후에 이전 테마 색상으로 원복합니다.";
"lng_theme_reverting#one" = "{count}초 후에 이전 테마색으로 돌아갑니다.";
"lng_theme_reverting#other" = "{count}초 후에 이전 테마색으로 돌아갑니다.";
"lng_theme_keep_changes" = "변화 유지";
"lng_theme_revert" = "원복";
@@ -327,14 +359,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_local_storage_title" = "로컬 저장소";
"lng_settings_no_data_cached" = "캐시 데이터가 없습니다!";
"lng_settings_images_cached" = "{count:_not_used_|이미지 #개|이미지 #개}, {size}";
"lng_settings_audios_cached" = "{count:_not_used_|음성 메시지 #개|음성 메시지 #개}, {size}";
"lng_settings_images_cached#one" = "이미지 {count}, {size}";
"lng_settings_images_cached#other" = "이미지 {count}, {size}";
"lng_settings_audios_cached#one" = "음성메시지 {count}개, {size}";
"lng_settings_audios_cached#other" = "음성메시지 {count}개, {size}";
"lng_local_storage_clear" = "전체 정리";
"lng_local_storage_clearing" = "초기화 중..";
"lng_local_storage_cleared" = "초기화 완료!";
"lng_local_storage_clear_failed" = "초기화 실패 :(";
"lng_settings_section_advanced_settings" = "고급 설정";
"lng_settings_enable_night_theme" = "야간 모드 활성화";
"lng_settings_disable_night_theme" = "야간 모드 비활성화";
"lng_passcode_remove_button" = "삭제";
@@ -346,8 +382,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_passcode_autolock" = "자동-잠금";
"lng_passcode_autolock_away" = "미사용시 자동잠금 설정";
"lng_passcode_autolock_inactive" = "메신져 미사용시 자동잠금 설정";
"lng_passcode_autolock_minutes" = "{count:_not_used_|#분|#분} ";
"lng_passcode_autolock_hours" = "{count:_not_used_|#시간|#시간} ";
"lng_passcode_autolock_minutes#one" = "{count} ";
"lng_passcode_autolock_minutes#other" = "{count} ";
"lng_passcode_autolock_hours#one" = "{count} 시간";
"lng_passcode_autolock_hours#other" = "{count} 시간";
"lng_passcode_enter_old" = "현재 잠금코드 입력";
"lng_passcode_enter_first" = "잠금코드 입력";
"lng_passcode_enter_new" = "신규 비밀번호 입력";
@@ -403,7 +441,15 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_connection_user_ph" = "아이디";
"lng_connection_password_ph" = "비밀번호";
"lng_connection_save" = "저장";
"lng_settings_blocked_users" = "차단된 사용자";
"lng_settings_last_seen_privacy" = "접속 시간 개인설정";
"lng_settings_calls_privacy" = "전화 보안";
"lng_settings_groups_invite_privacy" = "그룹 초대 설정";
"lng_settings_show_sessions" = "모든 세션 보기";
"lng_settings_self_destruct" = "계정 자동탈퇴 설정";
"lng_settings_change_phone" = "전화번호 변경";
"lng_settings_reset" = "다른 모든 세션 강제 종료";
"lng_settings_reset_sure" = "현재 기기를 제외하고 다른 기기에 로그인된 세션을 모두 종료시킬까요?";
"lng_settings_reset_one_sure" = "해당 세션을 강제 종료 하시겠습니까?";
@@ -428,6 +474,76 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_sessions_other_desc" = "동일한 휴대번호로 다른 휴대기기, 태블릿과 데스크탑에서 텔레그램 로그인이 가능합니다. 모든 데이터는 즉시 동기화 됩니다.";
"lng_sessions_terminate_all" = "다른 모든 세션 강제 종료";
"lng_blocked_list_title" = "차단된 사용자";
"lng_blocked_list_unknown_phone" = "알 수 없는 번호";
"lng_blocked_list_unblock" = "차단해제";
"lng_blocked_list_add" = "사용자 차단";
"lng_blocked_list_add_title" = "차단할 사용자 선택";
"lng_blocked_list_already_blocked" = "이미 차단됨";
"lng_blocked_list_about" = "차단된 사용자는 회원님에게 메시지나 그룹으로 초대할 수 없습니다. 또한 프로필 사진, 온라인 및 접속 시간을 볼 수 없습니다.";
"lng_blocked_list_not_found" = "사용자를 찾 을 수 없음";
"lng_edit_privacy_everyone" = "모두";
"lng_edit_privacy_contacts" = "내주소록";
"lng_edit_privacy_nobody" = "모두거절";
"lng_edit_privacy_exceptions" = "예외 추가";
"lng_edit_privacy_lastseen_title" = "접속 시간 개인설정";
"lng_edit_privacy_lastseen_description" = "내 접속시간을 볼 수 있는 사람 설정:";
"lng_edit_privacy_lastseen_warning" = "중요: 접속시간을 공유하지 않는 사람의 접속 시간은 볼 수 없습니다. 대신 대략적으로 접속 시간이 표시 됩니다. (최근에, 일주일 이내, 한달 이내)";
"lng_edit_privacy_lastseen_always_empty" = "항상 공유";
"lng_edit_privacy_lastseen_always#one" = "항상 {count}명의 대화상대와 공유";
"lng_edit_privacy_lastseen_always#other" = "항상 {count}명의 대화상대와 공유";
"lng_edit_privacy_lastseen_never_empty" = "항상 공유 안함";
"lng_edit_privacy_lastseen_never#one" = "항상 {count}명의 대화상대와 공유하지 않음";
"lng_edit_privacy_lastseen_never#other" = "항상 {count}명의 대화상대와 공유하지 않음";
"lng_edit_privacy_lastseen_exceptions" = "이 설정은 위 값을 무효화합니다";
"lng_edit_privacy_lastseen_always_title" = "항상 공유";
"lng_edit_privacy_lastseen_never_title" = "항상 공유 안함";
"lng_edit_privacy_groups_title" = "그룹 초대 설정";
"lng_edit_privacy_groups_description" = "그룹과 채널로 초대가 가능한 사람을 세세하게 설정 할 수 있습니다:";
"lng_edit_privacy_groups_always_empty" = "항상 허용";
"lng_edit_privacy_groups_always#one" = "항상 {count}명의 대화상대를 허용";
"lng_edit_privacy_groups_always#other" = "항상 {count}명의 대화상대를 허용";
"lng_edit_privacy_groups_never_empty" = "허용 안함";
"lng_edit_privacy_groups_never#one" = "항상 {count}명의 대화상대와 허용하지 않음";
"lng_edit_privacy_groups_never#other" = "항상 {count}명의 대화상대와 허용하지 않음";
"lng_edit_privacy_groups_exceptions" = "위의 설정과 무관하여 이 사용자는 회원님을 그룹이나 채널로 초대할 수 없습니다.";
"lng_edit_privacy_groups_always_title" = "항상 허용";
"lng_edit_privacy_groups_never_title" = "허용 안함";
"lng_edit_privacy_calls_title" = "전화 보안";
"lng_edit_privacy_calls_description" = "전화대상을 제한할 수 있습니다";
"lng_edit_privacy_calls_always_empty" = "항상 허용";
"lng_edit_privacy_calls_always#one" = "항상 {count}명의 대화상대를 허용";
"lng_edit_privacy_calls_always#other" = "항상 {count}명의 대화상대를 허용";
"lng_edit_privacy_calls_never_empty" = "허용 안함";
"lng_edit_privacy_calls_never#one" = "항상 {count}명의 대화상대와 허용하지 않음";
"lng_edit_privacy_calls_never#other" = "항상 {count}명의 대화상대와 허용하지 않음";
"lng_edit_privacy_calls_exceptions" = "위의 설정과 무관하여 이 사용자는 회원님을 전화를 하거나 할 수 없게 됩니다.";
"lng_edit_privacy_calls_always_title" = "항상 허용";
"lng_edit_privacy_calls_never_title" = "허용 안함";
"lng_self_destruct_title" = "계정 자동탈퇴";
"lng_self_destruct_description" = "이 기간동안 최소한 한번도 온라인이 안될 경우 이 계정은 그룹대화, 일반대화 및 연락처 모두가 삭제됩니다.";
"lng_self_destruct_months#one" = "{count} 월";
"lng_self_destruct_months#other" = "{count} 월";
"lng_self_destruct_years#one" = "{count} 년";
"lng_self_destruct_years#other" = "{count} 년";
"lng_change_phone_title" = "전화번호 변경";
"lng_change_phone_description" = "텔레그램 번호 변경이 가능합니다.\n대화내용, 미디어, 연락처등 클라우드 데이터와\n모든 계정 정보는 새로운 번호로 이관됩니다.\n\n[b]중요[/b]:회원님 텔레그램 연락처에 있는 \n친구분들이회원님의 이전 전화번호가\n저장되어있고 차단을 하지 않았을 경우 \n[b]새로운 전화번호[/b]로 주소록에 저장이 됩니다.";
"lng_change_phone_warning" = "회원님 텔레그램 연락처에 있는 친구분들이 회원님의 이전 전화번호가 저장되어있고 차단을 하지 않았을 경우 새로운 전화번호로 주소록에 저장이 됩니다.";
"lng_change_phone_occupied" = "{phone}번호는 이미 텔레그램에 연결되어 있습니다. 새로운 번호로 마이그레이션 진행시 해당 계정을 탈퇴시켜주세요.";
"lng_change_phone_button" = "전화번호 변경";
"lng_change_phone_new_title" = "신규 전화번호 입력";
"lng_change_phone_new_description" = "새로운 번호로 인증 문자를 전송하겠습니다.";
"lng_change_phone_new_submit" = "입력";
"lng_change_phone_code_title" = "인증코드 입력";
"lng_change_phone_code_description" = "{phone} 번호로 인증코드 문자를 전송하였습니다.";
"lng_change_phone_success" = "회원님의 전화번호가 변경되었습니다.";
"lng_preview_loading" = "링크 정보를 가져오는 중..";
"lng_profile_chat_unaccessible" = "그룹에 접근할 수 없습니다.";
@@ -441,7 +557,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_create_public_link" = "공개 링크 생성";
"lng_profile_edit_public_link" = "공개링크 수정";
"lng_profile_manage_admins" = "관리자 관리";
"lng_profile_common_groups" = "{count:_not_used_|# 그룹|# 그룹} 공통";
"lng_profile_manage_blocklist" = "차단된 사용자 관리";
"lng_profile_manage_restrictedlist" = "제한된 사용자 관리";
"lng_profile_recent_actions" = "최근 활동";
"lng_profile_common_groups#one" = "공통그룹 {count}개";
"lng_profile_common_groups#other" = "공통그룹 {count}개";
"lng_profile_common_groups_section" = "공통 그룹";
"lng_profile_participants_section" = "사용자";
"lng_profile_info_section" = "정보";
@@ -469,29 +589,36 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_invite_to_group" = "그룹에 추가";
"lng_profile_delete_contact" = "삭제";
"lng_profile_set_group_photo" = "사진 설정";
"lng_profile_add_participant" = "구성원 추가";
"lng_profile_add_participant" = "대화상대 추가";
"lng_profile_view_channel" = "채널 보기";
"lng_profile_join_channel" = "참여";
"lng_profile_delete_and_exit" = "나가기";
"lng_profile_kick" = "삭제";
"lng_profile_admin" = "관리자";
"lng_profile_edit_permissions" = "수정";
"lng_profile_sure_kick" = "{user}를 내보내시겠습니까?";
"lng_profile_sure_kick_channel" = "{user}를 내보내시겠습니까?";
"lng_profile_sure_kick_admin" = "{user}를 관리자에서 제외 하시겠습니까?";
"lng_profile_loading" = "로드중..";
"lng_profile_shared_media" = "공유된 미디어";
"lng_profile_no_media" = "대화에 미디어가 존재하지 않습니다.";
"lng_profile_photos" = "{count:_not_used_|# 사진|# 사진} ";
"lng_profile_photos#one" = "사진 {count}개";
"lng_profile_photos#other" = "사진 {count}개";
"lng_profile_photos_header" = "사진";
"lng_profile_videos" = "{count:_not_used_|# 동영상|# 동영상}";
"lng_profile_videos#one" = "비디오 {count}";
"lng_profile_videos#other" = "비디오 {count}개";
"lng_profile_videos_header" = "동영상";
"lng_profile_songs" = "{count:_not_used_|# 음성|# 음성}";
"lng_profile_songs#one" = "음성파일 {count}";
"lng_profile_songs#other" = "음성파일 {count}개";
"lng_profile_songs_header" = "음성 파일";
"lng_profile_files" = "{count:_not_used_|# 파일|# 파일}";
"lng_profile_files#one" = "파일 {count}";
"lng_profile_files#other" = "파일 {count}개";
"lng_profile_files_header" = "파일";
"lng_profile_audios" = "{count:_not_used_|# 음성메시지|# 음성메시지}";
"lng_profile_audios#one" = "음성메시지 {count}개";
"lng_profile_audios#other" = "음성메시지 {count}개";
"lng_profile_audios_header" = "음성 메시지";
"lng_profile_shared_links" = "{count:_not_used_|# 공유된 링크|# 공유된 링크}";
"lng_profile_shared_links#one" = "공유링크 {count}";
"lng_profile_shared_links#other" = "공유링크 {count}개";
"lng_profile_shared_links_header" = "공유된 링크";
"lng_profile_copy_phone" = "전화번호 복사";
"lng_profile_copy_fullname" = "이름 복사";
@@ -512,21 +639,28 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_report_thanks" = "감사합니다! 신고내용은 신속하게 팀내에서 확인하겠습니다.";
"lng_channel_add_admins" = "새로운 관리자";
"lng_channel_add_members" = "구성원 추가";
"lng_channel_members" = "구성원";
"lng_channel_only_last_shown" = "마지막 {count:_not_used_|# 구성원|# 구성원} 들이 표시가 됩니다.";
"lng_channel_add_members" = "대화상대 추가";
"lng_channel_add_banned" = "사용자 차단";
"lng_channel_add_restricted" = "사용자 제한";
"lng_channel_members" = "대화상대";
"lng_channel_only_last_shown#one" = "마지막 {count}명의 대화상대가 표시됩니다.";
"lng_channel_only_last_shown#other" = "마지막 {count}명의 대화상대가 표시됩니다.";
"lng_channel_admins" = "관리자";
"lng_channel_add_admin" = "관리자 추가";
"lng_channel_admin_sure" = "{user}를 관리자로 추가하시겠습니까?";
"lng_channel_admins_too_much" = "죄송합니다, 관리자의 최대허용치입니다. 다른 관리자를 삭제해주세요";
"lng_channel_admin_status_creator" = "생성자";
"lng_channel_admin_status_promoted_by" = "{user} 님이 승인함";
"lng_chat_all_members_admins" = "모든 구성원이 관리자입니다";
"lng_chat_about_all_admins" = "그룹에 있는 모든 구성원은 상대 초대, 이름 및 사진을 수정할 수 있습니다.";
"lng_group_blocked_list_about" = "차단된 사용자들은 그룹에서 추방이 되며 관리자의 초대로만 재입장이 가능합니다.\n초대링크는 작동되지 않습니다.";
"lng_chat_all_members_admins" = "모든 대화상대가 관리자입니다";
"lng_chat_about_all_admins" = "그룹에 있는 모든 대화상대는 상대 초대, 이름 및 사진을 수정할 수 있습니다.";
"lng_chat_about_admins" = "그룹에 있는 관리자는 상대 초대, 이름 및 사진을 수정할 수 있습니다.";
"lng_participant_filter" = "검색";
"lng_participant_invite" = "초대";
"lng_participant_invite_sorry" = "죄송합니다, 초기 {count:_not_used|# 구성원|# 구성원} 명만 채널에 개별적으로 추가 할 수 있습니다. \n\n이후로는 초대링크를 통하여 입장해야합니다.";
"lng_participant_invite_sorry#one" = "죄송합니다, 초기 {count}명의 대화상대만 채널에 개별적으로 추가 할 수 있습니다.\n\n이후로는 초대링크를 통하여 입장해야합니다.";
"lng_participant_invite_sorry#other" = "죄송합니다, 초기 {count}명의 대화상대만 채널에 개별적으로 추가 할 수 있습니다.\n\n이후로는 초대링크를 통하여 입장해야합니다.";
"lng_create_group_back" = "뒤로가기";
"lng_create_group_next" = "다음";
"lng_create_group_create" = "만들기";
@@ -549,8 +683,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_create_channel_link_available" = "사용 가능한 링크입니다.";
"lng_create_channel_link_copied" = "링크가 클립보드에 복사되었습니다.";
"lng_create_group_crop" = "그룹프로필 사진으로 사용할 사각영역을 선택하세요";
"lng_create_channel_crop" = "채널프로필 사진으로 사용할 사각영역을 선택하세요";
"lng_create_group_crop" = "그룹프로필 사진으로 사용할 영역을 선택하세요";
"lng_create_channel_crop" = "채널프로필 사진으로 사용할 영역을 선택하세요";
"lng_failed_add_participant" = "사용자를 추가 하지 못하였습니다. 나중에 다시 시도해주세요";
"lng_failed_add_not_mutual" = "죄송합니다. 그룹방에서 대화상대방이 나갔을 경우, 상대 전화번호가 있는 분만 초대가 가능합니다. (서로 전화번호가 등록되어져 있어야만 가능)";
@@ -561,13 +695,21 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_sure_delete_group_history" = "그룹<<{group}>> 방의 모든 메시지 기록을 삭제하시겠습니까?\n\n이 작업은 취소가 불가능합니다.";
"lng_sure_delete_and_exit" = "그룹 «{group}» 방에서 모든 메시지를 \n삭제하시고 퇴장하시겠습니까?\n\n삭제 하실 경우 취소가 불가능합니다.";
"lng_sure_leave_channel" = "채널에서 나가시겠습니까?";
"lng_sure_delete_channel" = "채널을 삭제하시겠습니까? 모든 구성원과 메시지가 삭제됩니다.";
"lng_sure_delete_channel" = "채널을 삭제하시겠습니까? 모든 대화상대와 메시지가 삭제됩니다.";
"lng_sure_leave_group" = "정말로 그룹방에서 나가시겠습니까?\n이 작업은 취소가 불가능합니다.";
"lng_sure_delete_group" = "정말로 그룹방을 삭제하시겠습니까? 모든 구성원 및 메시지가 삭제됩니다.";
"lng_sure_delete_group" = "정말로 그룹방을 삭제하시겠습니까? 모든 대화상대 및 메시지가 삭제됩니다.";
"lng_message_empty" = "메시지 없음";
"lng_message_unsupported" = "이 메시지는 텔레그램 데스크탑에서 호환이 되지 않습니다. 설정에서 최신 버전으로 업데이트를 하던가 {link}를 통하여 설치해주세요.";
"lng_duration_seconds#one" = "{count} 초";
"lng_duration_seconds#other" = "{count} 초";
"lng_duration_minsec_minutes#one" = "{count} 분";
"lng_duration_minsec_minutes#other" = "{count} 분";
"lng_duration_minsec_seconds#one" = "{count} 초";
"lng_duration_minsec_seconds#other" = "{count} 초";
"lng_duration_minutes_seconds" = "{minutes_count} {seconds_count}";
"lng_action_add_user" = "{from} 님께서 {user} 님을 초대하셨습니다.";
"lng_action_add_users_many" = "{from}님께서 {users}명을 초대하였습니다.";
"lng_action_add_users_and_one" = "{accumulated}, {user}";
@@ -596,6 +738,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_video" = "동영상";
"lng_action_pinned_media_audio" = "오디오 파일";
"lng_action_pinned_media_voice" = "음성 메시지";
"lng_action_pinned_media_video_message" = "비디오 메시지";
"lng_action_pinned_media_file" = "파일";
"lng_action_pinned_media_gif" = "GIF 파일";
"lng_action_pinned_media_contact" = "연락처 정보";
@@ -603,31 +746,40 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_sticker" = "스티커";
"lng_action_pinned_media_emoji_sticker" = " {emoji} 스티커";
"lng_action_pinned_media_game" = " «{game}» 게임";
"lng_action_game_score" = "{game} 에서 {from} 님이 {count:#|#|#} 점 획득";
"lng_action_game_you_scored" = "{game} 에서 {count:#|#|#} 점 획득";
"lng_action_game_score_no_game" = "{from} 에서 {count:#|#|#} 점 획득";
"lng_action_game_you_scored_no_game" = "{count:#|#|#} 점 획득";
"lng_action_game_score#one" = "{game} 에서 {from} 님이 {count} 점 획득";
"lng_action_game_score#other" = "{game} 에서 {from} 님이 {count} 점 획득";
"lng_action_game_you_scored#one" = "회원님이 {game}에서 {count}점 획득";
"lng_action_game_you_scored#other" = "회원님이 {game}에서 {count}점 획득";
"lng_action_game_score_no_game#one" = "{from}님이 {count}점 획득";
"lng_action_game_score_no_game#other" = "{from}님이 {count}점 획득";
"lng_action_game_you_scored_no_game#one" = "회원님이 {count}점 획득";
"lng_action_game_you_scored_no_game#other" = "회원님이 {count}점 획득";
"lng_action_payment_done" = "{amount}만큼 {user}에게 성공적으로 전송하였습니다.";
"lng_action_payment_done_for" = "{invoice}에 대하여 {user}에게 {amount}만큼 전송하였습니다.";
"lng_profile_migrate_reached" = "{count:_not_used_|# 명|# 명} 한계치에 도달 되었습니다.";
"lng_profile_migrate_reached#one" = "대화상대 한계치인 {count}명에 도달습니다.";
"lng_profile_migrate_reached#other" = "대화상대 한계치인 {count}명에 도달했습니다.";
"lng_profile_migrate_body" = "제한을 초과하고 싶으실 경우, 슈퍼그룹으로 그룹 업그레이드가 가능합니다.";
"lng_profile_migrate_learn_more" = "자세히 »";
"lng_profile_migrate_about" = "최대허용치를 초과하시고 싶으실 경우, 슈퍼그룹방으로 업그레이드해주세요. 슈퍼그룹방은 :";
"lng_profile_migrate_feature1" = "— 최대 {count:_not_used_|# 명|# 명} 까지 허용 가능합니다.";
"lng_profile_migrate_feature2" = "— 모든 구성원이 전체 내용을 볼 수 있습니다.";
"lng_profile_migrate_feature3" = "— 관리자는 구성원으로 부터 메시지 삭제가 가능합니다.";
"lng_profile_migrate_feature1#one" = "— 최대 {count}명까지 허용 가능합니다.";
"lng_profile_migrate_feature1#other" = "— 최대 {count}명까지 허용 가능합니다.";
"lng_profile_migrate_feature2" = "— 모든 대화상대가 전체 내용을 볼 수 있습니다.";
"lng_profile_migrate_feature3" = "— 관리자는 대화상대로 부터 메시지 삭제가 가능합니다.";
"lng_profile_migrate_feature4" = "— 기본값으로 알림이 무음으로 처리됩니다";
"lng_profile_migrate_button" = "슈퍼그룹방으로 업그레이드하기";
"lng_profile_migrate_sure" = "정말로 그룹방을 슈퍼그룹방으로 변환하시겠습니까? 이 작업은 취소가 불가능합니다.";
"lng_profile_convert_button" = "슈퍼그룹으로 전환";
"lng_profile_convert_title" = "슈퍼그룹으로 전환";
"lng_profile_convert_about" = "슈퍼그룹:";
"lng_profile_convert_feature1" = "— 모든 구성원이 이전 대화 내용 조회";
"lng_profile_convert_feature1" = "— 모든 대화상대가 이전 대화 내용 조회";
"lng_profile_convert_feature2" = "— 메시지 삭제시 모두에게 삭제";
"lng_profile_convert_feature3" = "— 관리자는 중요한 메시지 고정 가능";
"lng_profile_convert_feature4" = "— 방 생성자가 그룹 공개링크 생성가능";
"lng_profile_convert_warning" = "{bold_start}주:{bold_end} 이 작업은 되돌릴 수 없습니다.";
"lng_profile_convert_warning" = "{bold_start}주:{bold_end} 이 작업은 되돌릴 수 없습니다.";
"lng_profile_convert_confirm" = "변환";
"lng_profile_add_more_after_upgrade" = "그룹에서 슈퍼그룹으로 업그레이드시 {count:_not_used_|# 명|# 명} 까지 추가 가능합니다.";
"lng_profile_add_more_after_upgrade#one" = "그룹에서 슈퍼그룹으로 업그레이드시 {count}명까지 추가 가능합니다.";
"lng_profile_add_more_after_upgrade#other" = "그룹에서 슈퍼그룹으로 업그레이드시 {count}명까지 추가 가능합니다.";
"lng_channel_not_accessible" = "채널에 접근 할 수 없습니다.";
"lng_group_not_accessible" = "죄송합니다. 그룹방에 접근 할 수 없습니다.";
@@ -642,7 +794,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_group_invite_want_join_channel" = "«{title}» 채널에 참여하시겠습니까?";
"lng_group_invite_join" = "참여";
"lng_group_invite_members" = "{count:_not_used_|# 회원|# 회원}, 참여자 현황:";
"lng_group_invite_members#one" = "대화상대 {count}, 참여자 현황:";
"lng_group_invite_members#other" = "대화상대 {count}명, 참여자 현황:";
"lng_group_invite_link" = "초대링크: ";
"lng_group_invite_create" = "초대링크 생성";
@@ -655,6 +808,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_public_link_copied" = "클립보드에 링크가 복사되었습니다.";
"lng_forwarded" = "{user}님으로 부터 전달 받음";
"lng_forwarded_date" = "원본: {date}";
"lng_forwarded_channel" = "{channel}로 부터 전달 받음";
"lng_forwarded_via" = "{inline_bot}을 {user}로 부터 전달 받음";
"lng_forwarded_channel_via" = "{inline_bot}을 {channel}로 부터 전달 받음";
@@ -705,15 +859,16 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_emoji_category5" = "여행 및 장소";
"lng_emoji_category6" = "물건";
"lng_emoji_category7" = "심볼 및 국기";
"lng_emoji_hide_panel" = "이모티콘 사이드바를 숨기시려면 여기를 클릭해주세요";
"lng_recent_stickers" = "자주 사용";
"lng_switch_stickers" = "스티커";
"lng_switch_stickers_gifs" = "GIF & 스티커";
"lng_switch_emoji" = "이모티콘";
"lng_switch_gifs" = "GIF";
"lng_stickers_featured_add" = "추가";
"lng_gifs_search" = "GIF 검색";
"lng_gifs_no_saved" = "아직 저장된 GIF파일이 없습니다.";
"lng_saved_gifs" = "저장된 GIF";
"lng_inline_bot_results" = "{inline_bot} 결과";
"lng_inline_bot_no_results" = "결과 없음";
"lng_inline_bot_via" = "{inline_bot} 결과";
@@ -733,7 +888,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_stickers_you_have" = "스티커팩 관리 및 변경";
"lng_stickers_featured" = "인기 스티커";
"lng_stickers_return" = "실행취소";
"lng_stickers_count" = "{count:Loading...|# 스티커|# 스티커}";
"lng_stickers_count#one" = "스티커 {count}";
"lng_stickers_count#other" = "스티커 {count}개";
"lng_stickers_masks_pack" = "마스크 스티커 팩입니다. 모바일 기기에 있는 사진 에디터에서 사용 가능합니다.";
"lng_in_dlg_photo" = "사진";
@@ -741,12 +897,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_in_dlg_audio_file" = "음성 파일";
"lng_in_dlg_contact" = "연락처";
"lng_in_dlg_audio" = "음성 메시지";
"lng_in_dlg_video_message" = "비디오 메시지";
"lng_in_dlg_file" = "파일";
"lng_in_dlg_sticker" = "스티커";
"lng_in_dlg_sticker_emoji" = "{emoji} 스티커";
"lng_ban_user" = "차단하기";
"lng_delete_all_from" = "모두에게 메시지 삭제";
"lng_delete_all_from" = "사용자의 모든 메시지 삭제";
"lng_report_spam" = "스팸 신고";
"lng_report_spam_hide" = "숨기기";
"lng_report_spam_thanks" = "신고해주셔서 감사합니다!";
@@ -769,8 +926,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_broadcast_ph" = "단체메시지 쓰기...";
"lng_broadcast_silent_ph" = "음소거 메시지...";
"lng_record_cancel" = "이 영역 밖에서 마우스 클릭을 해제하시면 취소가 됩니다.";
"lng_will_be_notified" = "메시지 작성시 구성원들에게 알림이 갑니다.";
"lng_wont_be_notified" = "메시지 작성시 구성원들에게 알림이 가지 않습니다.";
"lng_will_be_notified" = "메시지 작성시 대화상대에게 알림이 갑니다.";
"lng_wont_be_notified" = "메시지 작성시 대화상대에게 알림이 가지 않습니다.";
"lng_willbe_history" = "대화하실 방을 선택해주세요.";
"lng_from_you" = "회원님";
"lng_from_draft" = "임시저장";
@@ -807,11 +964,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_typing" = "입력중";
"lng_user_typing" = "{user}님이 입력중입니다.";
"lng_users_typing" = "{user}님과 {second_user}님이 입력중입니다.";
"lng_many_typing" = "{count:_not_used_|#명이|#명이} 입력중입니다";
"lng_many_typing#one" = "{count}명이 입력중";
"lng_many_typing#other" = "{count}명이 입력중";
"lng_playing_game" = "게임 중";
"lng_user_playing_game" = "{user}님이 게임 중입니다.";
"lng_users_playing_game" = "{user}님과 {second_user}님이 게임 중입니다.";
"lng_many_playing_game" = "{count:_not_used_|#명이|#명이} 게임 중입니다";
"lng_many_playing_game#one" = "{count}명이 게임 중";
"lng_many_playing_game#other" = "{count}명이 게임 중";
"lng_send_action_record_video" = "비디오 녹화 중";
"lng_user_action_record_video" = "{user}님이 녹화중입니다";
"lng_send_action_upload_video" = "비디오 전송 중";
@@ -820,6 +979,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_record_audio" = "{user}님이 오디오를 녹음 중입니다";
"lng_send_action_upload_audio" = "음성 메시지 전송 중";
"lng_user_action_upload_audio" = "{user}님이 음성 메시지는 전송 중입니다";
"lng_send_action_record_round" = "비디오 메시지를 녹화 중";
"lng_user_action_record_round" = "{user}님이 비디오 메시지 녹화 중";
"lng_send_action_upload_round" = "비디오 메시지 전송 중";
"lng_user_action_upload_round" = "{user}님이 비디오 메시지 전송 중";
"lng_send_action_upload_photo" = "사진 전송 중";
"lng_user_action_upload_photo" = "{user}님이 사진을 전송 중입니다";
"lng_send_action_upload_file" = "파일 전송 중";
@@ -828,7 +991,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_geo_location" = "{user}님이 위치를 선택 중입닏";
"lng_send_action_choose_contact" = "연락처 선택 중";
"lng_user_action_choose_contact" = "{user}님이 연락처를 선택 중입니다";
"lng_unread_bar" = "{count:_not_used_|#개의 읽지 않은 메시지|#개의 읽지 않은 메시지}";
"lng_unread_bar#one" = "안 읽은 메시지 {count}개";
"lng_unread_bar#other" = "안 읽은 메시지 {count}개";
"lng_maps_point" = "위치";
"lng_save_photo" = "사진 저장";
@@ -851,7 +1015,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_from_top" = "상단에서 고정해제";
"lng_context_promote_admin" = "관리자로 지정";
"lng_context_remove_admin" = "관리자에서 제외";
"lng_context_edit_permissions" = "권한 변경";
"lng_context_restrict_user" = "사용자 제한";
"lng_context_remove_from_group" = "그룹에서 추방";
"lng_context_copy_link" = "링크 복사";
@@ -877,6 +1042,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_delete_file" = "파일 삭제";
"lng_context_close_file" = "파일 닫기";
"lng_context_copy_text" = "텍스트 복사";
"lng_context_open_gif" = "GIF 열기";
"lng_context_save_gif" = "GIF 저장";
"lng_context_to_msg" = "메시지로 이동";
"lng_context_reply_msg" = "답장";
@@ -887,32 +1053,42 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_pin_msg" = "메시지 고정";
"lng_context_unpin_msg" = "메시지 고정해제";
"lng_context_cancel_upload" = "업로드 취소";
"lng_context_copy_selected" = "선택한 메시지 복사";
"lng_context_copy_selected" = "선택한 텍스트 복사";
"lng_context_copy_selected_items" = "선택한 내용 텍스트 복사";
"lng_context_forward_selected" = "선택된 메시지 전달";
"lng_context_delete_selected" = "선택된 메시지 삭제";
"lng_context_clear_selection" = "선택된 메시지 초기화";
"lng_really_send_image" = "선택한 이미지를 전송하시겠습니까?";
"lng_really_send_file" = "선택한 파일을 전송하시겠습니까?";
"lng_really_share_contact" = "선택한 연락처를 공유하시겠습니까?";
"lng_send_images_compress" = "압축 {count:_not_used_|이미지|이미지}";
"lng_send_images_compress#one" = "압축된 이미지";
"lng_send_images_compress#other" = "압축된 이미지";
"lng_send_image_non_local" = "로컬이 아닌 파일을 전송 할 수 없습니다 : {name}";
"lng_send_image_empty" = "빈 파일을 전송 할 수 없습니다 : {name}";
"lng_send_image_too_large" = "파일이 1500MB 이상이기 때문에 전송 할 수 없습니다: {name}";
"lng_send_folder" = " «{name}»은 폴더이기 때문에 전송 할 수 없습니다 :(";
"lng_send_images_selected" = "{count:_not_used_|# 이미지|# 이미지} 선택";
"lng_send_photos" = "전송 {count:_not_used_|# 사진|# 사진}";
"lng_send_files_selected" = "{count:_not_used_|# 파일|# 파일} 선택";
"lng_send_files" = "전송 {count:_not_used_|# 파일|# 파일}";
"lng_send_images_selected#one" = "이미지 {count}개가 선택";
"lng_send_images_selected#other" = "이미지 {count}개가 선택됨";
"lng_send_photos#one" = "{count}개의 사진 전송";
"lng_send_photos#other" = "{count}개의 사진 전송";
"lng_send_files_selected#one" = "파일 {count}개 선택됨";
"lng_send_files_selected#other" = "파일 {count}개 선택됨";
"lng_send_files#one" = "{count}개의 파일 전송";
"lng_send_files#other" = "{count}개의 파일 전송";
"lng_forward_choose" = "수신자를 선택..";
"lng_forward_cant" = "이쪽으로 전달 할 수 없습니다 :(";
"lng_forward_confirm" = "{recipient} 님에게 전달하시겠습니까?";
"lng_forward_share_contact" = "{recipient} 님에게 연락처를 공유하시겠습니까?";
"lng_forward_share_cant" = "죄송합니다, 여기서 연락처를 공유할 수 없습니다 :(";
"lng_forward_send_file_confirm" = "«{name}» 을 {recipient} 님에게 보내시겠습니까?";
"lng_forward_send_files_confirm" = "선택한 파일을 {recipient} 님에게 보내시겠습니까?";
"lng_forward_send_files_cant" = "죄송합니다, 여기서 미디어를 공유할 수 없습니다 :(";
"lng_forward_send" = "보내기";
"lng_forward_messages" = "{count:_not_used_|전달받은 메시지|# 개의 전달받은 메시지}";
"lng_forwarding_from" = "{user} 님과 {count:_not_used_|# 명|# 명}";
"lng_forward_messages#one" = "전달된 메시지 {count}개";
"lng_forward_messages#other" = "전달된 메시지 {count}개";
"lng_forwarding_from#one" = "{user}님 이외 {count}명";
"lng_forwarding_from#other" = "{user}님 이외 {count}명";
"lng_forwarding_from_two" = "{user} 님과 {second_user}";
"lng_inline_switch_choose" = "대화 선택...";
"lng_inline_switch_cant" = "죄송합니다. 이쪽으로 글을 쓸 수 없습니다 :(";
@@ -934,6 +1110,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_edit_contact_title" = "연락처 이름 수정";
"lng_edit_channel_title" = "채널 수정";
"lng_edit_sign_messages" = "서명 메시지";
"lng_edit_group_who_invites" = "초대가 가능한 사용자";
"lng_edit_group_invites_everybody" = "모든 사용자";
"lng_edit_group_invites_only_admins" = "관리자만 가능";
"lng_edit_group" = "그룹방 수정";
"lng_edit_self_title" = "이름 수정";
"lng_confirm_contact_data" = "새로운 연락처";
@@ -958,15 +1137,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_selected_clear" = "취소";
"lng_selected_delete" = "삭제";
"lng_selected_forward" = "전달";
"lng_selected_count" = "{count:_not_used_|# 메시지|# 메시지}";
"lng_selected_count#one" = "메시지 {count}";
"lng_selected_count#other" = "메시지 {count}개";
"lng_selected_cancel_sure_this" = "업로드를 취소하시겠습니까?";
"lng_selected_upload_stop" = "정지";
"lng_selected_delete_sure_this" = "메시지를 삭제하시겠습니까?";
"lng_selected_delete_sure" = "{count:_not_used_|# 메시지|# 메시지}를 삭제하시겠습니까?";
"lng_selected_delete_sure#one" = "{count}개의 메시지를 삭제하시겠습니까?";
"lng_selected_delete_sure#other" = "{count}개의 메시지를 삭제하시겠습니까?";
"lng_delete_photo_sure" = "사진을 삭제하시겠습니까?";
"lng_delete_for_everyone_hint" = "This will delete {count:_not_used_|it|them} for everyone in this chat.";
"lng_delete_for_me_chat_hint" = "이 작업은 다른분들이 아닌 회원님에게만 {count:_not_used_|이것|이것들} 을 삭제하게됩니다.";
"lng_delete_for_me_hint" = "이 작업은 회원님에게만 {count:_not_used_|이것|이것들} 을 삭제하게됩니다.";
"lng_delete_for_everyone_hint#one" = "이 메시지는 이 대화방에 있는 모두에게 삭제됩니다.";
"lng_delete_for_everyone_hint#other" = "이 메시지는 이 대화방에 있는 모두에게 삭제됩니다.";
"lng_delete_for_me_chat_hint#one" = "이 메시지는 다른 대화상대에게는 삭제가 되지 않고, 회원님에게만 삭제됩니다.";
"lng_delete_for_me_chat_hint#other" = "이 메시지는 다른 대화상대에게는 삭제가 되지 않고, 회원님에게만 삭제됩니다.";
"lng_delete_for_me_hint#one" = "이 메시지는 회원님에게만 삭제됩니다.";
"lng_delete_for_me_hint#other" = "이 메시지는 회원님에게만 삭제됩니다.";
"lng_delete_for_everyone_check" = "모두에게 삭제";
"lng_delete_for_other_check" = "{user}에게 메시지 삭제";
"lng_box_delete" = "삭제";
@@ -978,7 +1162,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_about_text_3" = "자세한 사항은 {faq_open}Telegram FAQ{faq_close} 에서 확인해주세요.";
"lng_about_done" = "완료";
"lng_search_found_results" = "{count:메시지를 찾을 수 없습니다.|# 개의 메시지를 찾았습니다.|# 개의 메시지를 찾았습니다.}";
"lng_search_no_results" = "메시지를 찾을 수 없습니다.";
"lng_search_found_results#one" = "{count}개의 메시지를 찾았습니다.";
"lng_search_found_results#other" = "{count}개의 메시지를 찾았습니다.";
"lng_search_global_results" = "아이디 검색 결과";
"lng_media_save_progress" = "{ready} / {total} {mb}";
@@ -1010,7 +1196,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "텔레그램 데스크탑은 {version} 버전으로 업데이트 되었습니다.\n\n{changes}\n\n전체 버전 히스토리는 아래에서 확인 가능합니다:\n{link}";
"lng_new_version_minor" = "— 버그 수정 및 일부 기능 향상";
"lng_new_version_text" = "— 클릭 후 드래그로 고정된 대화 순서 변경\n— 버그 수정 및 일부기능 향상";
"lng_new_version_text" = "— 영상 메시지 향상 : 원모양 재생 현황, 화면속 화면 지원, 재생시간 카운트다운\n— 음성 및 영상 메시지 순차적 자동재생";
"lng_menu_insert_unicode" = "유니코드 문자를 입력하세요.";
@@ -1023,6 +1209,181 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_confirm_phone_send" = "보내기";
"lng_confirm_phone_enter_code" = "코드를 입력해주세요";
"lng_theme_editor_no_keys" = "팔레트에 아직 키가 없습니다";
"lng_theme_editor_cant_change_theme" = "색상 팔레트를 수정하는 동시에 새로운 테마를 적용할 수 없습니다. 테마 에디터를 먼저 닫아주세요.";
"lng_theme_editor_new_keys" = "팔레트에 아직 없습니다.";
"lng_theme_editor_background_image" = "배경 이미지";
"lng_theme_editor_saved_to_jpg" = "JPEG로 저장, {size}";
"lng_theme_editor_read_from_jpg" = "JPEG 이미지, {size}";
"lng_theme_editor_read_from_png" = "PNG 이미지, {size}";
"lng_theme_editor_export" = "내보내기";
"lng_theme_editor_choose_image" = "배경 이미지 선택";
"lng_theme_editor_save_palette" = "팔레트 파일 저장";
"lng_theme_editor_choose_name" = "테마 파일 저장";
"lng_theme_editor_error" = "에디터 오류가 발생하였습니다 :( 'log.txt' 에서 자세한 내역 확인하세요.";
"lng_theme_editor_done" = "성공적으로 테마 내보내기가 완료되었습니다!";
"lng_theme_editor_title" = "색상 팔레트 수정";
"lng_theme_editor_export_button" = "테마 내보내기";
"lng_payments_not_supported" = "죄송합니다, 텔레그램 데스크탑은 아직 결제를 지원하고 있지 않습니다. 모바일앱을 사용해주세요.";
"lng_payments_receipt_label" = "영수증";
"lng_payments_receipt_label_test" = "테스트 영수증";
"lng_payments_invoice_label" = "인보이스";
"lng_payments_invoice_label_test" = "테스트 인보이스";
"lng_payments_receipt_button" = "영수증";
"lng_call_status_incoming" = "님으로 부터 전화가 오고 있습니다...";
"lng_call_status_connecting" = "연결중...";
"lng_call_status_exchanging" = "암호화 키 교환중...";
"lng_call_status_waiting" = "기다리는중...";
"lng_call_status_requesting" = "요청중..";
"lng_call_status_hanging" = "전화 끊는 중...";
"lng_call_status_ended" = "전화 종료";
"lng_call_status_failed" = "연결 실패";
"lng_call_status_ringing" = "전화중..";
"lng_call_status_busy" = "통화중";
"lng_call_fingerprint_tooltip" = "{user}님 화면과 이모티콘이 동일하다면, 이 통화는 100% 안전합니다";
"lng_call_error_not_available" = "죄송하지만, {user}는 전화 수신거부 상태입니다.";
"lng_call_error_incompatible" = "{user}님 앱이 현재 적합하지 않은 프로토콜을 사용하고 있습니다. 전화를 하시려면 상대방 앱을 업데이트해야합니다.";
"lng_call_error_outdated" = "{user}님의 앱이 전화를 지원하고 있지 않습니다. 상대방 앱을 업데이트 해야합니다.";
"lng_call_error_audio_io" = "회원님 컴퓨터의 음성 재생에 문제가 있습니다. 스피커와 마이크가 작동을 하는지 확인 후 다시 시도해주세요.";
"lng_call_bar_hangup" = "통화종료";
"lng_call_box_title" = "전화";
"lng_call_box_about" = "아직 전화내역이 없습니다";
"lng_call_box_status_today" = "{time}";
"lng_call_box_status_yesterday" = "어제 {time}";
"lng_call_box_status_date" = "{date} {time}";
"lng_call_box_status_group" = "({count}) {status}";
"lng_call_outgoing" = "발신 전화";
"lng_call_incoming" = "수신 전화";
"lng_call_missed" = "부재중 전화";
"lng_call_cancelled" = "취소한 전화";
"lng_call_declined" = "거부한 전화";
"lng_call_duration_info" = "{time}, {duration}";
"lng_call_type_and_duration" = "{type} ({duration})";
"lng_call_rate_label" = "통화품질을 평가해주세요";
"lng_call_rate_comment" = "의견 (선택사항)";
"lng_player_message_today" = "오늘 {time}";
"lng_player_message_yesterday" = "어제 {time}";
"lng_player_message_date" = "{date} {time}";
"lng_rights_edit_admin" = "관리가 변경";
"lng_rights_edit_admin_header" = "이 관리자가 할 수 있는 것은?";
"lng_rights_about_add_admins_yes" = "이 관리자는 동일한 권한 (혹은 더 제한된) 으로만 관리자 추가가 가능합니다.";
"lng_rights_about_add_admins_no" = "이 관리자는 새로운 관리자 설정을 할 수 없습니다.";
"lng_rights_user_restrictions" = "사용자 제한";
"lng_rights_user_restrictions_header" = "이 사용자가 할 수 있는 것은?";
"lng_rights_channel_info" = "채널 정보 변경";
"lng_rights_channel_post" = "메시지 작성";
"lng_rights_channel_edit" = "다른 사용자 메시지 수정";
"lng_rights_channel_delete" = "다른 사용자 메시지 삭제";
"lng_rights_group_info" = "그룹 정보 변경";
"lng_rights_group_ban" = "사용자 차단";
"lng_rights_group_invite_link" = "링크를 통하여 사용자 초대";
"lng_rights_group_invite" = "사용자 추가";
"lng_rights_group_pin" = "메시지 고정";
"lng_rights_group_delete" = "메시지 삭제";
"lng_rights_add_admins" = "새 관리자 추가";
"lng_rights_chat_read" = "메시지 읽기";
"lng_rights_chat_send_text" = "메시지 전송";
"lng_rights_chat_send_media" = "미디어 전송";
"lng_rights_chat_send_stickers" = "스티커 & GIF 전송";
"lng_rights_chat_send_links" = "링크 저장";
"lng_rights_chat_banned_until" = "다음까지 제한: {when}";
"lng_rights_chat_banned_forever" = "영원히";
"lng_rights_chat_banned_block" = "그룹에서 차단 후 추방";
"lng_restricted_send_message" = "그룹 관리자가 회원님의 메시지 작성을 제한했습니다.";
"lng_restricted_send_media" = "그룹 관리자가 회원님의 미디어 전송을 제한했습니다.";
"lng_restricted_send_stickers" = "그룹 관리자가 회원님의 스티커 전송을 제한했습니다.";
"lng_restricted_send_gifs" = "그룹 관리자가 회원님의 GIF 전송을 제한했습니다.";
"lng_restricted_send_inline" = "그룹 관리자가 회원님의 인라인 명령어를 제한했습니다.";
"lng_restricted_list_title" = "제한된 사용자";
"lng_banned_list_title" = "차단된 사용자";
"lng_admin_log_title_all" = "모든 활동";
"lng_admin_log_title_selected" = "선택한 활동";
"lng_admin_log_filter" = "필터";
"lng_admin_log_filter_title" = "필터";
"lng_admin_log_filter_all_actions" = "모든 활동";
"lng_admin_log_filter_restrictions" = "새 제한";
"lng_admin_log_filter_admins_new" = "새 관리자";
"lng_admin_log_filter_members_new" = "새 사용자";
"lng_admin_log_filter_info_group" = "그룹 정보";
"lng_admin_log_filter_info_channel" = "채널 정보";
"lng_admin_log_filter_messages_deleted" = "삭제된 메시지";
"lng_admin_log_filter_messages_edited" = "수정된 메시지";
"lng_admin_log_filter_messages_pinned" = "고정된 메시지";
"lng_admin_log_filter_members_removed" = "추방된 사용자";
"lng_admin_log_filter_all_admins" = "모든 관리자";
"lng_admin_log_about" = "이것은 무엇인가요?";
"lng_admin_log_about_text" = "그룹 사용자와 관리자의 지난 48시간동안 활동 리스트입니다.";
"lng_admin_log_no_results_title" = "이벤트를 찾을 수 없습니다.";
"lng_admin_log_no_results_text" = "검색한 내용의 이벤트를 찾을 수 없습니다.";
"lng_admin_log_no_events_title" = "이벤트를 찾을 수 없습니다.";
"lng_admin_log_no_events_text" = "그룹 사용자와 관리자의\n지난 48시간동안\n활동 리스트입니다.";
"lng_admin_log_empty_text" = "없음";
"lng_admin_log_changed_title_group" = "{from} 님이 그룹이름을 «{title}» 로 바꾸셨습니다.";
"lng_admin_log_changed_title_channel" = "{from} 님이 채널이름을 «{title}» 로 바꾸셨습니다.";
"lng_admin_log_changed_description_group" = "{from} 님이 그룹정보을 변경했습니다:";
"lng_admin_log_removed_description_group" = "{from} 님이 그룹정보을 삭제했습니다.";
"lng_admin_log_changed_description_channel" = "{from} 님이 채널정보을 변경했습니다:";
"lng_admin_log_removed_description_channel" = "{from} 님이 그룹정보을 삭제했습니다.";
"lng_admin_log_previous_description" = "기존 정보";
"lng_admin_log_changed_link_group" = "{from} 님이 그룹링크을 변경했습니다:";
"lng_admin_log_removed_link_group" = "{from} 님이 그룹링크를 삭제했습니다.";
"lng_admin_log_changed_link_channel" = "{from} 님이 채널링크를 변경했습니다:";
"lng_admin_log_removed_link_channel" = "{from} 님이 채널링크를 삭제했습니다.";
"lng_admin_log_previous_link" = "기존 링크";
"lng_admin_log_changed_photo_group" = "{from} 님이 그룹사진을 변경했습니다.";
"lng_admin_log_changed_photo_channel" = "{from} 님이 채널사진을 변경했습니다.";
"lng_admin_log_removed_photo_group" = "{from} 님이 그룹사진을 삭제했습니다.";
"lng_admin_log_removed_photo_channel" = "{from} 님이 채널사진을 삭제했습니다.";
"lng_admin_log_invites_enabled" = "{from} 님이 그룹 초대를 허용했습니다.";
"lng_admin_log_invites_disabled" = "{from} 님이 그룹 초대를 금지했습니다.";
"lng_admin_log_signatures_enabled" = "{from} 님이 서명을 허용했습니다.";
"lng_admin_log_signatures_disabled" = "{from} 님이 서명을 금지했습니다.";
"lng_admin_log_pinned_message" = "{from} 님이 메시지를 고정했습니다:";
"lng_admin_log_unpinned_message" = "{from} 님이 메시지 고정을 해제했습니다.";
"lng_admin_log_edited_caption" = "{from} 님이 자막을 변경했습니다:";
"lng_admin_log_removed_caption" = "{from} 님이 자막은 삭제했습니다";
"lng_admin_log_previous_caption" = "원본 자막";
"lng_admin_log_edited_message" = "{from} 님이 메시지를 수정했습니다:";
"lng_admin_log_previous_message" = "원본 메시지";
"lng_admin_log_deleted_message" = "{from} 님이 메시지를 삭제했습니다:";
"lng_admin_log_participant_joined" = "{from} 님이 그룹에 들어왔습니다.";
"lng_admin_log_participant_left" = "{from} 님이 그룹을 나갔습니다.";
"lng_admin_log_invited" = "{user} 님을 초대함";
"lng_admin_log_banned" = "{user} 님을 차단함";
"lng_admin_log_restricted" = "{until}까지 {user}에 대한 제한을 변경함";
"lng_admin_log_promoted" = "{user}님에 대한 권한을 변경함";
"lng_admin_log_user_with_username" = "{name} ({mention})";
"lng_admin_log_restricted_forever" = "기한 없음";
"lng_admin_log_restricted_until" = "{date} 까지";
"lng_admin_log_banned_view_messages" = "메시지 읽기";
"lng_admin_log_banned_send_messages" = "메시지 전송";
"lng_admin_log_banned_send_media" = "미디어 전송";
"lng_admin_log_banned_send_stickers" = "스티커 & GIF 전송";
"lng_admin_log_banned_embed_links" = "링크 저장";
"lng_admin_log_admin_change_info" = "채널 정보";
"lng_admin_log_admin_post_messages" = "메시지 작성";
"lng_admin_log_admin_edit_messages" = "메시지 수정";
"lng_admin_log_admin_delete_messages" = "메시지 삭제";
"lng_admin_log_admin_ban_users" = "사용자 차단";
"lng_admin_log_admin_invite_users" = "사용자 추가";
"lng_admin_log_admin_invite_link" = "링크를 통하여 사용자 초대";
"lng_admin_log_admin_pin_messages" = "메시지 고정";
"lng_admin_log_admin_add_admins" = "새 관리자 추가";
// Not used
"lng_topbar_info" = "정보";

View File

@@ -22,11 +22,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_switch_to_this" = "Overschakelen naar Nederlands";
"lng_menu_contacts" = "Contacten";
"lng_menu_calls" = "Spraakoproepen";
"lng_menu_settings" = "Instellingen";
"lng_menu_about" = "Over";
"lng_menu_update" = "Bijwerken";
"lng_menu_restart" = "Herstarten";
"lng_menu_back" = "Vorige";
"lng_menu_night_mode" = "Nachtmodus";
"lng_disable_notifications_from_tray" = "Meldingen uitschakelen";
"lng_enable_notifications_from_tray" = "Meldingen inschakelen";
@@ -79,7 +81,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_month_day" = "{day} {month}";
"lng_month_day_year" = "{day} {month}, {year}";
"lng_month_year" = "{month}, {year}";
"lng_month_year" = "{month} {year}";
"lng_box_ok" = "Ok";
@@ -87,7 +89,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_continue" = "Doorgaan";
"lng_close" = "Sluiten";
"lng_connecting" = "Verbinden...";
"lng_reconnecting" = "Opnieuw verbinden {count:nu|over # s|over # s}...";
"lng_connecting_to_proxy" = "Verbinden via proxy...";
"lng_connecting_settings" = "Instellingen";
"lng_reconnecting#one" = "Opnieuw verbinden over {count}s...";
"lng_reconnecting#other" = "Opnieuw verbinden over {count}s...";
"lng_reconnecting_try_now" = "Probeer nu";
"lng_status_service_notifications" = "servicemeldingen";
@@ -101,8 +106,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_last_month" = "afgelopen maand gezien";
"lng_status_invisible" = "onzichtbaar";
"lng_status_lastseen_now" = "laatst gezien zojuist";
"lng_status_lastseen_minutes" = "laatst gezien {count:_not_used_|# min|# min} geleden";
"lng_status_lastseen_hours" = "laatst gezien {count:_not_used_|# uur|# uur} geleden";
"lng_status_lastseen_minutes#one" = "laatst gezien {count} minuut geleden";
"lng_status_lastseen_minutes#other" = "laatst gezien {count} minuten geleden";
"lng_status_lastseen_hours#one" = "laatst gezien {count} uur geleden";
"lng_status_lastseen_hours#other" = "laatst gezien {count} uur geleden";
"lng_status_lastseen_today" = "laatst gezien vandaag om {time}";
"lng_status_lastseen_yesterday" = "laatst gezien gisteren om {time}";
"lng_status_lastseen_date" = "laatst gezien {date}";
@@ -111,14 +118,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_connecting" = "verbinden...";
"lng_chat_status_unaccessible" = "Groep is ontoegankelijk";
"lng_chat_status_members" = "{count:geen leden|# lid|# leden}";
"lng_chat_status_members_online" = "{count:_not_used_|# lid|# leden}, {count_online:_not_used_|# online|# online}";
"lng_chat_status_no_members" = "geen leden";
"lng_chat_status_members#one" = "{count} lid";
"lng_chat_status_members#other" = "{count} leden";
"lng_chat_status_online#one" = "{count} online";
"lng_chat_status_online#other" = "{count} online";
"lng_chat_status_members_online" = "{members_count}, {online_count}";
"lng_channel_status" = "kanaal";
"lng_group_status" = "groep";
"lng_channel_members_link" = "{count:_not_used_|# lid|# leden}";
"lng_channel_admins_link" = "{count:_not_used_|# beheerder|# beheerders}";
"lng_channel_members_link#one" = "{count} lid";
"lng_channel_members_link#other" = "{count} leden";
"lng_channel_admins_link#one" = "{count} beheerder";
"lng_channel_admins_link#other" = "{count} beheerders";
"lng_server_error" = "Interne serverfout.";
"lng_flood_error" = "Teveel pogingen. Probeer het later opnieuw.";
@@ -127,13 +140,26 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_join_channel_error" = "Je bent lid van teveel kanalen of supergroepen, verlaat er wat om hier lid te worden.";
"lng_error_phone_flood" = "Je hebt in korte tijd je account veelvuldig verwijderd en opnieuw aangemaakt. Probeer het over een aantal dagen nog eens.";
"lng_error_start_minimized_passcoded" = "Je hebt een toegangscode ingesteld, deze zal ingegeven moeten worden na het starten, geminimaliseerd starten kan daarom niet.";
"lng_error_pinned_max" = "Sorry, je kunt niet meer dan {count:_not_used_|# chat|# chats} vastzetten.";
"lng_error_pinned_max#one" = "Sorry, je kunt niet meer dan {count} chat vastzetten.";
"lng_error_pinned_max#other" = "Sorry, je kunt niet meer dan {count} chats vastzetten.";
"lng_error_public_groups_denied" = "Sorry, je mag niet meer deelnemen aan publieke groepen.\n{more_info}";
"lng_error_cant_edit_admin" = "Je kunt de machtigingen van deze beheerder niet wijzigen.";
"lng_error_cant_add_member" = "Je kunt deze bot niet toevoegen aan de groep, vraag een beheerder om dit te doen.";
"lng_error_cant_add_admin_invite" = "Je mag geen leden toevoegen, deze gebruiker is nog geen lid en kan daarom niet worden toegevoegd als beheerder.";
"lng_error_cant_add_admin_unban" = "Je mag geen leden deblokkeren, deze gebruiker is geblokkeerd en kan daarom niet worden toegevoegd als beheerder.";
"lng_error_cant_ban_admin" = "Je mag geen leden degraderen, deze gebruiker is een beheerder en kan daarom niet worden geblokkeerd.";
"lng_sure_add_admin_invite" = "Deze gebruiker is geen lid, gebruiker toevoegen als beheerder?";
"lng_sure_add_admin_unban" = "Deze gebruiker is geblokkeerd of beperkt, wil je dit ongedaan maken en de gebruiker promoveren?";
"lng_sure_ban_admin" = "Deze gebruiker is een beheerder, gebruiker echt beperken?";
"lng_sure_ban_user_group" = "{user} blokkeren en verwijderen?";
"lng_sure_enable_socks" = "Proxy echt inschakelen? \n\nHost: {server}\nPoort: {port}\n\nJe kunt de proxy-server aanpassen via Instellingen (Verbindingstype).";
"lng_sure_enable" = "Inschakelen";
"lng_edit_deleted" = "Bericht is gewist";
"lng_edit_too_long" = "Je bericht is te lang";
"lng_edit_message" = "Bericht wijzigen";
"lng_edit_message_text" = "Nieuw bericht...";
"lng_deleted" = "Onbekend";
"lng_deleted" = "Verwijderd Account";
"lng_deleted_message" = "Verwijderd bericht";
"lng_pinned_message" = "Vastgezet bericht";
"lng_pinned_unpin_sure" = "Wil je dit bericht losmaken?";
@@ -196,9 +222,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_signin_sure_reset" = "Let op:\n\nAl je chats, berichten en alle andere data gaan verloren als je verder gaat!\n\nEcht je account resetten?";
"lng_signin_reset" = "Reset";
"lng_signin_reset_wait" = "Account {phone_number} is actief en beveiligd met een wachtwoord, het verwijderen stellen we daarom 1 week uit.\nJe kunt dit proces ieder moment annuleren.\n\nJe account kan gereset worden over:\n{when}";
"lng_signin_reset_in_days" = "{count_days:0 dagen|# dag|# dagen} {count_hours:0 uur|# uur|# uur} {count_minutes:0 minuten|# minuut|# minuten}";
"lng_signin_reset_in_hours" = "{count_hours:0 uur|# uur|# uur} {count_minutes:0 minuten|# minuut|# minuten}";
"lng_signin_reset_in_minutes" = "{count_minutes:0 minuten|# minuut|# minuten}";
"lng_signin_reset_days#one" = "{count} dag";
"lng_signin_reset_days#other" = "{count} dagen";
"lng_signin_reset_hours#one" = "{count} uur";
"lng_signin_reset_hours#other" = "{count} uur";
"lng_signin_reset_minutes#one" = "{count} minuut";
"lng_signin_reset_minutes#other" = "{count} minuten";
"lng_signin_reset_in_days" = "{days_count} {hours_count} {minutes_count}";
"lng_signin_reset_in_hours" = "{hours_count} {minutes_count}";
"lng_signin_reset_cancelled" = "De actieve gebruiker heeft de recente poging om dit account te resetten geannuleerd. Probeer het over 7 dagen nog eens.";
"lng_signup_title" = "Jouw Informatie";
@@ -221,10 +252,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_save" = "Opslaan";
"lng_settings_upload" = "Profielfoto instellen";
"lng_settings_crop_profile" = "Kies een vierkant voor je profielfoto";
"lng_settings_crop_profile" = "Kies een gebied voor je profielfoto";
"lng_settings_uploading_photo" = "Foto uploaden...";
"lng_settings_edit" = "Wijzig";
"lng_settings_drop_area_subtitle" = "om als foto in te stellen";
"lng_username_title" = "Gebruikersnaam";
@@ -248,7 +278,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_section_notify" = "Meldingen";
"lng_settings_desktop_notify" = "Desktopmeldingen";
"lng_settings_show_name" = "Afzender weergeven";
"lng_settings_show_preview" = "Voorvertoning weergeven";
"lng_settings_show_preview" = "Voorbeeld weergeven";
"lng_settings_use_windows" = "Windows-berichtgeving gebruiken";
"lng_settings_use_native_notifications" = "Linux-berichtgeving gebruiken";
"lng_settings_advanced_notifications" = "Plaats en teller voor meldingen";
@@ -278,9 +308,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_update_fail" = "Controleren op updates mislukt";
"lng_settings_workmode_tray" = "Pictogram in systeemvak weergeven";
"lng_settings_workmode_window" = "Pictogram op taakbalk weergeven";
"lng_settings_auto_start" = "Telegram uitvoeren bij opstarten";
"lng_settings_auto_start" = "Uitvoeren bij opstarten";
"lng_settings_start_min" = "Minimaliseren bij uitvoeren";
"lng_settings_add_sendto" = "Telegram toevoegen aan \"Kopiëren naar\"-menu";
"lng_settings_add_sendto" = "Toevoegen aan \"Kopiëren naar\"-menu";
"lng_settings_section_scale" = "Interfaceschaal";
"lng_settings_scale_auto" = "Auto ({cur})";
@@ -296,12 +326,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_bg_use_default" = "Standaardthema gebruiken";
"lng_settings_bg_from_gallery" = "Uit galerij kiezen";
"lng_settings_bg_from_file" = "Bestand kiezen";
"lng_settings_bg_edit_theme" = "Thema wijzigen";
"lng_settings_bg_tile" = "Naast elkaar";
"lng_settings_adaptive_wide" = "Adaptieve layout voor brede schermen";
"lng_backgrounds_header" = "Kies je nieuwe achtergrond";
"lng_theme_sure_keep" = "Dit thema behouden?";
"lng_theme_reverting" = "Ongedaan maken over {count:_not_used_|# seconde|# seconden}.";
"lng_theme_reverting#one" = "Ongedaan maken over {count} seconde.";
"lng_theme_reverting#other" = "Ongedaan maken over {count} seconden.";
"lng_theme_keep_changes" = "Behouden";
"lng_theme_revert" = "Herstellen";
@@ -327,18 +359,22 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_local_storage_title" = "Lokale opslag";
"lng_settings_no_data_cached" = "Geen cache-data gevonden!";
"lng_settings_images_cached" = "{count:_not_used_|# afbeelding|# afbeeldingen}, {size}";
"lng_settings_audios_cached" = "{count:_not_used_|# spraakbericht|# spraakberichten}, {size}";
"lng_settings_images_cached#one" = "{count} afbeelding, {size}";
"lng_settings_images_cached#other" = "{count} afbeeldingen, {size}";
"lng_settings_audios_cached#one" = "{count} spraakbericht, {size}";
"lng_settings_audios_cached#other" = "{count} spraakberichten, {size}";
"lng_local_storage_clear" = "Alles wissen";
"lng_local_storage_clearing" = "Wissen...";
"lng_local_storage_cleared" = "Gewist!";
"lng_local_storage_clear_failed" = "Wissen mislukt";
"lng_settings_section_advanced_settings" = "Geavanceerde instellingen";
"lng_settings_enable_night_theme" = "Nachtmodus inschakelen";
"lng_settings_disable_night_theme" = "Nachtmodus uitschakelen";
"lng_passcode_remove_button" = "Verwijder";
"lng_passcode_turn_on" = "Toegangscode inschakelen";
"lng_passcode_turn_on" = "Toegangscode";
"lng_passcode_change" = "Toegangscode wijzigen";
"lng_passcode_create" = "Toegangscode";
"lng_passcode_remove" = "Toegangscode verwijderen";
@@ -346,8 +382,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_passcode_autolock" = "Automatisch vergrendelen";
"lng_passcode_autolock_away" = "Vergrendelen indien langer afwezig dan:";
"lng_passcode_autolock_inactive" = "Vergrendelen indien langer inactief dan:";
"lng_passcode_autolock_minutes" = "{count:_not_used_|# minuut|# minuten}";
"lng_passcode_autolock_hours" = "{count:_not_used_|# uur|# uur}";
"lng_passcode_autolock_minutes#one" = "{count} minuut";
"lng_passcode_autolock_minutes#other" = "{count} minuten";
"lng_passcode_autolock_hours#one" = "{count} uur";
"lng_passcode_autolock_hours#other" = "{count} uur";
"lng_passcode_enter_old" = "Toegangscode invoeren";
"lng_passcode_enter_first" = "Toegangscode invoeren";
"lng_passcode_enter_new" = "Nieuwe toegangscode invoeren";
@@ -366,7 +404,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_cloud_password_change" = "Cloud-wachtwoord wijzigen";
"lng_cloud_password_create" = "Cloud-wachtwoord";
"lng_cloud_password_remove" = "Cloud-wachtwoord verwijderen";
"lng_cloud_password_set" = "Twee-staps-verificatie inschakelen";
"lng_cloud_password_set" = "Twee-staps-verificatie";
"lng_cloud_password_edit" = "Cloud-wachtwoord wijzigen";
"lng_cloud_password_enter_old" = "Wachtwoord invoeren";
"lng_cloud_password_enter_first" = "Wachtwoord invoeren";
@@ -400,10 +438,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_connection_try_ipv6" = "Verbinden via IPV6";
"lng_connection_host_ph" = "Hostnaam";
"lng_connection_port_ph" = "Poort";
"lng_connection_user_ph" = "Gebruikersnaam";
"lng_connection_user_ph" = "Gebruiker";
"lng_connection_password_ph" = "Wachtwoord";
"lng_connection_save" = "Opslaan";
"lng_settings_blocked_users" = "Geblokkeerde gebruikers";
"lng_settings_last_seen_privacy" = "Laatst gezien";
"lng_settings_calls_privacy" = "Oproepen";
"lng_settings_groups_invite_privacy" = "Groepen";
"lng_settings_show_sessions" = "Alle sessies weergeven";
"lng_settings_self_destruct" = "Account verwijderen na inactiviteit";
"lng_settings_change_phone" = "Telefoonnummer wijzigen";
"lng_settings_reset" = "Beëindig alle andere sessies";
"lng_settings_reset_sure" = "Alle apparaten behalve het huidige\napparaat uitloggen?";
"lng_settings_reset_one_sure" = "Deze sessie beëindigen?";
@@ -428,6 +474,76 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_sessions_other_desc" = "Je kunt in Telegram inloggen vanaf andere apparaten (mobiel,tablet,desktop) met hetzelfde telefoonnummer. Al je data zal direct worden gesynchroniseerd.";
"lng_sessions_terminate_all" = "Beëindig alle andere sessies";
"lng_blocked_list_title" = "Geblokkeerde gebruikers";
"lng_blocked_list_unknown_phone" = "onbekend nummer";
"lng_blocked_list_unblock" = "Deblokkeer";
"lng_blocked_list_add" = "Blokkeer";
"lng_blocked_list_add_title" = "Gebruikers blokkeren";
"lng_blocked_list_already_blocked" = "al geblokkeerd";
"lng_blocked_list_about" = "Deze gebruikers kunnen je geen berichten sturen, niet toevoegen aan groepen, je profielfoto, online status en laatst gezien niet zien.";
"lng_blocked_list_not_found" = "Geen gebruikers.";
"lng_edit_privacy_everyone" = "Iedereen";
"lng_edit_privacy_contacts" = "Mijn contacten";
"lng_edit_privacy_nobody" = "Niemand";
"lng_edit_privacy_exceptions" = "Uitzonderingen";
"lng_edit_privacy_lastseen_title" = "Laatst gezien";
"lng_edit_privacy_lastseen_description" = "Je kunt instellen wie je \"laatst gezien\" mag zien:";
"lng_edit_privacy_lastseen_warning" = "Let op: van mensen waarmee je je laatst gezien tijd niet deelt is deze voor jou ook niet zichtbaar. In plaats daarvan krijg je tijden bij benadering te zien.";
"lng_edit_privacy_lastseen_always_empty" = "Altijd delen met";
"lng_edit_privacy_lastseen_always#one" = "Altijd delen met {count} gebruiker";
"lng_edit_privacy_lastseen_always#other" = "Altijd delen met {count} gebruikers";
"lng_edit_privacy_lastseen_never_empty" = "Nooit delen met";
"lng_edit_privacy_lastseen_never#one" = "Nooit delen met {count} gebruiker";
"lng_edit_privacy_lastseen_never#other" = "Nooit delen met {count} gebruikers";
"lng_edit_privacy_lastseen_exceptions" = "Deze instelling overschrijft de bovenstaande.";
"lng_edit_privacy_lastseen_always_title" = "Altijd delen met";
"lng_edit_privacy_lastseen_never_title" = "Nooit delen met";
"lng_edit_privacy_groups_title" = "Wie kan mij toevoegen?";
"lng_edit_privacy_groups_description" = "Je kunt nauwkeurig bepalen wie je aan groepen en kanalen mag toevoegen.";
"lng_edit_privacy_groups_always_empty" = "Altijd toestaan";
"lng_edit_privacy_groups_always#one" = "Altijd toestaan {count} gebruiker";
"lng_edit_privacy_groups_always#other" = "Altijd toestaan {count} gebruikers";
"lng_edit_privacy_groups_never_empty" = "Nooit toestaan";
"lng_edit_privacy_groups_never#one" = "Nooit toestaan {count} gebruiker";
"lng_edit_privacy_groups_never#other" = "Nooit toestaan {count} gebruikers";
"lng_edit_privacy_groups_exceptions" = "Deze gebruikers altijd toestaan of verbieden je aan groepen en kanalen toe te voegen.";
"lng_edit_privacy_groups_always_title" = "Altijd toestaan";
"lng_edit_privacy_groups_never_title" = "Nooit toestaan";
"lng_edit_privacy_calls_title" = "Oproepen";
"lng_edit_privacy_calls_description" = "Je kunt bepalen wie jou mag bellen:";
"lng_edit_privacy_calls_always_empty" = "Altijd toestaan";
"lng_edit_privacy_calls_always#one" = "Altijd toestaan {count} gebruiker";
"lng_edit_privacy_calls_always#other" = "Altijd toestaan {count} gebruikers";
"lng_edit_privacy_calls_never_empty" = "Nooit toestaan";
"lng_edit_privacy_calls_never#one" = "Nooit toestaan {count} gebruiker";
"lng_edit_privacy_calls_never#other" = "Nooit toestaan {count} gebruikers";
"lng_edit_privacy_calls_exceptions" = "Deze gebruikers altijd toestaan of verbieden om je te bellen.";
"lng_edit_privacy_calls_always_title" = "Altijd toestaan";
"lng_edit_privacy_calls_never_title" = "Nooit toestaan";
"lng_self_destruct_title" = "Account verwijderen";
"lng_self_destruct_description" = "Als je binnen deze periode niet minimaal één keer ingelogd bent geweest zal je account worden verwijderd, inclusief alle data.";
"lng_self_destruct_months#one" = "{count} maand";
"lng_self_destruct_months#other" = "{count} maanden";
"lng_self_destruct_years#one" = "{count} jaar";
"lng_self_destruct_years#other" = "{count} jaar";
"lng_change_phone_title" = "Telefoonnummer wijzigen";
"lng_change_phone_description" = "Je kan je telefoonnummer hier wijzigen.\nAl je clouddata — berichten, bestanden, \ngroepen, contacten, etc. zullen worden \ngekopieërd naar je nieuwe nummer.\n\n[b]Let op[/b]: al je Telegram-contacten krijgen \nje [b]nieuwe nummer[/b] in hun adresboek, ervan \nuitgaande dat ze je oude nummer hadden en \nje hen niet had geblokkeerd in Telegram.";
"lng_change_phone_warning" = "Al je Telegram-contacten krijgen je nieuwe nummer in hun adresboek, ervan uitgaande dat ze je oude nummer hadden en je hen niet had geblokkeerd in Telegram.";
"lng_change_phone_occupied" = "Aan telefoonnummer {phone} is al een Telegram-account gekoppeld. Verwijder het account om te kunnen migreren naar het nieuwe nummer.";
"lng_change_phone_button" = "Nummer wijzigen";
"lng_change_phone_new_title" = "Voer je nieuwe nummer in";
"lng_change_phone_new_description" = "We sturen een sms-bericht met verificatiecode naar je nieuwe nummer.";
"lng_change_phone_new_submit" = "Versturen";
"lng_change_phone_code_title" = "Code invoeren";
"lng_change_phone_code_description" = "Een sms-bericht met verificatiecode is naar nummer {phone} verstuurd.";
"lng_change_phone_success" = "Je telefoonnummer is gewijzigd.";
"lng_preview_loading" = "Link-preview ophalen...";
"lng_profile_chat_unaccessible" = "Groep is ontoegankelijk";
@@ -441,7 +557,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_create_public_link" = "Publieke link maken";
"lng_profile_edit_public_link" = "Publieke link wijzigen";
"lng_profile_manage_admins" = "Beheerders wijzigen";
"lng_profile_common_groups" = "gedeelde {count:_not_used_|# groep|# groepen}";
"lng_profile_manage_blocklist" = "Beheer geblokkeerde gebruikers";
"lng_profile_manage_restrictedlist" = "Beheer beperkte gebruikers";
"lng_profile_recent_actions" = "Recente gebeurtenissen";
"lng_profile_common_groups#one" = "{count} gedeelde groep";
"lng_profile_common_groups#other" = "{count} gedeelde groepen";
"lng_profile_common_groups_section" = "Gedeelde groepen";
"lng_profile_participants_section" = "Leden";
"lng_profile_info_section" = "Informatie";
@@ -475,23 +595,30 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_delete_and_exit" = "Verlaat";
"lng_profile_kick" = "Verwijder";
"lng_profile_admin" = "beheerder";
"lng_profile_edit_permissions" = "Wijzig";
"lng_profile_sure_kick" = "{user} uit de groep verwijderen?";
"lng_profile_sure_kick_channel" = "{user} uit het kanaal verwijderen?";
"lng_profile_sure_kick_admin" = "{user} ontslaan als beheerder?";
"lng_profile_loading" = "Laden...";
"lng_profile_shared_media" = "Gedeelde media";
"lng_profile_no_media" = "Geen media in deze chat.";
"lng_profile_photos" = "{count:_not_used_|# foto|# foto's}";
"lng_profile_photos#one" = "{count} foto";
"lng_profile_photos#other" = "{count} foto's";
"lng_profile_photos_header" = "Foto's";
"lng_profile_videos" = "{count:_not_used_|# video|# video's}";
"lng_profile_videos#one" = "{count} video";
"lng_profile_videos#other" = "{count} video's";
"lng_profile_videos_header" = "Video's";
"lng_profile_songs" = "{count:_not_used_|# audiobestand|# audiobestanden}";
"lng_profile_songs#one" = "{count} audiobestand";
"lng_profile_songs#other" = "{count} audiobestanden";
"lng_profile_songs_header" = "Audiobestanden";
"lng_profile_files" = "{count:_not_used_|# bestand|# bestanden}";
"lng_profile_files#one" = "{count} bestand";
"lng_profile_files#other" = "{count} bestanden";
"lng_profile_files_header" = "Bestanden";
"lng_profile_audios" = "{count:_not_used_|# spraakbericht|# spraakberichten}";
"lng_profile_audios#one" = "{count} spraakbericht";
"lng_profile_audios#other" = "{count} spraakberichten";
"lng_profile_audios_header" = "Spraakberichten";
"lng_profile_shared_links" = "{count:_not_used_|# gedeelde link|# gedeelde links}";
"lng_profile_shared_links#one" = "{count} gedeelde link";
"lng_profile_shared_links#other" = "{count} gedeelde links";
"lng_profile_shared_links_header" = "Gedeelde links";
"lng_profile_copy_phone" = "Telefoonnummer kopiëren";
"lng_profile_copy_fullname" = "Naam kopiëren";
@@ -513,12 +640,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_add_admins" = "Beheerder toevoegen";
"lng_channel_add_members" = "Leden toevoegen";
"lng_channel_add_banned" = "Blokkeer gebruiker";
"lng_channel_add_restricted" = "Beperk gebruiker";
"lng_channel_members" = "Leden";
"lng_channel_only_last_shown" = "De laatste {count:_not_used_|# lid|# leden} worden hier weergegeven";
"lng_channel_only_last_shown#one" = "Het laatste {count} lid wordt hier weergegeven";
"lng_channel_only_last_shown#other" = "De laatste {count} leden worden hier weergegeven";
"lng_channel_admins" = "Beheerders";
"lng_channel_add_admin" = "Beheerder toevoegen";
"lng_channel_admin_sure" = "{user} aan beheerders toevoegen?";
"lng_channel_admins_too_much" = "Je hebt het maximum aantal beheerders voor deze groep bereikt, Verwijder er eerst één.";
"lng_channel_admin_status_creator" = "Maker";
"lng_channel_admin_status_promoted_by" = "Gepromoveerd door {user}";
"lng_group_blocked_list_about" = "Geblokkeerde gebruikers kunnen alleen worden uitgenodigd door beheerders. \nUitnodigingslinks werken niet voor hen.";
"lng_chat_all_members_admins" = "Iedereen is beheerder";
"lng_chat_about_all_admins" = "Iedereen mag leden toevoegen en de groepsfoto of naam wijzigen.";
@@ -526,7 +659,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_participant_filter" = "Zoeken";
"lng_participant_invite" = "Uitnodigen";
"lng_participant_invite_sorry" = "De eerste {count:_not_used|# lid|# leden} kun je persoonlijk uitnodigen.\n\nVanaf nu kunnen mensen lid worden via de uitnodigingslink.";
"lng_participant_invite_sorry#one" = "Het {count}e lid kun je persoonlijk uitnodigen.\n\nVanaf nu kunnen mensen lid worden via de uitnodigingslink.";
"lng_participant_invite_sorry#other" = "De eerste {count} leden kun je persoonlijk uitnodigen.\n\nVanaf nu kunnen mensen lid worden via de uitnodigingslink.";
"lng_create_group_back" = "Vorige";
"lng_create_group_next" = "Volgende";
"lng_create_group_create" = "Maak";
@@ -549,8 +683,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_create_channel_link_available" = "Deze naam is beschikbaar.";
"lng_create_channel_link_copied" = "Link gekopieerd naar klembord";
"lng_create_group_crop" = "Kies een vierkant voor de groepsfoto";
"lng_create_channel_crop" = "Kies een vierkant voor de kanaalfoto";
"lng_create_group_crop" = "Kies een gebied voor de groepsfoto";
"lng_create_channel_crop" = "Kies een gebied voor de kanaalfoto";
"lng_failed_add_participant" = "Gebruiker toevoegen mislukt. Probeer het later.";
"lng_failed_add_not_mutual" = "Iemand die de groep verlaat kan alleen door een wederzijds contact worden toegevoegd (opgeslagen nummers)";
@@ -568,6 +702,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_message_empty" = "Leeg bericht";
"lng_message_unsupported" = "Dit bericht wordt niet ondersteund door jouw versie van Telegram Desktop. Werk bij naar de laatste versie via de instellingen of installeer vanuit {link}";
"lng_duration_seconds#one" = "{count} seconde";
"lng_duration_seconds#other" = "{count} seconden";
"lng_duration_minsec_minutes#one" = "{count} min";
"lng_duration_minsec_minutes#other" = "{count} min";
"lng_duration_minsec_seconds#one" = "{count} sec";
"lng_duration_minsec_seconds#other" = "{count} sec";
"lng_duration_minutes_seconds" = "{minutes_count} {seconds_count}";
"lng_action_add_user" = "{from} heeft {user} toegevoegd";
"lng_action_add_users_many" = "{from} heeft {users} toegevoegd";
"lng_action_add_users_and_one" = "{accumulated}, {user}";
@@ -596,6 +738,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_video" = "een video";
"lng_action_pinned_media_audio" = "een audiobestand";
"lng_action_pinned_media_voice" = "een spraakbericht";
"lng_action_pinned_media_video_message" = "een videobericht";
"lng_action_pinned_media_file" = "een bestand";
"lng_action_pinned_media_gif" = "een GIF";
"lng_action_pinned_media_contact" = "een contact";
@@ -603,16 +746,24 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_sticker" = "een sticker";
"lng_action_pinned_media_emoji_sticker" = "een {emoji} sticker";
"lng_action_pinned_media_game" = "het spel «{game}»";
"lng_action_game_score" = "{from} heeft met {game} {count:# punten|# punt|# punten} behaald";
"lng_action_game_you_scored" = "Je hebt met {game} {count:# punten|# punt|# punten} behaald";
"lng_action_game_score_no_game" = "{from} heeft {count:# punten|# punt|# punten} behaald";
"lng_action_game_you_scored_no_game" = "Je hebt {count:# punten|# punt|# punten} behaald";
"lng_action_game_score#one" = "{from} heeft met {game} {count} punt behaald";
"lng_action_game_score#other" = "{from} heeft met {game} {count} punten behaald";
"lng_action_game_you_scored#one" = "Je hebt met {game} {count} punt behaald";
"lng_action_game_you_scored#other" = "Je hebt met {game} {count} punten behaald";
"lng_action_game_score_no_game#one" = "{from} heeft {count} punt behaald";
"lng_action_game_score_no_game#other" = "{from} heeft {count} punten behaald";
"lng_action_game_you_scored_no_game#one" = "Je hebt {count} punt behaald";
"lng_action_game_you_scored_no_game#other" = "Je hebt {count} punten behaald";
"lng_action_payment_done" = "Je hebt een bedrag van {amount} overgemaakt naar {user}";
"lng_action_payment_done_for" = "Je hebt een bedrag van {amount} overgemaakt naar {user} voor {invoice}";
"lng_profile_migrate_reached" = "{count:_not_used_|# lid |# leden} limiet bereikt";
"lng_profile_migrate_reached#one" = "{count} ledenlimiet bereikt";
"lng_profile_migrate_reached#other" = "{count} ledenlimiet bereikt";
"lng_profile_migrate_body" = "Wil je een hogere limiet? Waardeer op naar een supergroep.";
"lng_profile_migrate_learn_more" = "Meer informatie »";
"lng_profile_migrate_about" = "Wil je extra functies en een hogere limiet? Waardeer op naar een supergroep:";
"lng_profile_migrate_feature1" = "— Supergroepen hebben tot {count:_not_used_|# lid|# leden}";
"lng_profile_migrate_feature1#one" = "— De ledenlimiet is {count} lid";
"lng_profile_migrate_feature1#other" = "— De ledenlimiet is {count} leden";
"lng_profile_migrate_feature2" = "— Nieuwe leden zien de hele geschiedenis";
"lng_profile_migrate_feature3" = "— Beheerder wist berichten voor iedereen";
"lng_profile_migrate_feature4" = "— Meldingen staan standaard uit";
@@ -627,7 +778,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_convert_feature4" = "— Maker kan een publieke groepslink instellen";
"lng_profile_convert_warning" = "{bold_start}Let op:{bold_end} Je kunt dit niet ongedaan maken.";
"lng_profile_convert_confirm" = "Opwaarderen";
"lng_profile_add_more_after_upgrade" = "Waardeer op naar een supergroep om tot {count:_not_used_|# lid|# leden} toe te voegen";
"lng_profile_add_more_after_upgrade#one" = "Waardeer op naar een supergroep om tot {count} lid toe te voegen";
"lng_profile_add_more_after_upgrade#other" = "Waardeer op naar een supergroep om tot {count} leden toe te voegen";
"lng_channel_not_accessible" = "Sorry, dit kanaal is privé.";
"lng_group_not_accessible" = "Sorry, deze groep is niet beschikbaar.";
@@ -642,19 +794,21 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_group_invite_want_join_channel" = "Wil je lid worden van het kanaal \"{title}\"?";
"lng_group_invite_join" = "Lid worden";
"lng_group_invite_members" = "{count:_not_used_|# lid|# leden}, waaronder:";
"lng_group_invite_members#one" = "{count} lid, waaronder:";
"lng_group_invite_members#other" = "{count} leden, waaronder:";
"lng_group_invite_link" = "Uitnodigingslink:";
"lng_group_invite_create" = "Uitnodigingslink maken";
"lng_group_invite_about" = "Gebruikers kunnen lid worden\nvan je groep via deze link.";
"lng_group_invite_create_new" = "Intrekken";
"lng_group_invite_about_new" = "Je uitnodigingslink zal inactief worden een nieuwe link zal worden gegenereerd.";
"lng_group_invite_create_new" = "Uitnodigingslink intrekken";
"lng_group_invite_about_new" = "Je uitnodigingslink zal inactief worden, een nieuwe link zal worden gegenereerd.";
"lng_group_invite_copied" = "Link gekopieerd naar klembord.";
"lng_group_invite_no_room" = "De ledenlimiet van de groep is bereikt.";
"lng_channel_public_link_copied" = "Link gekopieerd naar klembord";
"lng_forwarded" = "Doorgestuurd van {user}";
"lng_forwarded_date" = "Origineel: {date}";
"lng_forwarded_channel" = "Doorgestuurd van {channel}";
"lng_forwarded_via" = "Doorgestuurd van {user} via {inline_bot}";
"lng_forwarded_channel_via" = "Doorgestuurd van {channel} via {inline_bot}";
@@ -705,16 +859,17 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_emoji_category5" = "Reizen & plekken";
"lng_emoji_category6" = "Objecten";
"lng_emoji_category7" = "Symbolen en vlaggen";
"lng_emoji_hide_panel" = "Klik om het emojipaneel te verbergen";
"lng_recent_stickers" = "Veelgebruikt";
"lng_switch_stickers" = "Stickers";
"lng_switch_stickers_gifs" = "GIF's & stickers";
"lng_switch_emoji" = "Emoji";
"lng_switch_gifs" = "GIF's";
"lng_stickers_featured_add" = "Toevoegen";
"lng_gifs_search" = "GIF's zoeken";
"lng_gifs_no_saved" = "Je hebt nog geen GIF's opgeslagen.";
"lng_saved_gifs" = "Opgeslagen GIF's";
"lng_inline_bot_results" = "Resultaten van {inline_bot}";
"lng_inline_bot_no_results" = "Geen resultaten";
"lng_inline_bot_no_results" = "Geen resultaten.";
"lng_inline_bot_via" = "via {inline_bot}";
"lng_box_remove" = "Verwijder";
@@ -733,7 +888,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_stickers_you_have" = "Beheer en sorteer stickerbundels";
"lng_stickers_featured" = "Populaire stickers";
"lng_stickers_return" = "Ongedaan maken";
"lng_stickers_count" = "{count:Laden..|# sticker|# stickers}";
"lng_stickers_count#one" = "{count} sticker";
"lng_stickers_count#other" = "{count} 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";
@@ -741,11 +897,12 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_in_dlg_audio_file" = "Audiobestand";
"lng_in_dlg_contact" = "Contact";
"lng_in_dlg_audio" = "Spraakbericht";
"lng_in_dlg_video_message" = "Videobericht";
"lng_in_dlg_file" = "Bestand";
"lng_in_dlg_sticker" = "Sticker";
"lng_in_dlg_sticker_emoji" = "{emoji} Sticker";
"lng_ban_user" = "Blacklist gebruiker";
"lng_ban_user" = "Blokkeer gebruiker";
"lng_delete_all_from" = "Verwijder alles van gebruiker";
"lng_report_spam" = "Spam melden";
"lng_report_spam_hide" = "Verbergen";
@@ -807,11 +964,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_typing" = "aan het typen";
"lng_user_typing" = "{user} is aan het typen";
"lng_users_typing" = "{user} en {second_user} zijn aan het typen";
"lng_many_typing" = "{count:_not_used_|# is|# zijn} aan het typen";
"lng_many_typing#one" = "{count} is aan het typen";
"lng_many_typing#other" = "{count} zijn aan het typen";
"lng_playing_game" = "speelt een spel";
"lng_user_playing_game" = "{user} speelt een spel";
"lng_users_playing_game" = "{user} en {second_user} spelen een spel";
"lng_many_playing_game" = "{count:_not_used_|# is|# zijn} een spel aan het spelen";
"lng_many_playing_game#one" = "{count} speelt een spel";
"lng_many_playing_game#other" = "{count} spelen een spel";
"lng_send_action_record_video" = "video opnemen";
"lng_user_action_record_video" = "{user} neemt video op";
"lng_send_action_upload_video" = "video versturen";
@@ -820,6 +979,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_record_audio" = "{user} neemt spraakbericht op";
"lng_send_action_upload_audio" = "spraakbericht versturen";
"lng_user_action_upload_audio" = "{user} verstuurt spraakbericht";
"lng_send_action_record_round" = "videobericht opnemen";
"lng_user_action_record_round" = "{user} neemt videobericht op";
"lng_send_action_upload_round" = "videobericht versturen";
"lng_user_action_upload_round" = "{user} verstuurt videobericht";
"lng_send_action_upload_photo" = "foto versturen";
"lng_user_action_upload_photo" = "{user} verstuurt een foto";
"lng_send_action_upload_file" = "bestand versturen";
@@ -828,7 +991,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_geo_location" = "{user} kiest een locatie";
"lng_send_action_choose_contact" = "contact kiezen";
"lng_user_action_choose_contact" = "{user} kiest een contact";
"lng_unread_bar" = "{count:_not_used_|# ongelezen bericht|# ongelezen berichten}";
"lng_unread_bar#one" = "{count} ongelezen bericht";
"lng_unread_bar#other" = "{count} ongelezen berichten";
"lng_maps_point" = "Locatie";
"lng_save_photo" = "Afbeelding opslaan";
@@ -851,7 +1015,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_from_top" = "Losmaken";
"lng_context_promote_admin" = "Beheerder maken";
"lng_context_remove_admin" = "Ontslaan als beheerder";
"lng_context_edit_permissions" = "Machtigingen aanpassen";
"lng_context_restrict_user" = "Beperk gebruiker";
"lng_context_remove_from_group" = "Uit de groep verwijderen";
"lng_context_copy_link" = "Link kopiëren";
@@ -877,6 +1042,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_delete_file" = "Bestand verwijderen";
"lng_context_close_file" = "Bestand sluiten";
"lng_context_copy_text" = "Tekst kopiëren";
"lng_context_open_gif" = "Gif openen";
"lng_context_save_gif" = "GIF opslaan";
"lng_context_to_msg" = "Naar bericht gaan";
"lng_context_reply_msg" = "Antwoord";
@@ -888,31 +1054,41 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_msg" = "Bericht losmaken";
"lng_context_cancel_upload" = "Upload annuleren";
"lng_context_copy_selected" = "Tekstselectie kopiëren";
"lng_context_copy_selected_items" = "Selectie als tekst kopiëren";
"lng_context_forward_selected" = "Selectie doorsturen";
"lng_context_delete_selected" = "Selectie verwijderen";
"lng_context_clear_selection" = "Selectie wissen";
"lng_really_send_image" = "Wil je deze afbeeldingen versturen?";
"lng_really_send_file" = "Wil je dit bestand versturen?";
"lng_really_share_contact" = "Wil je dit contact delen?";
"lng_send_images_compress" = "{count:_not_used_|afbeelding|afbeeldingen} comprimeren";
"lng_send_images_compress#one" = "Afbeelding comprimeren";
"lng_send_images_compress#other" = "Afbeeldingen comprimeren";
"lng_send_image_non_local" = "Verzenden mislukt, {name} is een netwerk-bestand.";
"lng_send_image_empty" = "Verzenden mislukt, {name} is leeg.";
"lng_send_image_too_large" = "Verzenden mislukt, {name} is groter dan 1500 MB.";
"lng_send_folder" = "Kan de map «{name}» niet versturen, kies een bestand. :(";
"lng_send_images_selected" = "{count:_not_used_|# afbeelding|# afbeeldingen} gekozen";
"lng_send_photos" = "{count:_not_used_|# foto|# foto's} versturen";
"lng_send_files_selected" = "{count:_not_used_|# bestand|# bestanden} gekozen";
"lng_send_files" = "{count:_not_used_|# bestand|# bestanden} versturen";
"lng_send_images_selected#one" = "{count} afbeelding gekozen";
"lng_send_images_selected#other" = "{count} afbeeldingen gekozen";
"lng_send_photos#one" = "Stuur {count} foto";
"lng_send_photos#other" = "Stuur {count} foto's";
"lng_send_files_selected#one" = "{count} bestand gekozen";
"lng_send_files_selected#other" = "{count} bestanden gekozen";
"lng_send_files#one" = "Stuur {count} bestand";
"lng_send_files#other" = "Stuur {count} bestanden";
"lng_forward_choose" = "Ontvanger kiezen...";
"lng_forward_cant" = "Sorry, doorsturen hierheen kan niet :(";
"lng_forward_confirm" = "Doorsturen naar {recipient}?";
"lng_forward_share_contact" = "Contact delen met {recipient}?";
"lng_forward_share_cant" = "Sorry, een contact hier delen kan niet :(";
"lng_forward_send_file_confirm" = " \"{name}\" naar {recipient} versturen?";
"lng_forward_send_files_confirm" = "Gekozen bestanden naar {recipient} sturen?";
"lng_forward_send_files_cant" = "Sorry, media sturen hierheen kan niet :(";
"lng_forward_send" = "Stuur";
"lng_forward_messages" = "{count:_not_used_|Doorgestuurd bericht|# doorgestuurde berichten}";
"lng_forwarding_from" = "{user} en {count:_not_used_|# andere|# anderen}";
"lng_forward_messages#one" = "bijlage: {count} bericht";
"lng_forward_messages#other" = "bijlage: {count} berichten";
"lng_forwarding_from#one" = "{user} en {count} andere";
"lng_forwarding_from#other" = "{user} en {count} anderen";
"lng_forwarding_from_two" = "{user} en {second_user}";
"lng_inline_switch_choose" = "Kies chat...";
"lng_inline_switch_cant" = "Sorry, je kunt hier niets delen :(";
@@ -934,6 +1110,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_edit_contact_title" = "Naam wijzigen";
"lng_edit_channel_title" = "Kanaal wijzigen";
"lng_edit_sign_messages" = "Ondertekenen";
"lng_edit_group_who_invites" = "Wie mag leden toevoegen";
"lng_edit_group_invites_everybody" = "Alle leden";
"lng_edit_group_invites_only_admins" = "Beheerders";
"lng_edit_group" = "Groep wijzigen";
"lng_edit_self_title" = "Je naam wijzigen";
"lng_confirm_contact_data" = "Nieuw contact";
@@ -958,15 +1137,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_selected_clear" = "Annuleren";
"lng_selected_delete" = "Verwijder";
"lng_selected_forward" = "Doorsturen";
"lng_selected_count" = "{count:_not_used_|# bericht|# berichten}";
"lng_selected_count#one" = "{count} bericht";
"lng_selected_count#other" = "{count} berichten";
"lng_selected_cancel_sure_this" = "Upload annuleren?";
"lng_selected_upload_stop" = "Stoppen";
"lng_selected_delete_sure_this" = "Wil je dit bericht verwijderen?";
"lng_selected_delete_sure" = "Wil je {count:_not_used_|# bericht|# berichten} verwijderen?";
"lng_selected_delete_sure#one" = "{count} bericht verwijderen?";
"lng_selected_delete_sure#other" = "{count} berichten verwijderen?";
"lng_delete_photo_sure" = "Wil je deze foto verwijderen?";
"lng_delete_for_everyone_hint" = "Hiermee verwijder je {count:_not_used_|dit|deze} voor iedereen in de chat.";
"lng_delete_for_me_chat_hint" = "Hiermee verwijder je {count:_not_used_|dit|deze} alleen voor jezelf, niet voor andere leden.";
"lng_delete_for_me_hint" = "Hiermee verwijder je {count:_not_used_|dit|deze} alleen voor jezelf.";
"lng_delete_for_everyone_hint#one" = "Hiermee verwijder je dit voor iedereen in de chat.";
"lng_delete_for_everyone_hint#other" = "Hiermee verwijder je deze voor iedereen in de chat.";
"lng_delete_for_me_chat_hint#one" = "Hiermee verwijder je dit alleen voor jezelf, niet voor andere leden.";
"lng_delete_for_me_chat_hint#other" = "Hiermee verwijder je deze alleen voor jezelf, niet voor andere leden.";
"lng_delete_for_me_hint#one" = "Hiermee verwijder je dit alleen voor jezelf.";
"lng_delete_for_me_hint#other" = "Hiermee verwijder je deze alleen voor jezelf.";
"lng_delete_for_everyone_check" = "Verwijder voor iedereen";
"lng_delete_for_other_check" = "Verwijder voor {user}";
"lng_box_delete" = "Verwijder";
@@ -978,7 +1162,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_about_text_3" = "Bezoek de {faq_open}Telegram FAQ{faq_close} voor meer informatie.";
"lng_about_done" = "Gereed";
"lng_search_found_results" = "{count:geen berichten gevonden|# berichten gevonden|# berichten gevonden}";
"lng_search_no_results" = "Geen berichten gevonden";
"lng_search_found_results#one" = "{count} berichten gevonden";
"lng_search_found_results#other" = "{count} berichten gevonden";
"lng_search_global_results" = "Wereldwijde zoekresultaten";
"lng_media_save_progress" = "{ready} van {total} {mb}";
@@ -1001,8 +1187,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_mediaview_saved" = "Het bestand is opgeslagen in je [c]Downloads[/c]-map";
"lng_theme_preview_title" = "Thema-voorvertoning";
"lng_theme_preview_generating" = "Voorvertoning van thema maken...";
"lng_theme_preview_title" = "Thema-voorbeeld";
"lng_theme_preview_generating" = "Voorbeeld van thema maken...";
"lng_theme_preview_invalid" = "Thema bevat ongeldige data.";
"lng_theme_preview_apply" = "Thema toepassen";
@@ -1010,7 +1196,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram is bijgewerkt naar versie {version}\n\n{changes} \n\nVolledige versiegeschiedenis is hier te vinden:\n{link}";
"lng_new_version_minor" = "— Probleemoplossing en andere kleine verbeteringen";
"lng_new_version_text" = "— Klik en sleep om de volgorde van vastgezette chats aan te passen.\n— Probleemoplossing en andere kleine verbeteringen.";
"lng_new_version_text" = "— Verbeteringen in videoberichten: Voortgangsindicator in frame, Picture-In-Picture-modus, weergave van afspeelduur.\n— Spraak- en videoberichten spelen nu automatisch achter elkaar af.";
"lng_menu_insert_unicode" = "Unicode-besturingsteken invoegen";
@@ -1023,6 +1209,181 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_confirm_phone_send" = "Stuur";
"lng_confirm_phone_enter_code" = "Geef de code in.";
"lng_theme_editor_no_keys" = "Palet bevat nog geen waarden";
"lng_theme_editor_cant_change_theme" = "Je kunt geen nieuw thema toepassen terwijl je het kleurenpalet bewerkt. Sluit eerst de editor.";
"lng_theme_editor_new_keys" = "Nog niet in het kleurenpalet";
"lng_theme_editor_background_image" = "Achtergrondafbeelding";
"lng_theme_editor_saved_to_jpg" = "Opgeslagen als JPEG, {size}";
"lng_theme_editor_read_from_jpg" = "JPEG-afbeelding, {size}";
"lng_theme_editor_read_from_png" = "PNG-afbeelding, {size}";
"lng_theme_editor_export" = "Exporteren";
"lng_theme_editor_choose_image" = "Achtergrondafbeelding kiezen";
"lng_theme_editor_save_palette" = "Kleurenpalet opslaan";
"lng_theme_editor_choose_name" = "Thema opslaan";
"lng_theme_editor_error" = "Er is iets misgegaan in de editor :( Bekijk 'log.txt' voor meer info.";
"lng_theme_editor_done" = "Exporteren van thema gelukt!";
"lng_theme_editor_title" = "Kleurenpalet bewerken";
"lng_theme_editor_export_button" = "Thema exporteren";
"lng_payments_not_supported" = "Telegram Desktop heeft nog geen ondersteuning voor betalingen. Gebruik één van onze mobiele apps hiervoor.";
"lng_payments_receipt_label" = "Betalingsbewijs";
"lng_payments_receipt_label_test" = "Test betalingsbewijs";
"lng_payments_invoice_label" = "Factuur";
"lng_payments_invoice_label_test" = "Test Factuur";
"lng_payments_receipt_button" = "Betalingsbewijs";
"lng_call_status_incoming" = "belt je...";
"lng_call_status_connecting" = "verbinden...";
"lng_call_status_exchanging" = "encryptiesleutels uitwisselen...";
"lng_call_status_waiting" = "wachten...";
"lng_call_status_requesting" = "aanvragen...";
"lng_call_status_hanging" = "hangt op...";
"lng_call_status_ended" = "oproep beëindigd";
"lng_call_status_failed" = "verbinden mislukt";
"lng_call_status_ringing" = "gaat over...";
"lng_call_status_busy" = "bezet";
"lng_call_fingerprint_tooltip" = "Als deze emoji's gelijk zijn bij {user} is dit gesprek 100% veilig.";
"lng_call_error_not_available" = "{user} neemt geen oproepen aan.";
"lng_call_error_incompatible" = "{user}'s app gebruikt een niet-ondersteund protocol en zal eerst een update moeten uitvoeren.";
"lng_call_error_outdated" = "{user}'s app heeft nog geen ondersteuning voor spraakoproepen en zal eerst een update moeten uitvoeren.";
"lng_call_error_audio_io" = "Er lijkt iets mis te gaan met het afspelen van audio op je computer. Zorg dat je microfoon en luidsprekers werken en probeer het opnieuw.";
"lng_call_bar_hangup" = "Nu beëindigen";
"lng_call_box_title" = "Spraakoproepen";
"lng_call_box_about" = "Nog geen oproepen.";
"lng_call_box_status_today" = "{time}";
"lng_call_box_status_yesterday" = "Gisteren om {time}";
"lng_call_box_status_date" = "{date} om {time}";
"lng_call_box_status_group" = "({count}) {status}";
"lng_call_outgoing" = "Uitgaande oproep";
"lng_call_incoming" = "Inkomende oproep";
"lng_call_missed" = "Gemiste oproep";
"lng_call_cancelled" = "Geannuleerde oproep";
"lng_call_declined" = "Geweigerde oproep";
"lng_call_duration_info" = "{time}, {duration}";
"lng_call_type_and_duration" = "{type} ({duration})";
"lng_call_rate_label" = "Beoordeel de kwaliteit van je oproep";
"lng_call_rate_comment" = "Opmerking (optioneel)";
"lng_player_message_today" = "vandaag om {time}";
"lng_player_message_yesterday" = "Gisteren om {time}";
"lng_player_message_date" = "{date} om {time}";
"lng_rights_edit_admin" = "Beheerder wijzigen";
"lng_rights_edit_admin_header" = "Wat mag deze beheerder?";
"lng_rights_about_add_admins_yes" = "Deze beheerder mag nieuwe beheerders toevoegen met gelijkwaardige machtigingen (of minder) als zichzelf.";
"lng_rights_about_add_admins_no" = "Deze beheerder mag geen beheerders toevoegen";
"lng_rights_user_restrictions" = "Gebruikersbeperkingen";
"lng_rights_user_restrictions_header" = "Wat mag deze gebruiker";
"lng_rights_channel_info" = "Informatie aanpassen";
"lng_rights_channel_post" = "Berichten plaatsen";
"lng_rights_channel_edit" = "Berichten van anderen wijzigen";
"lng_rights_channel_delete" = "Berichten van anderen verwijderen";
"lng_rights_group_info" = "Informatie aanpassen";
"lng_rights_group_ban" = "Leden blokkeren";
"lng_rights_group_invite_link" = "Uitnodigen via link";
"lng_rights_group_invite" = "Leden toevoegen";
"lng_rights_group_pin" = "Berichten vastzetten";
"lng_rights_group_delete" = "Berichten verwijderen";
"lng_rights_add_admins" = "Beheerders toevoegen";
"lng_rights_chat_read" = "Berichten lezen";
"lng_rights_chat_send_text" = "Berichten sturen";
"lng_rights_chat_send_media" = "Media sturen";
"lng_rights_chat_send_stickers" = "GIF's en stickers sturen";
"lng_rights_chat_send_links" = "Link-voorbeeld sturen";
"lng_rights_chat_banned_until" = "Beperkt tot: {when}";
"lng_rights_chat_banned_forever" = "Voor altijd";
"lng_rights_chat_banned_block" = "Blokkeer en verwijder uit groep";
"lng_restricted_send_message" = "Je bent beperkt in het plaatsen van berichten door de beheerders.";
"lng_restricted_send_media" = "Je bent beperkt in het sturen van media door de beheerders.";
"lng_restricted_send_stickers" = "Je bent beperkt in het sturen van stickers door de beheerders.";
"lng_restricted_send_gifs" = "Je bent beperkt in het sturen van GIF's door de beheerders.";
"lng_restricted_send_inline" = "Je bent beperkt in het sturen van inline-content door de beheerders.";
"lng_restricted_list_title" = "Beperkte gebruikers";
"lng_banned_list_title" = "Geblokkeerde gebruikers";
"lng_admin_log_title_all" = "Alle gebeurtenissen";
"lng_admin_log_title_selected" = "Geselecteerde gebeurtenissen";
"lng_admin_log_filter" = "Filteren";
"lng_admin_log_filter_title" = "Filteren";
"lng_admin_log_filter_all_actions" = "Alle gebeurtenissen";
"lng_admin_log_filter_restrictions" = "Nieuwe beperkingen";
"lng_admin_log_filter_admins_new" = "Nieuwe beheerders";
"lng_admin_log_filter_members_new" = "Nieuwe leden";
"lng_admin_log_filter_info_group" = "Groepsinformatie";
"lng_admin_log_filter_info_channel" = "Kanaalinformatie";
"lng_admin_log_filter_messages_deleted" = "Verwijderd berichten";
"lng_admin_log_filter_messages_edited" = "Gewijzigde berichten";
"lng_admin_log_filter_messages_pinned" = "Vastgezette berichten";
"lng_admin_log_filter_members_removed" = "Leden verwijderd";
"lng_admin_log_filter_all_admins" = "Alle beheerders";
"lng_admin_log_about" = "Wat is dit?";
"lng_admin_log_about_text" = "Dit is een lijst met alle acties van de groepsleden en beheerders in de afgelopen 48 uur.";
"lng_admin_log_no_results_title" = "Geen gebeurtenissen";
"lng_admin_log_no_results_text" = "Geen recente gebeurtenissen gevonden voor je zoekopdracht.";
"lng_admin_log_no_events_title" = "Nog geen gebeurtenissen";
"lng_admin_log_no_events_text" = "Beheerders en leden hebben\ngeen acties uitgevoerd in \nde afgelopen 48 uur.";
"lng_admin_log_empty_text" = "Leeg";
"lng_admin_log_changed_title_group" = "{from} heeft de groepsnaam gewijzigd naar «{title}»";
"lng_admin_log_changed_title_channel" = "{from} heeft de kanaalnaam gewijzigd naar «{title}»";
"lng_admin_log_changed_description_group" = "beschrijving door {from} gewijzigd:";
"lng_admin_log_removed_description_group" = "beschrijving door {from} verwijderd";
"lng_admin_log_changed_description_channel" = "beschrijving door {from} gewijzigd:";
"lng_admin_log_removed_description_channel" = "beschrijving door {from} verwijderd";
"lng_admin_log_previous_description" = "Vorige beschrijving";
"lng_admin_log_changed_link_group" = "link door {from} gewijzigd:";
"lng_admin_log_removed_link_group" = "link door {from} verwijderd:";
"lng_admin_log_changed_link_channel" = "link door {from} gewijzigd:";
"lng_admin_log_removed_link_channel" = "link door {from} verwijderd:";
"lng_admin_log_previous_link" = "Vorige link";
"lng_admin_log_changed_photo_group" = "Groepsafbeelding door {from} gewijzigd";
"lng_admin_log_changed_photo_channel" = "Kanaalfoto door {from} gewijzigd";
"lng_admin_log_removed_photo_group" = "{from} heeft de groepsfoto verwijderd";
"lng_admin_log_removed_photo_channel" = "{from} heeft de kanaalfoto verwijderd";
"lng_admin_log_invites_enabled" = "uitnodigingen door {from} ingeschakeld";
"lng_admin_log_invites_disabled" = "uitnodigingen door {from} uitgeschakeld";
"lng_admin_log_signatures_enabled" = "ondertekenen door {from} ingeschakeld";
"lng_admin_log_signatures_disabled" = "ondertekenen door {from} uitgeschakeld";
"lng_admin_log_pinned_message" = "Bericht door {from} vastgezet:";
"lng_admin_log_unpinned_message" = "Bericht door {from} losgemaakt";
"lng_admin_log_edited_caption" = "Onderschrift door {from} gewijzigd:";
"lng_admin_log_removed_caption" = "Onderschrift door {from} verwijderd";
"lng_admin_log_previous_caption" = "Origineel onderschrift";
"lng_admin_log_edited_message" = "Bericht door {from} gewijzigd";
"lng_admin_log_previous_message" = "Origineel bericht";
"lng_admin_log_deleted_message" = "Bericht door {from} verwijderd";
"lng_admin_log_participant_joined" = "{from} is nu lid van de groep";
"lng_admin_log_participant_left" = "{from} heeft de groep verlaten";
"lng_admin_log_invited" = "{user} uitgenodigd";
"lng_admin_log_banned" = "{user} geblokkeerd";
"lng_admin_log_restricted" = "beperkingen van {user} aangepast tot {until}";
"lng_admin_log_promoted" = "privileges van {user} aangepast";
"lng_admin_log_user_with_username" = "{name} ({mention})";
"lng_admin_log_restricted_forever" = "Voor altijd";
"lng_admin_log_restricted_until" = "tot {date}";
"lng_admin_log_banned_view_messages" = "Berichten lezen";
"lng_admin_log_banned_send_messages" = "Berichten sturen";
"lng_admin_log_banned_send_media" = "Media sturen";
"lng_admin_log_banned_send_stickers" = "Stickers & GIF's sturen";
"lng_admin_log_banned_embed_links" = "Link-voorbeeld sturen";
"lng_admin_log_admin_change_info" = "Informatie aanpassen";
"lng_admin_log_admin_post_messages" = "Berichten plaatsen";
"lng_admin_log_admin_edit_messages" = "Berichten wijzigen";
"lng_admin_log_admin_delete_messages" = "Berichten verwijderen";
"lng_admin_log_admin_ban_users" = "Leden blokkeren";
"lng_admin_log_admin_invite_users" = "Leden toevoegen";
"lng_admin_log_admin_invite_link" = "Uitnodigen via link";
"lng_admin_log_admin_pin_messages" = "Berichten vastzetten";
"lng_admin_log_admin_add_admins" = "Beheerders toevoegen";
// Not used
"lng_topbar_info" = "Info";

View File

@@ -22,11 +22,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_switch_to_this" = "Trocar para Português (Brasil)";
"lng_menu_contacts" = "Contatos";
"lng_menu_calls" = "Chamadas";
"lng_menu_settings" = "Configurações";
"lng_menu_about" = "Sobre";
"lng_menu_update" = "Atualizar";
"lng_menu_restart" = "Reiniciar";
"lng_menu_back" = "Voltar";
"lng_menu_night_mode" = "Modo noturno";
"lng_disable_notifications_from_tray" = "Desabilitar notificações";
"lng_enable_notifications_from_tray" = "Habilitar notificações";
@@ -79,7 +81,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_month_day" = "{month} {day}";
"lng_month_day_year" = "{day} {month}, {year}";
"lng_month_year" = "{month}, {year}";
"lng_month_year" = "{month} {year}";
"lng_box_ok" = "OK";
@@ -87,7 +89,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_continue" = "Continuar";
"lng_close" = "Fechar";
"lng_connecting" = "Conectando...";
"lng_reconnecting" = "Reconectar {count:agora|em # s|em # s}...";
"lng_connecting_to_proxy" = "Conectando ao proxy...";
"lng_connecting_settings" = "Configurações";
"lng_reconnecting#one" = "Reconectar em {count} s...";
"lng_reconnecting#other" = "Reconectar em {count} s...";
"lng_reconnecting_try_now" = "Tentar agora";
"lng_status_service_notifications" = "notificações de serviço";
@@ -101,8 +106,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_last_month" = "visto há um mês";
"lng_status_invisible" = "invisível";
"lng_status_lastseen_now" = "visto agora ";
"lng_status_lastseen_minutes" = "visto há {count:_not_used_|# minuto|# minutos}";
"lng_status_lastseen_hours" = "visto há {count:_not_used_|# hora|# horas} ";
"lng_status_lastseen_minutes#one" = "visto há {count} minuto";
"lng_status_lastseen_minutes#other" = "visto há {count} minutos";
"lng_status_lastseen_hours#one" = "visto há {count} hora";
"lng_status_lastseen_hours#other" = "visto há {count} horas";
"lng_status_lastseen_today" = "visto hoje às {time}";
"lng_status_lastseen_yesterday" = "visto ontem às {time}";
"lng_status_lastseen_date" = "visto por último {date}";
@@ -111,14 +118,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_status_connecting" = "conectando...";
"lng_chat_status_unaccessible" = "grupo inacessível";
"lng_chat_status_members" = "{count:nenhum membro|# membro|# membros}";
"lng_chat_status_members_online" = "{count:_not_used_|# membro|# membros}, {count_online:_not_used_|# online|# online}";
"lng_chat_status_no_members" = "nenhum membro";
"lng_chat_status_members#one" = "{count} membro";
"lng_chat_status_members#other" = "{count} membros";
"lng_chat_status_online#one" = "{count} online";
"lng_chat_status_online#other" = "{count} online";
"lng_chat_status_members_online" = "{members_count}, {online_count}";
"lng_channel_status" = "canal";
"lng_group_status" = "grupo";
"lng_channel_members_link" = "{count:_not_used_|# membro|# membros}";
"lng_channel_admins_link" = "{count:_not_used_|# administrador|# administradores}";
"lng_channel_members_link#one" = "{count} membro";
"lng_channel_members_link#other" = "{count} membros";
"lng_channel_admins_link#one" = "{count} administrador";
"lng_channel_admins_link#other" = "{count} administradores";
"lng_server_error" = "Erro interno do servidor.";
"lng_flood_error" = "Muitas tentativas. Tente novamente mais tarde.";
@@ -127,13 +140,26 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_join_channel_error" = "Desculpe, você já entrou em muitos canais e supergrupos. Por favor, saia de alguns antes de entrar.";
"lng_error_phone_flood" = "Desculpe, você apagou e recriou sua conta muitas vezes recentemente. Aguarde alguns dias antes de tentar novamente.";
"lng_error_start_minimized_passcoded" = "Você tem uma senha de bloqueio, então o aplicativo não pode iniciar minimizado. O app precisa de sua senha para iniciar.";
"lng_error_pinned_max" = "Você não pode fixar mais de {count:_not_used_|# conversa|# conversas} no topo.";
"lng_error_pinned_max#one" = "Você não pode fixar mais de {count} conversa no topo.";
"lng_error_pinned_max#other" = "Você não pode fixar mais de {count} conversas no topo.";
"lng_error_public_groups_denied" = "Infelizmente, você foi banido de participar em grupos públicos.\n{more_info}";
"lng_error_cant_edit_admin" = "Desculpe, você não pode editar permissões para esse admin.";
"lng_error_cant_add_member" = "Você não pode adicionar bots à esse grupo. Peça para um admin fazer isso.";
"lng_error_cant_add_admin_invite" = "Você não pode adicionar esse usuário como admin porque ele não é um membro do grupo e você não possui permissão para convidá-lo.";
"lng_error_cant_add_admin_unban" = "Você não pode adicionar esse usuário como admin porque ele está na lista negra e você não pode desbaní-lo.";
"lng_error_cant_ban_admin" = "Você não pode banir esse usuário porque ele é um admin do grupo e você não possui permissão para rebaixá-lo.";
"lng_sure_add_admin_invite" = "Esse usuário não é um membro do grupo. Adicioná-lo ao grupo e promover à administrador?";
"lng_sure_add_admin_unban" = "Esse usuário está restrito ou banido do grupo. Você tem certeza que quer o desbanir e o promovê-lo?";
"lng_sure_ban_admin" = "Esse usuário é um administrador do grupo. Você tem certeza que deseja restringi-lo?";
"lng_sure_ban_user_group" = "Banir {user} do grupo?";
"lng_sure_enable_socks" = "Você tem certeza que deseja habilitar esse proxy?\n\nServidor: {server}\nPorta: {port}\n\nVocê pode alterar seu servidor proxy depois em Configurações (Tipo de Conexão).";
"lng_sure_enable" = "Habilitar";
"lng_edit_deleted" = "Essa mensagem foi apagada";
"lng_edit_too_long" = "Sua mensagem está muito longa";
"lng_edit_message" = "Editar mensagem";
"lng_edit_message_text" = "Nova mensagem de texto...";
"lng_deleted" = "Desconhecido";
"lng_deleted" = "Conta Excluída";
"lng_deleted_message" = "Mensagem apagada";
"lng_pinned_message" = "Mensagem fixada";
"lng_pinned_unpin_sure" = "Você gostaria de desafixar essa mensagem?";
@@ -196,9 +222,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_signin_sure_reset" = "Atenção!\n\nVocê perderá todos seus chats e mensagens, juntamente com quaisquer mídias e arquivos!\n\nVocê deseja apagar sua conta?";
"lng_signin_reset" = "Apagar";
"lng_signin_reset_wait" = "Uma vez que a conta {phone_number} está ativa e protegida por senha, nós iremos desativá-la em 1 semana, por questões de segurança. Você pode cancelar esse processo a qualquer momento.\n\nVocê poderá restaurar sua conta em:\n{when}";
"lng_signin_reset_in_days" = "{count_days:0 dia|# dia|# dias} {count_hours:0 hora|# hora|# horas} {count_minutes:0 minuto|# minuto|# minutos}";
"lng_signin_reset_in_hours" = "{count_hours:0 hora|# hora|# horas} {count_minutes:0 minuto|# minuto|# minutos}";
"lng_signin_reset_in_minutes" = "{count_minutes:0 minuto|# minuto|# minutos}";
"lng_signin_reset_days#one" = "{count} dia";
"lng_signin_reset_days#other" = "{count} dias";
"lng_signin_reset_hours#one" = "{count} hora";
"lng_signin_reset_hours#other" = "{count} horas";
"lng_signin_reset_minutes#one" = "{count} minuto";
"lng_signin_reset_minutes#other" = "{count} minutos";
"lng_signin_reset_in_days" = "{days_count} {hours_count} {minutes_count}";
"lng_signin_reset_in_hours" = "{hours_count} {minutes_count}";
"lng_signin_reset_cancelled" = "Suas tentativas recentes de restaurar essa conta foram canceladas pelo usuário ativo. Tente novamente em 7 dias.";
"lng_signup_title" = "Suas Informações";
@@ -221,10 +252,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_save" = "Salvar";
"lng_settings_upload" = "Definir Foto de Perfil";
"lng_settings_crop_profile" = "Selecione uma área para a foto do perfil";
"lng_settings_crop_profile" = "Selecione uma área para sua foto de perfil";
"lng_settings_uploading_photo" = "Carregando foto...";
"lng_settings_edit" = "Editar";
"lng_settings_drop_area_subtitle" = "para defini-la como sua foto";
"lng_username_title" = "Nome de usuário";
@@ -296,12 +326,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_settings_bg_use_default" = "Usar o tema padrão de cores";
"lng_settings_bg_from_gallery" = "Escolher da galeria";
"lng_settings_bg_from_file" = "Escolher dos arquivos";
"lng_settings_bg_edit_theme" = "Editar tema";
"lng_settings_bg_tile" = "Lado-a-lado";
"lng_settings_adaptive_wide" = "Layout adaptativo para wide screens";
"lng_settings_adaptive_wide" = "Layout adaptativo para telas wide";
"lng_backgrounds_header" = "Escolha o seu novo papel de parede";
"lng_theme_sure_keep" = "Manter esse tema de cores?";
"lng_theme_reverting" = "Revertendo ao antigo tema de cores em {count:_not_used_|# segundo|# segundos}.";
"lng_theme_reverting#one" = "Revertendo ao antigo tema em {count} segundo.";
"lng_theme_reverting#other" = "Revertendo ao antigo tema em {count} segundos.";
"lng_theme_keep_changes" = "Manter alterações";
"lng_theme_revert" = "Reverter";
@@ -327,14 +359,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_local_storage_title" = "Armazenamento local";
"lng_settings_no_data_cached" = "Nada encontrado no cache!";
"lng_settings_images_cached" = "{count:_not_used_|# imagem|# imagens}, {size}";
"lng_settings_audios_cached" = "{count:_not_used_|# mensagem de voz|# mensagens de voz}, {size}";
"lng_settings_images_cached#one" = "{count} imagem, {size}";
"lng_settings_images_cached#other" = "{count} imagens, {size}";
"lng_settings_audios_cached#one" = "{count} mensagem de voz, {size}";
"lng_settings_audios_cached#other" = "{count} mensagens de voz, {size}";
"lng_local_storage_clear" = "Limpar tudo";
"lng_local_storage_clearing" = "Limpando...";
"lng_local_storage_cleared" = "Concluído!";
"lng_local_storage_clear_failed" = "Limpeza falhou :(";
"lng_settings_section_advanced_settings" = "Configurações Avançadas";
"lng_settings_enable_night_theme" = "Habilitar modo noturno";
"lng_settings_disable_night_theme" = "Desabilitar modo noturno";
"lng_passcode_remove_button" = "Remover";
@@ -346,8 +382,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_passcode_autolock" = "Autobloquear";
"lng_passcode_autolock_away" = "Autobloquear se ausente por:";
"lng_passcode_autolock_inactive" = "Autobloquear se inativo por:";
"lng_passcode_autolock_minutes" = "{count:_not_used_|# minuto|# minutos}";
"lng_passcode_autolock_hours" = "{count:_not_used_|# hora|# horas}";
"lng_passcode_autolock_minutes#one" = "{count} minuto";
"lng_passcode_autolock_minutes#other" = "{count} minutos";
"lng_passcode_autolock_hours#one" = "{count} hora";
"lng_passcode_autolock_hours#other" = "{count} horas";
"lng_passcode_enter_old" = "Insira sua senha atual";
"lng_passcode_enter_first" = "Insira uma senha";
"lng_passcode_enter_new" = "Insira sua nova senha";
@@ -403,7 +441,15 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_connection_user_ph" = "Usuário";
"lng_connection_password_ph" = "Senha";
"lng_connection_save" = "Salvar";
"lng_settings_blocked_users" = "Usuários bloqueados";
"lng_settings_last_seen_privacy" = "Visto por último";
"lng_settings_calls_privacy" = "Chamadas de voz";
"lng_settings_groups_invite_privacy" = "Grupos";
"lng_settings_show_sessions" = "Exibir todas as sessões";
"lng_settings_self_destruct" = "Configurações de auto-destruição da conta";
"lng_settings_change_phone" = "Alterar número de telefone";
"lng_settings_reset" = "Encerrar todas as outras sessões";
"lng_settings_reset_sure" = "Você tem certeza que deseja terminar\ntodas as outras sessões?";
"lng_settings_reset_one_sure" = "Você deseja terminar essa sessão?";
@@ -428,6 +474,76 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_sessions_other_desc" = "Você pode entrar no Telegram de outro celular, tablet e computadores, usando o mesmo número de telefone. Todos seus dados estarão sincronizados.";
"lng_sessions_terminate_all" = "Encerrar todas as outras sessões";
"lng_blocked_list_title" = "Usuários bloqueados";
"lng_blocked_list_unknown_phone" = "número desconhecido";
"lng_blocked_list_unblock" = "Desbloquear";
"lng_blocked_list_add" = "Bloquear usuário";
"lng_blocked_list_add_title" = "Selecionar usuário para bloquear";
"lng_blocked_list_already_blocked" = "já bloqueado";
"lng_blocked_list_about" = "Usuários bloqueados não podem te enviar mensagens ou adicionar em grupos. Eles não verão suas fotos de perfil, online e status de visto por último.";
"lng_blocked_list_not_found" = "Nenhum usuário encontrado";
"lng_edit_privacy_everyone" = "Todos";
"lng_edit_privacy_contacts" = "Meus Contatos";
"lng_edit_privacy_nobody" = "Ninguém";
"lng_edit_privacy_exceptions" = "Adicionar exceções";
"lng_edit_privacy_lastseen_title" = "Visto por último";
"lng_edit_privacy_lastseen_description" = "Você pode escolher quem vê o seu \"visto por último\":";
"lng_edit_privacy_lastseen_warning" = "Importante: você não poderá ver o horário de Visto por Último de pessoas com as quais você não compartilha o seu. Você verá um valor aproximado (recentemente, na última semana, no último mês).";
"lng_edit_privacy_lastseen_always_empty" = "Sempre compartilhar com";
"lng_edit_privacy_lastseen_always#one" = "Sempre compartilhar com {count} usuário";
"lng_edit_privacy_lastseen_always#other" = "Sempre compartilhar com {count} usuários";
"lng_edit_privacy_lastseen_never_empty" = "Nunca compartilhar com";
"lng_edit_privacy_lastseen_never#one" = "Nunca compartilhar com {count} usuário";
"lng_edit_privacy_lastseen_never#other" = "Nunca compartilhar com {count} usuários";
"lng_edit_privacy_lastseen_exceptions" = "Essas configurações irão sobrescrever os valores anteriores.";
"lng_edit_privacy_lastseen_always_title" = "Sempre compartilhar com";
"lng_edit_privacy_lastseen_never_title" = "Nunca compartilhar com";
"lng_edit_privacy_groups_title" = "Configurações de convite à grupos";
"lng_edit_privacy_groups_description" = "Você pode escolher quem pode te adicionar em grupos e canais com precisão:";
"lng_edit_privacy_groups_always_empty" = "Sempre permitir";
"lng_edit_privacy_groups_always#one" = "Sempre permitir {count} usuário";
"lng_edit_privacy_groups_always#other" = "Sempre permitir {count} usuários";
"lng_edit_privacy_groups_never_empty" = "Nunca permitir";
"lng_edit_privacy_groups_never#one" = "Nunca permitir {count} usuário";
"lng_edit_privacy_groups_never#other" = "Nunca permitir {count} usuários";
"lng_edit_privacy_groups_exceptions" = "Esses usuários poderão ou não te adicionar em grupos e canais dependendo de suas configurações.";
"lng_edit_privacy_groups_always_title" = "Sempre permitir";
"lng_edit_privacy_groups_never_title" = "Nunca permitir";
"lng_edit_privacy_calls_title" = "Chamadas";
"lng_edit_privacy_calls_description" = "Você pode restringir quem te ligou:";
"lng_edit_privacy_calls_always_empty" = "Sempre permitir";
"lng_edit_privacy_calls_always#one" = "Sempre permitir {count} usuário";
"lng_edit_privacy_calls_always#other" = "Sempre permitir {count} usuários";
"lng_edit_privacy_calls_never_empty" = "Nunca permitir";
"lng_edit_privacy_calls_never#one" = "Nunca permitir {count} usuário";
"lng_edit_privacy_calls_never#other" = "Nunca permitir {count} usuários";
"lng_edit_privacy_calls_exceptions" = "Esses usuários poderão ou não te ligar dependendo de suas configurações.";
"lng_edit_privacy_calls_always_title" = "Sempre permitir";
"lng_edit_privacy_calls_never_title" = "Nunca permitir";
"lng_self_destruct_title" = "Auto-destruição da conta";
"lng_self_destruct_description" = "Se você não ficar online ao menos uma vez nesse período, sua conta será apagada junto com seus grupos, mensagens e contatos.";
"lng_self_destruct_months#one" = "{count} mês";
"lng_self_destruct_months#other" = "{count} meses";
"lng_self_destruct_years#one" = "{count} ano";
"lng_self_destruct_years#other" = "{count} anos";
"lng_change_phone_title" = "Alterar número de telefone";
"lng_change_phone_description" = "Você pode alterar seu número do Telegram aqui.\nSua conta e todos os seus dados — mensagens,\nmídia, contatos, etc. serão movidos para\no novo número.\n\n[b]Importante[/b]: todos os contatos do Telegram terão\nseu [b]novo número[/b] adicionado às suas lista de contatos,\ndesde que eles tenham seu número antigo e você não\nos tenha bloqueado no Telegram.";
"lng_change_phone_warning" = "Todos os seus contatos do Telegram terão seu novo número adicionado às suas listas de contatos, desde que eles tenham seu antigo número e você não os tenha bloqueado no Telegram.";
"lng_change_phone_occupied" = "O número {phone} já possui uma conta do Telegram. Por favor, exclua esta conta antes de migrar para o novo número.";
"lng_change_phone_button" = "Alterar número";
"lng_change_phone_new_title" = "Insira o novo número";
"lng_change_phone_new_description" = "Enviaremos um SMS com um código de confirmação para o seu novo número.";
"lng_change_phone_new_submit" = "Enviar";
"lng_change_phone_code_title" = "Insira o código";
"lng_change_phone_code_description" = "Enviamos um SMS com um código de ativação para {phone}.";
"lng_change_phone_success" = "Seu número de telefone foi alterado.";
"lng_preview_loading" = "Obtendo Informações do Link...";
"lng_profile_chat_unaccessible" = "Grupo inacessível";
@@ -441,7 +557,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_create_public_link" = "Criar link público";
"lng_profile_edit_public_link" = "Editar link público";
"lng_profile_manage_admins" = "Gerenciar administradores";
"lng_profile_common_groups" = "{count:_not_used_|# grupo|# grupos} em comum";
"lng_profile_manage_blocklist" = "Gerenciar usuários banidos";
"lng_profile_manage_restrictedlist" = "Gerenciar usuários restritos";
"lng_profile_recent_actions" = "Ações recentes";
"lng_profile_common_groups#one" = "{count} grupo em comum";
"lng_profile_common_groups#other" = "{count} grupos em comum";
"lng_profile_common_groups_section" = "Grupos em comum";
"lng_profile_participants_section" = "Membros";
"lng_profile_info_section" = "Info";
@@ -475,23 +595,30 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_delete_and_exit" = "Sair";
"lng_profile_kick" = "Remover";
"lng_profile_admin" = "administrador";
"lng_profile_edit_permissions" = "Editar";
"lng_profile_sure_kick" = "Remover {user} do grupo?";
"lng_profile_sure_kick_channel" = "Remover {user} do canal?";
"lng_profile_sure_kick_admin" = "Remover {user} dos administradores?";
"lng_profile_loading" = "Carregando...";
"lng_profile_shared_media" = "Mídia compartilhada";
"lng_profile_no_media" = "Nenhuma mídia nessa conversa.";
"lng_profile_photos" = "{count:_not_used_|# foto|# fotos}";
"lng_profile_photos#one" = "{count} foto";
"lng_profile_photos#other" = "{count} fotos";
"lng_profile_photos_header" = "Fotos";
"lng_profile_videos" = "{count:_not_used_|# vídeo|# vídeos}";
"lng_profile_videos#one" = "{count} vídeo";
"lng_profile_videos#other" = "{count} vídeos";
"lng_profile_videos_header" = "Vídeos";
"lng_profile_songs" = "{count:_not_used_|# áudio|# áudios}";
"lng_profile_songs#one" = "{count} áudio";
"lng_profile_songs#other" = "{count} áudios";
"lng_profile_songs_header" = "Áudios";
"lng_profile_files" = "{count:_not_used_|# arquivo|# arquivos}";
"lng_profile_files#one" = "{count} arquivo";
"lng_profile_files#other" = "{count} arquivos";
"lng_profile_files_header" = "Arquivos";
"lng_profile_audios" = "{count:_not_used_|# mensagem de voz|# mensagens de voz}";
"lng_profile_audios#one" = "{count} mensagem de voz";
"lng_profile_audios#other" = "{count} mensagens de voz";
"lng_profile_audios_header" = "Mensagens de voz";
"lng_profile_shared_links" = "{count:_not_used_|# link compartilhado|# links compartilhados}";
"lng_profile_shared_links#one" = "{count} link compartilhado";
"lng_profile_shared_links#other" = "{count} links compartilhados";
"lng_profile_shared_links_header" = "Links compartilhados";
"lng_profile_copy_phone" = "Copiar Número de Telefone";
"lng_profile_copy_fullname" = "Copiar Nome";
@@ -513,12 +640,18 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_add_admins" = "Novo administrador";
"lng_channel_add_members" = "Adicionar membros";
"lng_channel_add_banned" = "Banir usuário";
"lng_channel_add_restricted" = "Restringir usuário";
"lng_channel_members" = "Membros";
"lng_channel_only_last_shown" = "Somente os últimos {count:_not_used_|# membro é|# membros são} exibidos";
"lng_channel_only_last_shown#one" = "Somente o último {count} membro é exibido aqui";
"lng_channel_only_last_shown#other" = "Somente os últimos {count} membros são exibidos aqui";
"lng_channel_admins" = "Administradores";
"lng_channel_add_admin" = "Adicionar Administrador";
"lng_channel_admin_sure" = "Adicionar {user} aos administradores?";
"lng_channel_admins_too_much" = "Você atingiu o limite de administradores. Remova um dos administradores primeiro.";
"lng_channel_admin_status_creator" = "Criador";
"lng_channel_admin_status_promoted_by" = "Promovido por {user}";
"lng_group_blocked_list_about" = "Usuários banidos são removidos do grupo e só podem voltar se convidados por um admin.\nLinks de convite não funcionam para eles.";
"lng_chat_all_members_admins" = "Todos São Admins";
"lng_chat_about_all_admins" = "Todos podem adicionar novos membros, editar nome e foto do grupo.";
@@ -526,7 +659,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_participant_filter" = "Buscar";
"lng_participant_invite" = "Convidar";
"lng_participant_invite_sorry" = "Desculpe, você só pode adicionar os primeiros {count:_not_used|# membro|# membros} ao canal.\n\nDe agora em diante, precisarão do link de convite para entrar.";
"lng_participant_invite_sorry#one" = "Desculpe, você só pode adicionar\no primeiro {count} membro ao canal.\n\nDe agora em diante, precisarão\ndo link de convite para entrar.";
"lng_participant_invite_sorry#other" = "Desculpe, você só pode adicionar\nos primeiros {count} membros ao canal.\n\nDe agora em diante, precisarão\ndo link de convite para entrar.";
"lng_create_group_back" = "Voltar";
"lng_create_group_next" = "Próximo";
"lng_create_group_create" = "Criar";
@@ -568,6 +702,14 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_message_empty" = "Mensagem Vazia";
"lng_message_unsupported" = "Essa mensagem não é suportada em sua versão do Telegram Desktop. Atualize para a última versão nas Configurações ou instale por aqui {link}";
"lng_duration_seconds#one" = "{count} segundo";
"lng_duration_seconds#other" = "{count} segundos";
"lng_duration_minsec_minutes#one" = "{count} min";
"lng_duration_minsec_minutes#other" = "{count} min";
"lng_duration_minsec_seconds#one" = "{count} seg";
"lng_duration_minsec_seconds#other" = "{count} seg";
"lng_duration_minutes_seconds" = "{minutes_count} {seconds_count}";
"lng_action_add_user" = "{from} adicionou {user}";
"lng_action_add_users_many" = "{from} adicionou {users}";
"lng_action_add_users_and_one" = "{accumulated}, {user}";
@@ -596,6 +738,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_video" = "um vídeo";
"lng_action_pinned_media_audio" = "um áudio";
"lng_action_pinned_media_voice" = "uma mensagem de voz";
"lng_action_pinned_media_video_message" = "uma mensagem de vídeo";
"lng_action_pinned_media_file" = "um arquivo";
"lng_action_pinned_media_gif" = "um GIF";
"lng_action_pinned_media_contact" = "um contato";
@@ -603,16 +746,24 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_action_pinned_media_sticker" = "um sticker";
"lng_action_pinned_media_emoji_sticker" = "um {emoji} sticker";
"lng_action_pinned_media_game" = "o jogo «{game}»";
"lng_action_game_score" = "{from} marcou {count:# pontos|# ponto|# pontos} em {game}";
"lng_action_game_you_scored" = "Você marcou {count:# pontos|# ponto|# pontos} em {game}";
"lng_action_game_score_no_game" = "{from} marcou {count:# pontos|# ponto|# pontos}";
"lng_action_game_you_scored_no_game" = "Você marcou {count:# pontos|# ponto|# pontos}";
"lng_action_game_score#one" = "{from} marcou {count} ponto em {game}";
"lng_action_game_score#other" = "{count} marcou {count} pontos em {game}";
"lng_action_game_you_scored#one" = "Você marcou {count} ponto em {game}";
"lng_action_game_you_scored#other" = "Você marcou {count} pontos em {game}";
"lng_action_game_score_no_game#one" = "{from} marcou {count} ponto";
"lng_action_game_score_no_game#other" = "{from} marcou {count} pontos";
"lng_action_game_you_scored_no_game#one" = "Você marcou {count} ponto";
"lng_action_game_you_scored_no_game#other" = "Você marcou {count} pontos";
"lng_action_payment_done" = "Você transferiu com sucesso {amount} para {user}";
"lng_action_payment_done_for" = "Você transferiu com sucesso {amount} para {user} por {invoice}";
"lng_profile_migrate_reached" = "{count:_not_used_|# membro|# membros} limite alcançado";
"lng_profile_migrate_reached#one" = "{count} limite de membro alcançado";
"lng_profile_migrate_reached#other" = "{count} limite de membros alcançado";
"lng_profile_migrate_body" = "Para ir além desse limite, você pode converter seu grupo em um supergrupo.";
"lng_profile_migrate_learn_more" = "Leia mais »";
"lng_profile_migrate_about" = "Se você deseja ir além do limite, pode converter seu grupo em um supergrupo. Nos supergrupos:";
"lng_profile_migrate_feature1" = "— O limite de membros são {count:_not_used_|# usuário|# usuários}";
"lng_profile_migrate_feature1#one" = "— O limite de membros é de {count} usuário";
"lng_profile_migrate_feature1#other" = "— O limite de membros é de {count} usuários";
"lng_profile_migrate_feature2" = "— Novos membros podem ver todo o histórico";
"lng_profile_migrate_feature3" = "— Administradores podem apagar mensagens para todos";
"lng_profile_migrate_feature4" = "— Notificações silenciadas por padrão";
@@ -623,11 +774,12 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_profile_convert_about" = "Em supergrupos:";
"lng_profile_convert_feature1" = "— Novos membros podem ver todo o histórico";
"lng_profile_convert_feature2" = "— Mensagens apagadas desaparecerão para todos";
"lng_profile_convert_feature3" = "— Admins podem ficar mensagens importantes";
"lng_profile_convert_feature3" = "— Admins podem fixar mensagens importantes";
"lng_profile_convert_feature4" = "— Criador pode definir um link público para o grupo";
"lng_profile_convert_warning" = "{bold_start}Nota:{bold_end} Essa ação não pode ser desfeita";
"lng_profile_convert_confirm" = "Converter";
"lng_profile_add_more_after_upgrade" = "Você pode adicionar até {count:_not_used_|# membro|# membros} depois de converter seu grupo a um supergrupo.";
"lng_profile_add_more_after_upgrade#one" = "Você pode adicionar até {count} membro depois de converter seu grupo a um supergrupo.";
"lng_profile_add_more_after_upgrade#other" = "Você pode adicionar até {count} membros depois de converter seu grupo a um supergrupo.";
"lng_channel_not_accessible" = "Desculpe, esse canal não está acessível.";
"lng_group_not_accessible" = "Desculpe, esse grupo não está acessível.";
@@ -642,7 +794,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_group_invite_want_join_channel" = "Você deseja entrar no canal «{title}»?";
"lng_group_invite_join" = "Entrar";
"lng_group_invite_members" = "{count:_not_used_|# membro|# membros}, entre eles:";
"lng_group_invite_members#one" = "{count} membro, entre eles:";
"lng_group_invite_members#other" = "{count} membros, entre eles:";
"lng_group_invite_link" = "Link de convite:";
"lng_group_invite_create" = "Criar um link de convite";
@@ -655,6 +808,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_channel_public_link_copied" = "Link copiado para área de transferência.";
"lng_forwarded" = "Encaminhado de {user}";
"lng_forwarded_date" = "Original: {date}";
"lng_forwarded_channel" = "Encaminhado de {channel}";
"lng_forwarded_via" = "Encaminhado de {user} via {inline_bot}";
"lng_forwarded_channel_via" = "Encaminhado de {channel} via {inline_bot}";
@@ -705,16 +859,17 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_emoji_category5" = "Viagens e Lugares";
"lng_emoji_category6" = "Objetos";
"lng_emoji_category7" = "Símbolos e Bandeiras";
"lng_emoji_hide_panel" = "Clique aqui para esconder a barra de emojis";
"lng_recent_stickers" = "Usados frequentemente";
"lng_switch_stickers" = "Stickers";
"lng_switch_stickers_gifs" = "GIFs e Stickers";
"lng_switch_emoji" = "Emoji";
"lng_switch_gifs" = "GIFs";
"lng_stickers_featured_add" = "Adicionar";
"lng_gifs_search" = "Buscar GIFs";
"lng_gifs_no_saved" = "Você ainda não possui GIFs salvos.";
"lng_saved_gifs" = "GIFs Salvos";
"lng_inline_bot_results" = "Resultados de {inline_bot}";
"lng_inline_bot_no_results" = "Nenhum resultado";
"lng_inline_bot_no_results" = "Nenhum resultado.";
"lng_inline_bot_via" = "via {inline_bot}";
"lng_box_remove" = "Remover";
@@ -733,7 +888,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_stickers_you_have" = "Gerenciar e reordenar os pacotes de sticker";
"lng_stickers_featured" = "Stickers Populares";
"lng_stickers_return" = "Desfazer";
"lng_stickers_count" = "{count:Carregando...|# sticker|# stickers}";
"lng_stickers_count#one" = "{count} sticker";
"lng_stickers_count#other" = "{count} 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";
@@ -741,6 +897,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_in_dlg_audio_file" = "Áudio";
"lng_in_dlg_contact" = "Contato";
"lng_in_dlg_audio" = "Mensagem de voz";
"lng_in_dlg_video_message" = "Mensagem de vídeo";
"lng_in_dlg_file" = "Arquivo";
"lng_in_dlg_sticker" = "Sticker";
"lng_in_dlg_sticker_emoji" = "{emoji} Sticker";
@@ -807,11 +964,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_typing" = "escrevendo";
"lng_user_typing" = "{user} está escrevendo";
"lng_users_typing" = "{user} e {second_user} estão escrevendo";
"lng_many_typing" = "{count:_not_used_|# está|# estão} escrevendo";
"lng_many_typing#one" = "{count} está escrevendo";
"lng_many_typing#other" = "{count} estão escrevendo";
"lng_playing_game" = "jogando";
"lng_user_playing_game" = "{user} está jogando";
"lng_users_playing_game" = "{user} e {second_user} estão jogando";
"lng_many_playing_game" = "{count:_not_used_|# está|# estão} jogando";
"lng_many_playing_game#one" = "{count} está jogando";
"lng_many_playing_game#other" = "{count} estão jogando";
"lng_send_action_record_video" = "gravando um vídeo";
"lng_user_action_record_video" = "{user} está gravando um vídeo";
"lng_send_action_upload_video" = "enviando um vídeo";
@@ -820,6 +979,10 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_record_audio" = "{user} está gravando um áudio";
"lng_send_action_upload_audio" = "enviando uma mensagem de voz";
"lng_user_action_upload_audio" = "{user} está enviando um áudio";
"lng_send_action_record_round" = "gravando uma mensagem de vídeo";
"lng_user_action_record_round" = "{user} está gravando uma mensagem de vídeo";
"lng_send_action_upload_round" = "enviando uma mensagem de vídeo";
"lng_user_action_upload_round" = "{user} está enviando uma mensagem de vídeo";
"lng_send_action_upload_photo" = "enviando uma foto";
"lng_user_action_upload_photo" = "{user} está enviando uma foto";
"lng_send_action_upload_file" = "enviando um arquivo";
@@ -828,7 +991,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_user_action_geo_location" = "{user} está escolhendo uma localização";
"lng_send_action_choose_contact" = "escolhendo um contato";
"lng_user_action_choose_contact" = "{user} está escolhendo um contato";
"lng_unread_bar" = "{count:_not_used_|# mensagem não lida|# mensagens não lidas}";
"lng_unread_bar#one" = "{count} mensagem não lida";
"lng_unread_bar#other" = "{count} mensagens não lidas";
"lng_maps_point" = "Localização";
"lng_save_photo" = "Salvar imagem";
@@ -851,7 +1015,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_from_top" = "Desafixar do topo";
"lng_context_promote_admin" = "Promover a administrador";
"lng_context_remove_admin" = "Remover dos administradores";
"lng_context_edit_permissions" = "Editar permissões";
"lng_context_restrict_user" = "Restringir usuário";
"lng_context_remove_from_group" = "Remover do grupo";
"lng_context_copy_link" = "Copiar Link";
@@ -877,6 +1042,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_delete_file" = "Apagar Arquivo";
"lng_context_close_file" = "Fechar Arquivo";
"lng_context_copy_text" = "Copiar Texto";
"lng_context_open_gif" = "Abrir GIF";
"lng_context_save_gif" = "Salvar GIF";
"lng_context_to_msg" = "Ir Para Mensagem";
"lng_context_reply_msg" = "Responder";
@@ -888,31 +1054,41 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_context_unpin_msg" = "Desafixar Mensagem";
"lng_context_cancel_upload" = "Cancelar Envio";
"lng_context_copy_selected" = "Copiar Texto Selecionado";
"lng_context_copy_selected_items" = "Copiar Seleção como Texto";
"lng_context_forward_selected" = "Encaminhar Selecionado";
"lng_context_delete_selected" = "Apagar Selecionado";
"lng_context_clear_selection" = "Limpar Seleção";
"lng_really_send_image" = "Você deseja enviar essa imagem?";
"lng_really_send_file" = "Você deseja enviar esse arquivo?";
"lng_really_share_contact" = "Você deseja compartilhar esse contato?";
"lng_send_images_compress" = "Comprimir {count:_not_used_|imagem|imagens}";
"lng_send_images_compress#one" = "Comprimir imagem";
"lng_send_images_compress#other" = "Comprimir imagens";
"lng_send_image_non_local" = "Não foi possível enviar um arquivo não local: {name}";
"lng_send_image_empty" = "Não foi possível enviar um arquivo vazio: {name}";
"lng_send_image_too_large" = "Não foi possível enviar um arquivo, por ser maior que 1500 MB: {name}";
"lng_send_folder" = "Não pude enviar «{name}» porque é um diretório :(";
"lng_send_images_selected" = "{count:_not_used_|# imagem selecionada|# imagens selecionadas}";
"lng_send_photos" = "Enviar {count:_not_used_|# foto|# fotos}";
"lng_send_files_selected" = "{count:_not_used_|# arquivo selecionado|# arquivos selecionados}";
"lng_send_files" = "Enviar {count:_not_used_|# arquivo|# arquivos}";
"lng_send_images_selected#one" = "{count} imagem selecionada";
"lng_send_images_selected#other" = "{count} imagens selecionadas";
"lng_send_photos#one" = "Enviar {count} foto";
"lng_send_photos#other" = "Enviar {count} fotos";
"lng_send_files_selected#one" = "{count} arquivo selecionado";
"lng_send_files_selected#other" = "{count} arquivos selecionados";
"lng_send_files#one" = "Enviar {count} arquivo";
"lng_send_files#other" = "Enviar {count} arquivos";
"lng_forward_choose" = "Escolher recipiente...";
"lng_forward_cant" = "Desculpe, não há como encaminhar aqui :(";
"lng_forward_confirm" = "Encaminhar para {recipient}?";
"lng_forward_share_contact" = "Compartilhar contato com {recipient}?";
"lng_forward_share_cant" = "Não há como compartilhar um contato aqui :(";
"lng_forward_send_file_confirm" = "Enviar «{name}» para {recipient}";
"lng_forward_send_files_confirm" = "Enviar arquivos selecionados para {recipient}?";
"lng_forward_send_files_cant" = "Não há como compartilhar um mídias aqui :(";
"lng_forward_send" = "Enviar";
"lng_forward_messages" = "{count:_not_used_|Mensagem encaminhada|# mensagens encaminhadas}";
"lng_forwarding_from" = "{user} e {count:_not_used_|# outro|# outros}";
"lng_forward_messages#one" = "{count} mensagem encaminhada";
"lng_forward_messages#other" = "{count} mensagens encaminhadas";
"lng_forwarding_from#one" = "{user} e {count} outro";
"lng_forwarding_from#other" = "{user} e {count} outros";
"lng_forwarding_from_two" = "{user} e {second_user}";
"lng_inline_switch_choose" = "Escolher conversa...";
"lng_inline_switch_cant" = "Desculpe, não há como escrever aqui :(";
@@ -934,6 +1110,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_edit_contact_title" = "Editar nome de contato";
"lng_edit_channel_title" = "Editar Canal";
"lng_edit_sign_messages" = "Assinar mensagens";
"lng_edit_group_who_invites" = "Quem pode adicionar membros";
"lng_edit_group_invites_everybody" = "Todos os membros";
"lng_edit_group_invites_only_admins" = "Somente administradores";
"lng_edit_group" = "Editar grupo";
"lng_edit_self_title" = "Editar seu nome";
"lng_confirm_contact_data" = "Novo Contato";
@@ -958,15 +1137,20 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_selected_clear" = "Cancelar";
"lng_selected_delete" = "Apagar";
"lng_selected_forward" = "Encaminhar";
"lng_selected_count" = "{count:_not_used_|# mensagem|# mensagens}";
"lng_selected_count#one" = "{count} mensagem";
"lng_selected_count#other" = "{count} mensagens";
"lng_selected_cancel_sure_this" = "Cancelar envio?";
"lng_selected_upload_stop" = "Parar";
"lng_selected_delete_sure_this" = "Você deseja apagar essa mensagem?";
"lng_selected_delete_sure" = "Você deseja apagar {count:_not_used_|# mensagem|# mensagens}?";
"lng_selected_delete_sure#one" = "Você deseja apagar {count} mensagem?";
"lng_selected_delete_sure#other" = "Você deseja apagar {count} mensagens?";
"lng_delete_photo_sure" = "Você deseja apagar essa foto?";
"lng_delete_for_everyone_hint" = "Isso irá apagar {count:_not_used_|a mensagem|as mensagens} para todos nessa conversa.";
"lng_delete_for_me_chat_hint" = "Isso irá apagar {count:_not_used_|a mensagem|as mensagens} somente para você, não para os outros participantes da conversa.";
"lng_delete_for_me_hint" = "Isso irá apagar {count:_not_used_|a mensagem|as mensagens} apenas para você.";
"lng_delete_for_everyone_hint#one" = "Isso irá apagar para todos nessa conversa.";
"lng_delete_for_everyone_hint#other" = "Isso irá apagar para todos nessa conversa.";
"lng_delete_for_me_chat_hint#one" = "Isso apagará somente para você, não para os outros participantes da conversa.";
"lng_delete_for_me_chat_hint#other" = "Isso irá apagar somente para você, não para os outros participantes da conversa.";
"lng_delete_for_me_hint#one" = "Isso irá apagar somente para você.";
"lng_delete_for_me_hint#other" = "Isso irá apagar somente para você.";
"lng_delete_for_everyone_check" = "Apagar para todos";
"lng_delete_for_other_check" = "Apagar para {user}";
"lng_box_delete" = "Apagar";
@@ -978,7 +1162,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_about_text_3" = "Visite as {faq_open}Perguntas Frequentes{faq_close} para mais informações.";
"lng_about_done" = "Concluído";
"lng_search_found_results" = "{count:Nenhuma mensagem encontrada|Encontrada # mensagem|Encontradas # mensagens}";
"lng_search_no_results" = "Nenhuma mensagem encontrada";
"lng_search_found_results#one" = "Encontrada {count} mensagem";
"lng_search_found_results#other" = "Encontradas {count} mensagens";
"lng_search_global_results" = "Resultados da busca global";
"lng_media_save_progress" = "{ready} de {total} {mb}";
@@ -1010,7 +1196,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram Desktop foi atualizado para a versão {version}\n\n{changes}\n\nHistórico completo de mudanças disponível aqui:\n{link}";
"lng_new_version_minor" = "— Resolução de bugs e outras melhorias menores";
"lng_new_version_text" = "— Clique e arraste para reordenar os chats fixados.\n— Resolução de bugs e outras melhorias.";
"lng_new_version_text" = "— Melhorias nas vídeo mensagens: progresso de reprodução, suporte à Picture-in-Picture, contador de duração.\n— Mensagens de voz e de vídeo agora são tocadas automaticamente uma após a outra.";
"lng_menu_insert_unicode" = "Inserir caractere de controle Unicode";
@@ -1023,6 +1209,181 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_confirm_phone_send" = "Enviar";
"lng_confirm_phone_enter_code" = "Por favor, insira o código.";
"lng_theme_editor_no_keys" = "Ainda não há chaves na paleta";
"lng_theme_editor_cant_change_theme" = "Você não pode aplicar novos temas enquanto está editando a paleta de cores. Feche o editor de temas primeiro.";
"lng_theme_editor_new_keys" = "Ainda não está na paleta";
"lng_theme_editor_background_image" = "Imagem de fundo";
"lng_theme_editor_saved_to_jpg" = "Salvar como JPEG, {size}";
"lng_theme_editor_read_from_jpg" = "Imagem JPEG, {size}";
"lng_theme_editor_read_from_png" = "Imagem PNG, {size}";
"lng_theme_editor_export" = "Exportar";
"lng_theme_editor_choose_image" = "Escolher imagem de fundo";
"lng_theme_editor_save_palette" = "Salvar arquivo de paleta";
"lng_theme_editor_choose_name" = "Salvar arquivo de tema";
"lng_theme_editor_error" = "O editor encontrou um erro :( Veja o 'log.txt' para detalhes.";
"lng_theme_editor_done" = "Tema exportado com sucesso!";
"lng_theme_editor_title" = "Editar paleta de cores";
"lng_theme_editor_export_button" = "Exportar tema";
"lng_payments_not_supported" = "Desculpe, o Telegram Desktop ainda não suporta pagamentos. Use um de nossos apps móveis para isso.";
"lng_payments_receipt_label" = "Recibo";
"lng_payments_receipt_label_test" = "Recibo de teste";
"lng_payments_invoice_label" = "Fatura";
"lng_payments_invoice_label_test" = "Fatura de test";
"lng_payments_receipt_button" = "Recibo";
"lng_call_status_incoming" = "está te ligando...";
"lng_call_status_connecting" = "conectando...";
"lng_call_status_exchanging" = "trocando chaves criptográficas...";
"lng_call_status_waiting" = "esperando...";
"lng_call_status_requesting" = "requisitando...";
"lng_call_status_hanging" = "cancelando...";
"lng_call_status_ended" = "chamada encerrada";
"lng_call_status_failed" = "falha ao conectar";
"lng_call_status_ringing" = "tocando...";
"lng_call_status_busy" = "linha ocupada";
"lng_call_fingerprint_tooltip" = "Se esses emojis são os mesmos na tela de {user}, essa chamada é 100% segura.";
"lng_call_error_not_available" = "Desculpe, {user} não aceita chamadas.";
"lng_call_error_incompatible" = "O aplicativo de {user} usa um protocolo incompatível. O aplicativo desse usuário precisa ser atualizado para que você possa chamá-lo.";
"lng_call_error_outdated" = "O aplicativo de {user} não suporta chamadas. O aplicativo desse usuário precisa ser atualizado para que você possa chamá-lo.";
"lng_call_error_audio_io" = "Parece haver um problema com a reprodução de áudio em seu computador. Verifique se os alto-falantes e microfone estão funcionando e tente novamente.";
"lng_call_bar_hangup" = "Encerrar chamada";
"lng_call_box_title" = "Chamadas";
"lng_call_box_about" = "Você não fez nenhuma ligação ainda.";
"lng_call_box_status_today" = "{time}";
"lng_call_box_status_yesterday" = "Ontem às {time}";
"lng_call_box_status_date" = "{date} às {time}";
"lng_call_box_status_group" = "({count}) {status}";
"lng_call_outgoing" = "Chamada efetuada";
"lng_call_incoming" = "Chamada recebida";
"lng_call_missed" = "Chamada perdida";
"lng_call_cancelled" = "Chamada cancelada";
"lng_call_declined" = "Chamada recusada";
"lng_call_duration_info" = "{time}, {duration}";
"lng_call_type_and_duration" = "{type} ({duration})";
"lng_call_rate_label" = "Avalie a qualidade de sua chamada";
"lng_call_rate_comment" = "Comentário (opcional)";
"lng_player_message_today" = "Hoje às {time}";
"lng_player_message_yesterday" = "Ontem às {time}";
"lng_player_message_date" = "{date} às {time}";
"lng_rights_edit_admin" = "Editar administrador";
"lng_rights_edit_admin_header" = "O que esse administrador pode fazer?";
"lng_rights_about_add_admins_yes" = "Esse admin poderá adicionar novos admins com as mesmas (ou mais limitadas) permissões.";
"lng_rights_about_add_admins_no" = "Esse admin não poderá adicionar novos admins.";
"lng_rights_user_restrictions" = "Restrições do usuário";
"lng_rights_user_restrictions_header" = "O que esse usuário pode fazer?";
"lng_rights_channel_info" = "Alterar info do canal";
"lng_rights_channel_post" = "Postar mensagens";
"lng_rights_channel_edit" = "Editar mensagens de outros";
"lng_rights_channel_delete" = "Apagar mensagens de outros";
"lng_rights_group_info" = "Alterar info do grupo";
"lng_rights_group_ban" = "Banir usuários";
"lng_rights_group_invite_link" = "Convidar usuários via link";
"lng_rights_group_invite" = "Adicionar usuários";
"lng_rights_group_pin" = "Fixar mensagens";
"lng_rights_group_delete" = "Apagar mensagens";
"lng_rights_add_admins" = "Adicionar novos admins";
"lng_rights_chat_read" = "Ler mensagens";
"lng_rights_chat_send_text" = "Enviar mensagens";
"lng_rights_chat_send_media" = "Enviar mídias";
"lng_rights_chat_send_stickers" = "Enviar stickers e GIFs";
"lng_rights_chat_send_links" = "Preview de links";
"lng_rights_chat_banned_until" = "Restringir até: {when}";
"lng_rights_chat_banned_forever" = "Sempre.";
"lng_rights_chat_banned_block" = "Banir e remover do grupo";
"lng_restricted_send_message" = "Os administradores do grupo restringiram você de escrever aqui.";
"lng_restricted_send_media" = "Os administradores do grupo restringiram você de enviar mídias aqui.";
"lng_restricted_send_stickers" = "Desculpe, os administradores do grupo te restringiram do envio de stickers.";
"lng_restricted_send_gifs" = "Desculpe, os administradores do grupo te restringiram do envio de GIFs.";
"lng_restricted_send_inline" = "Os administradores do grupo restringiram você de usar bots integrados aqui.";
"lng_restricted_list_title" = "Usuários restritos";
"lng_banned_list_title" = "Usuários banidos";
"lng_admin_log_title_all" = "Todas as ações";
"lng_admin_log_title_selected" = "Ações selecionadas";
"lng_admin_log_filter" = "Filtro";
"lng_admin_log_filter_title" = "Filtro";
"lng_admin_log_filter_all_actions" = "Todas as ações";
"lng_admin_log_filter_restrictions" = "Novas restrições";
"lng_admin_log_filter_admins_new" = "Novos admins";
"lng_admin_log_filter_members_new" = "Novos membros";
"lng_admin_log_filter_info_group" = "Info do grupo";
"lng_admin_log_filter_info_channel" = "Info do canal";
"lng_admin_log_filter_messages_deleted" = "Mensagens apagadas";
"lng_admin_log_filter_messages_edited" = "Mensagens editadas";
"lng_admin_log_filter_messages_pinned" = "Mensagens fixadas";
"lng_admin_log_filter_members_removed" = "Membros removidos";
"lng_admin_log_filter_all_admins" = "Todos os admins";
"lng_admin_log_about" = "O que é isso?";
"lng_admin_log_about_text" = "Essa é uma lista de todas as ações tomadas pelos membros e admins do grupo nas últimas 48 horas.";
"lng_admin_log_no_results_title" = "Nenhum evento encontrado";
"lng_admin_log_no_results_text" = "Nenhum evento correspondente foi encontrado.";
"lng_admin_log_no_events_title" = "Ainda não há eventos aqui";
"lng_admin_log_no_events_text" = "Nenhuma ação foi tomada pelos\nmembros e admins do grupo\nnas últimas 48 horas.";
"lng_admin_log_empty_text" = "Vazio";
"lng_admin_log_changed_title_group" = "{from} alterou o título do grupo para «{title}»";
"lng_admin_log_changed_title_channel" = "{from} alterou o título do canal para «{title}»";
"lng_admin_log_changed_description_group" = "{from} editou a descrição do grupo:";
"lng_admin_log_removed_description_group" = "{from} removeu a descrição do grupo";
"lng_admin_log_changed_description_channel" = "{from} editou a descrição do canal:";
"lng_admin_log_removed_description_channel" = "{from} removeu a descrição do canal";
"lng_admin_log_previous_description" = "Descrição prévia";
"lng_admin_log_changed_link_group" = "{from} alterou o link do grupo";
"lng_admin_log_removed_link_group" = "{from} removeu o link do grupo";
"lng_admin_log_changed_link_channel" = "{from} alterou o link do canal:";
"lng_admin_log_removed_link_channel" = "{from} removeu o link do canal";
"lng_admin_log_previous_link" = "Link prévio";
"lng_admin_log_changed_photo_group" = "{from} alterou a foto do grupo";
"lng_admin_log_changed_photo_channel" = "{from} alterou a foto do canal";
"lng_admin_log_removed_photo_group" = "{from} removeu a foto do grupo";
"lng_admin_log_removed_photo_channel" = "{from} removeu a foto do canal";
"lng_admin_log_invites_enabled" = "{from} habilitou convites ao grupo";
"lng_admin_log_invites_disabled" = "{from} desabilitou convites ao grupo";
"lng_admin_log_signatures_enabled" = "{from} assinaturas habilitadas";
"lng_admin_log_signatures_disabled" = "{from} assinaturas desabilitadas";
"lng_admin_log_pinned_message" = "{from} fixou a mensagem:";
"lng_admin_log_unpinned_message" = "{from} desafixou a mensagem";
"lng_admin_log_edited_caption" = "{from} editou a legenda:";
"lng_admin_log_removed_caption" = "{from} removeu a legenda";
"lng_admin_log_previous_caption" = "Legenda original";
"lng_admin_log_edited_message" = "{from} editou a mensagem:";
"lng_admin_log_previous_message" = "Mensagem original";
"lng_admin_log_deleted_message" = "{from} apagou a mensagem:";
"lng_admin_log_participant_joined" = "{from} entrou no grupo";
"lng_admin_log_participant_left" = "{from} deixou o grupo";
"lng_admin_log_invited" = "convidou {user}";
"lng_admin_log_banned" = "baniu {user}";
"lng_admin_log_restricted" = "alterou as restrições de {user} {until}";
"lng_admin_log_promoted" = "alterou os privilégios de {user}";
"lng_admin_log_user_with_username" = "{name} ({mention})";
"lng_admin_log_restricted_forever" = "indefinidamente";
"lng_admin_log_restricted_until" = "até {data}";
"lng_admin_log_banned_view_messages" = "Ler mensagens";
"lng_admin_log_banned_send_messages" = "Enviar mensagens";
"lng_admin_log_banned_send_media" = "Enviar mídias";
"lng_admin_log_banned_send_stickers" = "Enviar stickers e GIFs";
"lng_admin_log_banned_embed_links" = "Preview de links";
"lng_admin_log_admin_change_info" = "Alterar info";
"lng_admin_log_admin_post_messages" = "Postar mensagens";
"lng_admin_log_admin_edit_messages" = "Editar mensagens";
"lng_admin_log_admin_delete_messages" = "Apagar mensagens";
"lng_admin_log_admin_ban_users" = "Banir usuários";
"lng_admin_log_admin_invite_users" = "Adicionar usuários";
"lng_admin_log_admin_invite_link" = "Convidar usuários via link";
"lng_admin_log_admin_pin_messages" = "Fixar mensagens";
"lng_admin_log_admin_add_admins" = "Adicionar novos admins";
// Not used
"lng_topbar_info" = "Info";

View File

@@ -1,3 +1,4 @@
#!/usr/bin/env bash
set -e
FullExecPath=$PWD
pushd `dirname $0` > /dev/null

Binary file not shown.

View File

@@ -0,0 +1,32 @@
<RCC>
<qresource prefix="/gui">
<file alias="fonts/OpenSans-Regular.ttf">../fonts/OpenSans-Regular.ttf</file>
<file alias="fonts/OpenSans-Bold.ttf">../fonts/OpenSans-Bold.ttf</file>
<file alias="fonts/OpenSans-Semibold.ttf">../fonts/OpenSans-Semibold.ttf</file>
<file alias="art/bg.jpg">../art/bg.jpg</file>
<file alias="art/bg_initial.jpg">../art/bg_initial.jpg</file>
<file alias="art/logo_256.png">../art/logo_256.png</file>
<file alias="art/logo_256_no_margin.png">../art/logo_256_no_margin.png</file>
<file alias="art/sunrise.jpg">../art/sunrise.jpg</file>
<file alias="night.tdesktop-theme">../night.tdesktop-theme</file>
</qresource>
<qresource prefix="/sounds">
<file alias="msg_incoming.mp3">../sounds/msg_incoming.mp3</file>
<file alias="call_incoming.mp3">../sounds/call_incoming.mp3</file>
<file alias="call_outgoing.mp3">../sounds/call_outgoing.mp3</file>
<file alias="call_busy.mp3">../sounds/call_busy.mp3</file>
<file alias="call_connect.mp3">../sounds/call_connect.mp3</file>
<file alias="call_end.mp3">../sounds/call_end.mp3</file>
</qresource>
<qresource prefix="/qt-project.org">
<file>qmime/freedesktop.org.xml</file>
</qresource>
<qresource prefix="/langs">
<file alias="lang_it.strings">../langs/lang_it.strings</file>
<file alias="lang_es.strings">../langs/lang_es.strings</file>
<file alias="lang_de.strings">../langs/lang_de.strings</file>
<file alias="lang_nl.strings">../langs/lang_nl.strings</file>
<file alias="lang_pt_BR.strings">../langs/lang_pt_BR.strings</file>
<file alias="lang_ko.strings">../langs/lang_ko.strings</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,8 @@
<RCC>
<qresource prefix="/gui">
<file alias="art/emoji.webp">../art/emoji.webp</file>
<file alias="art/emoji_125x.webp">../art/emoji_125x.webp</file>
<file alias="art/emoji_150x.webp">../art/emoji_150x.webp</file>
<file alias="art/emoji_200x.webp">../art/emoji_200x.webp</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,5 @@
<RCC>
<qresource prefix="/gui">
<file alias="art/emoji_250x.webp">../art/emoji_250x.webp</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,5 @@
<RCC>
<qresource prefix="/qt">
<file alias="etc/qt.conf">../etc/qt_linux.conf</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,10 @@
<RCC>
<qresource prefix="/sounds">
<file alias="msg_incoming.mp3">../sounds/msg_incoming.mp3</file>
<file alias="call_busy.mp3">../sounds/call_busy.mp3</file>
<file alias="call_connect.mp3">../sounds/call_connect.mp3</file>
<file alias="call_end.mp3">../sounds/call_end.mp3</file>
<file alias="call_incoming.mp3">../sounds/call_incoming.mp3</file>
<file alias="call_outgoing.mp3">../sounds/call_outgoing.mp3</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,5 @@
<RCC>
<qresource prefix="/qt">
<file alias="etc/qt.conf">../etc/qt_win.conf</file>
</qresource>
</RCC>

View File

@@ -47,6 +47,10 @@ dh_gen_ok#3bcbf734 nonce:int128 server_nonce:int128 new_nonce_hash1:int128 = Set
dh_gen_retry#46dc1fb9 nonce:int128 server_nonce:int128 new_nonce_hash2:int128 = Set_client_DH_params_answer;
dh_gen_fail#a69dae02 nonce:int128 server_nonce:int128 new_nonce_hash3:int128 = Set_client_DH_params_answer;
destroy_auth_key_ok#f660e1d4 = DestroyAuthKeyRes;
destroy_auth_key_none#0a9f2259 = DestroyAuthKeyRes;
destroy_auth_key_fail#ea109b13 = DestroyAuthKeyRes;
---functions---
req_pq#60469778 nonce:int128 = ResPQ;
@@ -55,6 +59,8 @@ req_DH_params#d712e4be nonce:int128 server_nonce:int128 p:string q:string public
set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:string = Set_client_DH_params_answer;
destroy_auth_key#d1435160 = DestroyAuthKeyRes;
///////////////////////////////
////////////// System messages
///////////////////////////////
@@ -100,6 +106,9 @@ new_session_created#9ec20908 first_msg_id:long unique_id:long server_salt:long =
http_wait#9299359f max_delay:int wait_after:int max_wait:int = HttpWait;
ipPort ipv4:int port:int = IpPort;
help.configSimple#d997c3c5 date:int expires:int dc_id:int ip_port_list:Vector<ipPort> = help.ConfigSimple;
---functions---
rpc_drop_answer#58e4a740 req_msg_id:long = RpcDropAnswer;
@@ -158,6 +167,7 @@ inputMediaGifExternal#4843b0fd url:string q:string = InputMedia;
inputMediaPhotoExternal#b55f4f18 url:string caption:string = InputMedia;
inputMediaDocumentExternal#e5e9607c url:string caption:string = InputMedia;
inputMediaGame#d33f43f3 id:InputGame = InputMedia;
inputMediaInvoice#92153685 flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:string start_param:string = InputMedia;
inputChatPhotoEmpty#1ca48f57 = InputChatPhoto;
inputChatUploadedPhoto#927c55b4 file:InputFile = InputChatPhoto;
@@ -180,13 +190,13 @@ peerChat#bad0e5bb chat_id:int = Peer;
peerChannel#bddde532 channel_id:int = Peer;
storage.fileUnknown#aa963b05 = storage.FileType;
storage.filePartial#40bc6f52 = storage.FileType;
storage.fileJpeg#7efe0e = storage.FileType;
storage.fileGif#cae1aadf = storage.FileType;
storage.filePng#a4f63c0 = storage.FileType;
storage.filePdf#ae1e508d = storage.FileType;
storage.fileMp3#528a0677 = storage.FileType;
storage.fileMov#4b09ebbc = storage.FileType;
storage.filePartial#40bc6f52 = storage.FileType;
storage.fileMp4#b3cea0e4 = storage.FileType;
storage.fileWebp#1081464c = storage.FileType;
@@ -194,7 +204,7 @@ fileLocationUnavailable#7c596b46 volume_id:long local_id:int secret:long = FileL
fileLocation#53d69076 dc_id:int volume_id:long local_id:int secret:long = FileLocation;
userEmpty#200250ba id:int = User;
user#d10d979a flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true id:int access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?string bot_inline_placeholder:flags.19?string = User;
user#2e13f4c3 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true id:int access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?string bot_inline_placeholder:flags.19?string lang_code:flags.22?string = User;
userProfilePhotoEmpty#4f11bae1 = UserProfilePhoto;
userProfilePhoto#d559d8c8 photo_id:long photo_small:FileLocation photo_big:FileLocation = UserProfilePhoto;
@@ -209,11 +219,11 @@ userStatusLastMonth#77ebc742 = UserStatus;
chatEmpty#9ba2d800 id:int = Chat;
chat#d91cdd54 flags:# creator:flags.0?true kicked:flags.1?true left:flags.2?true admins_enabled:flags.3?true admin:flags.4?true deactivated:flags.5?true id:int title:string photo:ChatPhoto participants_count:int date:int version:int migrated_to:flags.6?InputChannel = Chat;
chatForbidden#7328bdb id:int title:string = Chat;
channel#a14dca52 flags:# creator:flags.0?true kicked:flags.1?true left:flags.2?true editor:flags.3?true moderator:flags.4?true broadcast:flags.5?true verified:flags.7?true megagroup:flags.8?true restricted:flags.9?true democracy:flags.10?true signatures:flags.11?true min:flags.12?true id:int access_hash:flags.13?long title:string username:flags.6?string photo:ChatPhoto date:int version:int restriction_reason:flags.9?string = Chat;
channelForbidden#8537784f flags:# broadcast:flags.5?true megagroup:flags.8?true id:int access_hash:long title:string = Chat;
channel#cb44b1c flags:# creator:flags.0?true left:flags.2?true broadcast:flags.5?true verified:flags.7?true megagroup:flags.8?true restricted:flags.9?true democracy:flags.10?true signatures:flags.11?true min:flags.12?true id:int access_hash:flags.13?long title:string username:flags.6?string photo:ChatPhoto date:int version:int restriction_reason:flags.9?string admin_rights:flags.14?ChannelAdminRights banned_rights:flags.15?ChannelBannedRights = Chat;
channelForbidden#289da732 flags:# broadcast:flags.5?true megagroup:flags.8?true id:int access_hash:long title:string until_date:flags.16?int = Chat;
chatFull#2e02a614 id:int participants:ChatParticipants chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> = ChatFull;
channelFull#c3d5512f flags:# can_view_participants:flags.3?true can_set_username:flags.6?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int = ChatFull;
channelFull#95cb5f57 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int = ChatFull;
chatParticipant#c8d7493e user_id:int inviter_id:int date:int = ChatParticipant;
chatParticipantCreator#da13538a user_id:int = ChatParticipant;
@@ -238,6 +248,7 @@ messageMediaDocument#f3e02ea8 document:Document caption:string = MessageMedia;
messageMediaWebPage#a32dd600 webpage:WebPage = MessageMedia;
messageMediaVenue#7912b71f geo:GeoPoint title:string address:string provider:string venue_id:string = MessageMedia;
messageMediaGame#fdb19008 game:Game = MessageMedia;
messageMediaInvoice#84551347 flags:# shipping_address_requested:flags.1?true test:flags.3?true title:string description:string photo:flags.0?WebDocument receipt_msg_id:flags.2?int currency:string total_amount:long start_param:string = MessageMedia;
messageActionEmpty#b6aef7b0 = MessageAction;
messageActionChatCreate#a6638b9a title:string users:Vector<int> = MessageAction;
@@ -253,6 +264,8 @@ messageActionChannelMigrateFrom#b055eaee title:string chat_id:int = MessageActio
messageActionPinMessage#94bd38ed = MessageAction;
messageActionHistoryClear#9fbab604 = MessageAction;
messageActionGameScore#92a72876 game_id:long score:int = MessageAction;
messageActionPaymentSentMe#8f31b327 flags:# currency:string total_amount:long payload:bytes info:flags.0?PaymentRequestedInfo shipping_option_id:flags.1?string charge:PaymentCharge = MessageAction;
messageActionPaymentSent#40699cd0 currency:string total_amount:long = MessageAction;
messageActionPhoneCall#80e11a7f flags:# call_id:long reason:flags.0?PhoneCallDiscardReason duration:flags.1?int = MessageAction;
dialog#66ffba14 flags:# pinned:flags.2?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage = Dialog;
@@ -301,7 +314,7 @@ inputReportReasonViolence#1e22c78d = ReportReason;
inputReportReasonPornography#2e59d922 = ReportReason;
inputReportReasonOther#e1746d0a text:string = ReportReason;
userFull#f220f3f flags:# blocked:flags.0?true phone_calls_available:flags.4?true user:User about:flags.1?string link:contacts.Link profile_photo:flags.2?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo common_chats_count:int = UserFull;
userFull#f220f3f flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true user:User about:flags.1?string link:contacts.Link profile_photo:flags.2?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo common_chats_count:int = UserFull;
contact#f911c994 user_id:int mutual:Bool = Contact;
@@ -347,6 +360,8 @@ inputMessagesFilterVoice#50f5c392 = MessagesFilter;
inputMessagesFilterMusic#3751b49e = MessagesFilter;
inputMessagesFilterChatPhotos#3a20ecb8 = MessagesFilter;
inputMessagesFilterPhoneCalls#80c99768 flags:# missed:flags.0?true = MessagesFilter;
inputMessagesFilterRoundVoice#7a7c17a4 = MessagesFilter;
inputMessagesFilterRoundVideo#b549da53 = MessagesFilter;
updateNewMessage#1f2b0afd message:Message pts:int pts_count:int = Update;
updateMessageID#4e90bfd6 id:int random_id:long = Update;
@@ -401,9 +416,15 @@ updateRecentStickers#9a422c20 = Update;
updateConfig#a229dd06 = Update;
updatePtsChanged#3354678f = Update;
updateChannelWebPage#40771900 channel_id:int webpage:WebPage pts:int pts_count:int = Update;
updatePhoneCall#ab0f6b1e phone_call:PhoneCall = Update;
updateDialogPinned#d711a2cc flags:# pinned:flags.0?true peer:Peer = Update;
updatePinnedDialogs#d8caf68d flags:# order:flags.0?Vector<Peer> = Update;
updateBotWebhookJSON#8317c0c3 data:DataJSON = Update;
updateBotWebhookJSONQuery#9b9240a6 query_id:long data:DataJSON timeout:int = Update;
updateBotShippingQuery#e0cdc940 query_id:long user_id:int payload:bytes shipping_address:PostAddress = Update;
updateBotPrecheckoutQuery#5d2f3aa9 flags:# query_id:long user_id:int payload:bytes info:flags.0?PaymentRequestedInfo shipping_option_id:flags.1?string currency:string total_amount:long = Update;
updatePhoneCall#ab0f6b1e phone_call:PhoneCall = Update;
updateLangPackTooLong#10c2404b = Update;
updateLangPack#56022f4d difference:LangPackDifference = Update;
updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
@@ -426,10 +447,11 @@ photos.photosSlice#15051f54 count:int photos:Vector<Photo> users:Vector<User> =
photos.photo#20212ca8 photo:Photo users:Vector<User> = photos.Photo;
upload.file#96a18d5 type:storage.FileType mtime:int bytes:bytes = upload.File;
upload.fileCdnRedirect#1508485a dc_id:int file_token:bytes encryption_key:bytes encryption_iv:bytes = upload.File;
dcOption#5d8c6cc flags:# ipv6:flags.0?true media_only:flags.1?true tcpo_only:flags.2?true id:int ip_address:string port:int = DcOption;
dcOption#5d8c6cc flags:# ipv6:flags.0?true media_only:flags.1?true tcpo_only:flags.2?true cdn:flags.3?true static:flags.4?true id:int ip_address:string port:int = DcOption;
config#3af6fb5f flags:# phonecalls_enabled:flags.1?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector<DcOption> chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int chat_big_size:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int rating_e_decay:int stickers_recent_limit:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int disabled_features:Vector<DisabledFeature> = Config;
config#7feec888 flags:# phonecalls_enabled:flags.1?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector<DcOption> chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int chat_big_size:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int rating_e_decay:int stickers_recent_limit:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string suggested_lang_code:flags.2?string lang_pack_version:flags.2?int disabled_features:Vector<DisabledFeature> = Config;
nearestDc#8e1a1775 country:string this_dc:int nearest_dc:int = NearestDc;
@@ -487,6 +509,8 @@ sendMessageUploadDocumentAction#aa0cd9e4 progress:int = SendMessageAction;
sendMessageGeoLocationAction#176f8ba1 = SendMessageAction;
sendMessageChooseContactAction#628cbc6f = SendMessageAction;
sendMessageGamePlayAction#dd6a8f48 = SendMessageAction;
sendMessageRecordRoundAction#88f27fbc = SendMessageAction;
sendMessageUploadRoundAction#243e1c66 progress:int = SendMessageAction;
contacts.found#1aa1f784 results:Vector<Peer> chats:Vector<Chat> users:Vector<User> = contacts.Found;
@@ -519,7 +543,7 @@ accountDaysTTL#b8d0afdf days:int = AccountDaysTTL;
documentAttributeImageSize#6c37c15c w:int h:int = DocumentAttribute;
documentAttributeAnimated#11b58939 = DocumentAttribute;
documentAttributeSticker#6319d612 flags:# mask:flags.1?true alt:string stickerset:InputStickerSet mask_coords:flags.0?MaskCoords = DocumentAttribute;
documentAttributeVideo#5910cccb duration:int w:int h:int = DocumentAttribute;
documentAttributeVideo#ef02ce6 flags:# round_message:flags.0?true duration:int w:int h:int = DocumentAttribute;
documentAttributeAudio#9852f9c6 flags:# voice:flags.10?true duration:int title:flags.0?string performer:flags.1?string waveform:flags.2?bytes = DocumentAttribute;
documentAttributeFilename#15590068 file_name:string = DocumentAttribute;
documentAttributeHasStickers#9801d2f7 = DocumentAttribute;
@@ -586,6 +610,7 @@ keyboardButtonRequestPhone#b16a6c29 text:string = KeyboardButton;
keyboardButtonRequestGeoLocation#fc796b3f text:string = KeyboardButton;
keyboardButtonSwitchInline#568a748 flags:# same_peer:flags.0?true text:string query:string = KeyboardButton;
keyboardButtonGame#50f41ccf text:string = KeyboardButton;
keyboardButtonBuy#afd93fbb text:string = KeyboardButton;
keyboardButtonRow#77608b83 buttons:Vector<KeyboardButton> = KeyboardButtonRow;
@@ -594,9 +619,6 @@ replyKeyboardForceReply#f4108aa0 flags:# single_use:flags.1?true selective:flags
replyKeyboardMarkup#3502758c flags:# resize:flags.0?true single_use:flags.1?true selective:flags.2?true rows:Vector<KeyboardButtonRow> = ReplyMarkup;
replyInlineMarkup#48a30254 rows:Vector<KeyboardButtonRow> = ReplyMarkup;
help.appChangelogEmpty#af7e0394 = help.AppChangelog;
help.appChangelog#2a137e7c message:string media:MessageMedia entities:Vector<MessageEntity> = help.AppChangelog;
messageEntityUnknown#bb92ba95 offset:int length:int = MessageEntity;
messageEntityMention#fa04579d offset:int length:int = MessageEntity;
messageEntityHashtag#6f635b0d offset:int length:int = MessageEntity;
@@ -627,19 +649,16 @@ channelMessagesFilter#cd77d957 flags:# exclude_new_messages:flags.1?true ranges:
channelParticipant#15ebac1d user_id:int date:int = ChannelParticipant;
channelParticipantSelf#a3289a6d user_id:int inviter_id:int date:int = ChannelParticipant;
channelParticipantModerator#91057fef user_id:int inviter_id:int date:int = ChannelParticipant;
channelParticipantEditor#98192d61 user_id:int inviter_id:int date:int = ChannelParticipant;
channelParticipantKicked#8cc5e69a user_id:int kicked_by:int date:int = ChannelParticipant;
channelParticipantCreator#e3e2e1f9 user_id:int = ChannelParticipant;
channelParticipantAdmin#a82fa898 flags:# can_edit:flags.0?true user_id:int inviter_id:int promoted_by:int date:int admin_rights:ChannelAdminRights = ChannelParticipant;
channelParticipantBanned#222c1886 flags:# left:flags.0?true user_id:int kicked_by:int date:int banned_rights:ChannelBannedRights = ChannelParticipant;
channelParticipantsRecent#de3f3c79 = ChannelParticipantsFilter;
channelParticipantsAdmins#b4608969 = ChannelParticipantsFilter;
channelParticipantsKicked#3c37bb7a = ChannelParticipantsFilter;
channelParticipantsKicked#a3b54985 q:string = ChannelParticipantsFilter;
channelParticipantsBots#b0d1865b = ChannelParticipantsFilter;
channelRoleEmpty#b285a0c6 = ChannelParticipantRole;
channelRoleModerator#9618d975 = ChannelParticipantRole;
channelRoleEditor#820bfe8c = ChannelParticipantRole;
channelParticipantsBanned#1427a5e1 q:string = ChannelParticipantsFilter;
channelParticipantsSearch#656ac4b q:string = ChannelParticipantsFilter;
channels.channelParticipants#f56ee2a8 count:int participants:Vector<ChannelParticipant> users:Vector<User> = channels.ChannelParticipants;
@@ -708,6 +727,7 @@ topPeerCategoryBotsInline#148677e2 = TopPeerCategory;
topPeerCategoryCorrespondents#637b7ed = TopPeerCategory;
topPeerCategoryGroups#bd17a14a = TopPeerCategory;
topPeerCategoryChannels#161d9628 = TopPeerCategory;
topPeerCategoryPhoneCalls#1e76a78c = TopPeerCategory;
topPeerCategoryPeers#fb834291 category:TopPeerCategory count:int peers:Vector<TopPeer> = TopPeerCategoryPeers;
@@ -777,17 +797,67 @@ pageBlockEmbed#cde200d1 flags:# full_width:flags.0?true allow_scrolling:flags.3?
pageBlockEmbedPost#292c7be9 url:string webpage_id:long author_photo_id:long author:string date:int blocks:Vector<PageBlock> caption:RichText = PageBlock;
pageBlockCollage#8b31c4f items:Vector<PageBlock> caption:RichText = PageBlock;
pageBlockSlideshow#130c8963 items:Vector<PageBlock> caption:RichText = PageBlock;
pageBlockChannel#ef1751b5 channel:Chat = PageBlock;
pageBlockAudio#31b81a7f audio_id:long caption:RichText = PageBlock;
pagePart#8dee6c44 blocks:Vector<PageBlock> photos:Vector<Photo> videos:Vector<Document> = Page;
pageFull#d7a19d69 blocks:Vector<PageBlock> photos:Vector<Photo> videos:Vector<Document> = Page;
pagePart#8e3f9ebe blocks:Vector<PageBlock> photos:Vector<Photo> documents:Vector<Document> = Page;
pageFull#556ec7aa blocks:Vector<PageBlock> photos:Vector<Photo> documents:Vector<Document> = Page;
phoneCallDiscardReasonMissed#85e42301 = PhoneCallDiscardReason;
phoneCallDiscardReasonDisconnect#e095c1a0 = PhoneCallDiscardReason;
phoneCallDiscardReasonHangup#57adc690 = PhoneCallDiscardReason;
phoneCallDiscardReasonBusy#faf7e8c9 = PhoneCallDiscardReason;
dataJSON#7d748d04 data:string = DataJSON;
labeledPrice#cb296bf8 label:string amount:long = LabeledPrice;
invoice#c30aa358 flags:# test:flags.0?true name_requested:flags.1?true phone_requested:flags.2?true email_requested:flags.3?true shipping_address_requested:flags.4?true flexible:flags.5?true currency:string prices:Vector<LabeledPrice> = Invoice;
paymentCharge#ea02c27e id:string provider_charge_id:string = PaymentCharge;
postAddress#1e8caaeb street_line1:string street_line2:string city:string state:string country_iso2:string post_code:string = PostAddress;
paymentRequestedInfo#909c3f94 flags:# name:flags.0?string phone:flags.1?string email:flags.2?string shipping_address:flags.3?PostAddress = PaymentRequestedInfo;
paymentSavedCredentialsCard#cdc27a1f id:string title:string = PaymentSavedCredentials;
webDocument#c61acbd8 url:string access_hash:long size:int mime_type:string attributes:Vector<DocumentAttribute> dc_id:int = WebDocument;
inputWebDocument#9bed434d url:string size:int mime_type:string attributes:Vector<DocumentAttribute> = InputWebDocument;
inputWebFileLocation#c239d686 url:string access_hash:long = InputWebFileLocation;
upload.webFile#21e753bc size:int mime_type:string file_type:storage.FileType mtime:int bytes:bytes = upload.WebFile;
payments.paymentForm#3f56aea3 flags:# can_save_credentials:flags.2?true password_missing:flags.3?true bot_id:int invoice:Invoice provider_id:int url:string native_provider:flags.4?string native_params:flags.4?DataJSON saved_info:flags.0?PaymentRequestedInfo saved_credentials:flags.1?PaymentSavedCredentials users:Vector<User> = payments.PaymentForm;
payments.validatedRequestedInfo#d1451883 flags:# id:flags.0?string shipping_options:flags.1?Vector<ShippingOption> = payments.ValidatedRequestedInfo;
payments.paymentResult#4e5f810d updates:Updates = payments.PaymentResult;
payments.paymentVerficationNeeded#6b56b921 url:string = payments.PaymentResult;
payments.paymentReceipt#500911e1 flags:# date:int bot_id:int invoice:Invoice provider_id:int info:flags.0?PaymentRequestedInfo shipping:flags.1?ShippingOption currency:string total_amount:long credentials_title:string users:Vector<User> = payments.PaymentReceipt;
payments.savedInfo#fb8fe43c flags:# has_saved_credentials:flags.1?true saved_info:flags.0?PaymentRequestedInfo = payments.SavedInfo;
inputPaymentCredentialsSaved#c10eb2cf id:string tmp_password:bytes = InputPaymentCredentials;
inputPaymentCredentials#3417d728 flags:# save:flags.0?true data:DataJSON = InputPaymentCredentials;
account.tmpPassword#db64fd34 tmp_password:bytes valid_until:int = account.TmpPassword;
shippingOption#b6213cdf id:string title:string prices:Vector<LabeledPrice> = ShippingOption;
inputStickerSetItem#ffa0a496 flags:# document:InputDocument emoji:string mask_coords:flags.0?MaskCoords = InputStickerSetItem;
inputPhoneCall#1e36fded id:long access_hash:long = InputPhoneCall;
phoneCallEmpty#5366c915 id:long = PhoneCall;
phoneCallWaiting#1b8f4ad1 flags:# id:long access_hash:long date:int admin_id:int participant_id:int protocol:PhoneCallProtocol receive_date:flags.0?int = PhoneCall;
phoneCallRequested#6c448ae8 id:long access_hash:long date:int admin_id:int participant_id:int g_a:bytes protocol:PhoneCallProtocol = PhoneCall;
phoneCallRequested#83761ce4 id:long access_hash:long date:int admin_id:int participant_id:int g_a_hash:bytes protocol:PhoneCallProtocol = PhoneCall;
phoneCallAccepted#6d003d3f id:long access_hash:long date:int admin_id:int participant_id:int g_b:bytes protocol:PhoneCallProtocol = PhoneCall;
phoneCall#ffe6ab67 id:long access_hash:long date:int admin_id:int participant_id:int g_a_or_b:bytes key_fingerprint:long protocol:PhoneCallProtocol connection:PhoneConnection alternative_connections:Vector<PhoneConnection> start_date:int = PhoneCall;
phoneCallDiscarded#50ca4de1 flags:# id:long reason:flags.0?PhoneCallDiscardReason duration:flags.1?int = PhoneCall;
phoneCallDiscarded#50ca4de1 flags:# need_rating:flags.2?true need_debug:flags.3?true id:long reason:flags.0?PhoneCallDiscardReason duration:flags.1?int = PhoneCall;
phoneConnection#9d4c17c0 id:long ip:string ipv6:string port:int peer_tag:bytes = PhoneConnection;
@@ -795,16 +865,51 @@ phoneCallProtocol#a2bb35cb flags:# udp_p2p:flags.0?true udp_reflector:flags.1?tr
phone.phoneCall#ec82e140 phone_call:PhoneCall users:Vector<User> = phone.PhoneCall;
phoneCallDiscardReasonMissed#85e42301 = PhoneCallDiscardReason;
phoneCallDiscardReasonDisconnect#e095c1a0 = PhoneCallDiscardReason;
phoneCallDiscardReasonHangup#57adc690 = PhoneCallDiscardReason;
phoneCallDiscardReasonBusy#faf7e8c9 = PhoneCallDiscardReason;
upload.cdnFileReuploadNeeded#eea8e46e request_token:bytes = upload.CdnFile;
upload.cdnFile#a99fca4f bytes:bytes = upload.CdnFile;
cdnPublicKey#c982eaba dc_id:int public_key:string = CdnPublicKey;
cdnConfig#5725e40a public_keys:Vector<CdnPublicKey> = CdnConfig;
langPackString#cad181f6 key:string value:string = LangPackString;
langPackStringPluralized#6c47ac9f flags:# key:string zero_value:flags.0?string one_value:flags.1?string two_value:flags.2?string few_value:flags.3?string many_value:flags.4?string other_value:string = LangPackString;
langPackStringDeleted#2979eeb2 key:string = LangPackString;
langPackDifference#f385c1f6 lang_code:string from_version:int version:int strings:Vector<LangPackString> = LangPackDifference;
langPackLanguage#117698f1 name:string native_name:string lang_code:string = LangPackLanguage;
channelAdminRights#5d7ceba5 flags:# change_info:flags.0?true post_messages:flags.1?true edit_messages:flags.2?true delete_messages:flags.3?true ban_users:flags.4?true invite_users:flags.5?true invite_link:flags.6?true pin_messages:flags.7?true add_admins:flags.9?true = ChannelAdminRights;
channelBannedRights#58cf4249 flags:# view_messages:flags.0?true send_messages:flags.1?true send_media:flags.2?true send_stickers:flags.3?true send_gifs:flags.4?true send_games:flags.5?true send_inline:flags.6?true embed_links:flags.7?true until_date:int = ChannelBannedRights;
channelAdminLogEventActionChangeTitle#e6dfb825 prev_value:string new_value:string = ChannelAdminLogEventAction;
channelAdminLogEventActionChangeAbout#55188a2e prev_value:string new_value:string = ChannelAdminLogEventAction;
channelAdminLogEventActionChangeUsername#6a4afc38 prev_value:string new_value:string = ChannelAdminLogEventAction;
channelAdminLogEventActionChangePhoto#b82f55c3 prev_photo:ChatPhoto new_photo:ChatPhoto = ChannelAdminLogEventAction;
channelAdminLogEventActionToggleInvites#1b7907ae new_value:Bool = ChannelAdminLogEventAction;
channelAdminLogEventActionToggleSignatures#26ae0971 new_value:Bool = ChannelAdminLogEventAction;
channelAdminLogEventActionUpdatePinned#e9e82c18 message:Message = ChannelAdminLogEventAction;
channelAdminLogEventActionEditMessage#709b2405 prev_message:Message new_message:Message = ChannelAdminLogEventAction;
channelAdminLogEventActionDeleteMessage#42e047bb message:Message = ChannelAdminLogEventAction;
channelAdminLogEventActionParticipantJoin#183040d3 = ChannelAdminLogEventAction;
channelAdminLogEventActionParticipantLeave#f89777f2 = ChannelAdminLogEventAction;
channelAdminLogEventActionParticipantInvite#e31c34d8 participant:ChannelParticipant = ChannelAdminLogEventAction;
channelAdminLogEventActionParticipantToggleBan#e6d83d7e prev_participant:ChannelParticipant new_participant:ChannelParticipant = ChannelAdminLogEventAction;
channelAdminLogEventActionParticipantToggleAdmin#d5676710 prev_participant:ChannelParticipant new_participant:ChannelParticipant = ChannelAdminLogEventAction;
channelAdminLogEvent#3b5a3e40 id:long date:int user_id:int action:ChannelAdminLogEventAction = ChannelAdminLogEvent;
channels.adminLogResults#ed8af74d events:Vector<ChannelAdminLogEvent> chats:Vector<Chat> users:Vector<User> = channels.AdminLogResults;
channelAdminLogEventsFilter#ea107ae4 flags:# join:flags.0?true leave:flags.1?true invite:flags.2?true ban:flags.3?true unban:flags.4?true kick:flags.5?true unkick:flags.6?true promote:flags.7?true demote:flags.8?true info:flags.9?true settings:flags.10?true pinned:flags.11?true edit:flags.12?true delete:flags.13?true = ChannelAdminLogEventsFilter;
---functions---
invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
invokeAfterMsgs#3dc4b4f0 {X:Type} msg_ids:Vector<long> query:!X = X;
initConnection#69796de9 {X:Type} api_id:int device_model:string system_version:string app_version:string lang_code:string query:!X = X;
initConnection#c7481da6 {X:Type} api_id:int device_model:string system_version:string app_version:string system_lang_code:string lang_pack:string lang_code:string query:!X = X;
invokeWithLayer#da9b0d0d {X:Type} layer:int query:!X = X;
invokeWithoutUpdates#bf9459b7 {X:Type} query:!X = X;
@@ -852,6 +957,7 @@ account.getPasswordSettings#bc8d11bb current_password_hash:bytes = account.Passw
account.updatePasswordSettings#fa7c4b86 current_password_hash:bytes new_settings:account.PasswordInputSettings = Bool;
account.sendConfirmPhoneCode#1516d7bd flags:# allow_flashcall:flags.0?true hash:string current_number:flags.0?Bool = auth.SentCode;
account.confirmPhone#5f2178c3 phone_code_hash:string phone_code:string = Bool;
account.getTmpPassword#4a82327e password_hash:bytes period:int = account.TmpPassword;
users.getUsers#d91a548 id:Vector<InputUser> = Vector<User>;
users.getFullUser#ca30a5b1 id:InputUser = UserFull;
@@ -868,13 +974,13 @@ contacts.exportCard#84e53737 = Vector<int>;
contacts.importCard#4fe196fe export_card:Vector<int> = User;
contacts.search#11f812d8 q:string limit:int = contacts.Found;
contacts.resolveUsername#f93ccba3 username:string = contacts.ResolvedPeer;
contacts.getTopPeers#d4982db5 flags:# correspondents:flags.0?true bots_pm:flags.1?true bots_inline:flags.2?true groups:flags.10?true channels:flags.15?true offset:int limit:int hash:int = contacts.TopPeers;
contacts.getTopPeers#d4982db5 flags:# correspondents:flags.0?true bots_pm:flags.1?true bots_inline:flags.2?true phone_calls:flags.3?true groups:flags.10?true channels:flags.15?true offset:int limit:int hash:int = contacts.TopPeers;
contacts.resetTopPeerRating#1ae373ac category:TopPeerCategory peer:InputPeer = Bool;
messages.getMessages#4222fa74 id:Vector<int> = messages.Messages;
messages.getDialogs#191ba9c5 flags:# exclude_pinned:flags.0?true offset_date:int offset_id:int offset_peer:InputPeer limit:int = messages.Dialogs;
messages.getHistory#afa92846 peer:InputPeer offset_id:int offset_date:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
messages.search#d4569248 flags:# peer:InputPeer q:string filter:MessagesFilter min_date:int max_date:int offset:int max_id:int limit:int = messages.Messages;
messages.search#f288a275 flags:# peer:InputPeer q:string from_id:flags.0?InputUser filter:MessagesFilter min_date:int max_date:int offset:int max_id:int limit:int = messages.Messages;
messages.readHistory#e306d3a peer:InputPeer max_id:int = messages.AffectedMessages;
messages.deleteHistory#1c015b09 flags:# just_clear:flags.0?true peer:InputPeer max_id:int = messages.AffectedHistory;
messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector<int> = messages.AffectedMessages;
@@ -954,6 +1060,9 @@ messages.getWebPage#32ca8f91 url:string hash:int = WebPage;
messages.toggleDialogPin#3289be6a flags:# pinned:flags.0?true peer:InputPeer = Bool;
messages.reorderPinnedDialogs#959ff644 flags:# force:flags.0?true order:Vector<InputPeer> = Bool;
messages.getPinnedDialogs#e254d64e = messages.PeerDialogs;
messages.setBotShippingResults#e5f672fa flags:# query_id:long error:flags.0?string shipping_options:flags.1?Vector<ShippingOption> = Bool;
messages.setBotPrecheckoutResults#9c2dd95 flags:# success:flags.1?true query_id:long error:flags.0?string = Bool;
messages.uploadMedia#519bc2b1 peer:InputPeer media:InputMedia = MessageMedia;
updates.getState#edd4882a = updates.State;
updates.getDifference#25939651 flags:# pts:int pts_total_limit:flags.0?int date:int qts:int = updates.Difference;
@@ -967,6 +1076,9 @@ photos.getUserPhotos#91cd32a8 user_id:InputUser offset:int max_id:long limit:int
upload.saveFilePart#b304a621 file_id:long file_part:int bytes:bytes = Bool;
upload.getFile#e3a6cfb5 location:InputFileLocation offset:int limit:int = upload.File;
upload.saveBigFilePart#de7b673d file_id:long file_part:int file_total_parts:int bytes:bytes = Bool;
upload.getWebFile#24e6818d location:InputWebFileLocation offset:int limit:int = upload.WebFile;
upload.getCdnFile#2000bcc3 file_token:bytes offset:int limit:int = upload.CdnFile;
upload.reuploadCdnFile#2e7a2020 file_token:bytes request_token:bytes = Bool;
help.getConfig#c4f9186b = Config;
help.getNearestDc#1fb33026 = NearestDc;
@@ -974,9 +1086,10 @@ help.getAppUpdate#ae2de196 = help.AppUpdate;
help.saveAppLog#6f02f748 events:Vector<InputAppEvent> = Bool;
help.getInviteText#4d392343 = help.InviteText;
help.getSupport#9cdf08cd = help.Support;
help.getAppChangelog#b921197a = help.AppChangelog;
help.getAppChangelog#9010ef6f prev_app_version:string = Updates;
help.getTermsOfService#350170f3 = help.TermsOfService;
help.setBotUpdatesStatus#ec22cfcd pending_updates_count:int message:string = Bool;
help.getCdnConfig#52029342 = CdnConfig;
channels.readHistory#cc104937 channel:InputChannel max_id:int = Bool;
channels.deleteMessages#84c1fd4e channel:InputChannel id:Vector<int> = messages.AffectedMessages;
@@ -989,7 +1102,7 @@ channels.getChannels#a7f6bbb id:Vector<InputChannel> = messages.Chats;
channels.getFullChannel#8736a09 channel:InputChannel = messages.ChatFull;
channels.createChannel#f4893d7f flags:# broadcast:flags.0?true megagroup:flags.1?true title:string about:string = Updates;
channels.editAbout#13e27f1e channel:InputChannel about:string = Bool;
channels.editAdmin#eb7611d0 channel:InputChannel user_id:InputUser role:ChannelParticipantRole = Updates;
channels.editAdmin#20b88214 channel:InputChannel user_id:InputUser admin_rights:ChannelAdminRights = Updates;
channels.editTitle#566decd0 channel:InputChannel title:string = Updates;
channels.editPhoto#f12e57c9 channel:InputChannel photo:InputChatPhoto = Updates;
channels.checkUsername#10e6bd2c channel:InputChannel username:string = Bool;
@@ -997,7 +1110,6 @@ channels.updateUsername#3514b3de channel:InputChannel username:string = Bool;
channels.joinChannel#24b524c5 channel:InputChannel = Updates;
channels.leaveChannel#f836aa95 channel:InputChannel = Updates;
channels.inviteToChannel#199f3a6c channel:InputChannel users:Vector<InputUser> = Updates;
channels.kickFromChannel#a672de14 channel:InputChannel user_id:InputUser kicked:Bool = Updates;
channels.exportInvite#c7560885 channel:InputChannel = ExportedChatInvite;
channels.deleteChannel#c0111fe3 channel:InputChannel = Updates;
channels.toggleInvites#49609307 channel:InputChannel enabled:Bool = Updates;
@@ -1005,10 +1117,36 @@ channels.exportMessageLink#c846d22d channel:InputChannel id:int = ExportedMessag
channels.toggleSignatures#1f69b606 channel:InputChannel enabled:Bool = Updates;
channels.updatePinnedMessage#a72ded52 flags:# silent:flags.0?true channel:InputChannel id:int = Updates;
channels.getAdminedPublicChannels#8d8d82d7 = messages.Chats;
channels.editBanned#bfd915cd channel:InputChannel user_id:InputUser banned_rights:ChannelBannedRights = Updates;
channels.getAdminLog#33ddf480 flags:# channel:InputChannel q:string events_filter:flags.0?ChannelAdminLogEventsFilter admins:flags.1?Vector<InputUser> max_id:long min_id:long limit:int = channels.AdminLogResults;
phone.requestCall#a41aa5e4 user_id:InputUser random_id:int g_a:bytes protocol:PhoneCallProtocol = phone.PhoneCall;
phone.acceptCall#220f0b20 peer:InputPhoneCall g_b:bytes key_fingerprint:long protocol:PhoneCallProtocol = phone.PhoneCall;
phone.discardCall#5dfbcddc peer:InputPhoneCall duration:int reason:PhoneCallDiscardReason connection_id:long = Bool;
bots.sendCustomRequest#aa2769ed custom_method:string params:DataJSON = DataJSON;
bots.answerWebhookJSONQuery#e6213f4d query_id:long data:DataJSON = Bool;
payments.getPaymentForm#99f09745 msg_id:int = payments.PaymentForm;
payments.getPaymentReceipt#a092a980 msg_id:int = payments.PaymentReceipt;
payments.validateRequestedInfo#770a8e74 flags:# save:flags.0?true msg_id:int info:PaymentRequestedInfo = payments.ValidatedRequestedInfo;
payments.sendPaymentForm#2b8879b3 flags:# msg_id:int requested_info_id:flags.0?string shipping_option_id:flags.1?string credentials:InputPaymentCredentials = payments.PaymentResult;
payments.getSavedInfo#227d824b = payments.SavedInfo;
payments.clearSavedInfo#d83d70c1 flags:# credentials:flags.0?true info:flags.1?true = Bool;
stickers.createStickerSet#9bd86e6a flags:# masks:flags.0?true user_id:InputUser title:string short_name:string stickers:Vector<InputStickerSetItem> = messages.StickerSet;
stickers.removeStickerFromSet#4255934 sticker:InputDocument = Bool;
stickers.changeStickerPosition#4ed705ca sticker:InputDocument position:int = Bool;
stickers.addStickerToSet#8653febe stickerset:InputStickerSet sticker:InputStickerSetItem = messages.StickerSet;
phone.getCallConfig#55451fa9 = DataJSON;
phone.requestCall#5b95b3d4 user_id:InputUser random_id:int g_a_hash:bytes protocol:PhoneCallProtocol = phone.PhoneCall;
phone.acceptCall#3bd2b4a0 peer:InputPhoneCall g_b:bytes protocol:PhoneCallProtocol = phone.PhoneCall;
phone.confirmCall#2efe1722 peer:InputPhoneCall g_a:bytes key_fingerprint:long protocol:PhoneCallProtocol = phone.PhoneCall;
phone.receivedCall#17d54f61 peer:InputPhoneCall = Bool;
phone.discardCall#78d413a6 peer:InputPhoneCall duration:int reason:PhoneCallDiscardReason connection_id:long = Updates;
phone.setCallRating#1c536a34 peer:InputPhoneCall rating:int comment:string = Updates;
phone.saveCallDebug#277add7e peer:InputPhoneCall debug:DataJSON = Bool;
// LAYER 62
langpack.getLangPack#9ab5c58e lang_code:string = LangPackDifference;
langpack.getStrings#2e1ee318 lang_code:string keys:Vector<string> = Vector<LangPackString>;
langpack.getDifference#b2e4d7d from_version:int = LangPackDifference;
langpack.getLanguages#800fd57d = Vector<LangPackLanguage>;
// LAYER 68

Some files were not shown because too many files have changed in this diff Show More