1
0
Fork 0
mirror of https://github.com/borgbase/vorta synced 2025-03-19 02:16:05 +00:00

Check English Strings (#161)

* Clean up English language strings, add basic style guide. Fixes #136
* Add tooltip to Profile Section. Fixes #157
* Clarify translation workflow in CONTRIBUTING.md
This commit is contained in:
Manuel Riel 2019-01-23 10:11:30 +08:00 committed by GitHub
parent e2efcfc5a7
commit 32a4517c80
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 594 additions and 582 deletions

View file

@ -54,75 +54,86 @@ To test for style errors:
$ flake8
```
## Working with translations
## Translations
NOTE: we are currently still working on the original strings.
DO NO TRANSLATION WORK EXCEPT IF YOU ARE WILLING TO DO DOUBLE WORK.
Translations are updated there: https://www.Transifex.com/borgbase/vorta/
Translations are updated there: https://www.transifex.com/borgbase/vorta/
### Policy for Translations
### Policy for translations
- no google translate or other automated translation.
- only native or as-good-as-native speakers should translate.
- as there is a need for continued maintenance, a translator should be also a
- No google translate or other automated translation.
- Only native or as-good-as-native speakers should translate.
- As there is a need for continued maintenance, a translator should be also a
user of vorta, having some own interest in the translation (one-time
translations are not that helpful if there is noone updating them regularly)
- a translation must have >90% translated strings. if a translation falls
translations are not that helpful if there is no one updating them regularly)
- A translation must have >90% translated strings. If a translation falls
and stays below that for a longer time, it will not be used by vorta and
ultimately, it will get removed from the repository also.
### Adding a new language
### Adding a New Language
- Only add a new language if you are willing to also update the translation
in future, when new strings are added and existing strings change.
- Request a new language via transifex.
- TODO: add notes here what the maintainer has to do
- Request a new language by opening a new issue on Github. We will then add it on Transifex.
### Updating a language
### Updating a Language
- Please only work on a translation if you are a native speaker or you have
similar language skills.
- Edit the language on transifex.
- Open a new issue on Github.
- Edit the language on Transifex.
### Data Flow to/from transifex
### Data Flow to/from Transifex
- extract: make translations-from-source
- push: make translations-push
- pull: make translations-pull
- compile: make translations-to-qm
- Extract from source files: `make translations-from-source`
- Push to Transifex: `make translations-push`
- Pull finished translations from Transifex: `make translations-pull`
- Compile: `make translations-to-qm`
### Notes for Developers
### Notes for developers
- original strings in .ui and .py must be American English (en_US)
- in English, not translated:
- Original strings in `.ui` and `.py` must be American English (en_US) and ASCII.
- In English, not translated:
- log messages (log file as well as log output on console or elsewhere)
- other console output, print().
- docs
- py source code, comments, docstrings
- translated:
- Translated:
- GUI texts / messages
- in Qt (sub)classes, use self.tr("English string"), scope will
- In Qt (sub)classes, use self.tr("English string"), scope will
be the instance class name.
- elsewhere use vorta.i18n.translate("scopename", "English string")
- to only mark for string extraction, but not immediately translate,
- Elsewhere use vorta.i18n.translate("scopename", "English string")
- To only mark for string extraction, but not immediately translate,
use vorta.i18n.trans_late function.
Later, to translate, use vorta.i18n.translate (giving same scope).
### Style Guide/Glossary
- Headings, buttons and dropdowns are titleized: "Apply Changes"
- Field labels (same or next line) end with a colon and are titleized. "Allowed Networks:"
- No full stop `.` at the end of short labels, but when it's a full sentence.
- If something is in progress, use three dots (no ellipsis): "Starting backup..."
- **Repo/repository** = local or remote folder where Borg stores files.
- **Archive** (not snapshot) = result of `borg create` execution, an identifier to find a
collection of files in a repo, as they existed at a past point in time.
### Required Software
To successfully run the translation-related Makefile targets, the translations
maintainer needs:
- make tool
- pylupdate5
- lrelease
- transifex-client pypi package
(should be already there via requirements.d/dev.txt)
- `make` tool
- `pylupdate5` (from PyQt)
- `lrelease` (from Qt package)
- `tx` Transifex client (PyPI package `transifex-client`, contained in requirements.d/dev.txt)
Debian 9 "Stretch":
Install on Debian 9 "Stretch":
```
$ apt install qttools5-dev-tools pyqt5-dev-tools
```
apt install qttools5-dev-tools pyqt5-dev-tools
Install on macOS via Homebrew:
```
$ cd requirements.d && brew bundle
```

View file

@ -94,7 +94,7 @@ font-weight: bold;
</column>
<column>
<property name="text">
<string>Mounted</string>
<string>Mount Point</string>
</property>
</column>
<column>
@ -331,7 +331,7 @@ font-weight: bold;
<item>
<widget class="QLabel" name="label_10">
<property name="text">
<string> annual archives.</string>
<string> annual archives</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
@ -438,9 +438,6 @@ font-weight: bold;
<property name="styleSheet">
<string notr="true">color: grey</string>
</property>
<property name="text">
<string>TextLabel</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
@ -476,9 +473,6 @@ font-weight: bold;
<property name="styleSheet">
<string notr="true">color: grey</string>
</property>
<property name="text">
<string>TextLabel</string>
</property>
<property name="margin">
<number>1</number>
</property>

View file

@ -24,247 +24,253 @@
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>12</number>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>12</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Current Profile:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="profileSelector">
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="profileRenameButton">
<property name="toolTip">
<string>Rename Profile</string>
</property>
<property name="icon">
<iconset resource="../icons/collection.qrc">
<normaloff>:/icons/edit.svg</normaloff>:/icons/edit.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="profileDeleteButton">
<property name="toolTip">
<string>Delete Profile</string>
</property>
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../icons/collection.qrc">
<normaloff>:/icons/trash.svg</normaloff>:/icons/trash.svg</iconset>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>4</number>
</property>
<property name="documentMode">
<bool>false</bool>
</property>
<property name="tabsClosable">
<bool>false</bool>
</property>
<widget class="QWidget" name="repoTabSlot">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Current Profile:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="profileSelector">
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="profileRenameButton">
<property name="icon">
<iconset resource="../icons/collection.qrc">
<normaloff>:/icons/edit.svg</normaloff>:/icons/edit.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="profileDeleteButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../icons/collection.qrc">
<normaloff>:/icons/trash.svg</normaloff>:/icons/trash.svg</iconset>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>4</number>
</property>
<property name="documentMode">
<bool>false</bool>
</property>
<property name="tabsClosable">
<bool>false</bool>
</property>
<widget class="QWidget" name="repoTabSlot">
<attribute name="title">
<string>Repository</string>
</attribute>
</widget>
<widget class="QWidget" name="sourceTabSlot">
<attribute name="title">
<string>Sources</string>
</attribute>
</widget>
<widget class="QWidget" name="scheduleTabSlot">
<attribute name="title">
<string>Schedule</string>
</attribute>
</widget>
<widget class="QWidget" name="archiveTabSlot">
<attribute name="title">
<string>Archives</string>
</attribute>
</widget>
<widget class="QWidget" name="miscTabSlot">
<attribute name="title">
<string>Misc</string>
</attribute>
</widget>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="1" alignment="Qt::AlignTop">
<widget class="QLabel" name="createProgressText">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<attribute name="title">
<string>Repository</string>
</attribute>
<property name="minimumSize">
<size>
<width>0</width>
<height>55</height>
</size>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
<widget class="QWidget" name="sourceTabSlot">
<attribute name="title">
<string>Sources</string>
</attribute>
</item>
<item row="1" column="0" alignment="Qt::AlignTop">
<widget class="QPushButton" name="cancelButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="text">
<string>Cancel</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
<widget class="QWidget" name="scheduleTabSlot">
<attribute name="title">
<string>Schedule</string>
</attribute>
</item>
<item row="0" column="1">
<widget class="QProgressBar" name="createProgress">
<property name="enabled">
<bool>true</bool>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="Highlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>151</green>
<blue>41</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Highlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>151</green>
<blue>41</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Highlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>220</red>
<green>220</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="value">
<number>0</number>
</property>
<property name="textVisible">
<bool>true</bool>
</property>
</widget>
<widget class="QWidget" name="archiveTabSlot">
<attribute name="title">
<string>Archives</string>
</attribute>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="createStartBtn">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Start Backup</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
</widget>
<widget class="QWidget" name="miscTabSlot">
<attribute name="title">
<string>Misc</string>
</attribute>
</widget>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="1" alignment="Qt::AlignTop">
<widget class="QLabel" name="createProgressText">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>55</height>
</size>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" alignment="Qt::AlignTop">
<widget class="QPushButton" name="cancelButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="text">
<string>Cancel</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QProgressBar" name="createProgress">
<property name="enabled">
<bool>true</bool>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="Highlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>151</green>
<blue>41</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Highlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>151</green>
<blue>41</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Highlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>220</red>
<green>220</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="value">
<number>0</number>
</property>
<property name="textVisible">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="createStartBtn">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Start Backup</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<action name="actionLatest">

View file

@ -16,9 +16,6 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="modalTitle">

View file

@ -7,12 +7,9 @@
<x>0</x>
<y>0</y>
<width>555</width>
<height>277</height>
<height>281</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<property name="modal">
<bool>true</bool>
</property>
@ -78,7 +75,7 @@
<string>...</string>
</property>
<property name="icon">
<iconset>
<iconset resource="../icons/collection.qrc">
<normaloff>:/icons/folder-open.svg</normaloff>:/icons/folder-open.svg</iconset>
</property>
</widget>
@ -89,7 +86,7 @@
<string>...</string>
</property>
<property name="icon">
<iconset>
<iconset resource="../icons/collection.qrc">
<normaloff>:/icons/globe.svg</normaloff>:/icons/globe.svg</iconset>
</property>
</widget>
@ -116,7 +113,7 @@
<item row="4" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Password</string>
<string>Password:</string>
</property>
</widget>
</item>

View file

@ -29,7 +29,7 @@
<item>
<layout class="QFormLayout" name="formLayout">
<property name="sizeConstraint">
<enum>QLayout::SetNoConstraint</enum>
<enum>QLayout::SetMinimumSize</enum>
</property>
<property name="fieldGrowthPolicy">
<enum>QFormLayout::ExpandingFieldsGrow</enum>
@ -333,6 +333,9 @@
</item>
<item>
<layout class="QFormLayout" name="repoStats">
<property name="sizeConstraint">
<enum>QLayout::SetNoConstraint</enum>
</property>
<property name="fieldGrowthPolicy">
<enum>QFormLayout::ExpandingFieldsGrow</enum>
</property>

View file

@ -32,7 +32,7 @@ font-weight: bold;
}</string>
</property>
<property name="currentIndex">
<number>0</number>
<number>3</number>
</property>
<widget class="QWidget" name="schedule">
<property name="geometry">
@ -50,7 +50,7 @@ font-weight: bold;
</font>
</property>
<attribute name="icon">
<iconset resource="../icons/collection.qrc">
<iconset>
<normaloff>:/icons/clock-o.svg</normaloff>:/icons/clock-o.svg</iconset>
</attribute>
<attribute name="label">
@ -60,6 +60,9 @@ font-weight: bold;
<property name="spacing">
<number>2</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="sizeConstraint">
@ -77,7 +80,7 @@ font-weight: bold;
</sizepolicy>
</property>
<property name="text">
<string>Backup manually.</string>
<string>Backup manually</string>
</property>
</widget>
</item>
@ -137,7 +140,7 @@ font-weight: bold;
</sizepolicy>
</property>
<property name="text">
<string>minutes past the hour.</string>
<string>minutes past the hour</string>
</property>
</widget>
</item>
@ -217,7 +220,7 @@ font-weight: bold;
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>weeks.</string>
<string>weeks</string>
</property>
</widget>
</item>
@ -244,7 +247,7 @@ font-weight: bold;
<item>
<widget class="QCheckBox" name="pruneCheckBox">
<property name="text">
<string>Prune old Archives after each backup.</string>
<string>Prune old Archives after each backup</string>
</property>
<property name="tristate">
<bool>false</bool>
@ -364,13 +367,16 @@ font-weight: bold;
</rect>
</property>
<attribute name="icon">
<iconset resource="../icons/collection.qrc">
<iconset>
<normaloff>:/icons/wifi.svg</normaloff>:/icons/wifi.svg</iconset>
</attribute>
<attribute name="label">
<string>Networks</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_2">
<property name="topMargin">
<number>0</number>
</property>
<item row="1" column="0">
<widget class="QListWidget" name="wifiListWidget"/>
</item>
@ -393,13 +399,16 @@ font-weight: bold;
</rect>
</property>
<attribute name="icon">
<iconset resource="../icons/collection.qrc">
<iconset>
<normaloff>:/icons/tasks.svg</normaloff>:/icons/tasks.svg</iconset>
</attribute>
<attribute name="label">
<string>Log</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_3">
<property name="topMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QTableWidget" name="logTableWidget">
<property name="font">
@ -455,13 +464,16 @@ font-weight: bold;
</rect>
</property>
<attribute name="icon">
<iconset resource="../icons/collection.qrc">
<iconset>
<normaloff>:/icons/terminal.svg</normaloff>:/icons/terminal.svg</iconset>
</attribute>
<attribute name="label">
<string>Shell Commands</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="topMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
@ -484,7 +496,7 @@ font-weight: bold;
<string/>
</property>
<property name="placeholderText">
<string>Pre-backup command to run BEFORE backups.</string>
<string>Pre-backup command to run BEFORE backups</string>
</property>
</widget>
</item>
@ -494,7 +506,7 @@ font-weight: bold;
<string notr="true">font-family:'Courier';</string>
</property>
<property name="placeholderText">
<string>Post-backup command to run AFTER backups.</string>
<string>Post-backup command to run AFTER backups</string>
</property>
</widget>
</item>
@ -530,7 +542,7 @@ font-weight: bold;
</layout>
</widget>
<resources>
<include location="../icons/collection.qrc"/>
<include location="../icons/light/collection.qrc"/>
</resources>
<connections/>
</ui>

View file

@ -17,7 +17,7 @@
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Source folders and files to back up</string>
<string>Source Folders and Files to Back Up:</string>
</property>
</widget>
</item>
@ -74,7 +74,7 @@
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Exclude Patterns (&lt;a href=&quot;https://borgbackup.readthedocs.io/en/stable/usage/help.html#borg-help-patterns&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;more&lt;/span&gt;&lt;/a&gt;)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Exclude Patterns (&lt;a href=&quot;https://borgbackup.readthedocs.io/en/stable/usage/help.html#borg-help-patterns&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;more&lt;/span&gt;&lt;/a&gt;):&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
@ -84,7 +84,7 @@
<item row="0" column="1">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Exclude If Present (exclude folders with these files)</string>
<string>Exclude If Present (exclude folders with these files):</string>
</property>
</widget>
</item>

View file

@ -10,9 +10,6 @@
<height>286</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">

View file

@ -8,7 +8,7 @@ class BorgCheckThread(BorgThread):
def started_event(self):
self.app.backup_started_event.emit()
self.app.backup_log_event.emit(self.tr('Starting consistency check..'))
self.app.backup_log_event.emit(self.tr('Starting consistency check...'))
def finished_event(self, result):
self.app.backup_finished_event.emit(result)

View file

@ -133,7 +133,7 @@ class BorgCreateThread(BorgThread):
ret['message'] = trans_late('messages', 'Pre-backup command returned non-zero exit code.')
return ret
ret['message'] = trans_late('messages', 'Starting backup..')
ret['message'] = trans_late('messages', 'Starting backup...')
ret['ok'] = True
ret['cmd'] = cmd

View file

@ -8,7 +8,7 @@ class BorgExtractThread(BorgThread):
def started_event(self):
self.app.backup_started_event.emit()
self.app.backup_log_event.emit(self.tr('Downloading files from archive..'))
self.app.backup_log_event.emit(self.tr('Downloading files from archive...'))
def finished_event(self, result):
self.app.backup_finished_event.emit(result)

View file

@ -8,7 +8,7 @@ class BorgListArchiveThread(BorgThread):
def started_event(self):
self.app.backup_started_event.emit()
self.app.backup_log_event.emit(self.tr('Getting archive content..'))
self.app.backup_log_event.emit(self.tr('Getting archive content...'))
def finished_event(self, result):
self.app.backup_finished_event.emit(result)

File diff suppressed because it is too large Load diff

View file

@ -193,17 +193,17 @@ def get_misc_settings():
'value': False,
'type': 'checkbox',
'label': trans_late('settings',
'Use light system tray icon (applies after restart, useful for dark themes).')
'Use light system tray icon (applies after restart, useful for dark themes)')
},
{
'key': 'enable_notifications', 'value': True, 'type': 'checkbox',
'label': trans_late('settings',
'Display notifications when background tasks fail.')
'Display notifications when background tasks fail')
},
{
'key': 'enable_notifications_success', 'value': False, 'type': 'checkbox',
'label': trans_late('settings',
'Also notify about successful background tasks.')
'Also notify about successful background tasks')
}
]
if sys.platform == 'darwin':
@ -211,17 +211,17 @@ def get_misc_settings():
{
'key': 'autostart', 'value': False, 'type': 'checkbox',
'label': trans_late('settings',
'Add Vorta to Login Items in Preferences > Users and Groups > Login Items.')
'Automatically start Vorta at login')
},
{
'key': 'check_for_updates', 'value': True, 'type': 'checkbox',
'label': trans_late('settings',
'Check for updates on startup.')
'Check for updates on startup')
},
{
'key': 'updates_include_beta', 'value': False, 'type': 'checkbox',
'label': trans_late('settings',
'Include pre-release versions when checking for updates.')
'Include pre-release versions when checking for updates')
},
]