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:
parent
e2efcfc5a7
commit
32a4517c80
15 changed files with 594 additions and 582 deletions
|
@ -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
|
||||
```
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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><html><head/><body><p>Exclude Patterns (<a href="https://borgbackup.readthedocs.io/en/stable/usage/help.html#borg-help-patterns"><span style=" text-decoration: underline; color:#0000ff;">more</span></a>)</p></body></html></string>
|
||||
<string><html><head/><body><p>Exclude Patterns (<a href="https://borgbackup.readthedocs.io/en/stable/usage/help.html#borg-help-patterns"><span style=" text-decoration: underline; color:#0000ff;">more</span></a>):</p></body></html></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>
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
@ -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')
|
||||
},
|
||||
]
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue