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": { "package": {
"desc": "Desktop client for the Matrix protocol", "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": [ "licenses": [
"GPL-3.0" "GPL-3.0"
], ],
"name": "nheko", "name": "nheko",
"public_download_numbers": true, "public_download_numbers": true,
"public_stats": true, "public_stats": true,
"repo": "matrix", "repo": "nheko",
"subject": "mujx", "subject": "nheko-reborn",
"vcs_url": "https://github.com/nheko-reborn/nheko", "vcs_url": "https://github.com/Nheko-Reborn/nheko",
"website_url": "https://github.com/nheko-reborn/nheko" "website_url": "https://github.com/Nheko-Reborn/nheko"
}, },
"publish": true, "publish": true,
"version": { "version": {

View File

@ -1,115 +1,119 @@
---
language: cpp language: cpp
sudo: required sudo: required
dist: trusty dist: trusty
notifications: notifications:
email: false email: false
webhooks: webhooks:
urls: urls:
- "https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MHJlZF9za3klM0FvY2Vhbi5qb2Vkb25vZnJ5LmNvbS8lMjFldkFxa1BIWnVQSElHZWVuaGklM0FvY2Vhbi5qb2Vkb25vZnJ5LmNvbQ" - https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MHJlZF9za3klM0FvY2Vhbi5qb2Vkb25vZnJ5LmNvbS8lMjFldkFxa1BIWnVQSElHZWVuaGklM0FvY2Vhbi5qb2Vkb25vZnJ5LmNvbQ
on_success: always # always|never|change on_success: always
on_failure: always on_failure: always
on_start: never on_start: never
matrix: matrix:
include: include:
- os: osx - os: osx
osx_image: xcode9 osx_image: xcode9
compiler: clang compiler: clang
env: env:
- DEPLOYMENT=1 - DEPLOYMENT=1
- USE_BUNDLED_BOOST=0 - USE_BUNDLED_BOOST=0
- USE_BUNDLED_CMARK=0 - USE_BUNDLED_CMARK=0
- os: linux - os: linux
compiler: gcc compiler: gcc
env: env:
- CXX_COMPILER=g++-5 - CXX_COMPILER=g++-5
- C_COMPILER=gcc-5 - C_COMPILER=gcc-5
- QT_VERSION="-5.10.1" - QT_VERSION="-5.10.1"
- QT_PKG=510 - QT_PKG=510
- DEPLOYMENT=1 - DEPLOYMENT=1
- USE_BUNDLED_BOOST=1 - USE_BUNDLED_BOOST=1
- USE_BUNDLED_CMARK=1 - USE_BUNDLED_CMARK=1
addons: addons:
apt: apt:
sources: ["ubuntu-toolchain-r-test"] sources:
packages: ["g++-5", "ninja-build"] - ubuntu-toolchain-r-test
- os: linux packages:
compiler: gcc - g++-5
env: - ninja-build
- CXX_COMPILER=g++-8 - os: linux
- C_COMPILER=gcc-8 compiler: gcc
- QT_VERSION=571 env:
- QT_PKG=57 - CXX_COMPILER=g++-8
- USE_BUNDLED_BOOST=1 - C_COMPILER=gcc-8
- USE_BUNDLED_CMARK=1 - QT_VERSION=571
addons: - QT_PKG=57
apt: - USE_BUNDLED_BOOST=1
sources: ["ubuntu-toolchain-r-test"] - USE_BUNDLED_CMARK=1
packages: ["g++-8", "ninja-build"] addons:
- os: linux apt:
compiler: clang sources:
env: - ubuntu-toolchain-r-test
- CXX_COMPILER=clang++-5.0 packages:
- C_COMPILER=clang-5.0 - g++-8
- QT_VERSION=592 - ninja-build
- QT_PKG=59 - os: linux
- USE_BUNDLED_BOOST=1 compiler: clang
- USE_BUNDLED_CMARK=1 env:
addons: - CXX_COMPILER=clang++-5.0
apt: - C_COMPILER=clang-5.0
sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-5.0"] - QT_VERSION=592
packages: ["clang-5.0", "g++-7", "ninja-build"] - 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: before_install:
- export CXX=${CXX_COMPILER} - export CXX=${CXX_COMPILER}
- export CC=${C_COMPILER} - export CC=${C_COMPILER}
install: install:
- ./.ci/install.sh - "./.ci/install.sh"
- export PATH=/usr/local/bin:${PATH} - export PATH=/usr/local/bin:${PATH}
script: script:
- ./.ci/script.sh - "./.ci/script.sh"
- sed -i -e "s/VERSION_NAME_VALUE/${TRAVIS_TAG}/g" ./.ci/bintray-release.json || true - sed -i -e "s/VERSION_NAME_VALUE/${TRAVIS_TAG}/g" ./.ci/bintray-release.json || true
- cp ./.ci/bintray-release.json . - cp ./.ci/bintray-release.json .
deploy: deploy:
- provider: bintray - provider: bintray
user: "redsky17" user: redsky17
key: key:
secure: "CAVzWZPxYSOTollo9bpD4tvEbfxXjqelc32aApV48GKyJrMQljQ+mvSe25BuUtnDehxnw8affgGX23AYXmvG8P7w4hM2d7//8Lgan1zCmusV8JE432jknev6X641B4cvrywqSe0Dj3l0kS9Xgirq4BGavlI0y2vUjeJfQEv0y8GYoI72LwgyH0i82v/1Qi92Fh8429IJIb0eKmC1wGWXCmo2kd8StZRL5mSlc4TmyWI0SHpA5GrLMiQwLAuD7DjDl5mpaK2yQx+H4vBcI2SUMvmlHGgVjXikJG5gURlHbnIaaBFvO67INc1/65KtMokWuMP12zxqJiaMPtsAskOpQv4FLAYDfnigH3NxufyOIGp2cxS5RhJDQhbNsxHEDnUo1kHcO23ZYNWCuC1yUdn0RXzKhWcUsz8mKF8KJs22Ty4VjfUMZ+vqK/AbHyq4rkl8DizVRZqKF1KjSWrSv/2sT4itnHk9pmcgxAYfGuALcjrJJveI4MTwDhzXB62CKnMOqLq3sAMqvE0+BdA0BykQr7qrKtptuyP2/OFx6RDbfHQl5Klkb6cSOjxm0oUzh/8iaxgsVdCrhfE67eqkhFZ+a8lJkB/rZ4zSK1Q2Cp4nLtnxenUCW+Ptk2l7zZN6kXM1/+tcgqVROChYJ6asMUpsjFOOAVQ8SZ4TcxX1rq+pxlA=" secure: CAVzWZPxYSOTollo9bpD4tvEbfxXjqelc32aApV48GKyJrMQljQ+mvSe25BuUtnDehxnw8affgGX23AYXmvG8P7w4hM2d7//8Lgan1zCmusV8JE432jknev6X641B4cvrywqSe0Dj3l0kS9Xgirq4BGavlI0y2vUjeJfQEv0y8GYoI72LwgyH0i82v/1Qi92Fh8429IJIb0eKmC1wGWXCmo2kd8StZRL5mSlc4TmyWI0SHpA5GrLMiQwLAuD7DjDl5mpaK2yQx+H4vBcI2SUMvmlHGgVjXikJG5gURlHbnIaaBFvO67INc1/65KtMokWuMP12zxqJiaMPtsAskOpQv4FLAYDfnigH3NxufyOIGp2cxS5RhJDQhbNsxHEDnUo1kHcO23ZYNWCuC1yUdn0RXzKhWcUsz8mKF8KJs22Ty4VjfUMZ+vqK/AbHyq4rkl8DizVRZqKF1KjSWrSv/2sT4itnHk9pmcgxAYfGuALcjrJJveI4MTwDhzXB62CKnMOqLq3sAMqvE0+BdA0BykQr7qrKtptuyP2/OFx6RDbfHQl5Klkb6cSOjxm0oUzh/8iaxgsVdCrhfE67eqkhFZ+a8lJkB/rZ4zSK1Q2Cp4nLtnxenUCW+Ptk2l7zZN6kXM1/+tcgqVROChYJ6asMUpsjFOOAVQ8SZ4TcxX1rq+pxlA=
skip_cleanup: true skip_cleanup: true
overwrite: true overwrite: true
file: "bintray-release.json" file: bintray-release.json
on: on:
condition: $DEPLOYMENT == 1 condition: "$DEPLOYMENT == 1"
repo: Nheko-Reborn/nheko repo: Nheko-Reborn/nheko
tags: false tags: false
all_branches: true all_branches: true
deploy: deploy:
- skip_cleanup: true - skip_cleanup: true
overwrite: true overwrite: true
provider: releases provider: releases
api_key: api_key:
secure: "JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU=" secure: JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU=
file_glob: true file_glob: true
file: file:
- nheko-${TRAVIS_TAG}-x86_64.AppImage - nheko-${TRAVIS_TAG}-x86_64.AppImage
on: on:
condition: $TRAVIS_OS_NAME == linux && $DEPLOYMENT == 1 condition: "$TRAVIS_OS_NAME == linux && $DEPLOYMENT == 1"
repo: Nheko-Reborn/nheko repo: Nheko-Reborn/nheko
tags: true tags: true
- skip_cleanup: true - skip_cleanup: true
overwrite: true overwrite: true
provider: releases provider: releases
api_key: api_key:
secure: "JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU=" secure: JROFCxI1Dj0j8GKftCk1M16PovGmbCQb/i6JKm+YKWIhoYoMJBFl3TzhN0D0KlT8VeClZ0WV4MOom6elAkxlYTGR1kcoJ5ESt/AS0B1ULxq2exbmqzqJgJJBb65JVo4nglLHZPnUHOY5s/QGtg05nPeexcK8b3lFvhMRI+Y5jqX9i4FGsEBk6tG2OLfXB0odU8f6rhEeIGWgJw1LVyiTk3VoQcJtBi7Vsg3p4othMaLDlkVHsepNY+xSO14NbNpUjXSzYWZJEM9HqCOaOlAjZR5Q0Ad365TqN9zj6NOVwxEdN4Zl3/Ux838Or6TobhdhGjqqO2JmWt6C+xV4XJ9wX+8LPb+hYYVBrItp32g3grtW/e4nNsp4j3nm1P87kzKPxC4oAaskyn0dlwC4Vo3LH67beQiceAIuM9ywej4Zwr94+MeKjIVtqI6Qz7Tjlt1pFGI1lmfkKQOXiFlkwPbyCPV3smpJ1WSOC4Npkht6tFPBlLV2DFySYUMRAdH2RwBxWhjzwsSJlx/dEKUUL5yffKtg2tANM6aCCyXMEqEXXVkFe9e9ymPbGmmQuf56xo3rYQj5BcQWA9JHAancqLkxoR0rbRBBmai5qDQP7rBss/HR7Uec5xSnYkS6YYI9zpZ+FTfPa7lnVI3c8hj+ukua1EnsYytB8F8l95jrO8fnTxU=
file: nheko-${TRAVIS_TAG}.dmg file: nheko-${TRAVIS_TAG}.dmg
on: on:
condition: $TRAVIS_OS_NAME == osx && $DEPLOYMENT == 1 condition: "$TRAVIS_OS_NAME == osx && $DEPLOYMENT == 1"
repo: Nheko-Reborn/nheko repo: Nheko-Reborn/nheko
tags: true 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> <context>
<name>AudioItem</name> <name>AudioItem</name>
<message> <message>
<location filename="../../src/timeline/widgets/AudioItem.cc" line="+125"/> <location filename="../../src/timeline/widgets/AudioItem.cpp" line="+117"/>
<source>Save File</source> <source>Save File</source>
<translation>Сохранить файл</translation> <translation>Сохранить файл</translation>
</message> </message>
</context> </context>
<context> <context>
<name>DateSeparator</name> <name>ChatPage</name>
<message> <message>
<location filename="../../src/timeline/TimelineView.cc" line="+54"/> <location filename="../../src/ChatPage.cpp" line="+304"/>
<source>Today</source> <source>Failed to upload image. Please try again.</source>
<translation>Сегодня</translation> <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>
<message> <message>
<location line="+2"/> <location line="+2"/>
<source>Yesterday</source> <source>Low priority rooms</source>
<translation>Вчера</translation> <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> </message>
</context> </context>
<context> <context>
<name>EditModal</name> <name>EditModal</name>
<message> <message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+34"/> <location filename="../../src/dialogs/RoomSettings.cpp" line="+58"/>
<source>APPLY</source> <source>Apply</source>
<translation>ПРИМЕНИТЬ</translation> <translation>Применить</translation>
</message> </message>
<message> <message>
<location line="+2"/> <location line="+1"/>
<source>CANCEL</source> <source>Cancel</source>
<translation>ОТМЕНА</translation> <translation>Отмена</translation>
</message> </message>
<message> <message>
<location line="+9"/> <location line="+10"/>
<source>Name</source> <source>Name</source>
<translation>Название</translation> <translation>Название</translation>
</message> </message>
@ -48,7 +118,7 @@
<context> <context>
<name>FileItem</name> <name>FileItem</name>
<message> <message>
<location filename="../../src/timeline/widgets/FileItem.cc" line="+111"/> <location filename="../../src/timeline/widgets/FileItem.cpp" line="+106"/>
<source>Save File</source> <source>Save File</source>
<translation>Сохранить файл</translation> <translation>Сохранить файл</translation>
</message> </message>
@ -56,15 +126,23 @@
<context> <context>
<name>ImageItem</name> <name>ImageItem</name>
<message> <message>
<location filename="../../src/timeline/widgets/ImageItem.cc" line="+229"/> <location filename="../../src/timeline/widgets/ImageItem.cpp" line="+237"/>
<source>Save image</source> <source>Save image</source>
<translation>Сохранить изображение</translation> <translation>Сохранить изображение</translation>
</message> </message>
</context> </context>
<context>
<name>InviteeItem</name>
<message>
<location filename="../../src/InviteeItem.cpp" line="+17"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
</context>
<context> <context>
<name>LoginPage</name> <name>LoginPage</name>
<message> <message>
<location filename="../../src/LoginPage.cc" line="+79"/> <location filename="../../src/LoginPage.cpp" line="+79"/>
<source>Matrix ID</source> <source>Matrix ID</source>
<translation>Идентификатор Matrix</translation> <translation>Идентификатор Matrix</translation>
</message> </message>
@ -78,57 +156,54 @@
<source>Password</source> <source>Password</source>
<translation>Пароль</translation> <translation>Пароль</translation>
</message> </message>
<message>
<location line="+4"/>
<source>Device name</source>
<translation>Имя устройства</translation>
</message>
<message> <message>
<location line="+19"/> <location line="+19"/>
<source>LOGIN</source> <source>LOGIN</source>
<translation>ВОЙТИ</translation> <translation>ВОЙТИ</translation>
</message> </message>
<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> <source>Empty password</source>
<translation>Пустой пароль</translation> <translation>Пустой пароль</translation>
</message> </message>
</context> </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> <context>
<name>MemberList</name> <name>MemberList</name>
<message> <message>
<location filename="../../src/dialogs/MemberList.cpp" line="+79"/> <location filename="../../src/dialogs/MemberList.cpp" line="+96"/>
<source>Room members</source> <source>Room members</source>
<translation>Участники комнаты</translation> <translation>Участники комнаты</translation>
</message> </message>
<message> <message>
<location line="+10"/> <location line="+33"/>
<source>SHOW MORE</source> <source>ESC</source>
<translation>ПОКАЗАТЬ ЕЩЁ</translation> <translation></translation>
</message> </message>
</context> </context>
<context> <context>
<name>QuickSwitcher</name> <name>QuickSwitcher</name>
<message> <message>
<location filename="../../src/QuickSwitcher.cc" line="+70"/> <location filename="../../src/QuickSwitcher.cpp" line="+71"/>
<source>Search for a room...</source> <source>Search for a room...</source>
<translation>Поиск комнаты...</translation> <translation>Поиск комнаты...</translation>
</message> </message>
@ -136,7 +211,7 @@
<context> <context>
<name>RegisterPage</name> <name>RegisterPage</name>
<message> <message>
<location filename="../../src/RegisterPage.cc" line="+76"/> <location filename="../../src/RegisterPage.cpp" line="+77"/>
<source>Username</source> <source>Username</source>
<translation>Имя пользователя</translation> <translation>Имя пользователя</translation>
</message> </message>
@ -156,12 +231,12 @@
<translation>Домашний сервер</translation> <translation>Домашний сервер</translation>
</message> </message>
<message> <message>
<location line="+17"/> <location line="+16"/>
<source>REGISTER</source> <source>REGISTER</source>
<translation>РЕГИСТРАЦИЯ</translation> <translation>РЕГИСТРАЦИЯ</translation>
</message> </message>
<message> <message>
<location line="+76"/> <location line="+93"/>
<source>Invalid username</source> <source>Invalid username</source>
<translation>Некорректное имя пользователя</translation> <translation>Некорректное имя пользователя</translation>
</message> </message>
@ -184,12 +259,12 @@
<context> <context>
<name>RoomInfoListItem</name> <name>RoomInfoListItem</name>
<message> <message>
<location filename="../../src/RoomInfoListItem.cc" line="+78"/> <location filename="../../src/RoomInfoListItem.cpp" line="+92"/>
<source>Leave room</source> <source>Leave room</source>
<translation>Покинуть комнату</translation> <translation>Покинуть комнату</translation>
</message> </message>
<message> <message>
<location line="+153"/> <location line="+166"/>
<source>Accept</source> <source>Accept</source>
<translation>Принять</translation> <translation>Принять</translation>
</message> </message>
@ -202,7 +277,12 @@
<context> <context>
<name>SideBarActions</name> <name>SideBarActions</name>
<message> <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> <source>Create new room</source>
<translation>Создать новую комнату</translation> <translation>Создать новую комнату</translation>
</message> </message>
@ -211,16 +291,60 @@
<source>Join a room</source> <source>Join a room</source>
<translation>Присоединиться к комнате</translation> <translation>Присоединиться к комнате</translation>
</message> </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>
<context> <context>
<name>TextInputWidget</name> <name>TextInputWidget</name>
<message> <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> <source>Write a message...</source>
<translation>Написать сообщение...</translation> <translation>Написать сообщение...</translation>
</message> </message>
<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> <source>Select a file</source>
<translation>Выберите файл</translation> <translation>Выберите файл</translation>
</message> </message>
@ -229,11 +353,37 @@
<source>All Files (*)</source> <source>All Files (*)</source>
<translation>Все файлы (*)</translation> <translation>Все файлы (*)</translation>
</message> </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>
<context> <context>
<name>TopRoomBar</name> <name>TopRoomBar</name>
<message> <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> <source>Invite users</source>
<translation>Пригласить пользователей</translation> <translation>Пригласить пользователей</translation>
</message> </message>
@ -256,7 +406,7 @@
<context> <context>
<name>TrayIcon</name> <name>TrayIcon</name>
<message> <message>
<location filename="../../src/TrayIcon.cc" line="+116"/> <location filename="../../src/TrayIcon.cpp" line="+120"/>
<source>Show</source> <source>Show</source>
<translation>Показать</translation> <translation>Показать</translation>
</message> </message>
@ -269,7 +419,7 @@
<context> <context>
<name>TypingDisplay</name> <name>TypingDisplay</name>
<message> <message>
<location filename="../../src/TypingDisplay.cc" line="+26"/> <location filename="../../src/TypingDisplay.cpp" line="+45"/>
<source> is typing</source> <source> is typing</source>
<translation> печатает</translation> <translation> печатает</translation>
</message> </message>
@ -279,15 +429,18 @@
<translation> печатают</translation> <translation> печатают</translation>
</message> </message>
</context> </context>
<context>
<name>UserInfoWidget</name>
<message>
<location filename="../../src/UserInfoWidget.cpp" line="+87"/>
<source>Logout</source>
<translation>Выйти</translation>
</message>
</context>
<context> <context>
<name>UserSettingsPage</name> <name>UserSettingsPage</name>
<message> <message>
<location filename="../../src/UserSettingsPage.cc" line="+121"/> <location filename="../../src/UserSettingsPage.cpp" line="+147"/>
<source>User Settings</source>
<translation>Пользовательские настройки</translation>
</message>
<message>
<location line="+15"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation>Сворачивать в системную панель</translation> <translation>Сворачивать в системную панель</translation>
</message> </message>
@ -297,12 +450,7 @@
<translation>Запускать в системной панели</translation> <translation>Запускать в системной панели</translation>
</message> </message>
<message> <message>
<location line="+12"/> <location line="+11"/>
<source>Re-order rooms based on activity</source>
<translation>Упорядочивать комнаты по активности</translation>
</message>
<message>
<location line="+9"/>
<source>Group&apos;s sidebar</source> <source>Group&apos;s sidebar</source>
<translation>Боковая панель групп</translation> <translation>Боковая панель групп</translation>
</message> </message>
@ -318,19 +466,111 @@
</message> </message>
<message> <message>
<location line="+9"/> <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> <source>Theme</source>
<translation>Тема</translation> <translation>Тема</translation>
</message> </message>
<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> <source>GENERAL</source>
<translation>ГЛАВНОЕ</translation> <translation>ГЛАВНОЕ</translation>
</message> </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>
<context> <context>
<name>WelcomePage</name> <name>WelcomePage</name>
<message> <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> <source>Welcome to nheko! The desktop client for the Matrix protocol.</source>
<translation>Добро пожаловать в nheko, клиент протокола Matrix!</translation> <translation>Добро пожаловать в nheko, клиент протокола Matrix!</translation>
</message> </message>
@ -340,12 +580,12 @@
<translation>Приятного времяпрепровождения!</translation> <translation>Приятного времяпрепровождения!</translation>
</message> </message>
<message> <message>
<location line="+19"/> <location line="+23"/>
<source>REGISTER</source> <source>REGISTER</source>
<translation>РЕГИСТРАЦИЯ</translation> <translation>РЕГИСТРАЦИЯ</translation>
</message> </message>
<message> <message>
<location line="+6"/> <location line="+5"/>
<source>LOGIN</source> <source>LOGIN</source>
<translation>ВХОД</translation> <translation>ВХОД</translation>
</message> </message>
@ -353,12 +593,17 @@
<context> <context>
<name>dialogs::CreateRoom</name> <name>dialogs::CreateRoom</name>
<message> <message>
<location filename="../../src/dialogs/CreateRoom.cc" line="+32"/> <location filename="../../src/dialogs/CreateRoom.cpp" line="+36"/>
<source>CANCEL</source> <source>Create room</source>
<translation>ОТМЕНА</translation> <translation>Создать комнату</translation>
</message> </message>
<message> <message>
<location line="+11"/> <location line="+2"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location line="+10"/>
<source>Name</source> <source>Name</source>
<translation>Название</translation> <translation>Название</translation>
</message> </message>
@ -378,12 +623,12 @@
<translation>Видимость комнаты</translation> <translation>Видимость комнаты</translation>
</message> </message>
<message> <message>
<location line="+9"/> <location line="+8"/>
<source>Room Preset</source> <source>Room Preset</source>
<translation>Шаблон комнаты</translation> <translation>Шаблон комнаты</translation>
</message> </message>
<message> <message>
<location line="+10"/> <location line="+9"/>
<source>Direct Chat</source> <source>Direct Chat</source>
<translation>Прямой чат</translation> <translation>Прямой чат</translation>
</message> </message>
@ -391,12 +636,12 @@
<context> <context>
<name>dialogs::InviteUsers</name> <name>dialogs::InviteUsers</name>
<message> <message>
<location filename="../../src/dialogs/InviteUsers.cc" line="+36"/> <location filename="../../src/dialogs/InviteUsers.cpp" line="+41"/>
<source>CANCEL</source> <source>Cancel</source>
<translation>ОТМЕНА</translation> <translation>Отмена</translation>
</message> </message>
<message> <message>
<location line="+11"/> <location line="+8"/>
<source>User ID to invite</source> <source>User ID to invite</source>
<translation>Идентификатор пользователя</translation> <translation>Идентификатор пользователя</translation>
</message> </message>
@ -404,12 +649,17 @@
<context> <context>
<name>dialogs::JoinRoom</name> <name>dialogs::JoinRoom</name>
<message> <message>
<location filename="../../src/dialogs/JoinRoom.cc" line="+30"/> <location filename="../../src/dialogs/JoinRoom.cpp" line="+30"/>
<source>CANCEL</source> <source>Join</source>
<translation>ОТМЕНА</translation> <translation>Присоединиться</translation>
</message> </message>
<message> <message>
<location line="+11"/> <location line="+2"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location line="+7"/>
<source>Room ID or alias</source> <source>Room ID or alias</source>
<translation>Идентификатор или псевдоним комнаты</translation> <translation>Идентификатор или псевдоним комнаты</translation>
</message> </message>
@ -417,12 +667,12 @@
<context> <context>
<name>dialogs::LeaveRoom</name> <name>dialogs::LeaveRoom</name>
<message> <message>
<location filename="../../src/dialogs/LeaveRoom.cc" line="+29"/> <location filename="../../src/dialogs/LeaveRoom.cpp" line="+31"/>
<source>CANCEL</source> <source>Cancel</source>
<translation>ОТМЕНА</translation> <translation>Отмена</translation>
</message> </message>
<message> <message>
<location line="+10"/> <location line="+8"/>
<source>Are you sure you want to leave?</source> <source>Are you sure you want to leave?</source>
<translation>Вы действительно желаете выйти?</translation> <translation>Вы действительно желаете выйти?</translation>
</message> </message>
@ -430,12 +680,12 @@
<context> <context>
<name>dialogs::Logout</name> <name>dialogs::Logout</name>
<message> <message>
<location filename="../../src/dialogs/Logout.cc" line="+47"/> <location filename="../../src/dialogs/Logout.cpp" line="+47"/>
<source>CANCEL</source> <source>Cancel</source>
<translation>ОТМЕНА</translation> <translation>Отмена</translation>
</message> </message>
<message> <message>
<location line="+10"/> <location line="+8"/>
<source>Logout. Are you sure?</source> <source>Logout. Are you sure?</source>
<translation>Выйти из учётной записи. Вы уверены?</translation> <translation>Выйти из учётной записи. Вы уверены?</translation>
</message> </message>
@ -443,7 +693,7 @@
<context> <context>
<name>dialogs::PreviewUploadOverlay</name> <name>dialogs::PreviewUploadOverlay</name>
<message> <message>
<location filename="../../src/dialogs/PreviewUploadOverlay.cc" line="+41"/> <location filename="../../src/dialogs/PreviewUploadOverlay.cpp" line="+42"/>
<source>Upload</source> <source>Upload</source>
<translation>Загрузить</translation> <translation>Загрузить</translation>
</message> </message>
@ -453,7 +703,7 @@
<translation>Отменить</translation> <translation>Отменить</translation>
</message> </message>
<message> <message>
<location line="+72"/> <location line="+84"/>
<source>Media type: %1 <source>Media type: %1
Media size: %2 Media size: %2
</source> </source>
@ -465,14 +715,14 @@ Media size: %2
<context> <context>
<name>dialogs::ReCaptcha</name> <name>dialogs::ReCaptcha</name>
<message> <message>
<location filename="../../src/dialogs/ReCaptcha.cpp" line="+34"/> <location filename="../../src/dialogs/ReCaptcha.cpp" line="+31"/>
<source>CONFIRM</source> <source>Cancel</source>
<translation>ПОДТВЕРДИТЬ</translation> <translation>Отмена</translation>
</message> </message>
<message> <message>
<location line="+3"/> <location line="+1"/>
<source>CANCEL</source> <source>Confirm</source>
<translation>ОТМЕНА</translation> <translation>Подтвердить</translation>
</message> </message>
<message> <message>
<location line="+11"/> <location line="+11"/>
@ -483,20 +733,40 @@ Media size: %2
<context> <context>
<name>dialogs::ReadReceipts</name> <name>dialogs::ReadReceipts</name>
<message> <message>
<location filename="../../src/dialogs/ReadReceipts.cc" line="+98"/> <location filename="../../src/dialogs/ReadReceipts.cpp" line="+119"/>
<source>Read receipts</source> <source>Read receipts</source>
<translation>Подтверждать прочтение</translation> <translation>Подтверждать прочтение</translation>
</message> </message>
<message>
<location line="+4"/>
<source>Close</source>
<translation>Закрыть</translation>
</message>
<message>
<location line="+11"/>
<source>ESC</source>
<translation></translation>
</message>
</context> </context>
<context> <context>
<name>dialogs::RoomSettings</name> <name>dialogs::RoomSettings</name>
<message> <message>
<location filename="../../src/dialogs/RoomSettings.cpp" line="+147"/> <location filename="../../src/dialogs/RoomSettings.cpp" line="+113"/>
<source>CANCEL</source> <source>Settings</source>
<translation>ОТМЕНА</translation> <translation>Настройки</translation>
</message> </message>
<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> <source>Notifications</source>
<translation>Уведомления</translation> <translation>Уведомления</translation>
</message> </message>
@ -516,7 +786,7 @@ Media size: %2
<translation>Все сообщения</translation> <translation>Все сообщения</translation>
</message> </message>
<message> <message>
<location line="+8"/> <location line="+7"/>
<source>Room access</source> <source>Room access</source>
<translation>Доступ к комнате</translation> <translation>Доступ к комнате</translation>
</message> </message>
@ -535,48 +805,110 @@ Media size: %2
<source>Invited users</source> <source>Invited users</source>
<translation>Приглашённые пользователи</translation> <translation>Приглашённые пользователи</translation>
</message> </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>
<context> <context>
<name>emoji::Panel</name> <name>dialogs::UserProfile</name>
<message> <message>
<location filename="../../src/emoji/Panel.cc" line="+125"/> <location filename="../../src/dialogs/UserProfile.cpp" line="+63"/>
<source>Smileys &amp; People</source> <source>Ban the user from the room</source>
<translation>Рожицы и люди</translation> <translation>Заблокировать пользователя в комнате</translation>
</message> </message>
<message> <message>
<location line="+4"/> <location line="+9"/>
<source>Animals &amp; Nature</source> <source>Ignore messages from this user</source>
<translation>Животные и природа</translation> <translation>Игнорировать сообщения от этого пользователя</translation>
</message> </message>
<message> <message>
<location line="+3"/> <location line="+9"/>
<source>Food &amp; Drink</source> <source>Kick the user from the room</source>
<translation>Еда и напитки</translation> <translation>Выгнать пользователя из комнаты</translation>
</message> </message>
<message> <message>
<location line="+3"/> <location line="+9"/>
<source>Activity</source> <source>Start a conversation</source>
<translation>Деятельность</translation> <translation>Начать разговор</translation>
</message> </message>
<message> <message>
<location line="+4"/> <location line="+57"/>
<source>Travel &amp; Places</source> <source>Devices</source>
<translation>Места и путешествия</translation> <translation>Устройства</translation>
</message> </message>
<message> <message>
<location line="+3"/> <location line="+39"/>
<source>Objects</source> <source>ESC</source>
<translation>Предметы</translation> <translation></translation>
</message>
<message>
<location line="+3"/>
<source>Symbols</source>
<translation>Символы</translation>
</message>
<message>
<location line="+3"/>
<source>Flags</source>
<translation>Флаги</translation>
</message> </message>
</context> </context>
</TS> </TS>