Compare commits
454 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59100a51c6 | ||
|
|
bf0f956325 | ||
|
|
132d884600 | ||
|
|
b4d10ca693 | ||
|
|
38a99c4669 | ||
|
|
e2b212dba9 | ||
|
|
c1598ff4ed | ||
|
|
299143108b | ||
|
|
0339b1b54b | ||
|
|
9f7c45e35c | ||
|
|
966dcd5509 | ||
|
|
52f7c8f064 | ||
|
|
b88a49d2f8 | ||
|
|
0eb2d28d90 | ||
|
|
185bdb6704 | ||
|
|
206dcd1102 | ||
|
|
8a60658af7 | ||
|
|
0b77c0bce8 | ||
|
|
983a13f66b | ||
|
|
820b07b2bc | ||
|
|
0496a52cdd | ||
|
|
9da9775043 | ||
|
|
e3ddac1686 | ||
|
|
8d02d81a9a | ||
|
|
565b56fb5f | ||
|
|
040ee90aec | ||
|
|
843f983051 | ||
|
|
9dfd7f4ba9 | ||
|
|
b74dea8662 | ||
|
|
7593be4361 | ||
|
|
5fe75fbd5f | ||
|
|
d581e00299 | ||
|
|
3f2bed8a92 | ||
|
|
ba1f1af83e | ||
|
|
8bb4d31409 | ||
|
|
0557eeddbd | ||
|
|
c438692d49 | ||
|
|
086684ca69 | ||
|
|
d6a919c372 | ||
|
|
8a4a7897a0 | ||
|
|
e99739ca0e | ||
|
|
96062039c7 | ||
|
|
c78cc331d1 | ||
|
|
061bd109d2 | ||
|
|
e7dcd5ab15 | ||
|
|
530a385d4e | ||
|
|
23874a0a26 | ||
|
|
3b46382550 | ||
|
|
b3d5ac1660 | ||
|
|
622fbdb64b | ||
|
|
d0afe83beb | ||
|
|
771bba4e01 | ||
|
|
ded6933867 | ||
|
|
2214e980ef | ||
|
|
299dc3fc96 | ||
|
|
0a6e012e90 | ||
|
|
96a0fcb28f | ||
|
|
fd24aff6b1 | ||
|
|
2e816f2a67 | ||
|
|
6f89d01452 | ||
|
|
11525a1e50 | ||
|
|
5f2e295d63 | ||
|
|
0cdac83f8a | ||
|
|
e050e270fc | ||
|
|
29fc69ebaa | ||
|
|
f42f79ea95 | ||
|
|
d5ff728da6 | ||
|
|
a3252c13d7 | ||
|
|
30d000e139 | ||
|
|
f4911431d5 | ||
|
|
28c0e815b3 | ||
|
|
c4f90983af | ||
|
|
06b081f509 | ||
|
|
f6eb2c5205 | ||
|
|
60ac7572af | ||
|
|
b267957abe | ||
|
|
4925af69e2 | ||
|
|
0a716036c2 | ||
|
|
d18164bc51 | ||
|
|
d78523e905 | ||
|
|
3156dc0f1a | ||
|
|
038361a1e9 | ||
|
|
b71a901182 | ||
|
|
caf2e19d27 | ||
|
|
aedf85c965 | ||
|
|
a7e695d914 | ||
|
|
291a6b73ab | ||
|
|
475f0e9544 | ||
|
|
bf659938ba | ||
|
|
392ab20a47 | ||
|
|
33f59dd3ec | ||
|
|
aedbd6dfe4 | ||
|
|
5a8ce36181 | ||
|
|
10b7d7c473 | ||
|
|
7fedf24d9e | ||
|
|
5ed698ac69 | ||
|
|
297856db32 | ||
|
|
6418c9c718 | ||
|
|
413eafb240 | ||
|
|
4c2a0fa630 | ||
|
|
a925822141 | ||
|
|
cd6a189990 | ||
|
|
07a274f927 | ||
|
|
eb240defa3 | ||
|
|
4659b664e7 | ||
|
|
d2c6de3df6 | ||
|
|
e8a3535c74 | ||
|
|
46690da488 | ||
|
|
f11c76d06b | ||
|
|
e57b5a7a47 | ||
|
|
5ec758637d | ||
|
|
33ffa0715d | ||
|
|
8f719f8c06 | ||
|
|
da0387a23e | ||
|
|
9eea4fcf03 | ||
|
|
5efc334a04 | ||
|
|
6fa3122bb6 | ||
|
|
71e653db30 | ||
|
|
bc1eff83cb | ||
|
|
f4edb7ada5 | ||
|
|
e83dd2037a | ||
|
|
f619afc4c6 | ||
|
|
7ad7028880 | ||
|
|
8e241e8b78 | ||
|
|
6226cf2809 | ||
|
|
7312114b75 | ||
|
|
0ff299758a | ||
|
|
de7c886008 | ||
|
|
e3aacc8072 | ||
|
|
4fc2c18f58 | ||
|
|
8a8e101cd0 | ||
|
|
c10dee11e8 | ||
|
|
4e5c4a462b | ||
|
|
bc7139d67a | ||
|
|
bf0bf908c2 | ||
|
|
dd005d9027 | ||
|
|
670a725c53 | ||
|
|
af28e3b0d7 | ||
|
|
ca90b8b8fd | ||
|
|
7b7b9db20b | ||
|
|
96dbb38aaa | ||
|
|
1b7777e3a0 | ||
|
|
5480a63beb | ||
|
|
cbf040b4dc | ||
|
|
8eb7f1f1aa | ||
|
|
8d28d0691f | ||
|
|
7dd24a30b5 | ||
|
|
1725927aea | ||
|
|
50ea4e316e | ||
|
|
734b426518 | ||
|
|
232d3dcb54 | ||
|
|
eaf1e2b18e | ||
|
|
4b7e5750ec | ||
|
|
d4af14041c | ||
|
|
b736d45bc4 | ||
|
|
7f7318c0bf | ||
|
|
0e2c282476 | ||
|
|
891d200e2d | ||
|
|
647ea44881 | ||
|
|
2c81014188 | ||
|
|
6c4943de97 | ||
|
|
f1d97fb92c | ||
|
|
26b05cf844 | ||
|
|
155cd8ce42 | ||
|
|
330fc35800 | ||
|
|
570cd9bdfa | ||
|
|
cd3c5e4ade | ||
|
|
38f94c63e9 | ||
|
|
34ab04cbe6 | ||
|
|
6b242a982b | ||
|
|
0d0307e175 | ||
|
|
835b1801bc | ||
|
|
5444b8166c | ||
|
|
c94a88e154 | ||
|
|
b185af6f0c | ||
|
|
8504bbb9d5 | ||
|
|
b2f1177661 | ||
|
|
6746d4ba2d | ||
|
|
0f7567970c | ||
|
|
7b7df23e3b | ||
|
|
252a6f9d5a | ||
|
|
a1adf2dae6 | ||
|
|
f4d1cdf14d | ||
|
|
22d905b39c | ||
|
|
58bbc3f537 | ||
|
|
03a59b04be | ||
|
|
2028116e22 | ||
|
|
244361b5c6 | ||
|
|
7e680624a0 | ||
|
|
3304ad7222 | ||
|
|
4384c80961 | ||
|
|
15befa98c4 | ||
|
|
b7ea15b83d | ||
|
|
3915957612 | ||
|
|
20ad611924 | ||
|
|
57b85ac30f | ||
|
|
81375a05f1 | ||
|
|
50586eb06d | ||
|
|
afa9393f38 | ||
|
|
c1aa1c5a0f | ||
|
|
78d245c02c | ||
|
|
ffc9585196 | ||
|
|
6003ac2132 | ||
|
|
0cdd0a9ff9 | ||
|
|
7a7f157a8e | ||
|
|
f1718f1d10 | ||
|
|
a1b53f07d5 | ||
|
|
e8ed307278 | ||
|
|
0690c4f98c | ||
|
|
6d27172b20 | ||
|
|
bed3aa1a7f | ||
|
|
477f175f76 | ||
|
|
1540f6f528 | ||
|
|
3d846fcd49 | ||
|
|
5cb66c99bd | ||
|
|
8d4be19952 | ||
|
|
cdca00368f | ||
|
|
8884cb190a | ||
|
|
df6972eeba | ||
|
|
2a805853ec | ||
|
|
f0ab72ffbc | ||
|
|
a851497bbf | ||
|
|
e6d94b5ee7 | ||
|
|
23f23e3ca5 | ||
|
|
dde63a9047 | ||
|
|
5bb68cfd8f | ||
|
|
70b6335b11 | ||
|
|
47c5d56c7b | ||
|
|
fde769e0b9 | ||
|
|
23b39923ad | ||
|
|
a7d0473a1a | ||
|
|
12ca6f3819 | ||
|
|
31e3c6a2c6 | ||
|
|
7b5985445c | ||
|
|
2019c24e08 | ||
|
|
0cc7cdd212 | ||
|
|
16396b5d90 | ||
|
|
5666f14829 | ||
|
|
d41372dccd | ||
|
|
2e6c15ff9d | ||
|
|
0ce6e8a33a | ||
|
|
be659e2611 | ||
|
|
47044ab25e | ||
|
|
731e53bc99 | ||
|
|
e38d683979 | ||
|
|
e9ec09b91a | ||
|
|
7fcc5d649c | ||
|
|
6601a00eea | ||
|
|
743743ca10 | ||
|
|
bd121752f1 | ||
|
|
facc729234 | ||
|
|
a5df46f381 | ||
|
|
5530172add | ||
|
|
59636ac072 | ||
|
|
12cbf78191 | ||
|
|
0a40bf2071 | ||
|
|
7546245213 | ||
|
|
fc77b0a51c | ||
|
|
346daee421 | ||
|
|
61c5b45d7a | ||
|
|
85fd117675 | ||
|
|
a563cf553c | ||
|
|
18151359f3 | ||
|
|
16fa56de48 | ||
|
|
412d3f8350 | ||
|
|
6ad2cd38ed | ||
|
|
d91a2403b0 | ||
|
|
1027bd431a | ||
|
|
fed20435ad | ||
|
|
b2ac84c8c6 | ||
|
|
8c06b08f30 | ||
|
|
2ce2a14228 | ||
|
|
46dab1a6b4 | ||
|
|
805be84bff | ||
|
|
b1ee91b06b | ||
|
|
6873d53993 | ||
|
|
929c55a2a1 | ||
|
|
2e17b480a5 | ||
|
|
1395237810 | ||
|
|
bc254228c9 | ||
|
|
f2cd364e14 | ||
|
|
28ae5fd65c | ||
|
|
493ba6f2cd | ||
|
|
f2465eba73 | ||
|
|
1df955e30a | ||
|
|
02da80439b | ||
|
|
3b373e236e | ||
|
|
839bf313cf | ||
|
|
6061d9d65b | ||
|
|
021454dbd4 | ||
|
|
f6918feea3 | ||
|
|
6c00b7efde | ||
|
|
a1b53c660e | ||
|
|
9ed8cbe2d1 | ||
|
|
eaae662b7d | ||
|
|
7da52bd3ec | ||
|
|
e4f7b3c7c2 | ||
|
|
ee45bbe4c6 | ||
|
|
5aab168b3e | ||
|
|
ce8d68fc8c | ||
|
|
6d216042e6 | ||
|
|
a5c83467d6 | ||
|
|
b5d9eee489 | ||
|
|
ed3b2cc017 | ||
|
|
f663a2bf08 | ||
|
|
ec0c3c5f82 | ||
|
|
d3af60ff0b | ||
|
|
ae977044f6 | ||
|
|
6d80471fc9 | ||
|
|
b80dd99172 | ||
|
|
6456a83a22 | ||
|
|
9510492174 | ||
|
|
a441a9fca9 | ||
|
|
81790b2271 | ||
|
|
b14ba398e6 | ||
|
|
e88305d984 | ||
|
|
31009b19c6 | ||
|
|
83720d8789 | ||
|
|
b0dbe9d353 | ||
|
|
08167a6a91 | ||
|
|
12bbd971b3 | ||
|
|
0838d21a05 | ||
|
|
f48d6dc464 | ||
|
|
4b8cc3d355 | ||
|
|
6576959948 | ||
|
|
3da0af3550 | ||
|
|
195d3d13d7 | ||
|
|
701acace21 | ||
|
|
bc76f5ee1e | ||
|
|
5f5770dd46 | ||
|
|
fb230a443e | ||
|
|
a4a7a77abd | ||
|
|
12705c9065 | ||
|
|
f8318177b9 | ||
|
|
6f0cf30b12 | ||
|
|
ae08a2f697 | ||
|
|
a5eb5a6ea2 | ||
|
|
d254058690 | ||
|
|
2fa2fa41c5 | ||
|
|
3f8e822621 | ||
|
|
6c3e1568da | ||
|
|
fb2a26fb35 | ||
|
|
6c2f16e9a0 | ||
|
|
ce0045ff70 | ||
|
|
87445ccf8c | ||
|
|
46651ab945 | ||
|
|
4838d1bfc9 | ||
|
|
e8b03248e1 | ||
|
|
dcd6028e91 | ||
|
|
5195b4d3ef | ||
|
|
692d115313 | ||
|
|
c207743338 | ||
|
|
f82989c9c3 | ||
|
|
c48ed2e62b | ||
|
|
d1e37864ac | ||
|
|
bcec2f6b84 | ||
|
|
6b70cc342a | ||
|
|
7d89b54d1c | ||
|
|
dd933cf61c | ||
|
|
c3b3819d9f | ||
|
|
63c61637f8 | ||
|
|
a35947141c | ||
|
|
90b3b5c3e5 | ||
|
|
21efb44e81 | ||
|
|
e6672432bb | ||
|
|
8c63feb11e | ||
|
|
68e35a6cad | ||
|
|
dbd4eaed48 | ||
|
|
9e4b752830 | ||
|
|
958d3b7c15 | ||
|
|
30ae322cf0 | ||
|
|
755325fef3 | ||
|
|
ffc557a0f9 | ||
|
|
27f015561a | ||
|
|
228e2f7031 | ||
|
|
afc98f03fa | ||
|
|
7fa1986b27 | ||
|
|
f7448bbc7f | ||
|
|
5939c54d33 | ||
|
|
d408fca96f | ||
|
|
2a1219679f | ||
|
|
120e21c126 | ||
|
|
d1d9e29ca5 | ||
|
|
bcf01cf718 | ||
|
|
daa934014c | ||
|
|
ef535ca026 | ||
|
|
843089733b | ||
|
|
6e1b6e6e53 | ||
|
|
4232fa2f6e | ||
|
|
746d58e453 | ||
|
|
f2e69d2621 | ||
|
|
8ffdfa7923 | ||
|
|
89f3b45888 | ||
|
|
a2774848ba | ||
|
|
36fc7d1991 | ||
|
|
8060c7e141 | ||
|
|
b7c4e867e8 | ||
|
|
d259656e89 | ||
|
|
540ba9bfaf | ||
|
|
0411f05c39 | ||
|
|
54c409d967 | ||
|
|
b76e5853a8 | ||
|
|
e071e2cf6f | ||
|
|
bff74452b7 | ||
|
|
c0c7b39375 | ||
|
|
695733f520 | ||
|
|
7adfe93a8d | ||
|
|
8d354382a4 | ||
|
|
5ac51efb3e | ||
|
|
e2cdb8a9ed | ||
|
|
9757489645 | ||
|
|
902dee0c2a | ||
|
|
25f90b5159 | ||
|
|
232ed0a7c0 | ||
|
|
25583fa813 | ||
|
|
61b55706ae | ||
|
|
d3420b6a92 | ||
|
|
e922e5be39 | ||
|
|
296c800b39 | ||
|
|
c39bf239ea | ||
|
|
2ab3cda743 | ||
|
|
a627ed0929 | ||
|
|
8b503d4930 | ||
|
|
6e833baf91 | ||
|
|
3dbe187f56 | ||
|
|
e569b8c5f9 | ||
|
|
2becd307df | ||
|
|
3c18532612 | ||
|
|
2f85997c9f | ||
|
|
e8ead2974b | ||
|
|
bb7730eee1 | ||
|
|
0518a456f8 | ||
|
|
8e3274cd8f | ||
|
|
cce99a96ac | ||
|
|
b84abbec08 | ||
|
|
be87118778 | ||
|
|
27a4d0f029 | ||
|
|
b842761ea3 | ||
|
|
60f45ab9b3 | ||
|
|
5f0741a0a5 | ||
|
|
ed4b9bc40b | ||
|
|
51a6ec0952 | ||
|
|
686abd63b5 | ||
|
|
da2191e9d5 | ||
|
|
33d2ec0f54 | ||
|
|
6df0591e82 | ||
|
|
d1b9b8e3a3 | ||
|
|
b21f72fef0 | ||
|
|
697fdd4294 | ||
|
|
4964b8b488 | ||
|
|
6ae68b337d | ||
|
|
28899a642b | ||
|
|
4518e94c8a | ||
|
|
59b0b0659a |
30
.appveyor/check.bat
Normal 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
@@ -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
@@ -3,3 +3,4 @@
|
||||
|
||||
# Ensure diffs have LF endings
|
||||
*.diff text eol=lf
|
||||
*.bat text eol=crlf
|
||||
|
||||
15
.github/CONTRIBUTING.md
vendored
@@ -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/
|
||||
|
||||
9
.github/ISSUE_TEMPLATE.md
vendored
@@ -19,8 +19,11 @@ Tell us what happens instead
|
||||
|
||||
**Version of Telegram Desktop:**
|
||||
|
||||
### Logs
|
||||
**Used theme**:
|
||||
|
||||
<details><summary>**Logs**:</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>
|
||||
|
||||
9
.gitmodules
vendored
Normal 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
|
||||
11
.travis.yml
@@ -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
|
||||
|
||||
|
||||
@@ -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,6 +620,7 @@ 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 \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}"
|
||||
}
|
||||
|
||||
54
README.md
@@ -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.
|
||||
|
||||
[](https://badge.fury.io/gh/telegramdesktop%2Ftdesktop)
|
||||
[](https://travis-ci.org/telegramdesktop/tdesktop)
|
||||
[](https://github.com/telegramdesktop/tdesktop/releases)
|
||||
[](https://travis-ci.org/telegramdesktop/tdesktop)
|
||||
[](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
|
||||
|
||||
20
Telegram/Patches/macold/crashpad.diff
Normal 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',
|
||||
+ ],
|
||||
},
|
||||
}
|
||||
26
Telegram/Patches/macold/mini_chromium.diff
Normal 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"', {
|
||||
@@ -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 {
|
||||
@@ -11505,7 +11505,7 @@ index 8152c57..5ddd7b3 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
|
||||
index c0d5904..2991fca 100644
|
||||
index c0d5904..f3c2047 100644
|
||||
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
|
||||
@@ -141,7 +141,8 @@ static bool isMouseEvent(NSEvent *ev)
|
||||
@@ -11518,7 +11518,24 @@ index c0d5904..2991fca 100644
|
||||
NSPoint loc = [theEvent locationInWindow];
|
||||
NSRect windowFrame = [self.window convertRectFromScreen:[self.window frame]];
|
||||
NSRect contentFrame = [[self.window contentView] frame];
|
||||
@@ -943,6 +944,19 @@ void QCocoaWindow::setWindowFilePath(const QString &filePath)
|
||||
@@ -811,6 +812,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) {
|
||||
@@ -943,6 +954,19 @@ void QCocoaWindow::setWindowFilePath(const QString &filePath)
|
||||
[m_nsWindow setRepresentedFilename: fi.exists() ? QCFString::toNSString(filePath) : @""];
|
||||
}
|
||||
|
||||
@@ -11538,7 +11555,7 @@ index c0d5904..2991fca 100644
|
||||
void QCocoaWindow::setWindowIcon(const QIcon &icon)
|
||||
{
|
||||
QMacAutoReleasePool pool;
|
||||
@@ -958,7 +972,9 @@ void QCocoaWindow::setWindowIcon(const QIcon &icon)
|
||||
@@ -958,7 +982,9 @@ void QCocoaWindow::setWindowIcon(const QIcon &icon)
|
||||
if (icon.isNull()) {
|
||||
[iconButton setImage:nil];
|
||||
} else {
|
||||
|
||||
|
Before Width: | Height: | Size: 762 KiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 2.3 MiB |
|
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 3.2 MiB |
BIN
Telegram/Resources/art/logo_256.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
@@ -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 {
|
||||
@@ -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;
|
||||
@@ -268,8 +303,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 +310,5 @@ notifyFadeRight: icon {{ "fade_horizontal", notificationBg }};
|
||||
|
||||
stickerIconLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanCategories }};
|
||||
stickerIconRight: icon {{ "fade_horizontal", emojiPanCategories }};
|
||||
|
||||
transparentPlaceholderSize: 4px;
|
||||
|
||||
@@ -21,468 +21,527 @@ 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)
|
||||
filterInputInactiveBg: windowBgOver; // default rounded input field background (like in chats list search field when field is inactive)
|
||||
checkboxFg: #b3b3b3; // default unchecked checkbox rounded rectangle (and also emoji category icons)
|
||||
|
||||
sliderBgInactive: #e1eaef;
|
||||
sliderBgActive: windowBgActive;
|
||||
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;
|
||||
tooltipFg: #5d6c80;
|
||||
tooltipBorderFg: #c9d1db;
|
||||
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;
|
||||
dialogsRippleBgActive: activeButtonBgRipple;
|
||||
|
||||
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
|
||||
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;
|
||||
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)
|
||||
|
||||
msgWaveformInActive: windowBgActive;
|
||||
msgWaveformInActiveSelected: #51a3d3;
|
||||
msgWaveformInInactive: #d4dee6;
|
||||
msgWaveformInInactiveSelected: #9cc1e1;
|
||||
msgWaveformOutActive: #78c67f;
|
||||
msgWaveformOutActiveSelected: #6badad;
|
||||
msgWaveformOutInactive: #b3e2b4;
|
||||
msgWaveformOutInactiveSelected: #91c3c3;
|
||||
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
|
||||
|
||||
msgBotKbOverBgAdd: #ffffff20;
|
||||
msgBotKbIconFg: msgServiceFg;
|
||||
msgBotKbRippleBg: #00000020;
|
||||
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)
|
||||
|
||||
mediaInFg: msgInDateFg;
|
||||
mediaInFgSelected: msgInDateFgSelected;
|
||||
mediaOutFg: msgOutDateFg;
|
||||
mediaOutFgSelected: msgOutDateFgSelected;
|
||||
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)
|
||||
|
||||
youtubePlayIconBg: #e83131c8;
|
||||
youtubePlayIconFg: windowFgActive;
|
||||
videoPlayIconBg: #0000007f;
|
||||
videoPlayIconFg: #ffffff;
|
||||
toastBg: #000000b2;
|
||||
toastFg: windowFgActive;
|
||||
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)
|
||||
|
||||
reportSpamBg: emojiPanHeaderBg;
|
||||
reportSpamFg: windowFg;
|
||||
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
|
||||
|
||||
historyToDownBg: windowBg;
|
||||
historyToDownBgOver: windowBgOver;
|
||||
historyToDownBgRipple: windowBgRipple;
|
||||
historyToDownFg: menuIconFg;
|
||||
historyToDownFgOver: menuIconFgOver;
|
||||
historyToDownShadow: #00000040;
|
||||
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
|
||||
|
||||
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;
|
||||
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 files / links checkbox background for not selected rows when some rows are selected
|
||||
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 admin star icon
|
||||
|
||||
// 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;
|
||||
|
||||
@@ -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;
|
||||
BIN
Telegram/Resources/icons/call_answer.png
Normal file
|
After Width: | Height: | Size: 456 B |
BIN
Telegram/Resources/icons/call_answer@2x.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
Telegram/Resources/icons/call_arrow_in.png
Normal file
|
After Width: | Height: | Size: 209 B |
BIN
Telegram/Resources/icons/call_arrow_in@2x.png
Normal file
|
After Width: | Height: | Size: 306 B |
BIN
Telegram/Resources/icons/call_arrow_out.png
Normal file
|
After Width: | Height: | Size: 211 B |
BIN
Telegram/Resources/icons/call_arrow_out@2x.png
Normal file
|
After Width: | Height: | Size: 298 B |
BIN
Telegram/Resources/icons/call_discard.png
Normal file
|
After Width: | Height: | Size: 405 B |
BIN
Telegram/Resources/icons/call_discard@2x.png
Normal file
|
After Width: | Height: | Size: 736 B |
BIN
Telegram/Resources/icons/call_rating.png
Normal file
|
After Width: | Height: | Size: 666 B |
BIN
Telegram/Resources/icons/call_rating@2x.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
Telegram/Resources/icons/call_rating_filled.png
Normal file
|
After Width: | Height: | Size: 560 B |
BIN
Telegram/Resources/icons/call_rating_filled@2x.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Telegram/Resources/icons/call_record_active.png
Normal file
|
After Width: | Height: | Size: 412 B |
BIN
Telegram/Resources/icons/call_record_active@2x.png
Normal file
|
After Width: | Height: | Size: 800 B |
BIN
Telegram/Resources/icons/call_record_muted.png
Normal file
|
After Width: | Height: | Size: 459 B |
BIN
Telegram/Resources/icons/call_record_muted@2x.png
Normal file
|
After Width: | Height: | Size: 843 B |
BIN
Telegram/Resources/icons/call_shadow_left.png
Normal file
|
After Width: | Height: | Size: 100 B |
BIN
Telegram/Resources/icons/call_shadow_left@2x.png
Normal file
|
After Width: | Height: | Size: 125 B |
BIN
Telegram/Resources/icons/call_shadow_top.png
Normal file
|
After Width: | Height: | Size: 103 B |
BIN
Telegram/Resources/icons/call_shadow_top@2x.png
Normal file
|
After Width: | Height: | Size: 127 B |
BIN
Telegram/Resources/icons/call_shadow_top_left.png
Normal file
|
After Width: | Height: | Size: 295 B |
BIN
Telegram/Resources/icons/call_shadow_top_left@2x.png
Normal file
|
After Width: | Height: | Size: 559 B |
BIN
Telegram/Resources/icons/color_slider_arrow.png
Normal file
|
After Width: | Height: | Size: 152 B |
BIN
Telegram/Resources/icons/color_slider_arrow@2x.png
Normal file
|
After Width: | Height: | Size: 193 B |
BIN
Telegram/Resources/icons/color_slider_arrow_vertical.png
Normal file
|
After Width: | Height: | Size: 175 B |
BIN
Telegram/Resources/icons/color_slider_arrow_vertical@2x.png
Normal file
|
After Width: | Height: | Size: 236 B |
BIN
Telegram/Resources/icons/dialogs_calendar.png
Normal file
|
After Width: | Height: | Size: 209 B |
BIN
Telegram/Resources/icons/dialogs_calendar@2x.png
Normal file
|
After Width: | Height: | Size: 275 B |
|
Before Width: | Height: | Size: 518 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
BIN
Telegram/Resources/icons/menu_calls.png
Normal file
|
After Width: | Height: | Size: 399 B |
BIN
Telegram/Resources/icons/menu_calls@2x.png
Normal file
|
After Width: | Height: | Size: 793 B |
BIN
Telegram/Resources/icons/menu_cloud.png
Normal file
|
After Width: | Height: | Size: 302 B |
BIN
Telegram/Resources/icons/menu_cloud@2x.png
Normal file
|
After Width: | Height: | Size: 558 B |
BIN
Telegram/Resources/icons/phone_simcard_from.png
Normal file
|
After Width: | Height: | Size: 746 B |
BIN
Telegram/Resources/icons/phone_simcard_from@2x.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
Telegram/Resources/icons/phone_simcard_migrate.png
Normal file
|
After Width: | Height: | Size: 567 B |
BIN
Telegram/Resources/icons/phone_simcard_migrate@2x.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
Telegram/Resources/icons/phone_simcard_to.png
Normal file
|
After Width: | Height: | Size: 868 B |
BIN
Telegram/Resources/icons/phone_simcard_to@2x.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
Telegram/Resources/icons/volume_mute.png
Normal file
|
After Width: | Height: | Size: 147 B |
BIN
Telegram/Resources/icons/volume_mute@2x.png
Normal file
|
After Width: | Height: | Size: 206 B |
@@ -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
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ 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";
|
||||
@@ -79,7 +80,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";
|
||||
|
||||
@@ -128,12 +129,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_public_groups_denied" = "Unfortunately, you were banned from participating in public groups.\n{more_info}";
|
||||
|
||||
"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?";
|
||||
@@ -224,7 +226,6 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_settings_crop_profile" = "Select a square 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,6 +297,7 @@ 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";
|
||||
|
||||
@@ -403,7 +405,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 +438,62 @@ 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" = "Always share with{count:| # user| # users}";
|
||||
"lng_edit_privacy_lastseen_never" = "Never share with{count:| # user| # 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" = "Always allow{count:| # user| # users}";
|
||||
"lng_edit_privacy_groups_never" = "Never allow{count:| # user| # 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" = "Always allow{count:| # user| # users}";
|
||||
"lng_edit_privacy_calls_never" = "Never allow{count:| # user| # 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" = "{count:_not_used_|# month|# months}";
|
||||
"lng_self_destruct_years" = "{count:_not_used_|# year|# 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,6 +507,7 @@ 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_manage_blocklist" = "Manage blocked users";
|
||||
"lng_profile_common_groups" = "{count:_not_used_|# group|# groups} in common";
|
||||
"lng_profile_common_groups_section" = "Groups in common";
|
||||
"lng_profile_participants_section" = "Members";
|
||||
@@ -520,6 +587,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_group_blocked_list_about" = "Blocked 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.";
|
||||
"lng_chat_about_admins" = "Group admins can add and remove members, edit name and photo of the group.";
|
||||
@@ -568,6 +637,9 @@ 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" = "{count:_not_used_|# second|# seconds}";
|
||||
"lng_duration_minutes_seconds" = "{count_minutes:# min|# min|# min} {count_seconds:# sec|# sec|# sec}";
|
||||
|
||||
"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 +668,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";
|
||||
@@ -607,6 +680,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_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_body" = "To get over this limit, you can upgrade your group to a supergroup.";
|
||||
@@ -705,16 +780,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";
|
||||
@@ -741,6 +817,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";
|
||||
@@ -820,6 +897,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";
|
||||
@@ -1010,7 +1091,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" = "— New option to minimize the chat list into a column of profile pictures. Resize the list by clicking and dragging.\n— Fixed drag-n-drop images from Firefox on Windows.\n— Bug fixes and other minor improvements.";
|
||||
"lng_new_version_text" = "— Telegram Calls are now available on desktops: secure, crystal-clear, constantly improved by artificial intelligence.\n— The new Emoji, Stickers, and Saved GIFs panel becomes a separate space on the right when Telegram is running in a wide enough window.\n— Manage blocked users list in your supergroups.\n— Chat admins can delete messages by other members";
|
||||
|
||||
"lng_menu_insert_unicode" = "Insert Unicode control character";
|
||||
|
||||
@@ -1023,6 +1104,66 @@ 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)";
|
||||
|
||||
// Not used
|
||||
|
||||
"lng_topbar_info" = "Info";
|
||||
|
||||
@@ -22,6 +22,7 @@ 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";
|
||||
@@ -79,7 +80,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";
|
||||
|
||||
@@ -128,12 +129,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_public_groups_denied" = "Leider kannst du an keinen öffentlichen Gruppen mehr teilnehmen.\n{more_info}";
|
||||
|
||||
"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?";
|
||||
@@ -224,7 +226,6 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_settings_crop_profile" = "Sichtbaren Bereich für Bild wählen";
|
||||
"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,6 +297,7 @@ 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";
|
||||
|
||||
@@ -403,10 +405,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 +432,67 @@ 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" = "Immer teilen mit{count:| # Kontakt| # Kontakten}";
|
||||
"lng_edit_privacy_lastseen_never" = "Niemals teilen mit{count:| # Kontakt| # 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" = "Immer erlauben{count:| # Kontakt| # Kontakten}";
|
||||
"lng_edit_privacy_groups_never" = "Niemals erlauben{count:| # Kontakt| # Kontakten}";
|
||||
"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" = "Immer erlauben{count:| # Kontakt| # Kontakte}";
|
||||
"lng_edit_privacy_calls_never" = "Niemals erlauben{count:| # Kontakt| # Kontakte}";
|
||||
"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" = "{count:_not_used_|# Monat|# Monate}";
|
||||
"lng_self_destruct_years" = "{count:_not_used_|# Jahr|# 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,6 +507,7 @@ 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_manage_blocklist" = "Blockierte Nutzer verwalten";
|
||||
"lng_profile_common_groups" = "{count:_not_used_|# gemeinsame Gruppe|# gemeinsame Gruppen}";
|
||||
"lng_profile_common_groups_section" = "Gemeinsame Gruppen";
|
||||
"lng_profile_participants_section" = "Teilnehmer";
|
||||
@@ -520,6 +587,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_group_blocked_list_about" = "Blockierte Nutzer werden aus der Gruppe entfernt und können nur durch einen Admin hinzugefügt werden.\n\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.";
|
||||
"lng_chat_about_admins" = "Nur Admins können neue Leute hinzufügen und entfernen, den Gruppennamen und das Bild ändern.";
|
||||
@@ -553,7 +622,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_create_channel_crop" = "Sichtbaren Bereich für Bild wählen";
|
||||
|
||||
"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 +637,9 @@ 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" = "{count:_not_used_|# Sekunde|# Sekunden}";
|
||||
"lng_duration_minutes_seconds" = "{count_minutes:# Min|# Min|# Min} {count_seconds:# Sek|# Sek|# Sek}";
|
||||
|
||||
"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 +668,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";
|
||||
@@ -607,6 +680,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_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_body" = "Um das Limit aufzuheben, ändere die Gruppe in eine Supergruppe.";
|
||||
@@ -649,7 +724,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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";
|
||||
@@ -705,16 +780,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";
|
||||
@@ -741,6 +817,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";
|
||||
@@ -820,6 +897,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";
|
||||
@@ -847,8 +928,8 @@ 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";
|
||||
@@ -1010,7 +1091,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" = "— Chatliste lässt sich zusammenschieben, so dass man nur noch die Profilbilder sehen kann.\n— Drag und Drop von Bildern klappt wieder mit Firefox (Windows)\n— Fehlerbehebungen und sonstige Verbesserungen.";
|
||||
"lng_new_version_text" = "— Telegram Anrufe sind nun auf dem Desktop verfügbar: Sicher, kristallklar und ständige Verbesserungen durch künstliche Intelligenz.\n— Emojis, Sticker und gespeicherte GIFs werden (je nach Fenstergröße) in einem eigenen Bereich auf der rechten Seite angezeigt. Öffnen/Schliessen: Einfach das Emoji Symbol im Chat antippen.\n— Verwaltung blockierter Nutzer in Supergruppen wurde hinzugefügt.\n— Chat Admins können Nachrichten von anderen Mitgliedern löschen.";
|
||||
|
||||
"lng_menu_insert_unicode" = "Unicode-Steuerzeichen einfügen";
|
||||
|
||||
@@ -1023,6 +1104,66 @@ 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)";
|
||||
|
||||
// Not used
|
||||
|
||||
"lng_topbar_info" = "Info";
|
||||
|
||||
@@ -22,6 +22,7 @@ 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";
|
||||
@@ -79,7 +80,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";
|
||||
|
||||
@@ -128,12 +129,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_public_groups_denied" = "Lamentablemente, tienes prohibido participar en grupos públicos.\n{more_info}";
|
||||
|
||||
"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?";
|
||||
@@ -224,7 +226,6 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_settings_crop_profile" = "Selecciona el á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,6 +297,7 @@ 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";
|
||||
|
||||
@@ -343,9 +345,9 @@ 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" = "Autobloqueo";
|
||||
"lng_passcode_autolock_away" = "Autobloqueo si estoy fuera:";
|
||||
"lng_passcode_autolock_inactive" = "Autobloqueo si estoy inactivo:";
|
||||
"lng_passcode_autolock_minutes" = "{count:_not_used_|# minuto|# minutos}";
|
||||
"lng_passcode_autolock_hours" = "{count:_not_used_|# hora|# horas}";
|
||||
"lng_passcode_enter_old" = "Pon el código de acceso actual";
|
||||
@@ -403,7 +405,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 +438,62 @@ 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" = "Compartir con{count:| # usuario| # usuarios}";
|
||||
"lng_edit_privacy_lastseen_never" = "No compartir con{count:| # usuario| # 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" = "Permitir{count:| # usuario| # usuarios}";
|
||||
"lng_edit_privacy_groups_never" = "No permitir{count:| # usuario| # 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" = "Permitir{count:| # usuario| # usuarios}";
|
||||
"lng_edit_privacy_calls_never" = "No permitir{count:| # usuario| # 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" = "{count:_not_used_|# mes|# meses}";
|
||||
"lng_self_destruct_years" = "{count:_not_used_|# año|# 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,6 +507,7 @@ 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_manage_blocklist" = "Administrar usuarios bloqueados";
|
||||
"lng_profile_common_groups" = "{count:_not_used_|# grupo|# grupos} en común";
|
||||
"lng_profile_common_groups_section" = "Grupos en común";
|
||||
"lng_profile_participants_section" = "Miembros";
|
||||
@@ -520,6 +587,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_group_blocked_list_about" = "Los usuarios bloqueados son eliminados del grupo y sólo pueden volver si son invitados por un administrador.\n\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.";
|
||||
"lng_chat_about_admins" = "Sólo los administradores pueden añadir y eliminar miembros, editar el nombre y la foto del grupo.";
|
||||
@@ -568,6 +637,9 @@ 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" = "{count:_not_used_|# segundo|# segundos}";
|
||||
"lng_duration_minutes_seconds" = "{count_minutes:# min|# min|# min} {count_seconds:# s|# s|# s}";
|
||||
|
||||
"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 +668,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";
|
||||
@@ -607,6 +680,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_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_body" = "Para superar este límite, puedes convertir tu grupo en un supergrupo.";
|
||||
@@ -689,10 +764,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 +780,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";
|
||||
@@ -741,6 +817,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";
|
||||
@@ -820,6 +897,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";
|
||||
@@ -1010,7 +1091,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" = "— Nueva opción para minimizar la lista de chats en una columna de imágenes de perfil. Cambia el tamaño de la lista haciendo clic y arrastrando.\n— Arrastrar y soltar arreglado para las imágenes desde Firefox en Windows.\n— Corrección de errores y otras mejoras menores.";
|
||||
"lng_new_version_text" = "— Las llamadas de Telegram ahora están disponibles en Telegram Desktop: seguras, nítidas y constantemente mejoradas a través de la inteligencia artificial.\n— El nuevo panel de emojis, stickers y GIF se transforma en una sección separada, a la derecha cuando Telegram está siendo utilizada en una pantalla suficientemente ancha.\n— Administra los usuarios bloqueados en tus supergrupos.\n— Los administradores de chats pueden eliminar mensajes de otros miembros.";
|
||||
|
||||
"lng_menu_insert_unicode" = "Insertar caracteres de control Unicode";
|
||||
|
||||
@@ -1023,6 +1104,66 @@ 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)";
|
||||
|
||||
// Not used
|
||||
|
||||
"lng_topbar_info" = "Información";
|
||||
|
||||
@@ -19,9 +19,10 @@ 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";
|
||||
@@ -79,7 +80,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";
|
||||
|
||||
@@ -128,12 +129,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_public_groups_denied" = "Sfortunatamente, non ti è permesso partecipare ai gruppi pubblici.\n{more_info}";
|
||||
|
||||
"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?";
|
||||
@@ -208,8 +210,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...";
|
||||
@@ -224,7 +226,6 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_settings_crop_profile" = "Seleziona un riquadro 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,6 +297,7 @@ 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";
|
||||
|
||||
@@ -352,7 +354,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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,7 +405,15 @@ 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?";
|
||||
@@ -428,6 +438,62 @@ 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" = "Condividi con{count:| # utente| # utenti}";
|
||||
"lng_edit_privacy_lastseen_never" = "Non condividere con{count:| # utente| # 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" = "Consenti sempre{count:| # utente| # utenti}";
|
||||
"lng_edit_privacy_groups_never" = "Non consentire mai{count:| # utente| # 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" = "Consenti sempre{count:| # utente| # utenti}";
|
||||
"lng_edit_privacy_calls_never" = "Non consentire mai{count:| # utente| # 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" = "{count:_not_used_|# mese|# mesi}";
|
||||
"lng_self_destruct_years" = "{count:_not_used_|# anno|# 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";
|
||||
@@ -441,11 +507,12 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_profile_create_public_link" = "Crea link pubblico";
|
||||
"lng_profile_edit_public_link" = "Modifica link pubblico";
|
||||
"lng_profile_manage_admins" = "Gestisci amministratori";
|
||||
"lng_profile_manage_blocklist" = "Gestisci utenti bloccati";
|
||||
"lng_profile_common_groups" = "{count:_not_used_|# gruppo|# 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";
|
||||
@@ -520,6 +587,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_group_blocked_list_about" = "Gli utenti bloccati sono rimossi dal gruppo\ne possono rientrare solo se\ninvitati 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.";
|
||||
"lng_chat_about_admins" = "Gli amministratori possono aggiungere e rimuovere membri e modificare nome e foto del gruppo.";
|
||||
@@ -568,6 +637,9 @@ 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" = "{count:_not_used_|# secondo|# secondi}";
|
||||
"lng_duration_minutes_seconds" = "{count_minutes:# min|# min|# min} {count_seconds:# sec|# sec|# sec}";
|
||||
|
||||
"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 +668,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";
|
||||
@@ -607,6 +680,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_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_body" = "Per superare questo limite, puoi aggiornare il gruppo a supergruppo.";
|
||||
@@ -705,16 +780,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";
|
||||
@@ -741,6 +817,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";
|
||||
@@ -820,6 +897,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";
|
||||
@@ -930,7 +1011,7 @@ 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";
|
||||
@@ -989,8 +1070,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 +1087,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" = "— Nuova opzione per minimizzare la lista delle chat in una colonna di foto profilo. Ridimensiona la lista cliccando e trascinando.\n— Risolto il problema del trascinamento delle immagini da Firefox su Windows.\n— Risoluzione di problemi e altri miglioramenti minori.";
|
||||
"lng_new_version_text" = "— Le chiamate di Telegram sono ora disponibili su computer: sicure, cristalline, costantemente migliorate grazie all'intelligenza artificiale.\n— Il nuovo pannello Emoji, Sticker e GIF salvate diventa uno spazio separato sulla destra quando Telegram è attivo in una finestra abbastanza grande.\n— Gestisci gli utenti bloccati nei tuoi supergruppi.\n— Gli amministratori delle chat possono ora eliminare i messaggi per gli altri membri.";
|
||||
|
||||
"lng_menu_insert_unicode" = "Inserisci carattere di controllo Unicode";
|
||||
|
||||
@@ -1023,6 +1104,66 @@ 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)";
|
||||
|
||||
// Not used
|
||||
|
||||
"lng_topbar_info" = "Info";
|
||||
|
||||
@@ -22,6 +22,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_switch_to_this" = "한국어로 변경";
|
||||
|
||||
"lng_menu_contacts" = "주소록";
|
||||
"lng_menu_calls" = "전화";
|
||||
"lng_menu_settings" = "설정";
|
||||
"lng_menu_about" = "정보";
|
||||
"lng_menu_update" = "업데이트";
|
||||
@@ -79,7 +80,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" = "확인";
|
||||
|
||||
@@ -128,12 +129,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_error_phone_flood" = "죄송합니다, 너무 많이 계정 재가입이 최근에 이루어졌습니다. 다시 재가입까지 몇일 기다려주시기 바랍니다.";
|
||||
"lng_error_start_minimized_passcoded" = "잠금코드를 설정하였기 때문에 앱이 최소화된 상태에서 시작할 수 없습니다. 앱이 시작하기 전에 잠금코드 입력이 필요합니다.";
|
||||
"lng_error_pinned_max" = "죄송합니다, {count:_not_used_|# 대화|# 대화} 이상은 맨위 고정을 할 수 없습니다.";
|
||||
"lng_error_public_groups_denied" = "죄송하지만, 회원님은 공개그룹 참여에 제한 되었습니다.\n{more_info}";
|
||||
|
||||
"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" = "메시지를 고정 해제하시겠습니까?";
|
||||
@@ -224,7 +226,6 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_settings_crop_profile" = "프로필 사진으로 사용할 사각영역을 선택하세요";
|
||||
"lng_settings_uploading_photo" = "사진 업로드 중...";
|
||||
"lng_settings_edit" = "수정";
|
||||
|
||||
"lng_settings_drop_area_subtitle" = "프로필 사진으로 설정";
|
||||
|
||||
"lng_username_title" = "아이디";
|
||||
@@ -296,6 +297,7 @@ 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" = "와이드 스크린 레이아웃 적용";
|
||||
|
||||
@@ -403,7 +405,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 +438,62 @@ 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" = "항상 공유 {count:| # user| # users}";
|
||||
"lng_edit_privacy_lastseen_never" = "공유 안함{count:| # user| # users}";
|
||||
"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" = "항상 허용{count:| # user| # users}";
|
||||
"lng_edit_privacy_groups_never" = "허용 안함{count:| # user| # users}";
|
||||
"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" = "항상 허용{count:| # user| # users}";
|
||||
"lng_edit_privacy_calls_never" = "허용 안함{count:| # user| # users}";
|
||||
"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" = "{count:_not_used_|# 월|# 월}";
|
||||
"lng_self_destruct_years" = "{count:_not_used_|# 년|# 년}";
|
||||
|
||||
"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,6 +507,7 @@ 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_manage_blocklist" = "차단된 사용자 관리";
|
||||
"lng_profile_common_groups" = "{count:_not_used_|# 그룹|# 그룹} 공통";
|
||||
"lng_profile_common_groups_section" = "공통 그룹";
|
||||
"lng_profile_participants_section" = "사용자";
|
||||
@@ -520,6 +587,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_channel_admin_sure" = "{user}를 관리자로 추가하시겠습니까?";
|
||||
"lng_channel_admins_too_much" = "죄송합니다, 관리자의 최대허용치입니다. 다른 관리자를 삭제해주세요";
|
||||
|
||||
"lng_group_blocked_list_about" = "차단된 사용자들은 그룹에서 추방이 되며 관리자의 초대로만 재입장이 가능합니다.\n초대링크는 작동되지 않습니다.";
|
||||
|
||||
"lng_chat_all_members_admins" = "모든 구성원이 관리자입니다";
|
||||
"lng_chat_about_all_admins" = "그룹에 있는 모든 구성원은 상대 초대, 이름 및 사진을 수정할 수 있습니다.";
|
||||
"lng_chat_about_admins" = "그룹에 있는 관리자는 상대 초대, 이름 및 사진을 수정할 수 있습니다.";
|
||||
@@ -568,6 +637,9 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_message_empty" = "메시지 없음";
|
||||
"lng_message_unsupported" = "이 메시지는 텔레그램 데스크탑에서 호환이 되지 않습니다. 설정에서 최신 버전으로 업데이트를 하던가 {link}를 통하여 설치해주세요.";
|
||||
|
||||
"lng_duration_seconds" = "{count:_not_used_|# 초|# 초}";
|
||||
"lng_duration_minutes_seconds" = "{count_minutes:# 분|# 분|# 분} {count_seconds:# 초|# 초|# 초}";
|
||||
|
||||
"lng_action_add_user" = "{from} 님께서 {user} 님을 초대하셨습니다.";
|
||||
"lng_action_add_users_many" = "{from}님께서 {users}명을 초대하였습니다.";
|
||||
"lng_action_add_users_and_one" = "{accumulated}, {user}";
|
||||
@@ -596,6 +668,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" = "연락처 정보";
|
||||
@@ -607,6 +680,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_payment_done" = "{amount}만큼 {user}에게 성공적으로 전송하였습니다.";
|
||||
"lng_action_payment_done_for" = "{invoice}에 대하여 {user}에게 {amount}만큼 전송하였습니다.";
|
||||
|
||||
"lng_profile_migrate_reached" = "{count:_not_used_|# 명|# 명} 한계치에 도달 되었습니다.";
|
||||
"lng_profile_migrate_body" = "제한을 초과하고 싶으실 경우, 슈퍼그룹으로 그룹 업그레이드가 가능합니다.";
|
||||
@@ -625,7 +700,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_|# 명|# 명} 까지 추가 가능합니다.";
|
||||
|
||||
@@ -705,15 +780,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} 결과";
|
||||
|
||||
@@ -741,12 +817,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" = "신고해주셔서 감사합니다!";
|
||||
@@ -820,6 +897,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" = "파일 전송 중";
|
||||
@@ -1010,7 +1091,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— 윈도우 파이어폭스에서 이미지 드래그 후 드롭 수정\n— 버그 수정 및 일부 기능 향상";
|
||||
"lng_new_version_text" = "— 텔레그램 통화를 소개합니다:안전하고, 깨끗하며 인공지능을 통하여 지속적으로 향상됩니다. \n— 넓이가 충분할 경우 이모티콘, 스티커와 저장된 GIF 패널이 오른쪽에 별도로 패널로 표시 됩니다.\n— 슈퍼그룹에서 차단된 사용자 관리가 가능해집니다.\n— 대화방 관리자는 다른 사용자의 메시지 삭제가 가능해집니다";
|
||||
|
||||
"lng_menu_insert_unicode" = "유니코드 문자를 입력하세요.";
|
||||
|
||||
@@ -1023,6 +1104,66 @@ 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" = "의견 (선택사항)";
|
||||
|
||||
// Not used
|
||||
|
||||
"lng_topbar_info" = "정보";
|
||||
|
||||
@@ -22,6 +22,7 @@ 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";
|
||||
@@ -79,7 +80,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";
|
||||
|
||||
@@ -128,12 +129,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_public_groups_denied" = "Sorry, je mag niet meer deelnemen aan publieke groepen.\n{more_info}";
|
||||
|
||||
"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?";
|
||||
@@ -224,7 +226,6 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_settings_crop_profile" = "Kies een vierkant 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";
|
||||
@@ -278,9 +279,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,6 +297,7 @@ 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";
|
||||
|
||||
@@ -338,7 +340,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
|
||||
"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";
|
||||
@@ -366,7 +368,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";
|
||||
@@ -403,7 +405,15 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_connection_user_ph" = "Gebruikersnaam";
|
||||
"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 +438,62 @@ 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" = "Altijd delen met{count:| # gebruiker| # gebruikers}";
|
||||
"lng_edit_privacy_lastseen_never" = "Nooit delen met{count:| # gebruiker| # 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" = "Altijd toestaan{count:| # gebruiker| # gebruikers}";
|
||||
"lng_edit_privacy_groups_never" = "Nooit toestaan{count:| # gebruiker| # 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" = "Altijd toestaan{count:| # gebruiker| # gebruikers}";
|
||||
"lng_edit_privacy_calls_never" = "Nooit toestaan{count:| # gebruiker| # 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" = "{count:_not_used_|# maand|# maanden}";
|
||||
"lng_self_destruct_years" = "{count:_not_used_|# jaar|# 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,6 +507,7 @@ 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_manage_blocklist" = "Geblokkeerde gebruikers";
|
||||
"lng_profile_common_groups" = "gedeelde {count:_not_used_|# groep|# groepen}";
|
||||
"lng_profile_common_groups_section" = "Gedeelde groepen";
|
||||
"lng_profile_participants_section" = "Leden";
|
||||
@@ -520,6 +587,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_group_blocked_list_about" = "Geblokkeerde gebruikers worden verwijderd uit de groep, terugkeren kan alleen op uitnodiging van een beheerder.\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.";
|
||||
"lng_chat_about_admins" = "Beheerders mogen leden beheren en de groepsfoto of naam wijzigen.";
|
||||
@@ -568,6 +637,9 @@ 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" = "{count:_not_used_|# seconde|# seconden}";
|
||||
"lng_duration_minutes_seconds" = "{count_minutes:# min|# min|# min} {count_seconds:# sec|# sec|# sec}";
|
||||
|
||||
"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 +668,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";
|
||||
@@ -607,6 +680,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_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_body" = "Wil je een hogere limiet? Waardeer op naar een supergroep.";
|
||||
@@ -705,16 +780,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";
|
||||
@@ -741,6 +817,7 @@ 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";
|
||||
@@ -820,6 +897,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";
|
||||
@@ -1010,7 +1091,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" = "— Nieuwe optie, minimaliseer het overzicht met chats naar een overzicht van profielfoto's. Formaat wijzigen door de lijst aan te klikken en te slepen.\n— Probleem het slepen en neerzetten van afbeeldingen vanuit Firefox onder Windows opgelost.\n— Probleemoplossing en andere kleine verbeteringen.";
|
||||
"lng_new_version_text" = "— Telegram-oproepen op de desktop: veilig, glashelder geluid en constante verbeteringen dankzij kunstmatige intelligentie.\n— Het nieuwe Emoji, Stickers en opgeslagen GIF's-paneel krijgt een eigen plek aan de rechterkant als Telegram in een breed genoeg venster actief is.\n— Beheer geblokkeerde gebruikers in je supergroepen.\n— Beheerders kunnen berichten van andere leden verwijderen.";
|
||||
|
||||
"lng_menu_insert_unicode" = "Unicode-besturingsteken invoegen";
|
||||
|
||||
@@ -1023,6 +1104,66 @@ 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)";
|
||||
|
||||
// Not used
|
||||
|
||||
"lng_topbar_info" = "Info";
|
||||
|
||||
@@ -22,6 +22,7 @@ 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";
|
||||
@@ -79,7 +80,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";
|
||||
|
||||
@@ -128,12 +129,13 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_public_groups_denied" = "Infelizmente, você foi banido de participar em grupos públicos.\n{more_info}";
|
||||
|
||||
"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?";
|
||||
@@ -224,7 +226,6 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"lng_settings_crop_profile" = "Selecione uma área para a foto do 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 +297,13 @@ 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" = "Revertendo ao antigo tema em {count:_not_used_|# segundo|# segundos}.";
|
||||
"lng_theme_keep_changes" = "Manter alterações";
|
||||
"lng_theme_revert" = "Reverter";
|
||||
|
||||
@@ -403,7 +405,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 +438,62 @@ 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" = "Sempre compartilhar com{count:| # usuário| # usuários}";
|
||||
"lng_edit_privacy_lastseen_never" = "Nunca compartilhar com{count:| # usuário| # 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" = "Sempre permitir{count:| # usuário| # usuários}";
|
||||
"lng_edit_privacy_groups_never" = "Nunca permitir{count:| # usuário| # 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" = "Sempre permitir{count:| # usuário| # usuários}";
|
||||
"lng_edit_privacy_calls_never" = "Nunca permitir{count:| # usuário| # 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" = "{count:_not_used_|# mês|# meses}";
|
||||
"lng_self_destruct_years" = "{count:_not_used_|# ano|# 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,6 +507,7 @@ 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_manage_blocklist" = "Gerenciar usuários bloqueados";
|
||||
"lng_profile_common_groups" = "{count:_not_used_|# grupo|# grupos} em comum";
|
||||
"lng_profile_common_groups_section" = "Grupos em comum";
|
||||
"lng_profile_participants_section" = "Membros";
|
||||
@@ -520,6 +587,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_group_blocked_list_about" = "Usuários bloqueados 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.";
|
||||
"lng_chat_about_admins" = "Administradores podem adicionar e remover membros, editar nome e a foto do grupo.";
|
||||
@@ -568,6 +637,9 @@ 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" = "{count:_not_used_|# segundo|# segundos}";
|
||||
"lng_duration_minutes_seconds" = "{count_minutes:# min|# min|# min} {count_seconds:# seg|# seg|# seg}";
|
||||
|
||||
"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 +668,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";
|
||||
@@ -607,6 +680,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
"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_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_body" = "Para ir além desse limite, você pode converter seu grupo em um supergrupo.";
|
||||
@@ -705,16 +780,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";
|
||||
@@ -741,6 +817,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";
|
||||
@@ -820,6 +897,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";
|
||||
@@ -1010,7 +1091,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" = "— Nova opção para minimizar a lista de conversas em uma coluna com fotos de perfil. Redimensione a lista clicando e arrastando.\n— Resolvido o problema ao arrastar e soltar imagens do Firefox no Windows.\n— Resoluções de erros e melhorias menores.";
|
||||
"lng_new_version_text" = "— Chamadas do Telegram estão agora disponíveis para desktops: seguras, cristalinas e constantemente aprimoradas por inteligência artificial.\n— O novo painel de Emojis, Stickers e GIFs Salvos se torna um espaço separado à direita quando o Telegram é executado em janelas muito largas.\n— Gerenciamento da lista de usuários bloqueados em seus supergrupos.\n— Administradores podem apagar mensagens de outros membros.";
|
||||
|
||||
"lng_menu_insert_unicode" = "Inserir caractere de controle Unicode";
|
||||
|
||||
@@ -1023,6 +1104,66 @@ 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 auto-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)";
|
||||
|
||||
// Not used
|
||||
|
||||
"lng_topbar_info" = "Info";
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
FullExecPath=$PWD
|
||||
pushd `dirname $0` > /dev/null
|
||||
|
||||
31
Telegram/Resources/qrc/telegram.qrc
Normal file
@@ -0,0 +1,31 @@
|
||||
<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>
|
||||
</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>
|
||||
8
Telegram/Resources/qrc/telegram_emoji.qrc
Normal 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>
|
||||
5
Telegram/Resources/qrc/telegram_emoji_large.qrc
Normal file
@@ -0,0 +1,5 @@
|
||||
<RCC>
|
||||
<qresource prefix="/gui">
|
||||
<file alias="art/emoji_250x.webp">../art/emoji_250x.webp</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
5
Telegram/Resources/qrc/telegram_linux.qrc
Normal file
@@ -0,0 +1,5 @@
|
||||
<RCC>
|
||||
<qresource prefix="/qt">
|
||||
<file alias="etc/qt.conf">../etc/qt_linux.conf</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
10
Telegram/Resources/qrc/telegram_sounds.qrc
Normal 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>
|
||||
5
Telegram/Resources/qrc/telegram_wnd.qrc
Normal file
@@ -0,0 +1,5 @@
|
||||
<RCC>
|
||||
<qresource prefix="/qt">
|
||||
<file alias="etc/qt.conf">../etc/qt_win.conf</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
@@ -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
|
||||
///////////////////////////////
|
||||
@@ -158,6 +164,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 +187,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 +201,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;
|
||||
@@ -238,6 +245,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 +261,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 +311,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 +357,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 +413,13 @@ 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;
|
||||
|
||||
updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
|
||||
|
||||
@@ -426,10 +442,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 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#cb601684 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 disabled_features:Vector<DisabledFeature> = Config;
|
||||
|
||||
nearestDc#8e1a1775 country:string this_dc:int nearest_dc:int = NearestDc;
|
||||
|
||||
@@ -487,6 +504,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 +538,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 +605,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 +614,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;
|
||||
@@ -777,17 +794,64 @@ 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;
|
||||
|
||||
pagePart#8dee6c44 blocks:Vector<PageBlock> photos:Vector<Photo> videos:Vector<Document> = Page;
|
||||
pageFull#d7a19d69 blocks:Vector<PageBlock> photos:Vector<Photo> videos: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;
|
||||
|
||||
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,10 +859,12 @@ 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;
|
||||
|
||||
---functions---
|
||||
|
||||
@@ -852,6 +918,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;
|
||||
@@ -954,6 +1021,8 @@ 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;
|
||||
|
||||
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 +1036,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 +1046,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;
|
||||
@@ -1006,9 +1079,23 @@ 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;
|
||||
|
||||
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;
|
||||
phone.receivedCall#17d54f61 peer:InputPhoneCall = Bool;
|
||||
bots.sendCustomRequest#aa2769ed custom_method:string params:DataJSON = DataJSON;
|
||||
bots.answerWebhookJSONQuery#e6213f4d query_id:long data:DataJSON = Bool;
|
||||
|
||||
// LAYER 62
|
||||
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;
|
||||
|
||||
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 66
|
||||
BIN
Telegram/Resources/sounds/call_busy.mp3
Normal file
BIN
Telegram/Resources/sounds/call_connect.mp3
Normal file
BIN
Telegram/Resources/sounds/call_end.mp3
Normal file
BIN
Telegram/Resources/sounds/call_incoming.mp3
Normal file
BIN
Telegram/Resources/sounds/call_outgoing.mp3
Normal file
BIN
Telegram/Resources/sounds/msg_incoming.mp3
Normal file
@@ -1,24 +0,0 @@
|
||||
<RCC>
|
||||
<qresource prefix="/gui">
|
||||
<file>art/fonts/OpenSans-Regular.ttf</file>
|
||||
<file>art/fonts/OpenSans-Bold.ttf</file>
|
||||
<file>art/fonts/OpenSans-Semibold.ttf</file>
|
||||
<file>art/newmsg.wav</file>
|
||||
<file>art/bg.jpg</file>
|
||||
<file>art/bg_initial.jpg</file>
|
||||
<file>art/icon256.png</file>
|
||||
<file>art/iconbig256.png</file>
|
||||
<file>art/sunrise.jpg</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>
|
||||