Polish client UI labels

This commit is contained in:
Курнат Андрей
2026-06-08 21:35:46 +03:00
parent 955be5134d
commit ac618d400b
18 changed files with 178 additions and 156 deletions
@@ -159,7 +159,7 @@ class SettingsPictureUploadsFragment : PreferenceFragmentCompat() {
prefPictureUploadsOnWifi?.isChecked = it.wifiOnly prefPictureUploadsOnWifi?.isChecked = it.wifiOnly
prefPictureUploadsOnCharging?.isChecked = it.chargingOnly prefPictureUploadsOnCharging?.isChecked = it.chargingOnly
prefPictureUploadsBehaviour?.value = it.behavior.name prefPictureUploadsBehaviour?.value = it.behavior.name
prefPictureUploadsLastSync?.summary = DisplayUtils.unixTimeToHumanReadable(it.lastSyncTimestamp) prefPictureUploadsLastSync?.summary = formatLastSyncSummary(it.lastSyncTimestamp)
spaceId = it.spaceId spaceId = it.spaceId
} ?: resetFields() } ?: resetFields()
} }
@@ -293,7 +293,7 @@ class SettingsPictureUploadsFragment : PreferenceFragmentCompat() {
prefPictureUploadsOnWifi?.isChecked = false prefPictureUploadsOnWifi?.isChecked = false
prefPictureUploadsOnCharging?.isChecked = false prefPictureUploadsOnCharging?.isChecked = false
prefPictureUploadsBehaviour?.value = UploadBehavior.COPY.name prefPictureUploadsBehaviour?.value = UploadBehavior.COPY.name
prefPictureUploadsLastSync?.summary = null prefPictureUploadsLastSync?.summary = getString(R.string.prefs_camera_upload_last_sync_never)
} }
private fun getSourcePathsSummary(sourcePaths: List<String>): String = private fun getSourcePathsSummary(sourcePaths: List<String>): String =
@@ -305,6 +305,13 @@ class SettingsPictureUploadsFragment : PreferenceFragmentCompat() {
} }
} }
private fun formatLastSyncSummary(lastSyncTimestamp: Long): String =
if (lastSyncTimestamp <= 0L) {
getString(R.string.prefs_camera_upload_last_sync_never)
} else {
DisplayUtils.unixTimeToHumanReadable(lastSyncTimestamp)
}
companion object { companion object {
private const val PREF_PICTURE_UPLOADS_CLEAR_SOURCE_PATHS = "picture_uploads_clear_source_paths" private const val PREF_PICTURE_UPLOADS_CLEAR_SOURCE_PATHS = "picture_uploads_clear_source_paths"
} }
@@ -157,7 +157,7 @@ class SettingsVideoUploadsFragment : PreferenceFragmentCompat() {
prefVideoUploadsOnWifi?.isChecked = it.wifiOnly prefVideoUploadsOnWifi?.isChecked = it.wifiOnly
prefVideoUploadsOnCharging?.isChecked = it.chargingOnly prefVideoUploadsOnCharging?.isChecked = it.chargingOnly
prefVideoUploadsBehaviour?.value = it.behavior.name prefVideoUploadsBehaviour?.value = it.behavior.name
prefVideoUploadsLastSync?.summary = DisplayUtils.unixTimeToHumanReadable(it.lastSyncTimestamp) prefVideoUploadsLastSync?.summary = formatLastSyncSummary(it.lastSyncTimestamp)
spaceId = it.spaceId spaceId = it.spaceId
} ?: resetFields() } ?: resetFields()
} }
@@ -291,7 +291,7 @@ class SettingsVideoUploadsFragment : PreferenceFragmentCompat() {
prefVideoUploadsOnWifi?.isChecked = false prefVideoUploadsOnWifi?.isChecked = false
prefVideoUploadsOnCharging?.isChecked = false prefVideoUploadsOnCharging?.isChecked = false
prefVideoUploadsBehaviour?.value = UploadBehavior.COPY.name prefVideoUploadsBehaviour?.value = UploadBehavior.COPY.name
prefVideoUploadsLastSync?.summary = null prefVideoUploadsLastSync?.summary = getString(R.string.prefs_camera_upload_last_sync_never)
} }
private fun getSourcePathsSummary(sourcePaths: List<String>): String = private fun getSourcePathsSummary(sourcePaths: List<String>): String =
@@ -303,6 +303,13 @@ class SettingsVideoUploadsFragment : PreferenceFragmentCompat() {
} }
} }
private fun formatLastSyncSummary(lastSyncTimestamp: Long): String =
if (lastSyncTimestamp <= 0L) {
getString(R.string.prefs_camera_upload_last_sync_never)
} else {
DisplayUtils.unixTimeToHumanReadable(lastSyncTimestamp)
}
companion object { companion object {
private const val PREF_VIDEO_UPLOADS_CLEAR_SOURCE_PATHS = "video_uploads_clear_source_paths" private const val PREF_VIDEO_UPLOADS_CLEAR_SOURCE_PATHS = "video_uploads_clear_source_paths"
} }
@@ -60,23 +60,23 @@
<string name="prefs_touches_with_other_visible_windows_summary">Разрешает взаимодействие, когда есть перекрытие другим видимым или прозрачным окном. Это нужно, если вы используете приложения для фильтрации света от экрана. Перекрывающее приложение сможет получать информацию о взаимодействии.</string> <string name="prefs_touches_with_other_visible_windows_summary">Разрешает взаимодействие, когда есть перекрытие другим видимым или прозрачным окном. Это нужно, если вы используете приложения для фильтрации света от экрана. Перекрывающее приложение сможет получать информацию о взаимодействии.</string>
<string name="confirmation_touches_with_other_windows_title">Вы уверены, что хотите включить эту функцию?</string> <string name="confirmation_touches_with_other_windows_title">Вы уверены, что хотите включить эту функцию?</string>
<string name="confirmation_touches_with_other_windows_message">Используйте эту функцию на свой страх и риск. Вредоносное приложение может попытаться обманом заставить вас выполнить какие-либо действия, используя другие представления.</string> <string name="confirmation_touches_with_other_windows_message">Используйте эту функцию на свой страх и риск. Вредоносное приложение может попытаться обманом заставить вас выполнить какие-либо действия, используя другие представления.</string>
<string name="prefs_subsection_picture_uploads">Автоматическая загрузка изображений</string> <string name="prefs_subsection_picture_uploads">Резервное копирование фото</string>
<string name="prefs_subsection_picture_uploads_summary">Управляйте местоположением и поведением автоматически загружаемых фотографий</string> <string name="prefs_subsection_picture_uploads_summary">Выберите папки телефона и условия загрузки</string>
<string name="prefs_subsection_video_uploads">Автоматическая загрузка видео</string> <string name="prefs_subsection_video_uploads">Резервное копирование видео</string>
<string name="prefs_subsection_video_uploads_summary">Настройка размещения и поведения видеороликов, загружаемых автоматически</string> <string name="prefs_subsection_video_uploads_summary">Выберите папки с видео и условия загрузки</string>
<string name="prefs_camera_picture_upload">Загрузка изображений</string> <string name="prefs_camera_picture_upload">Копировать фото</string>
<string name="prefs_camera_picture_upload_summary">Автоматически загружать изображения, сделанные камерой</string> <string name="prefs_camera_picture_upload_summary">Автоматически копировать фото из выбранных папок телефона</string>
<string name="prefs_camera_picture_upload_path_title">Путь загрузки изображений</string> <string name="prefs_camera_picture_upload_path_title">Папка назначения в КуСфера</string>
<string name="prefs_camera_picture_upload_conditions_title">Условия для загрузки</string> <string name="prefs_camera_picture_upload_conditions_title">Условия загрузки</string>
<string name="prefs_camera_picture_upload_conditions_summary">Автозагрузка будет запущена только при удовлетворении выбранных ниже условий</string> <string name="prefs_camera_picture_upload_conditions_summary">Копирование запускается только при выполнении выбранных условий</string>
<string name="prefs_camera_picture_upload_on_wifi">Загрузка изображений только через wifi</string> <string name="prefs_camera_picture_upload_on_wifi">Копировать фото только по Wi-Fi</string>
<string name="prefs_camera_picture_upload_on_charging">Загрузка изображений только во время зарядки</string> <string name="prefs_camera_picture_upload_on_charging">Копировать фото только во время зарядки</string>
<string name="prefs_camera_upload_on_charging_summary">Чтобы включить этот параметр, сначала включите загрузку только по Wi-Fi</string> <string name="prefs_camera_upload_on_charging_summary">Чтобы включить этот параметр, сначала включите загрузку только по Wi-Fi</string>
<string name="prefs_camera_video_upload">Загрузка видео</string> <string name="prefs_camera_video_upload">Копировать видео</string>
<string name="prefs_camera_video_upload_summary">Автоматически загружать видео, записанные камерой</string> <string name="prefs_camera_video_upload_summary">Автоматически копировать видео из выбранных папок телефона</string>
<string name="prefs_camera_video_upload_path_title">Путь загрузки видео</string> <string name="prefs_camera_video_upload_path_title">Папка назначения в КуСфера</string>
<string name="prefs_camera_video_upload_on_wifi">Загрузка видео только через wifi</string> <string name="prefs_camera_video_upload_on_wifi">Копировать видео только по Wi-Fi</string>
<string name="prefs_camera_video_upload_on_charging">Загрузка видео только во время зарядки</string> <string name="prefs_camera_video_upload_on_charging">Копировать видео только во время зарядки</string>
<string name="prefs_automatic_uploads_not_available_users_light">Автоматические загрузки недоступны для пользователей Light</string> <string name="prefs_automatic_uploads_not_available_users_light">Автоматические загрузки недоступны для пользователей Light</string>
<string name="prefs_subsection_advanced">Дополнительно</string> <string name="prefs_subsection_advanced">Дополнительно</string>
<string name="prefs_subsection_notifications">Управление уведомлениями</string> <string name="prefs_subsection_notifications">Управление уведомлениями</string>
@@ -553,17 +553,18 @@
<string name="file_list__footer__files">%1$d файлов</string> <string name="file_list__footer__files">%1$d файлов</string>
<string name="file_list__footer__files_and_folder">%1$d файлов, 1 каталог</string> <string name="file_list__footer__files_and_folder">%1$d файлов, 1 каталог</string>
<string name="file_list__footer__files_and_folders">%1$d файлов, %2$d каталогов</string> <string name="file_list__footer__files_and_folders">%1$d файлов, %2$d каталогов</string>
<string name="prefs_picture_upload_account">Учётная запись для закачки изображений</string> <string name="prefs_picture_upload_account">Учётная запись для фото</string>
<string name="prefs_video_upload_account">Учётная запись для закачки видео</string> <string name="prefs_video_upload_account">Учётная запись для видео</string>
<string name="prefs_camera_upload_source_path_title">Каталог камеры (%1$s)</string> <string name="prefs_camera_upload_source_path_title">Папки телефона (%1$s)</string>
<string name="prefs_camera_upload_source_path_title_required">обязательно</string> <string name="prefs_camera_upload_source_path_title_required">обязательно</string>
<string name="prefs_camera_upload_source_paths_clear_title">Очистить выбранные папки</string> <string name="prefs_camera_upload_source_paths_clear_title">Убрать выбранные папки</string>
<string name="prefs_camera_upload_source_paths_empty">Папки не выбраны</string> <string name="prefs_camera_upload_source_paths_empty">Папки телефона не выбраны</string>
<string name="confirmation_clear_camera_upload_sources_title">Очистить выбранные папки</string> <string name="confirmation_clear_camera_upload_sources_title">Убрать выбранные папки</string>
<string name="confirmation_clear_camera_upload_sources_message">Автозагрузка перестанет проверять папки телефона, пока вы снова не добавите папку.</string> <string name="confirmation_clear_camera_upload_sources_message">Копирование перестанет проверять папки телефона, пока вы снова не добавите папку.</string>
<string name="prefs_camera_upload_behaviour_dialog_title">Исходный файл будет</string> <string name="prefs_camera_upload_behaviour_dialog_title">Исходный файл после копирования</string>
<string name="prefs_camera_upload_behaviour_title">Исходный файл будет</string> <string name="prefs_camera_upload_behaviour_title">Исходный файл после копирования</string>
<string name="prefs_camera_upload_last_sync_title">Последняя синхронизация</string> <string name="prefs_camera_upload_last_sync_title">Последняя проверка</string>
<string name="prefs_camera_upload_last_sync_never">Ожидает первой проверки</string>
<string name="notifications_permission_denied">Вы можете обновить свои установки в Настройки</string> <string name="notifications_permission_denied">Вы можете обновить свои установки в Настройки</string>
<string name="upload_copy_files">Скопировать файл</string> <string name="upload_copy_files">Скопировать файл</string>
<string name="upload_move_files">Переместить файл</string> <string name="upload_move_files">Переместить файл</string>
@@ -61,23 +61,23 @@
<string name="prefs_touches_with_other_visible_windows_summary">Allow touches when the view is obscured by another visible window. Enable it to use light filtering apps.</string> <string name="prefs_touches_with_other_visible_windows_summary">Allow touches when the view is obscured by another visible window. Enable it to use light filtering apps.</string>
<string name="confirmation_touches_with_other_windows_title">Are you sure you want to enable this feature?</string> <string name="confirmation_touches_with_other_windows_title">Are you sure you want to enable this feature?</string>
<string name="confirmation_touches_with_other_windows_message">Use this feature at your own risk. A malicious application could try to spoof you into unknowingly performing some actions, using other views.</string> <string name="confirmation_touches_with_other_windows_message">Use this feature at your own risk. A malicious application could try to spoof you into unknowingly performing some actions, using other views.</string>
<string name="prefs_subsection_picture_uploads">Automatic picture uploads</string> <string name="prefs_subsection_picture_uploads">Photo backup</string>
<string name="prefs_subsection_picture_uploads_summary">Manage location and behavior of the pictures uploaded automatically</string> <string name="prefs_subsection_picture_uploads_summary">Choose which phone folders are backed up and when uploads run</string>
<string name="prefs_subsection_video_uploads">Automatic video uploads</string> <string name="prefs_subsection_video_uploads">Video backup</string>
<string name="prefs_subsection_video_uploads_summary">Manage location and behavior of the videos uploaded automatically</string> <string name="prefs_subsection_video_uploads_summary">Choose which video folders are backed up and when uploads run</string>
<string name="prefs_camera_picture_upload">Picture uploads</string> <string name="prefs_camera_picture_upload">Back up photos</string>
<string name="prefs_camera_picture_upload_summary">Automatically upload pictures taken by camera</string> <string name="prefs_camera_picture_upload_summary">Automatically back up photos from selected phone folders</string>
<string name="prefs_camera_picture_upload_path_title">Picture upload path</string> <string name="prefs_camera_picture_upload_path_title">QSfera destination folder</string>
<string name="prefs_camera_picture_upload_conditions_title">Conditions to execute uploads</string> <string name="prefs_camera_picture_upload_conditions_title">Upload conditions</string>
<string name="prefs_camera_picture_upload_conditions_summary">Uploads will be triggered when all selected options are fulfilled</string> <string name="prefs_camera_picture_upload_conditions_summary">Backup runs only when the selected conditions are met</string>
<string name="prefs_camera_picture_upload_on_wifi">Upload pictures via wifi only</string> <string name="prefs_camera_picture_upload_on_wifi">Use Wi-Fi only for photo backup</string>
<string name="prefs_camera_picture_upload_on_charging">Upload pictures only when charging</string> <string name="prefs_camera_picture_upload_on_charging">Back up photos only while charging</string>
<string name="prefs_camera_upload_on_charging_summary">Enable wifi only uploads to activate this option</string> <string name="prefs_camera_upload_on_charging_summary">Enable wifi only uploads to activate this option</string>
<string name="prefs_camera_video_upload">Video uploads</string> <string name="prefs_camera_video_upload">Back up videos</string>
<string name="prefs_camera_video_upload_summary">Automatically upload videos recorded by camera</string> <string name="prefs_camera_video_upload_summary">Automatically back up videos from selected phone folders</string>
<string name="prefs_camera_video_upload_path_title">Video upload path</string> <string name="prefs_camera_video_upload_path_title">QSfera destination folder</string>
<string name="prefs_camera_video_upload_on_wifi">Upload videos via wifi only</string> <string name="prefs_camera_video_upload_on_wifi">Use Wi-Fi only for video backup</string>
<string name="prefs_camera_video_upload_on_charging">Upload videos only when charging</string> <string name="prefs_camera_video_upload_on_charging">Back up videos only while charging</string>
<string name="prefs_automatic_uploads_not_available_users_light">Automatic uploads are not available for users light</string> <string name="prefs_automatic_uploads_not_available_users_light">Automatic uploads are not available for users light</string>
<string name="prefs_subsection_advanced">Advanced</string> <string name="prefs_subsection_advanced">Advanced</string>
<string name="prefs_subsection_notifications">Manage notifications</string> <string name="prefs_subsection_notifications">Manage notifications</string>
@@ -591,17 +591,18 @@
<string name="file_list__footer__files">%1$d files</string> <string name="file_list__footer__files">%1$d files</string>
<string name="file_list__footer__files_and_folder">%1$d files, 1 folder</string> <string name="file_list__footer__files_and_folder">%1$d files, 1 folder</string>
<string name="file_list__footer__files_and_folders">%1$d files, %2$d folders</string> <string name="file_list__footer__files_and_folders">%1$d files, %2$d folders</string>
<string name="prefs_picture_upload_account">Account to upload pictures</string> <string name="prefs_picture_upload_account">QSfera account for photos</string>
<string name="prefs_video_upload_account">Account to upload videos</string> <string name="prefs_video_upload_account">QSfera account for videos</string>
<string name="prefs_camera_upload_source_path_title">Camera folder (%1$s)</string> <string name="prefs_camera_upload_source_path_title">Phone folders (%1$s)</string>
<string name="prefs_camera_upload_source_path_title_required">required</string> <string name="prefs_camera_upload_source_path_title_required">required</string>
<string name="prefs_camera_upload_source_paths_clear_title">Clear selected folders</string> <string name="prefs_camera_upload_source_paths_clear_title">Remove selected folders</string>
<string name="prefs_camera_upload_source_paths_empty">No folders selected</string> <string name="prefs_camera_upload_source_paths_empty">No phone folders selected</string>
<string name="confirmation_clear_camera_upload_sources_title">Clear selected folders</string> <string name="confirmation_clear_camera_upload_sources_title">Remove selected folders</string>
<string name="confirmation_clear_camera_upload_sources_message">Automatic uploads will stop scanning phone folders until you add a folder again.</string> <string name="confirmation_clear_camera_upload_sources_message">Backup will stop scanning phone folders until you add a folder again.</string>
<string name="prefs_camera_upload_behaviour_dialog_title">Original file will be</string> <string name="prefs_camera_upload_behaviour_dialog_title">Original file after backup</string>
<string name="prefs_camera_upload_behaviour_title">Original file will be</string> <string name="prefs_camera_upload_behaviour_title">Original file after backup</string>
<string name="prefs_camera_upload_last_sync_title">Last synchronization</string> <string name="prefs_camera_upload_last_sync_title">Last backup scan</string>
<string name="prefs_camera_upload_last_sync_never">Waiting for first backup scan</string>
<string name="notifications_permission_denied">You can update your preferences in Settings</string> <string name="notifications_permission_denied">You can update your preferences in Settings</string>
<string name="upload_copy_files">Copy file</string> <string name="upload_copy_files">Copy file</string>
<string name="upload_move_files">Move file</string> <string name="upload_move_files">Move file</string>
+4 -4
View File
@@ -194,13 +194,13 @@ void AccountSettings::slotRemoveCurrentFolder(Folder *folder)
{ {
// TODO: move to qml // TODO: move to qml
qCInfo(lcAccountSettings) << u"Remove Folder " << folder->path(); qCInfo(lcAccountSettings) << u"Remove Folder " << folder->path();
auto messageBox = new FontIconMessageBox({Resources::FontIcon::DefaultGlyphes::Question}, tr("Confirm removal of Space"), auto messageBox = new FontIconMessageBox({Resources::FontIcon::DefaultGlyphes::Question}, tr("Confirm removal of folder sync"),
tr("<p>Do you really want to stop syncing the Space »%1«?</p>" tr("<p>Stop syncing <b>%1</b> on this computer?</p>"
"<p><b>Note:</b> This will <b>not</b> delete any files.</p>") "<p><b>Note:</b> This will not delete files in QSfera or on this device.</p>")
.arg(folder->displayName()), .arg(folder->displayName()),
QMessageBox::NoButton, ocApp()->settingsDialog()); QMessageBox::NoButton, ocApp()->settingsDialog());
messageBox->setAttribute(Qt::WA_DeleteOnClose); messageBox->setAttribute(Qt::WA_DeleteOnClose);
QPushButton *yesButton = messageBox->addButton(tr("Remove Space"), QMessageBox::YesRole); QPushButton *yesButton = messageBox->addButton(tr("Remove folder sync"), QMessageBox::YesRole);
messageBox->addButton(tr("Cancel"), QMessageBox::NoRole); messageBox->addButton(tr("Cancel"), QMessageBox::NoRole);
connect(messageBox, &QMessageBox::finished, this, [messageBox, yesButton, folder, this] { connect(messageBox, &QMessageBox::finished, this, [messageBox, yesButton, folder, this] {
if (messageBox->clickedButton() == yesButton) { if (messageBox->clickedButton() == yesButton) {
+2 -2
View File
@@ -55,7 +55,7 @@
<item> <item>
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="text"> <property name="text">
<string>Preparing the account</string> <string>Preparing account</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -83,7 +83,7 @@
</widget> </widget>
<widget class="OCC::QmlUtils::OCQuickWidget" name="quickWidget"> <widget class="OCC::QmlUtils::OCQuickWidget" name="quickWidget">
<property name="accessibleName"> <property name="accessibleName">
<string>Sync connections</string> <string>Synchronized folders</string>
</property> </property>
</widget> </widget>
</widget> </widget>
+6 -6
View File
@@ -77,7 +77,7 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QCheckBox" name="autostartCheckBox"> <widget class="QCheckBox" name="autostartCheckBox">
<property name="text"> <property name="text">
<string>Start on Login</string> <string>Start QSfera when I sign in</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -95,7 +95,7 @@
<item> <item>
<widget class="QCheckBox" name="syncHiddenFilesCheckBox"> <widget class="QCheckBox" name="syncHiddenFilesCheckBox">
<property name="text"> <property name="text">
<string>Sync hidden files</string> <string>Sync hidden files and folders</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -108,14 +108,14 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
<string>Show crash reporter</string> <string>Show crash reporter after a crash</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="moveToTrashCheckBox"> <widget class="QCheckBox" name="moveToTrashCheckBox">
<property name="text"> <property name="text">
<string>Move remotely deleted files to the local trash bin instead of deleting them</string> <string>Move server-deleted files to the local trash instead of deleting them</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -124,14 +124,14 @@
<item> <item>
<widget class="QPushButton" name="ignoredFilesButton"> <widget class="QPushButton" name="ignoredFilesButton">
<property name="text"> <property name="text">
<string>Edit Ignored Files</string> <string>Ignored files</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="logSettingsButton"> <widget class="QPushButton" name="logSettingsButton">
<property name="text"> <property name="text">
<string>Log Settings</string> <string>Logs</string>
</property> </property>
</widget> </widget>
</item> </item>
+8 -8
View File
@@ -22,14 +22,14 @@ import eu.QSfera.resources 1.0
Pane { Pane {
id: folderSyncPanel id: folderSyncPanel
// TODO: not cool // TODO: not cool
readonly property real normalSize: 170 readonly property real normalSize: 140
readonly property AccountSettings accountSettings: ocContext readonly property AccountSettings accountSettings: ocContext
readonly property OCQuickWidget widget: ocQuickWidget readonly property OCQuickWidget widget: ocQuickWidget
spacing: 10 spacing: 10
Accessible.role: Accessible.List Accessible.role: Accessible.List
Accessible.name: qsTr("Folder Sync") Accessible.name: qsTr("Synchronized folders")
Connections { Connections {
target: widget target: widget
@@ -69,7 +69,7 @@ Pane {
Button { Button {
id: manageAccountButton id: manageAccountButton
text: qsTr("Manage Account") text: qsTr("Account")
Menu { Menu {
id: accountMenu id: accountMenu
@@ -89,14 +89,14 @@ Pane {
} }
MenuItem { MenuItem {
text: qsTr("Remove") text: qsTr("Remove account")
onTriggered: accountSettings.slotDeleteAccount() onTriggered: accountSettings.slotDeleteAccount()
} }
} }
onClicked: { onClicked: {
accountMenu.open(); accountMenu.open();
Accessible.announce(qsTr("Account options Menu")); Accessible.announce(qsTr("Account options menu"));
} }
Keys.onBacktabPressed: { Keys.onBacktabPressed: {
@@ -352,7 +352,7 @@ Pane {
} }
MenuItem { MenuItem {
text: qsTr("Remove Space") text: qsTr("Remove folder sync")
onTriggered: accountSettings.slotRemoveCurrentFolder(folderDelegate.folder) onTriggered: accountSettings.slotRemoveCurrentFolder(folderDelegate.folder)
visible: !folderDelegate.isDeployed visible: !folderDelegate.isDeployed
height: visible ? implicitHeight : 0 height: visible ? implicitHeight : 0
@@ -371,7 +371,7 @@ Pane {
Button { Button {
id: addSyncButton id: addSyncButton
text: qsTr("Add Space") text: qsTr("Add folder sync")
onClicked: { onClicked: {
accountSettings.slotAddFolder(); accountSettings.slotAddFolder();
@@ -391,7 +391,7 @@ Pane {
Layout.fillWidth: true Layout.fillWidth: true
} }
Label { Label {
text: qsTr("You are synchronizing %1 out of %2 Spaces").arg(accountSettings.syncedSpaces).arg(accountSettings.syncedSpaces + accountSettings.unsyncedSpaces) text: qsTr("Synchronized folders: %1 of %2").arg(accountSettings.syncedSpaces).arg(accountSettings.syncedSpaces + accountSettings.unsyncedSpaces)
visible: accountSettings.accountState.state === AccountState.Connected visible: accountSettings.accountState.state === AccountState.Connected
} }
} }
+9 -3
View File
@@ -24,6 +24,7 @@ Item {
property alias imageSource: image.source property alias imageSource: image.source
property alias statusSource: statusIcon.source property alias statusSource: statusIcon.source
property real imageSize: 96
property real spacing: 10 property real spacing: 10
default property alias content: colLayout.data default property alias content: colLayout.data
@@ -39,15 +40,20 @@ Item {
Rectangle { Rectangle {
Accessible.ignored: true Accessible.ignored: true
Layout.preferredHeight: normalSize - 20 Layout.preferredHeight: imageSize
Layout.preferredWidth: normalSize - 20 Layout.preferredWidth: imageSize
Layout.alignment: Qt.AlignTop Layout.alignment: Qt.AlignTop
color: spaceDelegate.palette.alternateBase color: spaceDelegate.palette.alternateBase
radius: 6
border.color: spaceDelegate.palette.mid
border.width: 1
clip: true
Image { Image {
id: image id: image
anchors.fill: parent anchors.fill: parent
anchors.margins: 8
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
sourceSize.width: width sourceSize.width: width
sourceSize.height: height sourceSize.height: height
@@ -74,7 +80,7 @@ Item {
Accessible.ignored: true Accessible.ignored: true
Layout.fillWidth: true Layout.fillWidth: true
font.bold: true font.bold: true
font.pointSize: 15 font.pointSize: 13
elide: Text.ElideRight elide: Text.ElideRight
} }
} }
+1 -1
View File
@@ -22,7 +22,7 @@ import eu.QSfera.libsync 1.0
Pane { Pane {
id: spacesView id: spacesView
// TODO: not cool // TODO: not cool
readonly property real normalSize: 170 readonly property real normalSize: 140
readonly property SpacesBrowser spacesBrowser: ocContext readonly property SpacesBrowser spacesBrowser: ocContext
readonly property OCQuickWidget widget: ocQuickWidget readonly property OCQuickWidget widget: ocQuickWidget
@@ -23,6 +23,6 @@ Feature: remove account connection
And user "Alice" has set up a client with default settings And user "Alice" has set up a client with default settings
When the user removes the connection for user "Alice" When the user removes the connection for user "Alice"
Then the settings tab should have the following options in the general section: Then the settings tab should have the following options in the general section:
| Start on Login | | Start QSfera when I sign in |
And the folder "large-folder" should exist on the file system And the folder "large-folder" should exist on the file system
And the file "testFile.txt" should exist on the file system And the file "testFile.txt" should exist on the file system
@@ -19,11 +19,11 @@ Feature: Visually check all tabs
And user "Alice" has set up a client with default settings And user "Alice" has set up a client with default settings
When the user opens the settings tab When the user opens the settings tab
Then the settings tab should have the following options in the general section: Then the settings tab should have the following options in the general section:
| Start on Login | | Start QSfera when I sign in |
And the settings tab should have the following options in the advanced section: And the settings tab should have the following options in the advanced section:
| Sync hidden files | | Sync hidden files and folders |
| Edit ignored files | | Ignored files |
| Log settings | | Logs |
And the settings tab should have the following options in the network section: And the settings tab should have the following options in the network section:
| Download Bandwidth | | Download Bandwidth |
| Upload Bandwidth | | Upload Bandwidth |
@@ -11,16 +11,16 @@ from helpers.SyncHelper import wait_for
class AccountSetting: class AccountSetting:
ACCOUNT_CONNECTION_CONTAINER = SimpleNamespace( ACCOUNT_CONNECTION_CONTAINER = SimpleNamespace(
by=By.NAME, selector="Sync connections" by=By.NAME, selector="Synchronized folders"
) )
MANAGE_ACCOUNT_BUTTON = SimpleNamespace(by=By.NAME, selector="Manage Account") MANAGE_ACCOUNT_BUTTON = SimpleNamespace(by=By.NAME, selector="Account")
ACCOUNT_MENU = SimpleNamespace(by=By.NAME, selector="{menu_item}") ACCOUNT_MENU = SimpleNamespace(by=By.NAME, selector="{menu_item}")
CONFIRM_REMOVE_CONNECTION_BUTTON = SimpleNamespace( CONFIRM_REMOVE_CONNECTION_BUTTON = SimpleNamespace(
by=By.NAME, selector="Remove connection" by=By.NAME, selector="Remove connection"
) )
ACCOUNT_CONNECTION_LABEL = SimpleNamespace( ACCOUNT_CONNECTION_LABEL = SimpleNamespace(
by=By.XPATH, by=By.XPATH,
selector="//list[@name='Folder Sync']//label", selector="//list[@name='Synchronized folders']//label",
) )
LOG_BROWSER_WINDOW = SimpleNamespace(by=None, selector=None) LOG_BROWSER_WINDOW = SimpleNamespace(by=None, selector=None)
ACCOUNT_LOADING = SimpleNamespace(by=None, selector=None) ACCOUNT_LOADING = SimpleNamespace(by=None, selector=None)
@@ -50,7 +50,7 @@ class AccountSetting:
@staticmethod @staticmethod
def remove_account_connection(): def remove_account_connection():
AccountSetting.account_action("Remove") AccountSetting.account_action("Remove account")
app().find_element( app().find_element(
AccountSetting.CONFIRM_REMOVE_CONNECTION_BUTTON.by, AccountSetting.CONFIRM_REMOVE_CONNECTION_BUTTON.by,
AccountSetting.CONFIRM_REMOVE_CONNECTION_BUTTON.selector, AccountSetting.CONFIRM_REMOVE_CONNECTION_BUTTON.selector,
+8 -8
View File
@@ -11,19 +11,19 @@ class Settings:
ABOUT_DIALOG = SimpleNamespace(by=By.CLASS_NAME, selector="[page tab | About]") ABOUT_DIALOG = SimpleNamespace(by=By.CLASS_NAME, selector="[page tab | About]")
ABOUT_DIALOG_OK_BUTTON = SimpleNamespace(by=By.NAME, selector="OK") ABOUT_DIALOG_OK_BUTTON = SimpleNamespace(by=By.NAME, selector="OK")
GENERAL_SETTING_START_ON_LOGIN = SimpleNamespace( GENERAL_SETTING_START_ON_LOGIN = SimpleNamespace(
by=By.XPATH, selector="//panel/*[@name='Start on Login']" by=By.XPATH, selector="//panel/*[@name='Start QSfera when I sign in']"
) )
GENERAL_SETTING_LANGUAGE = SimpleNamespace( GENERAL_SETTING_LANGUAGE = SimpleNamespace(
by=By.XPATH, selector="//panel/label[@name='Language']" by=By.XPATH, selector="//panel/label[@name='Language']"
) )
ADVANCED_SETTING_SYNC_HIDDEN_FILES = SimpleNamespace( ADVANCED_SETTING_SYNC_HIDDEN_FILES = SimpleNamespace(
by=By.XPATH, selector="//panel/*[@name='Sync hidden files']" by=By.XPATH, selector="//panel/*[@name='Sync hidden files and folders']"
) )
ADVANCED_SETTING_EDIT_IGNORED_FILES = SimpleNamespace( ADVANCED_SETTING_EDIT_IGNORED_FILES = SimpleNamespace(
by=By.XPATH, selector="//panel/*[@name='Edit Ignored Files']" by=By.XPATH, selector="//panel/*[@name='Ignored files']"
) )
ADVANCED_SETTING_LOG_SETTINGS = SimpleNamespace( ADVANCED_SETTING_LOG_SETTINGS = SimpleNamespace(
by=By.XPATH, selector="//panel/*[@name='Log Settings']" by=By.XPATH, selector="//panel/*[@name='Logs']"
) )
NETWORK_SETTING_DOWNLOAD_BANDWIDTH = SimpleNamespace( NETWORK_SETTING_DOWNLOAD_BANDWIDTH = SimpleNamespace(
by=By.XPATH, selector="//panel[@name='Download Bandwidth']" by=By.XPATH, selector="//panel[@name='Download Bandwidth']"
@@ -50,7 +50,7 @@ class Settings:
@staticmethod @staticmethod
def has_general_setting(setting): def has_general_setting(setting):
if setting.lower() == "start on login": if setting.lower() == "start qsfera when i sign in":
locator = Settings.GENERAL_SETTING_START_ON_LOGIN locator = Settings.GENERAL_SETTING_START_ON_LOGIN
elif setting.lower() == "language": elif setting.lower() == "language":
locator = Settings.GENERAL_SETTING_LANGUAGE locator = Settings.GENERAL_SETTING_LANGUAGE
@@ -60,11 +60,11 @@ class Settings:
@staticmethod @staticmethod
def has_advanced_setting(setting): def has_advanced_setting(setting):
if setting.lower() == "sync hidden files": if setting.lower() == "sync hidden files and folders":
locator = Settings.ADVANCED_SETTING_SYNC_HIDDEN_FILES locator = Settings.ADVANCED_SETTING_SYNC_HIDDEN_FILES
elif setting.lower() == "edit ignored files": elif setting.lower() == "ignored files":
locator = Settings.ADVANCED_SETTING_EDIT_IGNORED_FILES locator = Settings.ADVANCED_SETTING_EDIT_IGNORED_FILES
elif setting.lower() == "log settings": elif setting.lower() == "logs":
locator = Settings.ADVANCED_SETTING_LOG_SETTINGS locator = Settings.ADVANCED_SETTING_LOG_SETTINGS
else: else:
raise ValueError(f"Unknown advanced setting: {setting}") raise ValueError(f"Unknown advanced setting: {setting}")
@@ -8,7 +8,7 @@ from helpers.AppHelper import app
class SyncConnection: class SyncConnection:
ACCOUNT_CONNECTION_CONTAINER = SimpleNamespace( ACCOUNT_CONNECTION_CONTAINER = SimpleNamespace(
by=By.NAME, selector="Sync connections" by=By.NAME, selector="Synchronized folders"
) )
FOLDER_SYNC_CONNECTION_MENU_BUTTON = SimpleNamespace( FOLDER_SYNC_CONNECTION_MENU_BUTTON = SimpleNamespace(
by=By.NAME, by=By.NAME,
@@ -18,7 +18,7 @@ class SyncConnection:
SELECTIVE_SYNC_APPLY_BUTTON = SimpleNamespace(by=None, selector=None) SELECTIVE_SYNC_APPLY_BUTTON = SimpleNamespace(by=None, selector=None)
CANCEL_FOLDER_SYNC_CONNECTION_DIALOG = SimpleNamespace(by=None, selector=None) CANCEL_FOLDER_SYNC_CONNECTION_DIALOG = SimpleNamespace(by=None, selector=None)
CONFIRM_FOLDER_SYNC_CONNECTION_REMOVE = SimpleNamespace( CONFIRM_FOLDER_SYNC_CONNECTION_REMOVE = SimpleNamespace(
by=By.NAME, selector="Remove Space" by=By.NAME, selector="Remove folder sync"
) )
PERMISSION_ERROR_LABEL = SimpleNamespace(by=None, selector=None) PERMISSION_ERROR_LABEL = SimpleNamespace(by=None, selector=None)
@@ -98,7 +98,7 @@ class SyncConnection:
@staticmethod @staticmethod
def remove_folder_sync_connection(): def remove_folder_sync_connection():
SyncConnection.perform_action("Remove Space") SyncConnection.perform_action("Remove folder sync")
@staticmethod @staticmethod
def cancel_folder_sync_connection_removal(): def cancel_folder_sync_connection_removal():
@@ -35,7 +35,7 @@
``` ```
- If not stated otherwise each test should be run on every platform win/linux/mac. Record the result as per platform. - If not stated otherwise each test should be run on every platform win/linux/mac. Record the result as per platform.
- "Enable logging to temporary folder" and "Log Http traffic" (tab 'Settings', button 'Log Settings') to have log-files available if needed to report an issue. - "Enable logging to temporary folder" and "Log Http traffic" (tab 'Settings', button 'Logs') to have log-files available if needed to report an issue.
- Make sure all automated UI tests run successfully in CI and run them locally on Windows. - Make sure all automated UI tests run successfully in CI and run them locally on Windows.
- all tests that are automated are marked with a :robot: in the 'Result' column (for the corresponding platform) and the name of the test in the 'Related Comment' column - all tests that are automated are marked with a :robot: in the 'Result' column (for the corresponding platform) and the name of the test in the 'Related Comment' column
- If multiple people are working on the tests at the same time, mark the tests everyone is working on with the GitHub name of the tester. - If multiple people are working on the tests at the same time, mark the tests everyone is working on with the GitHub name of the tester.
+18 -18
View File
@@ -230,12 +230,12 @@ File synchronization desktop utility.</source>
<name>FolderDelegate</name> <name>FolderDelegate</name>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="32"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="32"/>
<source>Folder Sync</source> <source>Synchronized folders</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="72"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="72"/>
<source>Manage Account</source> <source>Account</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -255,12 +255,12 @@ File synchronization desktop utility.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="92"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="92"/>
<source>Remove</source> <source>Remove account</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="99"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="99"/>
<source>Account options Menu</source> <source>Account options menu</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -290,7 +290,7 @@ File synchronization desktop utility.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="355"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="355"/>
<source>Remove Space</source> <source>Remove folder sync</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -300,12 +300,12 @@ File synchronization desktop utility.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="374"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="374"/>
<source>Add Space</source> <source>Add folder sync</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="394"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="394"/>
<source>You are synchronizing %1 out of %2 Spaces</source> <source>Synchronized folders: %1 of %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@@ -601,12 +601,12 @@ File synchronization desktop utility.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.ui" line="58"/> <location filename="../src/gui/accountsettings.ui" line="58"/>
<source>Preparing the account</source> <source>Preparing account</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.ui" line="86"/> <location filename="../src/gui/accountsettings.ui" line="86"/>
<source>Sync connections</source> <source>Synchronized folders</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -622,17 +622,17 @@ File synchronization desktop utility.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="197"/> <location filename="../src/gui/accountsettings.cpp" line="197"/>
<source>Confirm removal of Space</source> <source>Confirm removal of folder sync</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="198"/> <location filename="../src/gui/accountsettings.cpp" line="198"/>
<source>&lt;p&gt;Do you really want to stop syncing the Space »%1«?&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This will &lt;b&gt;not&lt;/b&gt; delete any files.&lt;/p&gt;</source> <source>&lt;p&gt;Stop syncing &lt;b&gt;%1&lt;/b&gt; on this computer?&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This will not delete files in QSfera or on this device.&lt;/p&gt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="203"/> <location filename="../src/gui/accountsettings.cpp" line="203"/>
<source>Remove Space</source> <source>Remove folder sync</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1269,7 +1269,7 @@ Please consider removing this folder from the account and adding it again.</sour
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="80"/> <location filename="../src/gui/generalsettings.ui" line="80"/>
<source>Start on Login</source> <source>Start QSfera when I sign in</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1284,27 +1284,27 @@ Please consider removing this folder from the account and adding it again.</sour
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="98"/> <location filename="../src/gui/generalsettings.ui" line="98"/>
<source>Sync hidden files</source> <source>Sync hidden files and folders</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="111"/> <location filename="../src/gui/generalsettings.ui" line="111"/>
<source>Show crash reporter</source> <source>Show crash reporter after a crash</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="118"/> <location filename="../src/gui/generalsettings.ui" line="118"/>
<source>Move remotely deleted files to the local trash bin instead of deleting them</source> <source>Move server-deleted files to the local trash instead of deleting them</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="127"/> <location filename="../src/gui/generalsettings.ui" line="127"/>
<source>Edit Ignored Files</source> <source>Ignored files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="134"/> <location filename="../src/gui/generalsettings.ui" line="134"/>
<source>Log Settings</source> <source>Logs</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
+36 -36
View File
@@ -231,13 +231,13 @@ File synchronization desktop utility.</source>
<name>FolderDelegate</name> <name>FolderDelegate</name>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="32"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="32"/>
<source>Folder Sync</source> <source>Synchronized folders</source>
<translation>Синхронизация папки</translation> <translation>Синхронизированные папки</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="72"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="72"/>
<source>Manage Account</source> <source>Account</source>
<translation>Управление аккаунтом</translation> <translation>Аккаунт</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="78"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="78"/>
@@ -256,13 +256,13 @@ File synchronization desktop utility.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="92"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="92"/>
<source>Remove</source> <source>Remove account</source>
<translation>Удалить</translation> <translation>Удалить аккаунт</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="99"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="99"/>
<source>Account options Menu</source> <source>Account options menu</source>
<translation>Меню настроек аккаунта</translation> <translation>Меню аккаунта</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="332"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="332"/>
@@ -291,8 +291,8 @@ File synchronization desktop utility.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="355"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="355"/>
<source>Remove Space</source> <source>Remove folder sync</source>
<translation>Удалить Пространство</translation> <translation>Удалить синхронизацию папки</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="362"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="362"/>
@@ -301,13 +301,13 @@ File synchronization desktop utility.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="374"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="374"/>
<source>Add Space</source> <source>Add folder sync</source>
<translation>Добавить Пространство</translation> <translation>Добавить синхронизацию папки</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/qml/FolderDelegate.qml" line="394"/> <location filename="../src/gui/qml/FolderDelegate.qml" line="394"/>
<source>You are synchronizing %1 out of %2 Spaces</source> <source>Synchronized folders: %1 of %2</source>
<translation>Вы синхронизируете %1 из %2 Пространств</translation> <translation>Синхронизированные папки: %1 из %2</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -602,13 +602,13 @@ File synchronization desktop utility.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.ui" line="58"/> <location filename="../src/gui/accountsettings.ui" line="58"/>
<source>Preparing the account</source> <source>Preparing account</source>
<translation>Подготовка профиля</translation> <translation>Подготовка аккаунта</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.ui" line="86"/> <location filename="../src/gui/accountsettings.ui" line="86"/>
<source>Sync connections</source> <source>Synchronized folders</source>
<translation>Подключения для синхронизации</translation> <translation>Синхронизированные папки</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="204"/> <location filename="../src/gui/accountsettings.cpp" line="204"/>
@@ -623,18 +623,18 @@ File synchronization desktop utility.</source>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="197"/> <location filename="../src/gui/accountsettings.cpp" line="197"/>
<source>Confirm removal of Space</source> <source>Confirm removal of folder sync</source>
<translation>Подтвердите удаление Пространства</translation> <translation>Подтвердите удаление синхронизации папки</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="198"/> <location filename="../src/gui/accountsettings.cpp" line="198"/>
<source>&lt;p&gt;Do you really want to stop syncing the Space »%1«?&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This will &lt;b&gt;not&lt;/b&gt; delete any files.&lt;/p&gt;</source> <source>&lt;p&gt;Stop syncing &lt;b&gt;%1&lt;/b&gt; on this computer?&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This will not delete files in QSfera or on this device.&lt;/p&gt;</source>
<translation>&lt;p&gt;Вы действительно хотите остановить синхронизацию Пространства »%1«? Примечание:&lt;/b&gt; Это &lt;b&gt;не&lt;/b&gt; приведет к удалению файлов.&lt;/p&gt;</translation> <translation>&lt;p&gt;Остановить синхронизацию &lt;b&gt;%1&lt;/b&gt; на этом компьютере?&lt;/p&gt;&lt;p&gt;&lt;b&gt;Важно:&lt;/b&gt; Файлы в QSfera и на этом устройстве не будут удалены.&lt;/p&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="203"/> <location filename="../src/gui/accountsettings.cpp" line="203"/>
<source>Remove Space</source> <source>Remove folder sync</source>
<translation>Удалить Пространство</translation> <translation>Удалить синхронизацию папки</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/accountsettings.cpp" line="240"/> <location filename="../src/gui/accountsettings.cpp" line="240"/>
@@ -1254,8 +1254,8 @@ Please consider removing this folder from the account and adding it again.</sour
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="80"/> <location filename="../src/gui/generalsettings.ui" line="80"/>
<source>Start on Login</source> <source>Start QSfera when I sign in</source>
<translation>Запускать при входе в систему</translation> <translation>Запускать QSfera при входе в систему</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="52"/> <location filename="../src/gui/generalsettings.ui" line="52"/>
@@ -1269,28 +1269,28 @@ Please consider removing this folder from the account and adding it again.</sour
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="98"/> <location filename="../src/gui/generalsettings.ui" line="98"/>
<source>Sync hidden files</source> <source>Sync hidden files and folders</source>
<translation>Синхронизировать скрытые файлы</translation> <translation>Синхронизировать скрытые файлы и папки</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="111"/> <location filename="../src/gui/generalsettings.ui" line="111"/>
<source>Show crash reporter</source> <source>Show crash reporter after a crash</source>
<translation>Показать отчет об ошибке</translation> <translation>Показывать отчет о сбое после ошибки</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="118"/> <location filename="../src/gui/generalsettings.ui" line="118"/>
<source>Move remotely deleted files to the local trash bin instead of deleting them</source> <source>Move server-deleted files to the local trash instead of deleting them</source>
<translation>Перемещать файлы, удаленные через серверный доступ, в локальную корзину вместо их полного удаления</translation> <translation>Перемещать удаленные на сервере файлы в локальную корзину вместо удаления</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="127"/> <location filename="../src/gui/generalsettings.ui" line="127"/>
<source>Edit Ignored Files</source> <source>Ignored files</source>
<translation>Изменить игнорируемые файлф</translation> <translation>Игнорируемые файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="134"/> <location filename="../src/gui/generalsettings.ui" line="134"/>
<source>Log Settings</source> <source>Logs</source>
<translation>Настройки Логирования</translation> <translation>Логи</translation>
</message> </message>
<message> <message>
<location filename="../src/gui/generalsettings.ui" line="161"/> <location filename="../src/gui/generalsettings.ui" line="161"/>