merge master and fix conflicts

This commit is contained in:
redsky17 2019-01-30 20:41:09 -05:00
commit db5532de62
3 changed files with 585 additions and 249 deletions

View File

@ -17,17 +17,17 @@
],
"package": {
"desc": "Desktop client for the Matrix protocol",
"issue_tracker_url": "https://github.com/nheko-reborn/nheko/issues",
"issue_tracker_url": "https://github.com/Nheko-Reborn/nheko/issues",
"licenses": [
"GPL-3.0"
],
"name": "nheko",
"public_download_numbers": true,
"public_stats": true,
"repo": "matrix",
"subject": "mujx",
"vcs_url": "https://github.com/nheko-reborn/nheko",
"website_url": "https://github.com/nheko-reborn/nheko"
"repo": "nheko",
"subject": "nheko-reborn",
"vcs_url": "https://github.com/Nheko-Reborn/nheko",
"website_url": "https://github.com/Nheko-Reborn/nheko"
},
"publish": true,
"version": {

View File

@ -1,115 +1,119 @@
---
language: cpp
sudo: required
dist: trusty
notifications:
email: false
webhooks:
urls:
- "https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MHJlZF9za3klM0FvY2Vhbi5qb2Vkb25vZnJ5LmNvbS8lMjFldkFxa1BIWnVQSElHZWVuaGklM0FvY2Vhbi5qb2Vkb25vZnJ5LmNvbQ"
on_success: always # always|never|change
on_failure: always
on_start: never
email: false
webhooks:
urls:
- https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MHJlZF9za3klM0FvY2Vhbi5qb2Vkb25vZnJ5LmNvbS8lMjFldkFxa1BIWnVQSElHZWVuaGklM0FvY2Vhbi5qb2Vkb25vZnJ5LmNvbQ
on_success: always
on_failure: always
on_start: never
matrix:
include:
- os: osx
osx_image: xcode9
compiler: clang
env:
- DEPLOYMENT=1
- USE_BUNDLED_BOOST=0
- USE_BUNDLED_CMARK=0
- os: linux
compiler: gcc
env:
- CXX_COMPILER=g++-5
- C_COMPILER=gcc-5
- QT_VERSION="-5.10.1"
- QT_PKG=510
- DEPLOYMENT=1
- USE_BUNDLED_BOOST=1
- USE_BUNDLED_CMARK=1
addons:
apt:
sources: ["ubuntu-toolchain-r-test"]
packages: ["g++-5", "ninja-build"]
- os: linux
compiler: gcc
env:
- CXX_COMPILER=g++-8
- C_COMPILER=gcc-8
- QT_VERSION=571
- QT_PKG=57
- USE_BUNDLED_BOOST=1
- USE_BUNDLED_CMARK=1
addons:
apt:
sources: ["ubuntu-toolchain-r-test"]
packages: ["g++-8", "ninja-build"]
- os: linux
compiler: clang
env:
- CXX_COMPILER=clang++-5.0
- C_COMPILER=clang-5.0
- QT_VERSION=592
- QT_PKG=59
- USE_BUNDLED_BOOST=1
- USE_BUNDLED_CMARK=1
addons:
apt:
sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-5.0"]
packages: ["clang-5.0", "g++-7", "ninja-build"]
include:
- os: osx
osx_image: xcode9
compiler: clang
env:
- DEPLOYMENT=1
- USE_BUNDLED_BOOST=0
- USE_BUNDLED_CMARK=0
- os: linux
compiler: gcc
env:
- CXX_COMPILER=g++-5
- C_COMPILER=gcc-5
- QT_VERSION="-5.10.1"
- QT_PKG=510
- DEPLOYMENT=1
- USE_BUNDLED_BOOST=1
- USE_BUNDLED_CMARK=1
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
- ninja-build
- os: linux
compiler: gcc
env:
- CXX_COMPILER=g++-8
- C_COMPILER=gcc-8
- QT_VERSION=571
- QT_PKG=57
- USE_BUNDLED_BOOST=1
- USE_BUNDLED_CMARK=1
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
- ninja-build
- os: linux
compiler: clang
env:
- CXX_COMPILER=clang++-5.0
- C_COMPILER=clang-5.0
- QT_VERSION=592
- QT_PKG=59
- USE_BUNDLED_BOOST=1
- USE_BUNDLED_CMARK=1
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-5.0
packages:
- clang-5.0
- g++-7
- ninja-build
before_install:
- export CXX=${CXX_COMPILER}
- export CC=${C_COMPILER}
- export CXX=${CXX_COMPILER}
- export CC=${C_COMPILER}
install:
- ./.ci/install.sh
- export PATH=/usr/local/bin:${PATH}
- "./.ci/install.sh"
- export PATH=/usr/local/bin:${PATH}
script:
- ./.ci/script.sh
- sed -i -e "s/VERSION_NAME_VALUE/${TRAVIS_TAG}/g" ./.ci/bintray-release.json || true
- cp ./.ci/bintray-release.json .
- "./.ci/script.sh"
- sed -i -e "s/VERSION_NAME_VALUE/${TRAVIS_TAG}/g" ./.ci/bintray-release.json || true
- cp ./.ci/bintray-release.json .
deploy:
- provider: bintray
user: "redsky17"
key:
secure: "CAVzWZPxYSOTollo9bpD4tvEbfxXjqelc32aApV48GKyJrMQljQ+mvSe25BuUtnDehxnw8affgGX23AYXmvG8P7w4hM2d7//8Lgan1zCmusV8JE432jknev6X641B4cvrywqSe0Dj3l0kS9Xgirq4BGavlI0y2vUjeJfQEv0y8GYoI72LwgyH0i82v/1Qi92Fh8429IJIb0eKmC1wGWXCmo2kd8StZRL5mSlc4TmyWI0SHpA5GrLMiQwLAuD7DjDl5mpaK2yQx+H4vBcI2SUMvmlHGgVjXikJG5gURlHbnIaaBFvO67INc1/65KtMokWuMP12zxqJiaMPtsAskOpQv4FLAYDfnigH3NxufyOIGp2cxS5RhJDQhbNsxHEDnUo1kHcO23ZYNWCuC1yUdn0RXzKhWcUsz8mKF8KJs22Ty4VjfUMZ+vqK/AbHyq4rkl8DizVRZqKF1KjSWrSv/2sT4itnHk9pmcgxAYfGuALcjrJJveI4MTwDhzXB62CKnMOqLq3sAMqvE0+BdA0BykQr7qrKtptuyP2/OFx6RDbfHQl5Klkb6cSOjxm0oUzh/8iaxgsVdCrhfE67eqkhFZ+a8lJkB/rZ4zSK1Q2Cp4nLtnxenUCW+Ptk2l7zZN6kXM1/+tcgqVROChYJ6asMUpsjFOOAVQ8SZ4TcxX1rq+pxlA="
skip_cleanup: true
overwrite: true
file: "bintray-release.json"
on:
condition: $DEPLOYMENT == 1
repo: Nheko-Reborn/nheko
tags: false
all_branches: true
deploy:
- skip_cleanup: true
overwrite: true
provider: releases
api_key:
secure: "JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU="
file_glob: true
file:
- nheko-${TRAVIS_TAG}-x86_64.AppImage
on:
condition: $TRAVIS_OS_NAME == linux && $DEPLOYMENT == 1
repo: Nheko-Reborn/nheko
tags: true
- skip_cleanup: true
overwrite: true
provider: releases
api_key:
secure: "JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU="
file: nheko-${TRAVIS_TAG}.dmg
on:
condition: $TRAVIS_OS_NAME == osx && $DEPLOYMENT == 1
repo: Nheko-Reborn/nheko
tags: true
- provider: bintray
user: redsky17
key:
secure: CAVzWZPxYSOTollo9bpD4tvEbfxXjqelc32aApV48GKyJrMQljQ+mvSe25BuUtnDehxnw8affgGX23AYXmvG8P7w4hM2d7//8Lgan1zCmusV8JE432jknev6X641B4cvrywqSe0Dj3l0kS9Xgirq4BGavlI0y2vUjeJfQEv0y8GYoI72LwgyH0i82v/1Qi92Fh8429IJIb0eKmC1wGWXCmo2kd8StZRL5mSlc4TmyWI0SHpA5GrLMiQwLAuD7DjDl5mpaK2yQx+H4vBcI2SUMvmlHGgVjXikJG5gURlHbnIaaBFvO67INc1/65KtMokWuMP12zxqJiaMPtsAskOpQv4FLAYDfnigH3NxufyOIGp2cxS5RhJDQhbNsxHEDnUo1kHcO23ZYNWCuC1yUdn0RXzKhWcUsz8mKF8KJs22Ty4VjfUMZ+vqK/AbHyq4rkl8DizVRZqKF1KjSWrSv/2sT4itnHk9pmcgxAYfGuALcjrJJveI4MTwDhzXB62CKnMOqLq3sAMqvE0+BdA0BykQr7qrKtptuyP2/OFx6RDbfHQl5Klkb6cSOjxm0oUzh/8iaxgsVdCrhfE67eqkhFZ+a8lJkB/rZ4zSK1Q2Cp4nLtnxenUCW+Ptk2l7zZN6kXM1/+tcgqVROChYJ6asMUpsjFOOAVQ8SZ4TcxX1rq+pxlA=
skip_cleanup: true
overwrite: true
file: bintray-release.json
on:
condition: "$DEPLOYMENT == 1"
repo: Nheko-Reborn/nheko
tags: false
all_branches: true
deploy:
- skip_cleanup: true
overwrite: true
provider: releases
api_key:
secure: JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU=
file_glob: true
file:
- nheko-${TRAVIS_TAG}-x86_64.AppImage
on:
condition: "$TRAVIS_OS_NAME == linux && $DEPLOYMENT == 1"
repo: Nheko-Reborn/nheko
tags: true
- skip_cleanup: true
overwrite: true
provider: releases
api_key:
secure: JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU=
file: nheko-${TRAVIS_TAG}.dmg
on:
condition: "$TRAVIS_OS_NAME == osx && $DEPLOYMENT == 1"
repo: Nheko-Reborn/nheko
tags: true
key:
secure: q4V4k6mAEDBgA/13NiCw+5/Jh7/xmtRBybFSr/0I6JTatkaLs2pj4zIRyHIrBVZtOd1oFVmq6aDHXXR+fbSo1Euj3s5Eo+7TTAqKAlyRMcme/+0S0bfZfisA+6LskZcmacq1FzEkAXd5OjMXB6rIakDC1sgkgo5bpM9w5r/9ZFXXgCfDzW07LJOypDyph0Gg4rlU22o5fAcKmuglTgbJWceznv46HcHvW1s2JzkJQugpAh8LkpiEkuNnH1wZ0WDI1wQQFI+ti5GSBkHicS2kgkOL3IlCvfzS0ym85XF1FTncqDEClxudwWOhVm3qpSOm28I+lB4i0ha1LNzsl4S8ClVTxJRJMJBHmLmkh3lOasAn6v8Vc2WASygfnTC2VGMaRWYMfphLm7e1CcT8OPfoNcEJLvR6YTxgm7AadomOV4f8q9FUwvrkyJkbR+sV+DkJ5yQ/uF1pDOMnUUzjDYpCfYXEECqh8gH8iUXhWabrJyaFlzZaOsai/ujyepLOkUtJaGcOrnCHlOQlfXgBhmOCUFau8ByJhSrHGGlBPb9JhC/jzWq++dmN/5zn1coc4kNqKB55h1AFVtTTW7t14RzNKER2/opl7LFoywvyMyERusmxHfGzNihFHO4GoBY+WtEpphCAdqCjLaJM95w9spQ0sgR0/qy4883MhTWBctT9K6s=

View File

@ -4,38 +4,108 @@
<context>
<name>AudioItem</name>
<message>
<location filename="../../src/timeline/widgets/AudioItem.cc" line="+125"/>
<location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<source>Save File</source>
<translation>Сохранить файл</translation>
</message>
</context>
<context>
<name>DateSeparator</name>
<name>ChatPage</name>
<message>
<location filename="../../src/timeline/TimelineView.cc" line="+54"/>
<source>Today</source>
<translation>Сегодня</translation>
<location filename="../../src/ChatPage.cpp" line="+304"/>
<source>Failed to upload image. Please try again.</source>
<translation>Не удалось загрузить изображение. Пожалуйста, попробуйте еще раз.</translation>
</message>
<message>
<location line="+45"/>
<source>Failed to upload file. Please try again.</source>
<translation>Не удалось загрузить файл. Пожалуйста, попробуйте еще раз.</translation>
</message>
<message>
<location line="+43"/>
<source>Failed to upload audio. Please try again.</source>
<translation>Не удалось загрузить аудио. Пожалуйста, попробуйте еще раз.</translation>
</message>
<message>
<location line="+42"/>
<source>Failed to upload video. Please try again.</source>
<translation>Не удалось загрузить видео. Пожалуйста, попробуйте еще раз.</translation>
</message>
<message>
<location line="+374"/>
<source>Failed to restore OLM account. Please login again.</source>
<translation>Не удалось восстановить учетную запись OLM. Пожалуйста, войдите снова.</translation>
</message>
<message>
<location line="+5"/>
<source>Failed to restore save data. Please login again.</source>
<translation>Не удалось восстановить сохраненные данные. Пожалуйста, войдите снова.</translation>
</message>
<message>
<location line="+167"/>
<source>Failed to setup encryption keys. Server response: %1 %2. Please try again later.</source>
<translation>Не удалось настроить ключи шифрования. Ответ сервера:%1 %2. Пожалуйста, попробуйте позже.</translation>
</message>
<message>
<location line="+51"/>
<location line="+152"/>
<source>Please try to login again: %1</source>
<translation>Повторите попытку входа: %1</translation>
</message>
<message>
<location line="-45"/>
<source>Room creation failed: %1</source>
<translation>Не удалось создать комнату: %1</translation>
</message>
<message>
<location line="+16"/>
<source>Failed to leave room: %1</source>
<translation>Не удалось покинуть комнату: %1</translation>
</message>
</context>
<context>
<name>CommunitiesListItem</name>
<message>
<location filename="../../src/CommunitiesListItem.cpp" line="+130"/>
<source>All rooms</source>
<translation>Все комнаты</translation>
</message>
<message>
<location line="+4"/>
<source>Favourite rooms</source>
<translation>Избранные комнаты</translation>
</message>
<message>
<location line="+2"/>
<source>Yesterday</source>
<translation>Вчера</translation>
<source>Low priority rooms</source>
<translation>Комнаты с низким приоритетом</translation>
</message>
<message>
<location line="+2"/>
<location line="+2"/>
<source> (tag)</source>
<translation> (тег)</translation>
</message>
<message>
<location line="+3"/>
<source> (community)</source>
<translation> (сообщество)</translation>
</message>
</context>
<context>
<name>EditModal</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+34"/>
<source>APPLY</source>
<translation>ПРИМЕНИТЬ</translation>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+58"/>
<source>Apply</source>
<translation>Применить</translation>
</message>
<message>
<location line="+2"/>
<source>CANCEL</source>
<translation>ОТМЕНА</translation>
<location line="+1"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location line="+9"/>
<location line="+10"/>
<source>Name</source>
<translation>Название</translation>
</message>
@ -48,7 +118,7 @@
<context>
<name>FileItem</name>
<message>
<location filename="../../src/timeline/widgets/FileItem.cc" line="+111"/>
<location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<source>Save File</source>
<translation>Сохранить файл</translation>
</message>
@ -56,15 +126,23 @@
<context>
<name>ImageItem</name>
<message>
<location filename="../../src/timeline/widgets/ImageItem.cc" line="+229"/>
<location filename="../../src/timeline/widgets/ImageItem.cpp" line="+237"/>
<source>Save image</source>
<translation>Сохранить изображение</translation>
</message>
</context>
<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+17"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
</context>
<context>
<name>LoginPage</name>
<message>
<location filename="../../src/LoginPage.cc" line="+79"/>
<location filename="../../src/LoginPage.cpp" line="+79"/>
<source>Matrix ID</source>
<translation>Идентификатор Matrix</translation>
</message>
@ -78,57 +156,54 @@
<source>Password</source>
<translation>Пароль</translation>
</message>
<message>
<location line="+4"/>
<source>Device name</source>
<translation>Имя устройства</translation>
</message>
<message>
<location line="+19"/>
<source>LOGIN</source>
<translation>ВОЙТИ</translation>
</message>
<message>
<location line="+128"/>
<location line="+84"/>
<source>The required endpoints were not found. Possibly not a Matrix server.</source>
<translation>Необходимые конечные точки не найдены. Возможно, это не сервер Matrix.</translation>
</message>
<message>
<location line="+6"/>
<source>Received malformed response. Make sure the homeserver domain is valid.</source>
<translation>Получен неверный ответ. Убедитесь, что домен homeserver действителен.</translation>
</message>
<message>
<location line="+5"/>
<source>An unknown error occured. Make sure the homeserver domain is valid.</source>
<translation>Произошла неизвестная ошибка. Убедитесь, что домен homeserver действителен.</translation>
</message>
<message>
<location line="+60"/>
<source>Empty password</source>
<translation>Пустой пароль</translation>
</message>
</context>
<context>
<name>MatrixClient</name>
<message>
<location filename="../../src/MatrixClient.cc" line="+164"/>
<source>Wrong username or password</source>
<translation>Неверное имя пользователя или пароль</translation>
</message>
<message>
<location line="+5"/>
<source>Login endpoint was not found on the server</source>
<translation>Такой логин не найден на указанном сервере</translation>
</message>
<message>
<location line="+6"/>
<source>An unknown error occured. Please try again.</source>
<translation>Произошла неизвестная ошибка. Попробуйте снова.</translation>
</message>
<message>
<location line="+23"/>
<source>Malformed response. Possibly not a Matrix server</source>
<translation>Ответ не распознан. Возможно это не сервер Matrix?</translation>
</message>
</context>
<context>
<name>MemberList</name>
<message>
<location filename="../../src/dialogs/MemberList.cpp" line="+79"/>
<location filename="../../src/dialogs/MemberList.cpp" line="+96"/>
<source>Room members</source>
<translation>Участники комнаты</translation>
</message>
<message>
<location line="+10"/>
<source>SHOW MORE</source>
<translation>ПОКАЗАТЬ ЕЩЁ</translation>
<location line="+33"/>
<source>ESC</source>
<translation></translation>
</message>
</context>
<context>
<name>QuickSwitcher</name>
<message>
<location filename="../../src/QuickSwitcher.cc" line="+70"/>
<location filename="../../src/QuickSwitcher.cpp" line="+71"/>
<source>Search for a room...</source>
<translation>Поиск комнаты...</translation>
</message>
@ -136,7 +211,7 @@
<context>
<name>RegisterPage</name>
<message>
<location filename="../../src/RegisterPage.cc" line="+76"/>
<location filename="../../src/RegisterPage.cpp" line="+77"/>
<source>Username</source>
<translation>Имя пользователя</translation>
</message>
@ -156,12 +231,12 @@
<translation>Домашний сервер</translation>
</message>
<message>
<location line="+17"/>
<location line="+16"/>
<source>REGISTER</source>
<translation>РЕГИСТРАЦИЯ</translation>
</message>
<message>
<location line="+76"/>
<location line="+93"/>
<source>Invalid username</source>
<translation>Некорректное имя пользователя</translation>
</message>
@ -184,12 +259,12 @@
<context>
<name>RoomInfoListItem</name>
<message>
<location filename="../../src/RoomInfoListItem.cc" line="+78"/>
<location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<source>Leave room</source>
<translation>Покинуть комнату</translation>
</message>
<message>
<location line="+153"/>
<location line="+166"/>
<source>Accept</source>
<translation>Принять</translation>
</message>
@ -202,7 +277,12 @@
<context>
<name>SideBarActions</name>
<message>
<location filename="../../src/SideBarActions.cc" line="+36"/>
<location filename="../../src/SideBarActions.cpp" line="+38"/>
<source>User settings</source>
<translation>Пользовательские настройки</translation>
</message>
<message>
<location line="+7"/>
<source>Create new room</source>
<translation>Создать новую комнату</translation>
</message>
@ -211,16 +291,60 @@
<source>Join a room</source>
<translation>Присоединиться к комнате</translation>
</message>
<message>
<location line="+16"/>
<source>Start a new chat</source>
<translation>Начать новый чат</translation>
</message>
<message>
<location line="+15"/>
<source>Room directory</source>
<translation>Каталог комнат</translation>
</message>
</context>
<context>
<name>StatusIndicator</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+105"/>
<source>Encrypted</source>
<translation>Зашифровано</translation>
</message>
<message>
<location line="+3"/>
<source>Delivered</source>
<translation>Доставлено</translation>
</message>
<message>
<location line="+3"/>
<source>Seen</source>
<translation>Прочитано</translation>
</message>
<message>
<location line="+3"/>
<source>Sent</source>
<translation>Отправлено</translation>
</message>
</context>
<context>
<name>TextInputWidget</name>
<message>
<location filename="../../src/TextInputWidget.cc" line="+445"/>
<location filename="../../src/TextInputWidget.cpp" line="+465"/>
<source>Send a file</source>
<translation>Отправить файл</translation>
</message>
<message>
<location line="+13"/>
<location filename="../../src/TextInputWidget.h" line="+153"/>
<source>Write a message...</source>
<translation>Написать сообщение...</translation>
</message>
<message>
<location line="+108"/>
<location line="+31"/>
<source>Send a message</source>
<translation>Отправить сообщение</translation>
</message>
<message>
<location line="+47"/>
<source>Select a file</source>
<translation>Выберите файл</translation>
</message>
@ -229,11 +353,37 @@
<source>All Files (*)</source>
<translation>Все файлы (*)</translation>
</message>
<message>
<location filename="../../src/TextInputWidget.h" line="-5"/>
<source>Connection lost. Nheko is trying to re-connect...</source>
<translation>Соединение потеряно. Nheko пытается переподключиться...</translation>
</message>
</context>
<context>
<name>TimelineItem</name>
<message>
<location filename="../../src/timeline/TimelineItem.cpp" line="+72"/>
<source>Message redaction failed: %1</source>
<translation>Ошибка редактирования сообщения: %1</translation>
</message>
</context>
<context>
<name>TimelineView</name>
<message>
<location filename="../../src/timeline/TimelineView.cpp" line="+245"/>
<source>Encryption is enabled</source>
<translation>Шифрование включено</translation>
</message>
</context>
<context>
<name>TopRoomBar</name>
<message>
<location filename="../../src/TopRoomBar.cc" line="+87"/>
<location filename="../../src/TopRoomBar.cpp" line="+79"/>
<source>Room options</source>
<translation>Настройки комнаты</translation>
</message>
<message>
<location line="+28"/>
<source>Invite users</source>
<translation>Пригласить пользователей</translation>
</message>
@ -256,7 +406,7 @@
<context>
<name>TrayIcon</name>
<message>
<location filename="../../src/TrayIcon.cc" line="+116"/>
<location filename="../../src/TrayIcon.cpp" line="+120"/>
<source>Show</source>
<translation>Показать</translation>
</message>
@ -269,7 +419,7 @@
<context>
<name>TypingDisplay</name>
<message>
<location filename="../../src/TypingDisplay.cc" line="+26"/>
<location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source>
<translation> печатает</translation>
</message>
@ -279,15 +429,18 @@
<translation> печатают</translation>
</message>
</context>
<context>
<name>UserInfoWidget</name>
<message>
<location filename="../../src/UserInfoWidget.cpp" line="+87"/>
<source>Logout</source>
<translation>Выйти</translation>
</message>
</context>
<context>
<name>UserSettingsPage</name>
<message>
<location filename="../../src/UserSettingsPage.cc" line="+121"/>
<source>User Settings</source>
<translation>Пользовательские настройки</translation>
</message>
<message>
<location line="+15"/>
<location filename="../../src/UserSettingsPage.cpp" line="+147"/>
<source>Minimize to tray</source>
<translation>Сворачивать в системную панель</translation>
</message>
@ -297,12 +450,7 @@
<translation>Запускать в системной панели</translation>
</message>
<message>
<location line="+12"/>
<source>Re-order rooms based on activity</source>
<translation>Упорядочивать комнаты по активности</translation>
</message>
<message>
<location line="+9"/>
<location line="+11"/>
<source>Group&apos;s sidebar</source>
<translation>Боковая панель групп</translation>
</message>
@ -318,19 +466,111 @@
</message>
<message>
<location line="+9"/>
<source>Desktop notifications</source>
<translation>Уведомления на рабочем столе</translation>
</message>
<message>
<location line="+9"/>
<source>Scale factor</source>
<translation>Масштаб</translation>
</message>
<message>
<location line="+11"/>
<source>Font size</source>
<translation>Размер шрифта</translation>
</message>
<message>
<location line="+11"/>
<source>Theme</source>
<translation>Тема</translation>
</message>
<message>
<location line="+10"/>
<location line="+22"/>
<source>Device ID</source>
<translation>ID устройства</translation>
</message>
<message>
<location line="+12"/>
<source>Device Fingerprint</source>
<translation>Отпечаток устройства</translation>
</message>
<message>
<location line="+11"/>
<source>Session Keys</source>
<translation>Ключи сеанса</translation>
</message>
<message>
<location line="+4"/>
<source>IMPORT</source>
<translation>ИМПОРТИРОВАТЬ</translation>
</message>
<message>
<location line="+3"/>
<source>EXPORT</source>
<translation>ЭКСПОРТИРОВАТЬ</translation>
</message>
<message>
<location line="+13"/>
<source>ENCRYPTION</source>
<translation>ШИФРОВАНИЕ</translation>
</message>
<message>
<location line="+4"/>
<source>GENERAL</source>
<translation>ГЛАВНОЕ</translation>
</message>
<message>
<location line="+144"/>
<source>Open Sessions File</source>
<translation>Открыть файл сеансов</translation>
</message>
<message>
<location line="+4"/>
<location line="+18"/>
<location line="+9"/>
<location line="+2"/>
<location line="+2"/>
<location line="+19"/>
<location line="+10"/>
<location line="+13"/>
<location line="+2"/>
<location line="+2"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<location line="-68"/>
<location line="+32"/>
<source>File Password</source>
<translatorcomment>Или введите пароль?</translatorcomment>
<translation>Пароль файла</translation>
</message>
<message>
<location line="-31"/>
<source>Enter the passphrase to decrypt the file:</source>
<translation>Введите парольную фразу для расшифрования файла:</translation>
</message>
<message>
<location line="+8"/>
<location line="+32"/>
<source>The password cannot be empty</source>
<translation>Пароль не может быть пустым</translation>
</message>
<message>
<location line="-8"/>
<source>Enter passphrase to encrypt your session keys:</source>
<translation>Введите ключевую фразу для шифрования ключей сеанса:</translation>
</message>
<message>
<location line="+14"/>
<source>File to save the exported session keys</source>
<translation>Файл для сохранения экспортированных ключей сеанса</translation>
</message>
</context>
<context>
<name>WelcomePage</name>
<message>
<location filename="../../src/WelcomePage.cc" line="+44"/>
<location filename="../../src/WelcomePage.cpp" line="+46"/>
<source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
<translation>Добро пожаловать в nheko, клиент протокола Matrix!</translation>
</message>
@ -340,12 +580,12 @@
<translation>Приятного времяпрепровождения!</translation>
</message>
<message>
<location line="+19"/>
<location line="+23"/>
<source>REGISTER</source>
<translation>РЕГИСТРАЦИЯ</translation>
</message>
<message>
<location line="+6"/>
<location line="+5"/>
<source>LOGIN</source>
<translation>ВХОД</translation>
</message>
@ -353,12 +593,17 @@
<context>
<name>dialogs::CreateRoom</name>
<message>
<location filename="../../src/dialogs/CreateRoom.cc" line="+32"/>
<source>CANCEL</source>
<translation>ОТМЕНА</translation>
<location filename="../../src/dialogs/CreateRoom.cpp" line="+36"/>
<source>Create room</source>
<translation>Создать комнату</translation>
</message>
<message>
<location line="+11"/>
<location line="+2"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location line="+10"/>
<source>Name</source>
<translation>Название</translation>
</message>
@ -378,12 +623,12 @@
<translation>Видимость комнаты</translation>
</message>
<message>
<location line="+9"/>
<location line="+8"/>
<source>Room Preset</source>
<translation>Шаблон комнаты</translation>
</message>
<message>
<location line="+10"/>
<location line="+9"/>
<source>Direct Chat</source>
<translation>Прямой чат</translation>
</message>
@ -391,12 +636,12 @@
<context>
<name>dialogs::InviteUsers</name>
<message>
<location filename="../../src/dialogs/InviteUsers.cc" line="+36"/>
<source>CANCEL</source>
<translation>ОТМЕНА</translation>
<location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location line="+11"/>
<location line="+8"/>
<source>User ID to invite</source>
<translation>Идентификатор пользователя</translation>
</message>
@ -404,12 +649,17 @@
<context>
<name>dialogs::JoinRoom</name>
<message>
<location filename="../../src/dialogs/JoinRoom.cc" line="+30"/>
<source>CANCEL</source>
<translation>ОТМЕНА</translation>
<location filename="../../src/dialogs/JoinRoom.cpp" line="+30"/>
<source>Join</source>
<translation>Присоединиться</translation>
</message>
<message>
<location line="+11"/>
<location line="+2"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location line="+7"/>
<source>Room ID or alias</source>
<translation>Идентификатор или псевдоним комнаты</translation>
</message>
@ -417,12 +667,12 @@
<context>
<name>dialogs::LeaveRoom</name>
<message>
<location filename="../../src/dialogs/LeaveRoom.cc" line="+29"/>
<source>CANCEL</source>
<translation>ОТМЕНА</translation>
<location filename="../../src/dialogs/LeaveRoom.cpp" line="+31"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location line="+10"/>
<location line="+8"/>
<source>Are you sure you want to leave?</source>
<translation>Вы действительно желаете выйти?</translation>
</message>
@ -430,12 +680,12 @@
<context>
<name>dialogs::Logout</name>
<message>
<location filename="../../src/dialogs/Logout.cc" line="+47"/>
<source>CANCEL</source>
<translation>ОТМЕНА</translation>
<location filename="../../src/dialogs/Logout.cpp" line="+47"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location line="+10"/>
<location line="+8"/>
<source>Logout. Are you sure?</source>
<translation>Выйти из учётной записи. Вы уверены?</translation>
</message>
@ -443,7 +693,7 @@
<context>
<name>dialogs::PreviewUploadOverlay</name>
<message>
<location filename="../../src/dialogs/PreviewUploadOverlay.cc" line="+41"/>
<location filename="../../src/dialogs/PreviewUploadOverlay.cpp" line="+42"/>
<source>Upload</source>
<translation>Загрузить</translation>
</message>
@ -453,7 +703,7 @@
<translation>Отменить</translation>
</message>
<message>
<location line="+72"/>
<location line="+84"/>
<source>Media type: %1
Media size: %2
</source>
@ -465,14 +715,14 @@ Media size: %2
<context>
<name>dialogs::ReCaptcha</name>
<message>
<location filename="../../src/dialogs/ReCaptcha.cpp" line="+34"/>
<source>CONFIRM</source>
<translation>ПОДТВЕРДИТЬ</translation>
<location filename="../../src/dialogs/ReCaptcha.cpp" line="+31"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location line="+3"/>
<source>CANCEL</source>
<translation>ОТМЕНА</translation>
<location line="+1"/>
<source>Confirm</source>
<translation>Подтвердить</translation>
</message>
<message>
<location line="+11"/>
@ -483,20 +733,40 @@ Media size: %2
<context>
<name>dialogs::ReadReceipts</name>
<message>
<location filename="../../src/dialogs/ReadReceipts.cc" line="+98"/>
<location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<source>Read receipts</source>
<translation>Подтверждать прочтение</translation>
</message>
<message>
<location line="+4"/>
<source>Close</source>
<translation>Закрыть</translation>
</message>
<message>
<location line="+11"/>
<source>ESC</source>
<translation></translation>
</message>
</context>
<context>
<name>dialogs::RoomSettings</name>
<message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+147"/>
<source>CANCEL</source>
<translation>ОТМЕНА</translation>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
<source>Settings</source>
<translation>Настройки</translation>
</message>
<message>
<location line="+12"/>
<location line="+3"/>
<source>Info</source>
<translation>Информация</translation>
</message>
<message>
<location line="+11"/>
<source>Internal ID</source>
<translation>Внутренний ID</translation>
</message>
<message>
<location line="+4"/>
<source>Notifications</source>
<translation>Уведомления</translation>
</message>
@ -516,7 +786,7 @@ Media size: %2
<translation>Все сообщения</translation>
</message>
<message>
<location line="+8"/>
<location line="+7"/>
<source>Room access</source>
<translation>Доступ к комнате</translation>
</message>
@ -535,48 +805,110 @@ Media size: %2
<source>Invited users</source>
<translation>Приглашённые пользователи</translation>
</message>
<message>
<location line="+50"/>
<source>Encryption</source>
<translation>Шифрование</translation>
</message>
<message>
<location line="+8"/>
<source>End-to-End Encryption</source>
<translation>Сквозное шифрование</translation>
</message>
<message>
<location line="+1"/>
<source>Encryption is currently experimental and things might break unexpectedly. &lt;br&gt;Please take note that it can&apos;t be disabled afterwards.</source>
<translation>Шифрование в настоящее время является экспериментальным, поэтому возможны сбои. &lt;br&gt;Пожалуйста, имейте ввиду, что его нельзя отключить впоследствии.</translation>
</message>
<message>
<location line="+27"/>
<source>Respond to key requests</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Whether or not the client should respond automatically with the session keys
upon request. Use with caution, this is a temporary measure to test the
E2E implementation until device verification is completed.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+53"/>
<source>%n member(s)</source>
<translation>
<numerusform>%n участник</numerusform>
<numerusform>%n участника</numerusform>
<numerusform>%n участников</numerusform>
</translation>
</message>
<message>
<location line="+70"/>
<source>ESC</source>
<translation></translation>
</message>
<message>
<location line="+69"/>
<source>Failed to enable encryption: %1</source>
<translation>Не удалось включить шифрование: %1</translation>
</message>
<message>
<location line="+149"/>
<source>Select an avatar</source>
<translation>Выберите аватар</translation>
</message>
<message>
<location line="+0"/>
<source>All Files (*)</source>
<translation>Все файлы (*)</translation>
</message>
<message>
<location line="+12"/>
<source>The selected media is not an image</source>
<translation>Выбранное медия не является изображением</translation>
</message>
<message>
<location line="+5"/>
<source>Error while reading media: %1</source>
<translation>Ошибка при чтении медия: %1</translation>
</message>
<message>
<location line="+35"/>
<location line="+20"/>
<source>Failed to upload image: %s</source>
<translation>Не удалось загрузить изображение: %s</translation>
</message>
</context>
<context>
<name>emoji::Panel</name>
<name>dialogs::UserProfile</name>
<message>
<location filename="../../src/emoji/Panel.cc" line="+125"/>
<source>Smileys &amp; People</source>
<translation>Рожицы и люди</translation>
<location filename="../../src/dialogs/UserProfile.cpp" line="+63"/>
<source>Ban the user from the room</source>
<translation>Заблокировать пользователя в комнате</translation>
</message>
<message>
<location line="+4"/>
<source>Animals &amp; Nature</source>
<translation>Животные и природа</translation>
<location line="+9"/>
<source>Ignore messages from this user</source>
<translation>Игнорировать сообщения от этого пользователя</translation>
</message>
<message>
<location line="+3"/>
<source>Food &amp; Drink</source>
<translation>Еда и напитки</translation>
<location line="+9"/>
<source>Kick the user from the room</source>
<translation>Выгнать пользователя из комнаты</translation>
</message>
<message>
<location line="+3"/>
<source>Activity</source>
<translation>Деятельность</translation>
<location line="+9"/>
<source>Start a conversation</source>
<translation>Начать разговор</translation>
</message>
<message>
<location line="+4"/>
<source>Travel &amp; Places</source>
<translation>Места и путешествия</translation>
<location line="+57"/>
<source>Devices</source>
<translation>Устройства</translation>
</message>
<message>
<location line="+3"/>
<source>Objects</source>
<translation>Предметы</translation>
</message>
<message>
<location line="+3"/>
<source>Symbols</source>
<translation>Символы</translation>
</message>
<message>
<location line="+3"/>
<source>Flags</source>
<translation>Флаги</translation>
<location line="+39"/>
<source>ESC</source>
<translation></translation>
</message>
</context>
</TS>