Comparar commits
42 Commits
| Autor | SHA1 | Data | |
|---|---|---|---|
| c895848560 | |||
| 87b4693a9d | |||
| 28c12a3ca0 | |||
| 66f041f74c | |||
| 6d02d76cfd | |||
| 48efbcb8ca | |||
| ab050f9093 | |||
| bf9cffe4b3 | |||
| 43f727cf69 | |||
| 256331fbaa | |||
| 32e6585ae6 | |||
| d072e4a678 | |||
| b99c8fe28b | |||
| 5a3120bd52 | |||
| 9ea69be6ab | |||
| 86680a53e0 | |||
| 801cb42d57 | |||
| 51f8a59a9a | |||
| ebbe5acf2b | |||
| 6ccd9e872d | |||
| da69756bb0 | |||
| f0f82d02ff | |||
| ff20cd4d57 | |||
| e031f7d090 | |||
| d4b72132d6 | |||
| 763016bd8f | |||
| 7f0cc5b699 | |||
| d3a93cbaeb | |||
| 85d3c7a263 | |||
| 159535fe90 | |||
| 088a294fac | |||
| 813bc15a78 | |||
| 567fe87e98 | |||
| a1ba23eea9 | |||
| 194db066b6 | |||
| 129c17651a | |||
| 0469236d80 | |||
| 93e0d52dd3 | |||
| 9f3e576348 | |||
| 5479aaeb5b | |||
| 8dc178a9f3 | |||
| 35d4b96339 |
+1
-9
@@ -1,11 +1,6 @@
|
||||
ChangeLog
|
||||
=========
|
||||
|
||||
version 2.2.2 (release 2016-06-20)
|
||||
* Excludes: Don't redundantly add the same exclude files (#4967, #4988)
|
||||
* Excludes: Only log if the pattern was really logged. (#4989)
|
||||
|
||||
version 2.2.1 (release 2016-06-06)
|
||||
version 2.2.1 (release 2016-05-xx)
|
||||
* Fix out of memory error when too many uploads happen (#4611)
|
||||
* Fix display errors in progress display (#4803 #4856)
|
||||
* LockWatcher: Remember to upload files after they become unlocked (#4865)
|
||||
@@ -14,9 +9,6 @@ version 2.2.1 (release 2016-06-06)
|
||||
* Progress: Don't count items without propagation jobs (#4856, #4910)
|
||||
* Utility: Fix for the translation of minutes, second (#4855)
|
||||
* SyncEngine: invalid the blacklist entry when the rename destination change
|
||||
* Several fixes to speed up reconnect after connection changes
|
||||
* Updater: Fix small memory leak
|
||||
* Linux: Revert forced HiDPI detection settings (#4840, #4861)
|
||||
|
||||
version 2.2.0 (release 2016-05-12)
|
||||
* Overlay icons: Refactoring - mainly for performance improvements
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ with your computer.
|
||||
|
||||
### Binary packages
|
||||
|
||||
* Refer to the download page http://owncloud.org/sync-clients/
|
||||
* Refer to the download page https://owncloud.org/install/#install-clients
|
||||
|
||||
### Source code
|
||||
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
set( MIRALL_VERSION_MAJOR 2 )
|
||||
set( MIRALL_VERSION_MINOR 2 )
|
||||
set( MIRALL_VERSION_PATCH 2 )
|
||||
set( MIRALL_VERSION_MINOR 3 )
|
||||
set( MIRALL_VERSION_PATCH 0 )
|
||||
set( MIRALL_VERSION_YEAR 2016 )
|
||||
set( MIRALL_SOVERSION 0 )
|
||||
|
||||
if ( NOT DEFINED MIRALL_VERSION_SUFFIX )
|
||||
set( MIRALL_VERSION_SUFFIX "") #e.g. beta1, beta2, rc1
|
||||
set( MIRALL_VERSION_SUFFIX "git") #e.g. beta1, beta2, rc1
|
||||
endif( NOT DEFINED MIRALL_VERSION_SUFFIX )
|
||||
|
||||
if( NOT DEFINED MIRALL_VERSION_BUILD )
|
||||
|
||||
@@ -30,7 +30,7 @@ StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Z
|
||||
StrCpy $UNINSTALLER_FILE_Detail "Zapisuji odinstal tor"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "Zapisuji instal tor do registr…"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "DokonŸeno"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Nezd se, §e ${APPLICATION_NAME} je nainstalov na ve slo§ce '$INSTDIR'.$\n$\nChcete pokraŸovat (nedoporuŸuje se)?"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Nezd se, §e ${APPLICATION_NAME} je nainstalov na v adres ýi '$INSTDIR'.$\n$\nChcete pokraŸovat (nedoporuŸuje se)?"
|
||||
StrCpy $UNINSTALL_ABORT "Odinstalace zruçena u§ivatelem"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Z stupce rychl‚ho spuçtØn¡ (nen¡ k dispozici)"
|
||||
StrCpy $INIT_NO_DESKTOP "Z stupce na ploçe (pýep¡çe existuj¡c¡)"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# Auto-generated - do not modify
|
||||
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Mostrar notas de lançamento"
|
||||
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Existem ${APPLICATION_EXECUTABLE} processo(s) em execução que precisa(m) de ser interrompido(s).$\nDeseja que o instalador o(s) termine automaticamente?"
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "A terminar os processos ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Não foi encontrado o processo a terminar!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Uma versão antiga de ${APPLICATION_NAME} está instalada no sistema. É recomendado que você desinstale a versão atual antes de instalar a mais recente. Selecione a operação que deseja executar e clique em $\"Avançar$\" para continuar."
|
||||
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "A terminar os processos de ${APPLICATION_EXECUTABLE}."
|
||||
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Não foi encontrado nenhum processo para terminar!"
|
||||
StrCpy $PageReinstall_NEW_Field_1 "Está instalada no sistema uma versão antiga de ${APPLICATION_NAME}. É recomendado que desinstale a versão atual antes de instalar a mais recente. Selecione a operação que deseja executar e clique em $\"Seguinte$\" para continuar."
|
||||
StrCpy $PageReinstall_NEW_Field_2 "Desinstalar antes de instalar"
|
||||
StrCpy $PageReinstall_NEW_Field_3 "Não desinstale"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Já instalado"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Escolha como pretende instalar ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Uma versão mais recente do ${APPLICATION_NAME} já está instalada! Não é recomendada a instalação de uma versão mais antiga. Se realmente deseja instalar esta versão, aconselha-se a desinstalação da versão atual primeiro. Selecione a operação que deseja executar e clique em Avançar para continuar."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "Uma versão mais recente da aplicação ${APPLICATION_NAME} já está instalada! Não é recomendada a instalação de uma versão mais antiga. Se realmente deseja instalar esta versão, aconselha-se a desinstalação da versão atual primeiro. Selecione a operação que deseja executar e clique em Avançar para continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} já está instalada.$\nSelecione a operação que deseja realizar e clique em 'Seguinte' para continuar."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Adicionar/Reinstalar Componentes"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Desinstalar ${APPLICATION_NAME}"
|
||||
@@ -25,12 +25,12 @@ StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Atalho de início rápido"
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "A criar atalho de início rápido"
|
||||
StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "O essencial de ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Atalho de ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Atalho no ambiente de trabalho de ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Atalho do ambiente de trabalho para ${APPLICATION_NAME}."
|
||||
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Atalho de início rápido de ${APPLICATION_NAME}."
|
||||
StrCpy $UNINSTALLER_FILE_Detail "A escrever o Desinstalador"
|
||||
StrCpy $UNINSTALLER_REGISTRY_Detail "A escrever chaves de registo do instalador"
|
||||
StrCpy $UNINSTALLER_FINISHED_Detail "Terminado"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Não parece que ${APPLICATION_NAME} esteja instalado no diretório '$INSTDIR'.$\n$\nContinuar na mesma (não recomendado)?"
|
||||
StrCpy $UNINSTALL_MESSAGEBOX "Não parece que a aplicação ${APPLICATION_NAME} esteja instalada no diretório '$INSTDIR'.$\n$\nContinuar na mesma (não recomendado)?"
|
||||
StrCpy $UNINSTALL_ABORT "Desinstalação cancelada pelo utilizador"
|
||||
StrCpy $INIT_NO_QUICK_LAUNCH "Atalho de Início Rápido (N/A)"
|
||||
StrCpy $INIT_NO_DESKTOP "Atalho do Ambiente de Trabalho (sobrepõe o existente)"
|
||||
|
||||
@@ -9,6 +9,7 @@ StrCpy $PageReinstall_NEW_Field_3 "Avinstallera inte"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Redan installerad"
|
||||
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE "Välj hur du vill installera ${APPLICATION_NAME}."
|
||||
StrCpy $PageReinstall_OLD_Field_1 "En nyare version av ${APPLICATION_NAME} är redan installerad! Det rekommenderas inte att du installerar en äldre version. Om du verkligen vill installera denna äldre versionen, är det bättre att du avinstallerar den nuvarande versionen först. Välj den åtgärd du vill utföra och klicka Nästa för att fortsätta."
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} är redan installerad.$\n$\nVälj den åtgärd du vill utföra och klicka på Nästa för att fortsätta."
|
||||
StrCpy $PageReinstall_SAME_Field_2 "Lägg till/Ominstallera komponenter"
|
||||
StrCpy $PageReinstall_SAME_Field_3 "Avinstallera ${APPLICATION_NAME}"
|
||||
StrCpy $UNINSTALLER_APPDATA_TITLE "Avinstallera ${APPLICATION_NAME}"
|
||||
@@ -40,4 +41,3 @@ StrCpy $UAC_UNINSTALLER_REQUIRE_ADMIN "Detta avinstallationsprogram kräver adm
|
||||
StrCpy $UAC_ERROR_LOGON_SERVICE "Login-service körs inte, avbryter!"
|
||||
StrCpy $INIT_UNINSTALLER_RUNNING "Avinstallationsprogrammet körs redan."
|
||||
StrCpy $SectionGroup_Shortcuts "Genvägar"
|
||||
StrCpy $PageReinstall_SAME_Field_1 "${APPLICATION_NAME} ${VERSION} is already installed.$\r$\nSelect the operation you want to perform and click Next to continue."
|
||||
|
||||
@@ -98,6 +98,7 @@ enum csync_status_codes_e {
|
||||
CSYNC_STATUS_INDIVIDUAL_IS_SYMLINK,
|
||||
CSYNC_STATUS_INDIVIDUAL_IGNORE_LIST,
|
||||
CSYNC_STATUS_INDIVIDUAL_IS_INVALID_CHARS,
|
||||
CSYNC_STATUS_INDIVIDUAL_TRAILING_SPACE,
|
||||
CSYNC_STATUS_INDIVIDUAL_EXCLUDE_LONG_FILENAME,
|
||||
CYSNC_STATUS_FILE_LOCKED_OR_OPEN,
|
||||
CSYNC_STATUS_INDIVIDUAL_EXCLUDE_HIDDEN,
|
||||
|
||||
@@ -44,18 +44,6 @@
|
||||
static
|
||||
#endif
|
||||
int _csync_exclude_add(c_strlist_t **inList, const char *string) {
|
||||
size_t i = 0;
|
||||
|
||||
// We never want duplicates, so check whether the string is already
|
||||
// in the list first.
|
||||
if (*inList) {
|
||||
for (i = 0; i < (*inList)->count; ++i) {
|
||||
char *pattern = (*inList)->vector[i];
|
||||
if (c_streq(pattern, string)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return c_strlist_add_grow(inList, string);
|
||||
}
|
||||
|
||||
@@ -151,10 +139,8 @@ int csync_exclude_load(const char *fname, c_strlist_t **list) {
|
||||
buf[i] = '\0';
|
||||
if (*entry != '#') {
|
||||
const char *unescaped = csync_exclude_expand_escapes(entry);
|
||||
CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "Adding entry: %s", unescaped);
|
||||
rc = _csync_exclude_add(list, unescaped);
|
||||
if( rc == 0 ) {
|
||||
CSYNC_LOG(CSYNC_LOG_PRIORITY_TRACE, "Adding entry: %s", unescaped);
|
||||
}
|
||||
SAFE_FREE(unescaped);
|
||||
if (rc < 0) {
|
||||
goto out;
|
||||
@@ -243,8 +229,12 @@ static CSYNC_EXCLUDE_TYPE _csync_excluded_common(c_strlist_t *excludes, const ch
|
||||
// distinguish files ending in '.' from files without an ending,
|
||||
// as '.' is a separator that is not stored internally, so let's
|
||||
// not allow to sync those to avoid file loss/ambiguities (#416)
|
||||
if (blen > 1 && (bname[blen-1]== ' ' || bname[blen-1]== '.' )) {
|
||||
match = CSYNC_FILE_EXCLUDE_INVALID_CHAR;
|
||||
if (blen > 1) {
|
||||
if (bname[blen-1]== ' ') {
|
||||
match = CSYNC_FILE_EXCLUDE_TRAILING_SPACE;
|
||||
} else if (bname[blen-1]== '.' ) {
|
||||
match = CSYNC_FILE_EXCLUDE_INVALID_CHAR;
|
||||
}
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ enum csync_exclude_type_e {
|
||||
CSYNC_FILE_EXCLUDE_AND_REMOVE,
|
||||
CSYNC_FILE_EXCLUDE_LIST,
|
||||
CSYNC_FILE_EXCLUDE_INVALID_CHAR,
|
||||
CSYNC_FILE_EXCLUDE_TRAILING_SPACE,
|
||||
CSYNC_FILE_EXCLUDE_LONG_FILENAME,
|
||||
CSYNC_FILE_EXCLUDE_HIDDEN,
|
||||
CSYNC_FILE_EXCLUDE_STAT_FAILED
|
||||
|
||||
@@ -477,6 +477,8 @@ out:
|
||||
st->error_status = CSYNC_STATUS_INDIVIDUAL_IGNORE_LIST; /* File listed on ignore list. */
|
||||
} else if (excluded == CSYNC_FILE_EXCLUDE_INVALID_CHAR) {
|
||||
st->error_status = CSYNC_STATUS_INDIVIDUAL_IS_INVALID_CHARS; /* File contains invalid characters. */
|
||||
} else if (excluded == CSYNC_FILE_EXCLUDE_TRAILING_SPACE) {
|
||||
st->error_status = CSYNC_STATUS_INDIVIDUAL_TRAILING_SPACE; /* File ends with a trailing space. */
|
||||
} else if (excluded == CSYNC_FILE_EXCLUDE_LONG_FILENAME) {
|
||||
st->error_status = CSYNC_STATUS_INDIVIDUAL_EXCLUDE_LONG_FILENAME; /* File name is too long. */
|
||||
} else if (excluded == CSYNC_FILE_EXCLUDE_HIDDEN ) {
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
|
||||
static void setup(void **state) {
|
||||
CSYNC *csync;
|
||||
int rc;
|
||||
|
||||
csync_create(&csync, "/tmp/check_csync1", "/tmp/check_csync2");
|
||||
|
||||
|
||||
@@ -74,7 +74,6 @@ static void teardown(void **state) {
|
||||
static void check_csync_init(void **state)
|
||||
{
|
||||
CSYNC *csync = *state;
|
||||
int rc;
|
||||
|
||||
csync_init(csync);
|
||||
|
||||
|
||||
@@ -31,6 +31,13 @@ use strict;
|
||||
|
||||
print "Hello, this is t6, a tester for csync with ownCloud.\n";
|
||||
|
||||
# Checking CURL is installed to avoid misleading errors later...
|
||||
system(("curl", "--help", ">", "/dev/null"));
|
||||
if ($? != 0) {
|
||||
print "CURL is needed for this script, aborting with error\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
initTesting();
|
||||
|
||||
sub createPostUpdateScript($)
|
||||
|
||||
+4
-4
@@ -159,8 +159,8 @@ In order to make setup simple, you can use the provided Dockerfile to build your
|
||||
1. Assuming you are in the root of the ownCloud Client's source tree, you can
|
||||
build an image from this Dockerfile like this::
|
||||
|
||||
cd admin/win32/docker
|
||||
docker build . -t ownCloud-client-win32:<version>
|
||||
cd admin/win/docker
|
||||
docker build . -t owncloud-client-win32:<version>
|
||||
|
||||
Replace ``<version>`` by the version of the client you are building, e.g.
|
||||
|version| for the release of the client that this document describes.
|
||||
@@ -174,8 +174,8 @@ In order to make setup simple, you can use the provided Dockerfile to build your
|
||||
|
||||
2. From within the source tree Run the docker instance::
|
||||
|
||||
docker run ownCloud-client-win32:<version> -v "$PWD:/home/jenkins/client" \
|
||||
admin/win32/docker/build.sh $(id -u)
|
||||
docker run owncloud-client-win32:<version> -v "$PWD:/home/jenkins/client" \
|
||||
admin/win/docker/build.sh $(id -u)
|
||||
|
||||
It will run the build, create an NSIS based installer, as well as run tests.
|
||||
You will find the resulting binary in an newly created ``build-win32`` subfolder.
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ logs.
|
||||
|
||||
1. Output of `owncloud --logwindow` or `owncloud --logfile log.txt`
|
||||
(On Windows using `cmd.exe`, you might need to first `cd` into the ownCloud directory)
|
||||
(See also http://doc.owncloud.org/desktop/1.8/troubleshooting.html#client-logfile )
|
||||
(See also http://doc.owncloud.org/desktop/2.2/troubleshooting.html#client-logfile )
|
||||
|
||||
2. Web server error log:
|
||||
|
||||
|
||||
+32
-6
@@ -37,6 +37,24 @@ X-GNOME-Autostart-Delay=3
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[oc]=@APPLICATION_EXECUTABLE@
|
||||
Comment[ca]=Client de sincronització d'escriptori @APPLICATION_NAME@
|
||||
@@ -51,6 +69,10 @@ Comment[de]=@APPLICATION_NAME@ Desktop-Synchronisationsclient
|
||||
GenericName[de]=Ordner-Synchronisation
|
||||
Name[de]=@APPLICATION_NAME@ Desktop-Synchronisationsclient
|
||||
Icon[de]=@APPLICATION_EXECUTABLE@
|
||||
Comment[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
||||
GenericName[ja_JP]=フォルダ同期
|
||||
Name[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
||||
Icon[ja_JP]=@APPLICATION_EXECUTABLE@
|
||||
Comment[en_GB]=@APPLICATION_NAME@ desktop synchronisation client
|
||||
GenericName[en_GB]=Folder Sync
|
||||
Name[en_GB]=@APPLICATION_NAME@ desktop sync client
|
||||
@@ -114,10 +136,14 @@ Comment[sq]=Klient njëkohësimesh @APPLICATION_NAME@ për desktop
|
||||
GenericName[sq]=Njëkohësim Dosjesh
|
||||
Name[sq]=Klient njëkohësimesh @APPLICATION_NAME@ për desktop
|
||||
Icon[sq]=@APPLICATION_EXECUTABLE@
|
||||
Comment[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
||||
GenericName[ja_JP]=フォルダ同期
|
||||
Name[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
||||
Icon[ja_JP]=@APPLICATION_EXECUTABLE@
|
||||
Comment[tr]=@APPLICATION_NAME@ masaüstü senkronizasyon istemcisi
|
||||
GenericName[tr]=Dosya Senkronizasyonu
|
||||
Name[tr]=@APPLICATION_NAME@ masaüstü senkronizasyon istemcisi
|
||||
Icon[tr]=@APPLICATION_EXECUTABLE@
|
||||
Comment[uk]=Настільний клієнт синхронізації @APPLICATION_NAME@
|
||||
GenericName[uk]=Синхронізація теки
|
||||
Name[uk]=Настільний клієнт синхронізації @APPLICATION_NAME@
|
||||
Icon[uk]=@APPLICATION_EXECUTABLE@
|
||||
Comment[ro]=@APPLICATION_NAME@ client de sincronizare pe desktop
|
||||
GenericName[ro]=Sincronizare director
|
||||
Name[ro]=@APPLICATION_NAME@ client de sincronizare pe desktop
|
||||
@@ -127,9 +153,9 @@ GenericName[zh_CN]=文件夹同步
|
||||
Name[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
|
||||
Icon[zh_CN]=@APPLICATION_EXECUTABLE@
|
||||
GenericName[zh_TW]=資料夾同步
|
||||
Comment[pt_PT]=@APPLICATION_NAME@ cliente de sincronização para ambiente de trabalho
|
||||
Comment[pt_PT]=@APPLICATION_NAME@ - Cliente de Sincronização para PC
|
||||
GenericName[pt_PT]=Sincronizar Pasta
|
||||
Name[pt_PT]=@APPLICATION_NAME@ cliente de sincronização para ambiente de trabalho
|
||||
Name[pt_PT]=@APPLICATION_NAME@ - Cliente de Sincronização para PC
|
||||
Icon[pt_PT]=@APPLICATION_EXECUTABLE@
|
||||
Comment[th_TH]=@APPLICATION_NAME@ ไคลเอนต์ประสานข้อมูลเดสก์ท็อป
|
||||
GenericName[th_TH]=ประสานข้อมูลโฟลเดอร์
|
||||
|
||||
@@ -248,6 +248,9 @@ void ActivityWidget::slotBuildNotificationDisplay(const ActivityList& list)
|
||||
QHash<QString, int> accNotified;
|
||||
QString listAccountName;
|
||||
|
||||
// Whether a new notification widget was added to the notificationLayout.
|
||||
bool newNotificationShown = false;
|
||||
|
||||
foreach( auto activity, list ) {
|
||||
if( _blacklistedNotifications.contains(activity)) {
|
||||
qDebug() << Q_FUNC_INFO << "Activity in blacklist, skip";
|
||||
@@ -271,6 +274,7 @@ void ActivityWidget::slotBuildNotificationDisplay(const ActivityList& list)
|
||||
_ui->_notifyScroll->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContentsOnFirstShow);
|
||||
#endif
|
||||
_widgetForNotifId[activity.ident()] = widget;
|
||||
newNotificationShown = true;
|
||||
}
|
||||
|
||||
widget->setActivity( activity );
|
||||
@@ -365,6 +369,10 @@ void ActivityWidget::slotBuildNotificationDisplay(const ActivityList& list)
|
||||
const QString log = tr("%1 Notifications - Action Required").arg(Theme::instance()->appNameGUI());
|
||||
emit guiLog( log, msg);
|
||||
}
|
||||
|
||||
if (newNotificationShown) {
|
||||
emit newNotification();
|
||||
}
|
||||
}
|
||||
|
||||
void ActivityWidget::slotSendNotificationRequest(const QString& accountName, const QString& link, const QByteArray& verb)
|
||||
@@ -517,6 +525,7 @@ ActivitySettings::ActivitySettings(QWidget *parent)
|
||||
connect(_activityWidget, SIGNAL(copyToClipboard()), this, SLOT(slotCopyToClipboard()));
|
||||
connect(_activityWidget, SIGNAL(hideActivityTab(bool)), this, SLOT(setActivityTabHidden(bool)));
|
||||
connect(_activityWidget, SIGNAL(guiLog(QString,QString)), this, SIGNAL(guiLog(QString,QString)));
|
||||
connect(_activityWidget, SIGNAL(newNotification()), SLOT(slotShowActivityTab()));
|
||||
|
||||
_protocolWidget = new ProtocolWidget(this);
|
||||
_tab->insertTab(1, _protocolWidget, Theme::instance()->syncStateIcon(SyncResult::Success), tr("Sync Protocol"));
|
||||
@@ -582,6 +591,13 @@ void ActivitySettings::slotShowIssueItemCount(int cnt)
|
||||
_tab->setTabText(_syncIssueTabId, cntText);
|
||||
}
|
||||
|
||||
void ActivitySettings::slotShowActivityTab()
|
||||
{
|
||||
if (_activityTabId != -1) {
|
||||
_tab->setCurrentIndex(_activityTabId);
|
||||
}
|
||||
}
|
||||
|
||||
void ActivitySettings::slotCopyToClipboard()
|
||||
{
|
||||
QString text;
|
||||
|
||||
@@ -81,7 +81,7 @@ signals:
|
||||
void copyToClipboard();
|
||||
void rowsInserted();
|
||||
void hideActivityTab(bool);
|
||||
void newNotificationList(const ActivityList& list);
|
||||
void newNotification();
|
||||
|
||||
private slots:
|
||||
void slotBuildNotificationDisplay(const ActivityList& list);
|
||||
@@ -143,6 +143,7 @@ private slots:
|
||||
void setActivityTabHidden(bool hidden);
|
||||
void slotRegularNotificationCheck();
|
||||
void slotShowIssueItemCount(int cnt);
|
||||
void slotShowActivityTab();
|
||||
|
||||
signals:
|
||||
void guiLog(const QString&, const QString&);
|
||||
|
||||
+15
-19
@@ -579,19 +579,10 @@ int Folder::slotWipeErrorBlacklist()
|
||||
|
||||
void Folder::slotWatchedPathChanged(const QString& path)
|
||||
{
|
||||
// When no sync is running or it's in the prepare phase, we can
|
||||
// always schedule a new sync.
|
||||
if (! _engine->isSyncRunning() || _syncResult.status() == SyncResult::SyncPrepare) {
|
||||
emit watchedFileChangedExternally(path);
|
||||
emit scheduleToSync(this);
|
||||
return;
|
||||
}
|
||||
|
||||
// The folder watcher fires a lot of bogus notifications during
|
||||
// a sync operation, both for actual user files and the database
|
||||
// and log. Therefore we check notifications against operations
|
||||
// the sync is doing to filter out our own changes.
|
||||
bool ownChange = false;
|
||||
#ifdef Q_OS_MAC
|
||||
Q_UNUSED(path)
|
||||
// On OSX the folder watcher does not report changes done by our
|
||||
@@ -601,14 +592,23 @@ void Folder::slotWatchedPathChanged(const QString& path)
|
||||
const auto maxNotificationDelay = 15*1000;
|
||||
qint64 time = _engine->timeSinceFileTouched(path);
|
||||
if (time != -1 && time < maxNotificationDelay) {
|
||||
ownChange = true;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (! ownChange) {
|
||||
emit watchedFileChangedExternally(path);
|
||||
emit scheduleToSync(this);
|
||||
// Check that the mtime actually changed.
|
||||
if (path.startsWith(this->path())) {
|
||||
auto relativePath = path.mid(this->path().size());
|
||||
auto record = _journal.getFileRecord(relativePath);
|
||||
if (record.isValid() && !FileSystem::fileChanged(path, record._fileSize,
|
||||
Utility::qDateTimeToTime_t(record._modtime))) {
|
||||
qDebug() << "Ignoring spurious notification for file" << relativePath;
|
||||
return; // probably a spurious notification
|
||||
}
|
||||
}
|
||||
|
||||
emit watchedFileChangedExternally(path);
|
||||
emit scheduleToSync(this);
|
||||
}
|
||||
|
||||
void Folder::slotThreadTreeWalkResult(const SyncFileItemVector& items)
|
||||
@@ -631,7 +631,7 @@ void Folder::removeFromSettings() const
|
||||
{
|
||||
auto settings = _accountState->settings();
|
||||
settings->beginGroup(QLatin1String("Folders"));
|
||||
settings->remove(_definition.alias);
|
||||
settings->remove(FolderMan::escapeAlias(_definition.alias));
|
||||
}
|
||||
|
||||
bool Folder::isFileExcludedAbsolute(const QString& fullPath) const
|
||||
@@ -695,10 +695,6 @@ void Folder::wipe()
|
||||
|
||||
bool Folder::setIgnoredFiles()
|
||||
{
|
||||
// Note: Doing this on each sync run and on Folder construction is
|
||||
// unnecessary, because _engine->excludedFiles() persists between
|
||||
// sync runs. This is not a big problem because ExcludedFiles maintains
|
||||
// a QSet of files to load.
|
||||
ConfigFile cfg;
|
||||
QString systemList = cfg.excludeFile(ConfigFile::SystemScope);
|
||||
if( QFile::exists(systemList) ) {
|
||||
@@ -1006,7 +1002,7 @@ void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction, bool *cancel)
|
||||
void Folder::slotAboutToRestoreBackup(bool *restore)
|
||||
{
|
||||
QString msg =
|
||||
tr("This sync would reset the files to an erlier time in the sync folder '%1'.\n"
|
||||
tr("This sync would reset the files to an earlier time in the sync folder '%1'.\n"
|
||||
"This might be because a backup was restored on the server.\n"
|
||||
"Continuing the sync as normal will cause all your files to be overwritten by an older "
|
||||
"file in an earlier state. "
|
||||
|
||||
@@ -584,7 +584,7 @@ void FolderStatusModel::slotUpdateDirectories(const QStringList &list)
|
||||
QStringList sortedSubfolders = list;
|
||||
// skip the parent item (first in the list)
|
||||
sortedSubfolders.erase(sortedSubfolders.begin());
|
||||
sortedSubfolders.sort();
|
||||
Utility::sortFilenames(sortedSubfolders);
|
||||
|
||||
QVarLengthArray<int, 10> undecidedIndexes;
|
||||
|
||||
|
||||
@@ -51,6 +51,14 @@ static void callback(
|
||||
Q_UNUSED(eventFlags)
|
||||
Q_UNUSED(eventIds)
|
||||
|
||||
const FSEventStreamEventFlags c_interestingFlags
|
||||
= kFSEventStreamEventFlagItemCreated // for new folder/file
|
||||
| kFSEventStreamEventFlagItemRemoved // for rm
|
||||
| kFSEventStreamEventFlagItemInodeMetaMod // for mtime change
|
||||
| kFSEventStreamEventFlagItemRenamed // also coming for moves to trash in finder
|
||||
| kFSEventStreamEventFlagItemModified; // for content change
|
||||
//We ignore other flags, e.g. for owner change, xattr change, Finder label change etc
|
||||
|
||||
qDebug() << "FolderWatcherPrivate::callback by OS X";
|
||||
|
||||
QStringList paths;
|
||||
@@ -62,8 +70,14 @@ static void callback(
|
||||
CFIndex pathLength = CFStringGetLength(path);
|
||||
qstring.resize(pathLength);
|
||||
CFStringGetCharacters(path, CFRangeMake(0, pathLength), reinterpret_cast<UniChar *>(qstring.data()));
|
||||
QString fn = qstring.normalized(QString::NormalizationForm_C);
|
||||
|
||||
paths.append(qstring.normalized(QString::NormalizationForm_C));
|
||||
if (!(eventFlags[i] & c_interestingFlags)) {
|
||||
qDebug() << "Ignoring non-content changes for" << fn;
|
||||
continue;
|
||||
}
|
||||
|
||||
paths.append(fn);
|
||||
}
|
||||
|
||||
reinterpret_cast<FolderWatcherPrivate*>(clientCallBackInfo)->doNotifyParent(paths);
|
||||
|
||||
@@ -308,7 +308,7 @@ void FolderWizardRemotePath::slotUpdateDirectories(const QStringList &list)
|
||||
root->setData(0, Qt::UserRole, "/");
|
||||
}
|
||||
QStringList sortedList = list;
|
||||
sortedList.sort();
|
||||
Utility::sortFilenames(sortedList);
|
||||
foreach (QString path, sortedList) {
|
||||
path.remove(webdavFolder);
|
||||
QStringList paths = path.split('/');
|
||||
|
||||
@@ -222,7 +222,7 @@ void SelectiveSyncTreeView::slotUpdateDirectories(QStringList list)
|
||||
}
|
||||
}
|
||||
|
||||
list.sort();
|
||||
Utility::sortFilenames(list);
|
||||
foreach (QString path, list) {
|
||||
auto size = job ? job->_sizes.value(path) : 0;
|
||||
path.remove(pathToRemove);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "ui_sharelinkwidget.h"
|
||||
#include "account.h"
|
||||
#include "capabilities.h"
|
||||
#include "creds/abstractcredentials.h"
|
||||
|
||||
#include "share.h"
|
||||
|
||||
@@ -23,6 +24,7 @@
|
||||
#include <QBuffer>
|
||||
#include <QClipboard>
|
||||
#include <QFileInfo>
|
||||
#include <QDesktopServices>
|
||||
|
||||
namespace OCC {
|
||||
|
||||
@@ -53,6 +55,10 @@ ShareLinkWidget::ShareLinkWidget(AccountPtr account,
|
||||
_ui->pushButton_copy->setEnabled(false);
|
||||
connect(_ui->pushButton_copy, SIGNAL(clicked(bool)), SLOT(slotPushButtonCopyLinkPressed()));
|
||||
|
||||
_ui->pushButton_mail->setIcon(QIcon::fromTheme("mail-send"));
|
||||
_ui->pushButton_mail->setEnabled(false);
|
||||
connect(_ui->pushButton_mail, SIGNAL(clicked(bool)), SLOT(slotPushButtonMailLinkPressed()));
|
||||
|
||||
// the following progress indicator widgets are added to layouts which makes them
|
||||
// automatically deleted once the dialog dies.
|
||||
_pi_link = new QProgressIndicator();
|
||||
@@ -224,6 +230,7 @@ void ShareLinkWidget::slotSharesFetched(const QList<QSharedPointer<Share>> &shar
|
||||
if (share->getShareType() == Share::TypeLink) {
|
||||
_share = qSharedPointerDynamicCast<LinkShare>(share);
|
||||
_ui->pushButton_copy->show();
|
||||
_ui->pushButton_mail->show();
|
||||
|
||||
_ui->widget_shareLink->show();
|
||||
_ui->checkBox_shareLink->setChecked(true);
|
||||
@@ -268,6 +275,7 @@ void ShareLinkWidget::slotSharesFetched(const QList<QSharedPointer<Share>> &shar
|
||||
}
|
||||
|
||||
setShareLink(_share->getLink().toString());
|
||||
_ui->pushButton_mail->setEnabled(true);
|
||||
_ui->pushButton_copy->setEnabled(true);
|
||||
|
||||
// Connect all shares signals to gui slots
|
||||
@@ -324,6 +332,7 @@ void ShareLinkWidget::setShareLink( const QString& url )
|
||||
if( realUrl.isValid() ) {
|
||||
_shareUrl = url;
|
||||
_ui->pushButton_copy->setEnabled(true);
|
||||
_ui->pushButton_mail->setEnabled(true);
|
||||
} else {
|
||||
_shareUrl.clear();
|
||||
_ui->_labelShareLink->setText(QString::null);
|
||||
@@ -339,6 +348,7 @@ void ShareLinkWidget::slotDeleteShareFetched()
|
||||
_ui->lineEdit_password->clear();
|
||||
_ui->_labelShareLink->clear();
|
||||
_ui->pushButton_copy->setEnabled(false);
|
||||
_ui->pushButton_mail->setEnabled(false);
|
||||
_ui->widget_shareLink->hide();
|
||||
_ui->lineEdit_password->hide();
|
||||
_ui->pushButton_setPassword->setEnabled(false);
|
||||
@@ -368,6 +378,7 @@ void ShareLinkWidget::slotCheckBoxShareLinkClicked()
|
||||
_ui->checkBox_editing->setEnabled(false);
|
||||
_ui->lineEdit_password->setFocus();
|
||||
_ui->pushButton_copy->hide();
|
||||
_ui->pushButton_mail->hide();
|
||||
_ui->widget_shareLink->show();
|
||||
|
||||
slotCheckBoxPasswordClicked();
|
||||
@@ -413,6 +424,7 @@ void ShareLinkWidget::slotCreateShareRequiresPassword(const QString& message)
|
||||
_ui->lineEdit_password->setEnabled(true);
|
||||
_ui->lineEdit_password->setFocus();
|
||||
_ui->pushButton_copy->hide();
|
||||
_ui->pushButton_mail->hide();
|
||||
_ui->widget_shareLink->show();
|
||||
_ui->checkBox_expire->setEnabled(false);
|
||||
_ui->checkBox_editing->setEnabled(false);
|
||||
@@ -473,6 +485,20 @@ void ShareLinkWidget::slotPushButtonCopyLinkPressed()
|
||||
#endif
|
||||
}
|
||||
|
||||
void ShareLinkWidget::slotPushButtonMailLinkPressed()
|
||||
{
|
||||
QString fileName = _sharePath.mid(_sharePath.lastIndexOf('/') + 1);
|
||||
|
||||
QDesktopServices::openUrl(QUrl(QString(
|
||||
"mailto: "
|
||||
"?subject=%1 has shared %2 with you"
|
||||
"&body=%3").arg(
|
||||
_account->credentials()->user(),
|
||||
fileName,
|
||||
_shareUrl),
|
||||
QUrl::TolerantMode));
|
||||
}
|
||||
|
||||
void ShareLinkWidget::slotCheckBoxEditingClicked()
|
||||
{
|
||||
ShareLinkWidget::setPublicUpload(_ui->checkBox_editing->checkState() == Qt::Checked);
|
||||
|
||||
@@ -68,6 +68,7 @@ private slots:
|
||||
void slotPasswordReturnPressed();
|
||||
void slotPasswordChanged(const QString& newText);
|
||||
void slotPushButtonCopyLinkPressed();
|
||||
void slotPushButtonMailLinkPressed();
|
||||
void slotCheckBoxEditingClicked();
|
||||
void slotPublicUploadSet();
|
||||
|
||||
|
||||
@@ -195,6 +195,13 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_mail">
|
||||
<property name="text">
|
||||
<string>&Mail link</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_copy">
|
||||
<property name="text">
|
||||
|
||||
@@ -42,7 +42,7 @@ ExcludedFiles& ExcludedFiles::instance()
|
||||
|
||||
void ExcludedFiles::addExcludeFilePath(const QString& path)
|
||||
{
|
||||
_excludeFiles.insert(path);
|
||||
_excludeFiles.append(path);
|
||||
}
|
||||
|
||||
bool ExcludedFiles::reloadExcludes()
|
||||
|
||||
@@ -16,8 +16,7 @@
|
||||
#include "owncloudlib.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QSet>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
|
||||
extern "C" {
|
||||
#include "std/c_string.h"
|
||||
@@ -67,7 +66,7 @@ private:
|
||||
// This is a pointer to the csync exclude list, its is owned by this class
|
||||
// but the pointer can be in a csync_context so that it can itself also query the list.
|
||||
c_strlist_t** _excludesPtr;
|
||||
QSet<QString> _excludeFiles;
|
||||
QStringList _excludeFiles;
|
||||
};
|
||||
|
||||
} // namespace OCC
|
||||
|
||||
@@ -111,9 +111,9 @@ bool OWNCLOUDSYNC_EXPORT rename(const QString& originFileName,
|
||||
*
|
||||
* @return true if the file's mtime or size are not what is expected.
|
||||
*/
|
||||
bool fileChanged(const QString& fileName,
|
||||
qint64 previousSize,
|
||||
time_t previousMtime);
|
||||
bool OWNCLOUDSYNC_EXPORT fileChanged(const QString& fileName,
|
||||
qint64 previousSize,
|
||||
time_t previousMtime);
|
||||
|
||||
/**
|
||||
* @brief Like !fileChanged() but with verbose logging if the file *did* change.
|
||||
|
||||
@@ -542,27 +542,6 @@ void OwncloudPropagator::scheduleNextJob()
|
||||
}
|
||||
}
|
||||
|
||||
void OwncloudPropagator::addTouchedFile(const QString& fn)
|
||||
{
|
||||
QString file = QDir::cleanPath(fn);
|
||||
|
||||
QElapsedTimer timer;
|
||||
timer.start();
|
||||
|
||||
QMutexLocker lock(&_touchedFilesMutex);
|
||||
_touchedFiles.insert(file, timer);
|
||||
}
|
||||
|
||||
qint64 OwncloudPropagator::timeSinceFileTouched(const QString& fn) const
|
||||
{
|
||||
QMutexLocker lock(&_touchedFilesMutex);
|
||||
if (! _touchedFiles.contains(fn)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return _touchedFiles[fn].elapsed();
|
||||
}
|
||||
|
||||
AccountPtr OwncloudPropagator::account() const
|
||||
{
|
||||
return _account;
|
||||
|
||||
@@ -330,18 +330,6 @@ public:
|
||||
/** returns the size of chunks in bytes */
|
||||
static quint64 chunkSize();
|
||||
|
||||
/** Records that a file was touched by a job.
|
||||
*
|
||||
* Thread-safe.
|
||||
*/
|
||||
void addTouchedFile(const QString& fn);
|
||||
|
||||
/** Get the ms since a file was touched, or -1 if it wasn't.
|
||||
*
|
||||
* Thread-safe.
|
||||
*/
|
||||
qint64 timeSinceFileTouched(const QString& fn) const;
|
||||
|
||||
AccountPtr account() const;
|
||||
|
||||
enum DiskSpaceResult
|
||||
@@ -377,18 +365,24 @@ signals:
|
||||
/** Emitted when propagation has problems with a locked file. */
|
||||
void seenLockedFile(const QString &fileName);
|
||||
|
||||
/** Emitted when propagation touches a file.
|
||||
*
|
||||
* Used to track our own file modifications such that notifications
|
||||
* from the file watcher about these can be ignored.
|
||||
*/
|
||||
void touchedFile(const QString &fileName);
|
||||
|
||||
private:
|
||||
|
||||
AccountPtr _account;
|
||||
|
||||
/** Stores the time since a job touched a file. */
|
||||
QHash<QString, QElapsedTimer> _touchedFiles;
|
||||
mutable QMutex _touchedFilesMutex;
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
|
||||
// access to signals which are protected in Qt4
|
||||
friend class PropagateDownloadFileQNAM;
|
||||
friend class PropagateUploadFileQNAM;
|
||||
friend class PropagateLocalMkdir;
|
||||
friend class PropagateLocalRename;
|
||||
friend class PropagateRemoteMove;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
@@ -592,8 +592,8 @@ void PropagateDownloadFileQNAM::deleteExistingFolder()
|
||||
QString conflictDir = FileSystem::makeConflictFileName(
|
||||
existingDir, Utility::qDateTimeFromTime_t(_item->_modtime));
|
||||
|
||||
_propagator->addTouchedFile(existingDir);
|
||||
_propagator->addTouchedFile(conflictDir);
|
||||
emit _propagator->touchedFile(existingDir);
|
||||
emit _propagator->touchedFile(conflictDir);
|
||||
QString renameError;
|
||||
if (!FileSystem::rename(existingDir, conflictDir, &renameError)) {
|
||||
done(SyncFileItem::NormalError, renameError);
|
||||
@@ -753,7 +753,7 @@ void PropagateDownloadFileQNAM::downloadFinished()
|
||||
}
|
||||
|
||||
QString error;
|
||||
_propagator->addTouchedFile(fn);
|
||||
emit _propagator->touchedFile(fn);
|
||||
// The fileChanged() check is done above to generate better error messages.
|
||||
if (!FileSystem::uncheckedRenameReplace(_tmpFile.fileName(), fn, &error)) {
|
||||
qDebug() << Q_FUNC_INFO << QString("Rename failed: %1 => %2").arg(_tmpFile.fileName()).arg(fn);
|
||||
|
||||
@@ -80,8 +80,8 @@ void PropagateRemoteMove::start()
|
||||
QString versionString = _propagator->account()->serverVersion();
|
||||
if (versionString.contains('.') && versionString.split('.')[0].toInt() < 7) {
|
||||
QString originalFile(_propagator->getFilePath(QLatin1String("Shared")));
|
||||
_propagator->addTouchedFile(originalFile);
|
||||
_propagator->addTouchedFile(targetFile);
|
||||
emit _propagator->touchedFile(originalFile);
|
||||
emit _propagator->touchedFile(targetFile);
|
||||
QString renameError;
|
||||
if( FileSystem::rename(targetFile, originalFile, &renameError) ) {
|
||||
done(SyncFileItem::NormalError, tr("This folder must not be renamed. It is renamed back to its original name."));
|
||||
|
||||
@@ -163,7 +163,7 @@ void PropagateLocalMkdir::start()
|
||||
done( SyncFileItem::NormalError, tr("Attention, possible case sensitivity clash with %1").arg(newDirStr) );
|
||||
return;
|
||||
}
|
||||
_propagator->addTouchedFile(newDirStr);
|
||||
emit _propagator->touchedFile(newDirStr);
|
||||
QDir localDir(_propagator->_localDir);
|
||||
if (!localDir.mkpath(_item->_file)) {
|
||||
done( SyncFileItem::NormalError, tr("could not create folder %1").arg(newDirStr) );
|
||||
@@ -217,8 +217,8 @@ void PropagateLocalRename::start()
|
||||
return;
|
||||
}
|
||||
|
||||
_propagator->addTouchedFile(existingFile);
|
||||
_propagator->addTouchedFile(targetFile);
|
||||
emit _propagator->touchedFile(existingFile);
|
||||
emit _propagator->touchedFile(targetFile);
|
||||
QString renameError;
|
||||
if (!FileSystem::rename(existingFile, targetFile, &renameError)) {
|
||||
done(SyncFileItem::NormalError, renameError);
|
||||
|
||||
@@ -95,6 +95,10 @@ SyncEngine::SyncEngine(AccountPtr account, const QString& localPath,
|
||||
_excludedFiles.reset(new ExcludedFiles(&_csync_ctx->excludes));
|
||||
_syncFileStatusTracker.reset(new SyncFileStatusTracker(this));
|
||||
|
||||
_clearTouchedFilesTimer.setSingleShot(true);
|
||||
_clearTouchedFilesTimer.setInterval(30*1000);
|
||||
connect(&_clearTouchedFilesTimer, SIGNAL(timeout()), SLOT(slotClearTouchedFiles()));
|
||||
|
||||
_thread.setObjectName("SyncEngine_Thread");
|
||||
}
|
||||
|
||||
@@ -433,6 +437,9 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote )
|
||||
case CSYNC_STATUS_INDIVIDUAL_IS_INVALID_CHARS:
|
||||
item->_errorString = tr("Filename contains invalid characters that can not be synced cross platform.");
|
||||
break;
|
||||
case CSYNC_STATUS_INDIVIDUAL_TRAILING_SPACE:
|
||||
item->_errorString = tr("Filename contains trailing spaces.");
|
||||
break;
|
||||
case CSYNC_STATUS_INDIVIDUAL_EXCLUDE_LONG_FILENAME:
|
||||
item->_errorString = tr("Filename is too long.");
|
||||
break;
|
||||
@@ -681,6 +688,7 @@ void SyncEngine::startSync()
|
||||
s_anySyncRunning = true;
|
||||
_syncRunning = true;
|
||||
_anotherSyncNeeded = false;
|
||||
_clearTouchedFilesTimer.stop();
|
||||
|
||||
_progressInfo->reset();
|
||||
|
||||
@@ -945,6 +953,7 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult)
|
||||
this, SLOT(slotProgress(const SyncFileItem &,quint64)));
|
||||
connect(_propagator.data(), SIGNAL(finished()), this, SLOT(slotFinished()), Qt::QueuedConnection);
|
||||
connect(_propagator.data(), SIGNAL(seenLockedFile(QString)), SIGNAL(seenLockedFile(QString)));
|
||||
connect(_propagator.data(), SIGNAL(touchedFile(QString)), SLOT(slotAddTouchedFile(QString)));
|
||||
|
||||
// apply the network limits to the propagator
|
||||
setNetworkLimits(_uploadLimit, _downloadLimit);
|
||||
@@ -1041,6 +1050,8 @@ void SyncEngine::finalize(bool success)
|
||||
|
||||
// Delete the propagator only after emitting the signal.
|
||||
_propagator.clear();
|
||||
|
||||
_clearTouchedFilesTimer.start();
|
||||
}
|
||||
|
||||
void SyncEngine::slotProgress(const SyncFileItem& item, quint64 current)
|
||||
@@ -1362,14 +1373,28 @@ SyncFileItem* SyncEngine::findSyncItem(const QString &fileName) const
|
||||
return 0;
|
||||
}
|
||||
|
||||
void SyncEngine::slotAddTouchedFile(const QString& fn)
|
||||
{
|
||||
QString file = QDir::cleanPath(fn);
|
||||
|
||||
QElapsedTimer timer;
|
||||
timer.start();
|
||||
|
||||
_touchedFiles.insert(file, timer);
|
||||
}
|
||||
|
||||
void SyncEngine::slotClearTouchedFiles()
|
||||
{
|
||||
_touchedFiles.clear();
|
||||
}
|
||||
|
||||
qint64 SyncEngine::timeSinceFileTouched(const QString& fn) const
|
||||
{
|
||||
// This copy is essential for thread safety.
|
||||
QSharedPointer<OwncloudPropagator> prop = _propagator;
|
||||
if (prop) {
|
||||
return prop->timeSinceFileTouched(fn);
|
||||
if (! _touchedFiles.contains(fn)) {
|
||||
return -1;
|
||||
}
|
||||
return -1;
|
||||
|
||||
return _touchedFiles[fn].elapsed();
|
||||
}
|
||||
|
||||
AccountPtr SyncEngine::account() const
|
||||
|
||||
@@ -157,6 +157,12 @@ private slots:
|
||||
void slotDiscoveryJobFinished(int updateResult);
|
||||
void slotCleanPollsJobAborted(const QString &error);
|
||||
|
||||
/** Records that a file was touched by a job. */
|
||||
void slotAddTouchedFile(const QString& fn);
|
||||
|
||||
/** Wipes the _touchedFiles hash */
|
||||
void slotClearTouchedFiles();
|
||||
|
||||
private:
|
||||
void handleSyncError(CSYNC *ctx, const char *state);
|
||||
|
||||
@@ -256,6 +262,12 @@ private:
|
||||
CSyncChecksumHook _checksum_hook;
|
||||
|
||||
bool _anotherSyncNeeded;
|
||||
|
||||
/** Stores the time since a job touched a file. */
|
||||
QHash<QString, QElapsedTimer> _touchedFiles;
|
||||
|
||||
/** For clearing the _touchedFiles variable after sync finished */
|
||||
QTimer _clearTouchedFilesTimer;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -35,6 +35,10 @@
|
||||
#else
|
||||
#include <QStandardPaths>
|
||||
#endif
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
|
||||
#include <QCollator>
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef Q_OS_UNIX
|
||||
#include <sys/statvfs.h>
|
||||
@@ -546,4 +550,18 @@ quint64 Utility::StopWatch::durationOfLap( const QString& lapName ) const
|
||||
return _lapTimes.value(lapName, 0);
|
||||
}
|
||||
|
||||
void Utility::sortFilenames(QStringList& fileNames)
|
||||
{
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
|
||||
QCollator collator;
|
||||
collator.setNumericMode(true);
|
||||
collator.setCaseSensitivity(Qt::CaseInsensitive);
|
||||
qSort(fileNames.begin(), fileNames.end(), collator);
|
||||
#elif QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
|
||||
fileNames.sort(Qt::CaseInsensitive);
|
||||
#else
|
||||
fileNames.sort();
|
||||
#endif
|
||||
}
|
||||
|
||||
} // namespace OCC
|
||||
|
||||
@@ -136,6 +136,11 @@ namespace Utility
|
||||
quint64 durationOfLap( const QString& lapName ) const;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Sort a QStringList in a way that's appropriate for filenames
|
||||
*/
|
||||
OWNCLOUDSYNC_EXPORT void sortFilenames(QStringList& fileNames);
|
||||
|
||||
}
|
||||
/** @} */ // \addtogroup
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ private slots:
|
||||
bool excludeHidden = true;
|
||||
bool keepHidden = false;
|
||||
|
||||
bool x = excluded.isExcluded("/a/b", "/a", keepHidden);
|
||||
QVERIFY(!excluded.isExcluded("/a/b", "/a", keepHidden));
|
||||
QVERIFY(!excluded.isExcluded("/a/b~", "/a", keepHidden));
|
||||
QVERIFY(!excluded.isExcluded("/a/.b", "/a", keepHidden));
|
||||
|
||||
+10
-10
@@ -96,7 +96,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.ui" line="76"/>
|
||||
<source>Storage space: ...</source>
|
||||
<translation>Espai d'emmagatzematze: ...</translation>
|
||||
<translation>Espai d'emmagatzematge: ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.ui" line="146"/>
|
||||
@@ -853,12 +853,12 @@ Continuing the sync as normal will cause all your files to be overwritten by an
|
||||
<message>
|
||||
<location filename="../src/gui/folderstatusdelegate.cpp" line="45"/>
|
||||
<source>Add Folder Sync Connection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Afegeix connexions de carpetes sincronitzades</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderstatusdelegate.cpp" line="241"/>
|
||||
<source>Synchronizing with local folder</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>S'està sincronitzant amb les carpetes locals</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderstatusdelegate.cpp" line="285"/>
|
||||
@@ -999,7 +999,7 @@ Continuing the sync as normal will cause all your files to be overwritten by an
|
||||
<message>
|
||||
<location filename="../src/gui/folderwizard.cpp" line="542"/>
|
||||
<source>Add Folder Sync Connection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Afegeix connexions de carpetes sincronitzades</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderwizard.cpp" line="544"/>
|
||||
@@ -1376,27 +1376,27 @@ Els elements que poden ser eliminats s'eliminaran si impedeixen que una car
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Versió nova disponible</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Hi ha una nova versió del client %1 disponible.</p><p><b>%2</b> està disponible per a la baixada. La versió instal·lada és la %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Omet aquesta versió</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Omet aquesta vegada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Obtingueu l'actualització</translation>
|
||||
</message>
|
||||
@@ -2182,7 +2182,7 @@ No és aconsellada usar-la.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/protocolwidget.cpp" line="78"/>
|
||||
<source>Local sync protocol</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Protocol de sincronització local</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/protocolwidget.cpp" line="80"/>
|
||||
|
||||
@@ -1380,27 +1380,27 @@ Položky u kterých je povoleno smazání budou vymazány, pokud by bránily ods
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Je dostupná nová verze</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Je k dispozici nová verze klienta %1.</p><p><b>%2</b> je k dispozici ke stažení. Momentálně je nainstalována verze %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Přeskoč tuto verzi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Tentokrát přeskočit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Získat aktualizaci</translation>
|
||||
</message>
|
||||
|
||||
@@ -1379,27 +1379,27 @@ Objekte, bei denen Löschen erlaubt ist, werden gelöscht, wenn sie die Löschun
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Eine neue Version ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Eine neue Version des %1 - Klients ist verfügbar.</p><p><b>%2</b> steht zum Herunterladen bereit. Die installierte Version ist %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Diese Version auslassen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Dieses Mal überspringen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Update durchführen</translation>
|
||||
</message>
|
||||
|
||||
@@ -1378,27 +1378,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Νέα Έκδοση Διαθέσιμη </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Μια νέα έκδοση του %1 Δέκτη είναι διαθέσιμη.</p><p><b>%2</b> είναι διαθέσιμη για λήψη. Η εγκατεστημένη έκδοση είναι %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Παράλειψη αυτής της έκδοσης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Παράλειψη αυτή τη φορά</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Λήψη ενημέρωσης</translation>
|
||||
</message>
|
||||
|
||||
@@ -1401,27 +1401,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
||||
@@ -1380,27 +1380,27 @@ Los elementos cuya eliminación está permitida serán eliminados si impiden que
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Nueva versión disponible</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Una nueva versión del programa cliente de %1 está disponible.</p><p><b>%2</b> está disponible para descargar. La versión instalada es la %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Saltarse esta versión</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Omitir esta vez</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Actualizar</translation>
|
||||
</message>
|
||||
|
||||
@@ -1369,27 +1369,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Nueva versión disponible</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Saltear esta vez</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Obtener actualización</translation>
|
||||
</message>
|
||||
|
||||
@@ -1369,27 +1369,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Saadaval on uuem versioon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Uus versioon %1 kliendist on saadaval.</p><p><b>%2</b> on saadaval alla laadimiseks. Paigaldatud on versioon %3.<p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Jäta see versioon vahele</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Jäta seekord vahele</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Hangi uuendus</translation>
|
||||
</message>
|
||||
|
||||
@@ -1375,27 +1375,27 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Bertsio berria eskuragarri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p> %1 bezeroaren bertsio berri bat eskuragarri dago.</p><p><b>%2</b>deskargatzeko prest dago. Instalatuta dagoen bersioa %3 da.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Ez eguneratu bertsio hau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Utzi aldi honetan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Eskuratu eguneraketa</translation>
|
||||
</message>
|
||||
|
||||
@@ -1369,27 +1369,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>نسخه جدید در دسترس است</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>نادیده گرفتن این نسخه</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>نادیده گرفتن این زمان</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>به دست آوردن به روز رسانی</translation>
|
||||
</message>
|
||||
|
||||
@@ -1376,27 +1376,27 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Uusi versio saatavilla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Uusi versio %1-asiakasohjelmistosta on saatavilla.</p><p><b>%2</b> on ladattavissa. Asennettu versio on %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Ohita tämä versio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Ohita tämän kerran</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Päivitä</translation>
|
||||
</message>
|
||||
|
||||
@@ -1380,27 +1380,27 @@ Les éléments dont la suppression automatique est permise seront supprimés s&a
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Nouvelle version disponible</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Une nouvelle version du client %1 est disponible.</p><p><b>%2</b> est disponible au téléchargement. La version actuellement installée est %3.<p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Ignorer cette version</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Ignorer pour cette fois</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Obtenir la mise à jour</translation>
|
||||
</message>
|
||||
|
||||
@@ -1374,27 +1374,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Hai dispoñíbel unha nova versión</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Hai dispoñíbel unha nova versión do cliente %1.</p><p>Pode descargar a versión <b>%2</b>. A versión instalada é a %3</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Omitir esta versión</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Omitir polo de agora</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Obter a actualización</translation>
|
||||
</message>
|
||||
|
||||
@@ -1373,27 +1373,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Új verzió érhető el</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Egy új verzió érhető el a(z) %1 kliensből.</p><p><b>%2</b> elérhető letöltésre. A telepített verzió: %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Verzió kihagyása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Kihagyás ezalkalommal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Frissítés beszerzése</translation>
|
||||
</message>
|
||||
|
||||
@@ -1380,27 +1380,27 @@ Gli elementi per i quali è consentita l'eliminazione, saranno eliminati se
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Nuova versione disponibile</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Una nuova versione del client %1 è disponibile.</p><p><b>%2</b> è disponibile per lo scaricamento. La versione installata è %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Salta questa versione</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Salta questa volta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Ottieni l'aggiornamento</translation>
|
||||
</message>
|
||||
|
||||
@@ -1380,27 +1380,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>新しいバージョンが利用可能です</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>%1 クライアントの新しいバージョンが利用可能です。</p><p><b>%2</b> がダウンロード可能です。インストールされているバージョンは %3 です。<p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>今回のバージョンをスキップ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>今回はスキップ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>アップデートを取得</translation>
|
||||
</message>
|
||||
|
||||
@@ -1380,27 +1380,27 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Ny versjon tilgjengelig</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>En ny versjon av %1-klienten er tilgjengelig.</p><p><b>%2</b> er tilgjengelig for nedlasting. Installert versjon er %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Hopp over denne versjonen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Hopp over denne gangen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Hent oppdatering</translation>
|
||||
</message>
|
||||
|
||||
@@ -1381,27 +1381,27 @@ Onderdelen die gewist mogen worden worden verwijderd als ze voorkomen dat een ma
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Nieuwe versie beschikbaar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Er is een nieuwe versie van de %1 Client beschikbaar.</p><p><b>%2</b> is beschikbaar voor download. De geïnstalleerde versie is %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Deze versie overslaan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Deze keer overslaan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Ophalen update</translation>
|
||||
</message>
|
||||
|
||||
@@ -1380,27 +1380,27 @@ Pozycje, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawn
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Nowa wersja dostępna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Nowa wersja klienta %1 jest dostępna.</p><p><b>%2</b>jest dostępna do pobrania. Zainstalowana wersja to %3.<p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Pomiń tą wersję</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Pomiń tym razem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Uaktualnij</translation>
|
||||
</message>
|
||||
|
||||
+115
-115
@@ -17,12 +17,12 @@
|
||||
<message>
|
||||
<location filename="../src/gui/folderwizardsourcepage.ui" line="33"/>
|
||||
<source>Pick a local folder on your computer to sync</source>
|
||||
<translation>Escolha a pasta local no seu computador para sincronizar</translation>
|
||||
<translation>Escolha uma pasta local no seu computador para sincronizar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderwizardsourcepage.ui" line="44"/>
|
||||
<source>&Choose...</source>
|
||||
<translation>&Escolher ...</translation>
|
||||
<translation>&Escolher...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -35,7 +35,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/folderwizardtargetpage.ui" line="131"/>
|
||||
<source>Select a remote destination folder</source>
|
||||
<translation>Selecione a pasta de destino remota</translation>
|
||||
<translation>Selecione uma pasta de destino remota</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderwizardtargetpage.ui" line="143"/>
|
||||
@@ -55,7 +55,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/folderwizardtargetpage.ui" line="110"/>
|
||||
<source>TextLabel</source>
|
||||
<translation>TextLabel</translation>
|
||||
<translation>EtiquetaTexto</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -78,7 +78,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/notificationwidget.ui" line="89"/>
|
||||
<source>TextLabel</source>
|
||||
<translation>TextLabel</translation>
|
||||
<translation>EtiquetaTexto</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -101,7 +101,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.ui" line="146"/>
|
||||
<source>Unchecked folders will be <b>removed</b> from your local file system and will not be synchronized to this computer anymore</source>
|
||||
<translation>Pastas não selecionadas serão <b>removidas</b> do seu sistema local de ficheiros e não serão sincronizadas neste computador</translation>
|
||||
<translation>As pastas não selecionadas serão <b>removidas</b> do seu sistema de ficheiros local e já não serão sincronizadas para este computador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.ui" line="193"/>
|
||||
@@ -128,7 +128,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="141"/>
|
||||
<source>Add new</source>
|
||||
<translation>Adicionar novo</translation>
|
||||
<translation>Adicionar nova</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="149"/>
|
||||
@@ -153,12 +153,12 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="288"/>
|
||||
<source>Folder creation failed</source>
|
||||
<translation>Falhou a criação da pasta</translation>
|
||||
<translation>Não foi possível criar a pasta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="289"/>
|
||||
<source><p>Could not create local folder <i>%1</i>.</source>
|
||||
<translation><p>Não foi posssível criar a pasta local<i>%1</i>.</translation>
|
||||
<translation><p>Não foi possível criar a pasta local<i>%1</i>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="339"/>
|
||||
@@ -168,7 +168,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="345"/>
|
||||
<source>Remove Folder Sync Connection</source>
|
||||
<translation>Remover Ligação de Sincronização de Pasta</translation>
|
||||
<translation>Remover Ligação da Sincronização de Pasta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="427"/>
|
||||
@@ -178,7 +178,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="428"/>
|
||||
<source>The syncing operation is running.<br/>Do you want to terminate it?</source>
|
||||
<translation>A operação de sincronização está a ser executada.<br/>Deseja terminar?</translation>
|
||||
<translation>A operação de sincronização está em execução.<br/>Deseja terminá-la?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="495"/>
|
||||
@@ -193,7 +193,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="521"/>
|
||||
<source>The server version %1 is old and unsupported! Proceed at your own risk.</source>
|
||||
<translation>A versão %1 do servidor é antiga e já não é suportada! Prossiga por sua conta e risco.</translation>
|
||||
<translation>A versão %1 do servidor é antiga e não é suportada! Prossiga por sua conta e risco.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="523"/>
|
||||
@@ -223,7 +223,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="636"/>
|
||||
<source>There are new folders that were not synchronized because they are too big: </source>
|
||||
<translation>Existem novas pastas que não foram sincronizados porque são demasiado grandes:</translation>
|
||||
<translation>Existem novas pastas que não foram sincronizadas porque são demasiado grandes:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="676"/>
|
||||
@@ -233,7 +233,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="677"/>
|
||||
<source><p>Do you really want to remove the connection to the account <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p></source>
|
||||
<translation><p>Deseja mesmo remover a ligação da conta <i>%1</i>?</p><p><b>Nota:</b> isto <b>não</b> elimina quaisquer ficheiros.</p></translation>
|
||||
<translation><p>Deseja mesmo remover a ligação da conta <i>%1</i>?</p><p><b>Nota:</b> isto <b>não</b> irá eliminar quaisquer ficheiros.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="683"/>
|
||||
@@ -243,7 +243,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="211"/>
|
||||
<source>Open folder</source>
|
||||
<translation>Abrir a pasta</translation>
|
||||
<translation>Abrir pasta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="145"/>
|
||||
@@ -264,12 +264,12 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="340"/>
|
||||
<source><p>Do you really want to stop syncing the folder <i>%1</i>?</p><p><b>Note:</b> This will <b>not</b> delete any files.</p></source>
|
||||
<translation><p>Deseja mesmo parar a sincronização da pasta <i>%1</i>?</p><p><b>Nota:</b> isto <b>não</b> elimina quaisquer ficheiros.</p></translation>
|
||||
<translation><p>Deseja mesmo parar a sincronização da pasta <i>%1</i>?</p><p><b>Nota:</b> isto <b>não</b> irá eliminar quaisquer ficheiros.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="482"/>
|
||||
<source>%1 (%3%) of %2 in use. Some folders, including network mounted or shared folders, might have different limits.</source>
|
||||
<translation>%1 (%3%) de %2 em uso. Algumas pastas, incluindo pastas de rede ou partilhadas, podem ter limites diferentes.</translation>
|
||||
<translation>%1 (%3%) de %2 em utilização. Algumas pastas, incluindo a rede montada ou as pastas partilhadas, podem ter limites diferentes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountsettings.cpp" line="483"/>
|
||||
@@ -307,7 +307,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/accountstate.cpp" line="118"/>
|
||||
<source>Service unavailable</source>
|
||||
<translation>Servidor indisponível</translation>
|
||||
<translation>Serviço indisponível</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/accountstate.cpp" line="120"/>
|
||||
@@ -344,7 +344,7 @@
|
||||
<location filename="../src/gui/activitywidget.cpp" line="516"/>
|
||||
<location filename="../src/gui/activitywidget.cpp" line="571"/>
|
||||
<source>Server Activity</source>
|
||||
<translation>Actividade do Servidor</translation>
|
||||
<translation>Atividade do Servidor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/activitywidget.cpp" line="522"/>
|
||||
@@ -410,12 +410,12 @@
|
||||
<location filename="../src/gui/activitywidget.ui" line="65"/>
|
||||
<location filename="../src/gui/activitywidget.ui" line="88"/>
|
||||
<source>TextLabel</source>
|
||||
<translation>TextLabel</translation>
|
||||
<translation>EtiquetaTexto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/activitywidget.cpp" line="135"/>
|
||||
<source>Server Activities</source>
|
||||
<translation>Actividades do Servidor</translation>
|
||||
<translation>Atividades do Servidor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/activitywidget.cpp" line="90"/>
|
||||
@@ -430,12 +430,12 @@
|
||||
<message>
|
||||
<location filename="../src/gui/activitywidget.cpp" line="139"/>
|
||||
<source>Action Required: Notifications</source>
|
||||
<translation>Acção necessária: Notificações</translation>
|
||||
<translation>Ação necessária: Notificações</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/activitywidget.cpp" line="144"/>
|
||||
<source><br/>Account %1 does not have activities enabled.</source>
|
||||
<translation><br/>Conta %1 não tem atividades ativadas.</translation>
|
||||
<translation><br/>A conta %1 não tem atividades ativadas.</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/gui/activitywidget.cpp" line="351"/>
|
||||
@@ -455,7 +455,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/activitywidget.cpp" line="365"/>
|
||||
<source>%1 Notifications - Action Required</source>
|
||||
<translation>%1 Notificações - Acção Necessária</translation>
|
||||
<translation>%1 Notificações - Ação Necessária</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -473,7 +473,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/addcertificatedialog.ui" line="35"/>
|
||||
<source>Certificate :</source>
|
||||
<translation>Certificado :</translation>
|
||||
<translation>Certificado:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/addcertificatedialog.ui" line="51"/>
|
||||
@@ -542,7 +542,7 @@
|
||||
<message>
|
||||
<location filename="../src/libsync/connectionvalidator.cpp" line="128"/>
|
||||
<source>Please update to the latest server and restart the client.</source>
|
||||
<translation>Por favor, actualize para a ultima versão do servidor e reinicie o cliente.</translation>
|
||||
<translation>Por favor, atualize para a ultima versão do servidor e reinicie o cliente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/connectionvalidator.cpp" line="148"/>
|
||||
@@ -557,7 +557,7 @@
|
||||
<message>
|
||||
<location filename="../src/libsync/connectionvalidator.cpp" line="192"/>
|
||||
<source>The provided credentials are not correct</source>
|
||||
<translation>As credenciais fornecidas não estão correctas</translation>
|
||||
<translation>As credenciais fornecidas não estão corretas</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -573,7 +573,7 @@
|
||||
<message>
|
||||
<location filename="../src/libsync/discoveryphase.cpp" line="540"/>
|
||||
<source>Aborted by the user</source>
|
||||
<translation>Cancelado pelo utilizador</translation>
|
||||
<translation>Abortado pelo utilizador</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -586,7 +586,7 @@
|
||||
<message>
|
||||
<location filename="../src/gui/folder.cpp" line="138"/>
|
||||
<source>%1 should be a folder but is not.</source>
|
||||
<translation>%1 devia ser uma pasta mas não é.</translation>
|
||||
<translation>%1 deveria ser uma pasta, mas não é.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folder.cpp" line="141"/>
|
||||
@@ -636,7 +636,7 @@
|
||||
<message numerus="yes">
|
||||
<location filename="../src/gui/folder.cpp" line="502"/>
|
||||
<source>%1 and %n other file(s) have been downloaded.</source>
|
||||
<translation><numerusform>%1 e %n outro ficheiro foram removidos.</numerusform><numerusform>%1 e %n outros ficheiros foram removidos.</numerusform></translation>
|
||||
<translation><numerusform>%1 e %n outro ficheiro foram transferidos.</numerusform><numerusform>%1 e %n outros ficheiros foram transferidos.</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/gui/folder.cpp" line="509"/>
|
||||
@@ -681,14 +681,14 @@
|
||||
<message>
|
||||
<location filename="../src/gui/folder.cpp" line="751"/>
|
||||
<source>Could not read system exclude file</source>
|
||||
<translation>Não foi possível ler o ficheiro system exclude</translation>
|
||||
<translation>Não foi possível ler o ficheiro excluir do sistema</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folder.cpp" line="962"/>
|
||||
<source>A new folder larger than %1 MB has been added: %2.
|
||||
Please go in the settings to select it if you wish to download it.</source>
|
||||
<translation>Foi adicionada uma nova pasta maior do que %1 MB: %2.
|
||||
Por favor, vá às definições para a selecionar, se a desejar transferir.</translation>
|
||||
Por favor, vá às configurações para a selecionar, se a desejar transferir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folder.cpp" line="980"/>
|
||||
@@ -712,7 +712,7 @@ Tem a certeza que deseja realizar esta operação?</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/folder.cpp" line="987"/>
|
||||
<source>Keep files</source>
|
||||
<translation>Manter os ficheiros</translation>
|
||||
<translation>Manter ficheiros</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folder.cpp" line="1005"/>
|
||||
@@ -726,7 +726,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<message>
|
||||
<location filename="../src/gui/folder.cpp" line="1010"/>
|
||||
<source>Backup detected</source>
|
||||
<translation>Cópia de segurança encontrada</translation>
|
||||
<translation>Detetada cópia de segurança</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folder.cpp" line="1012"/>
|
||||
@@ -744,7 +744,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<message>
|
||||
<location filename="../src/gui/folderman.cpp" line="265"/>
|
||||
<source>Could not reset folder state</source>
|
||||
<translation>Não foi possível repor o estado da pasta</translation>
|
||||
<translation>Não foi possível reiniciar o estado da pasta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderman.cpp" line="266"/>
|
||||
@@ -794,12 +794,12 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<message>
|
||||
<location filename="../src/gui/folderman.cpp" line="1158"/>
|
||||
<source>Setup Error.</source>
|
||||
<translation>Erro na instalação.</translation>
|
||||
<translation>Erro de instalação.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderman.cpp" line="1161"/>
|
||||
<source>User Abort.</source>
|
||||
<translation>Cancelado pelo utilizador.</translation>
|
||||
<translation>Abortado pelo utilizador.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderman.cpp" line="1164"/>
|
||||
@@ -824,7 +824,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<message>
|
||||
<location filename="../src/gui/folderman.cpp" line="1193"/>
|
||||
<source>You have no permission to write to the selected folder!</source>
|
||||
<translation>Não tem permissão para gravar para a pasta seleccionada!</translation>
|
||||
<translation>Não tem permissão para gravar para a pasta selecionada!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderman.cpp" line="1208"/>
|
||||
@@ -891,7 +891,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<message>
|
||||
<location filename="../src/gui/folderstatusmodel.cpp" line="167"/>
|
||||
<source>Error while loading the list of folders from the server.</source>
|
||||
<translation>Erro ao carregar a lista das pastas a partir do servidor.</translation>
|
||||
<translation>Erro durante o carregamento da lista de pastas a partir do servidor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderstatusmodel.cpp" line="204"/>
|
||||
@@ -941,7 +941,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<location filename="../src/gui/folderstatusmodel.cpp" line="901"/>
|
||||
<source>download %1/s</source>
|
||||
<extracomment>Example text: "download 24Kb/s" (%1 is replaced by 24Kb (translated))</extracomment>
|
||||
<translation>Transferir %s</translation>
|
||||
<translation>transferir %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderstatusmodel.cpp" line="903"/>
|
||||
@@ -1044,7 +1044,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<message>
|
||||
<location filename="../src/gui/folderwizard.cpp" line="206"/>
|
||||
<source>Folder was successfully created on %1.</source>
|
||||
<translation>Pasta criada com sucesso em %1.</translation>
|
||||
<translation>A pasta foi criada com sucesso em %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/folderwizard.cpp" line="217"/>
|
||||
@@ -1087,7 +1087,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<message>
|
||||
<location filename="../src/gui/folderwizard.cpp" line="480"/>
|
||||
<source>Choose What to Sync: You can optionally deselect remote subfolders you do not wish to synchronize.</source>
|
||||
<translation>Escolher o que Sincronizar. Opcionalmente, pode desselecionar opcionalmente as subpastas remotas que não pretende sincronizar.</translation>
|
||||
<translation>Escolha o que Sincronizar. Opcionalmente, pode desselecionar opcionalmente as subpastas remotas que não pretende sincronizar.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1113,7 +1113,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<message>
|
||||
<location filename="../src/libsync/propagatedownload.cpp" line="157"/>
|
||||
<source>We received a different E-Tag for resuming. Retrying next time.</source>
|
||||
<translation>Nós recebemos uma e-Tag diferente para retomar. Tentar da próxima vez.</translation>
|
||||
<translation>Nós recebemos uma E-Tag diferente para retomar. Tentar da próxima vez.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/propagatedownload.cpp" line="184"/>
|
||||
@@ -1146,7 +1146,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<message>
|
||||
<location filename="../src/gui/generalsettings.ui" line="53"/>
|
||||
<source>Advanced</source>
|
||||
<translation>Avançado</translation>
|
||||
<translation>Avançada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/generalsettings.ui" line="101"/>
|
||||
@@ -1161,7 +1161,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
<message>
|
||||
<location filename="../src/gui/generalsettings.ui" line="33"/>
|
||||
<source>Show &Desktop Notifications</source>
|
||||
<translation>Mostrar Notificações no Ambiente de Trabalho</translation>
|
||||
<translation>Mostrar Notificações no &Ambiente de Trabalho</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/generalsettings.ui" line="43"/>
|
||||
@@ -1209,7 +1209,7 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
|
||||
User: %2
|
||||
Account: %3
|
||||
</source>
|
||||
<translation>Por favor, insira a palavra-passe%1:
|
||||
<translation>Por favor, insira a palavra-passe %1:
|
||||
|
||||
Utilizador: %2
|
||||
Conta: %3
|
||||
@@ -1218,7 +1218,7 @@ Conta: %3
|
||||
<message>
|
||||
<location filename="../src/gui/creds/httpcredentialsgui.cpp" line="40"/>
|
||||
<source>Reading from keychain failed with error: '%1'</source>
|
||||
<translation>A leitura da "keychain" falhou com um erro: '%1'</translation>
|
||||
<translation>A leitura da cadeia de dados falhou com um erro: '%1'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/creds/httpcredentialsgui.cpp" line="45"/>
|
||||
@@ -1285,22 +1285,22 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
|
||||
<message>
|
||||
<location filename="../src/gui/ignorelisteditor.cpp" line="111"/>
|
||||
<source>Cannot write changes to '%1'.</source>
|
||||
<translation>Não foi possível escrever as alterações para '%1'</translation>
|
||||
<translation>Não foi possível gravar as alterações para '%1'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/ignorelisteditor.cpp" line="138"/>
|
||||
<source>Add Ignore Pattern</source>
|
||||
<translation>Adicione regra para ignorar ficheiros</translation>
|
||||
<translation>Adicione Padrão de ignorar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/ignorelisteditor.cpp" line="139"/>
|
||||
<source>Add a new ignore pattern:</source>
|
||||
<translation>Adicione nova regra para ignorar ficheiros:</translation>
|
||||
<translation>Adicione um novo padrão de ignorar:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/ignorelisteditor.cpp" line="46"/>
|
||||
<source>This entry is provided by the system at '%1' and cannot be modified in this view.</source>
|
||||
<translation>Esta entrada é fornecida pelo sistema em '%1' e não pode ser modificada nesta vista.</translation>
|
||||
<translation>Esta entrada é fornecida pelo sistema em '%1' e não pode ser modificada nesta visualização.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1323,12 +1323,12 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
|
||||
<message>
|
||||
<location filename="../src/gui/logbrowser.cpp" line="97"/>
|
||||
<source>Clear</source>
|
||||
<translation>Limpar.</translation>
|
||||
<translation>Limpar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/logbrowser.cpp" line="98"/>
|
||||
<source>Clear the log display.</source>
|
||||
<translation>Limpar o registo.</translation>
|
||||
<translation>Limpar a exibição de registo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/logbrowser.cpp" line="104"/>
|
||||
@@ -1366,7 +1366,7 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
|
||||
<message>
|
||||
<location filename="../src/libsync/logger.cpp" line="191"/>
|
||||
<source><nobr>File '%1'<br/>cannot be opened for writing.<br/><br/>The log output can <b>not</b> be saved!</nobr></source>
|
||||
<translation><nobr>O ficheiro '%1'<br/>não pode ser aberto para escrita.<br/><br/>O ficheiro de registo <b>not</b> pode ser guardado!</nobr></translation>
|
||||
<translation><nobr>O ficheiro '%1'<br/>não pode ser aberto para gravação.<br/><br/>O ficheiro de registo de saída <b>não</b> pode ser guardado!</nobr></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1380,27 +1380,27 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Disponível Nova Versão</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>A nova serão do %1 Cliente está disponivel.</p><p><b>%2</b> está disponível para transferência. A versão instalada é a %3.</p></translation>
|
||||
<translation><p>Está disponível uma nova versão do Cliente %1.</p><p><b>%2</b> está disponível para transferência. A versão instalada é a %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Ignorar esta versão</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Ignorar por agora</translation>
|
||||
<translation>Ignorar desta vez</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Obter atualização</translation>
|
||||
</message>
|
||||
@@ -1415,7 +1415,7 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.ui" line="23"/>
|
||||
<source>Proxy Settings</source>
|
||||
<translation>Servidor Proxy.</translation>
|
||||
<translation>Definições de Proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.ui" line="29"/>
|
||||
@@ -1425,12 +1425,12 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.ui" line="42"/>
|
||||
<source>Use system proxy</source>
|
||||
<translation>Utilizar o proxy do sistema.</translation>
|
||||
<translation>Utilizar proxy do sistema</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.ui" line="52"/>
|
||||
<source>Specify proxy manually as</source>
|
||||
<translation>Especificar proxy manual</translation>
|
||||
<translation>Especificar proxy manualmente como</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.ui" line="80"/>
|
||||
@@ -1474,12 +1474,12 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
|
||||
<location filename="../src/gui/networksettings.ui" line="250"/>
|
||||
<location filename="../src/gui/networksettings.ui" line="282"/>
|
||||
<source>Limit to 3/4 of estimated bandwidth</source>
|
||||
<translation>Limitar para 3/4 da largura de banda estimatda</translation>
|
||||
<translation>Limitar para 3/4 da largura de banda estimada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.ui" line="269"/>
|
||||
<source>Upload Bandwidth</source>
|
||||
<translation>Largura de Banda de Upload</translation>
|
||||
<translation>Largura de Banda de Envio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.ui" line="253"/>
|
||||
@@ -1490,7 +1490,7 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.cpp" line="34"/>
|
||||
<source>Hostname of proxy server</source>
|
||||
<translation>Nome do servidor proxy</translation>
|
||||
<translation>Nome de anfitrião do servidor proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.cpp" line="35"/>
|
||||
@@ -1505,17 +1505,17 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.cpp" line="38"/>
|
||||
<source>HTTP(S) proxy</source>
|
||||
<translation>Proxy HTTP(S)</translation>
|
||||
<translation>Proxy de HTTP(S)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.cpp" line="39"/>
|
||||
<source>SOCKS5 proxy</source>
|
||||
<translation>Proxy SOCKS5</translation>
|
||||
<translation>Proxy de SOCKS5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/networksettings.cpp" line="133"/>
|
||||
<source>Qt >= 5.4 is required in order to use the bandwidth limit</source>
|
||||
<translation>Qt >= 5.4 é necessário a fim de utilizar o limite tráfego</translation>
|
||||
<translation>Qt >= 5.4 é necessário para poder utilizar o limite da largura de banda</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1548,29 +1548,29 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="103"/>
|
||||
<source>New %1 Update Ready</source>
|
||||
<translation>Disponível Nova Atualização %1</translation>
|
||||
<translation>Nova Atualização %1 Pronta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="104"/>
|
||||
<source>A new update for %1 is about to be installed. The updater may ask
|
||||
for additional privileges during the process.</source>
|
||||
<translation>Está prestes a ser instalada uma nova atualização para %1. O atualizador poderá pedir
|
||||
por privilégios adicionais durante o processo.</translation>
|
||||
<translation>Está prestes a ser instalada uma nova atualização para %1. O atualizador
|
||||
poderá pedir por privilégios adicionais durante o processo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="141"/>
|
||||
<source>Downloading version %1. Please wait...</source>
|
||||
<translation>A transferir a versão %1. Por favor, aguarde...</translation>
|
||||
<translation>Por favor, aguarde - a transferir a versão %1...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="145"/>
|
||||
<source>Could not download update. Please click <a href='%1'>here</a> to download the update manually.</source>
|
||||
<translation>Não foi possível transferir a atualização. Por favor, clique <a href='%1'>aqui</a> para transferir manualmente.</translation>
|
||||
<translation>Não foi possível transferir a atualização. Por favor, clique <a href='%1'>aqui</a> para a transferir manualmente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="147"/>
|
||||
<source>Could not check for new updates.</source>
|
||||
<translation>Não foi possível pesquisar por novas atualizações.</translation>
|
||||
<translation>Não foi possível procurar por novas atualizações.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="143"/>
|
||||
@@ -1585,12 +1585,12 @@ por privilégios adicionais durante o processo.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="151"/>
|
||||
<source>Checking update server...</source>
|
||||
<translation>A pesquisar por atualizações no servidor...</translation>
|
||||
<translation>A procurar por atualizações no servidor...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="153"/>
|
||||
<source>Update status is unknown: Did not check for new updates.</source>
|
||||
<translation>O estado de atualização é desconhecido: não foi possível pesquisar por novas atualizações.</translation>
|
||||
<translation>O estado de atualização é desconhecido: não foi possível procurar por novas atualizações.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="157"/>
|
||||
@@ -1600,7 +1600,7 @@ por privilégios adicionais durante o processo.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="177"/>
|
||||
<source>Update Check</source>
|
||||
<translation>Pesquisar por Atualizações</translation>
|
||||
<translation>Procurar por Atualizações</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1633,7 +1633,7 @@ por privilégios adicionais durante o processo.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudadvancedsetuppage.cpp" line="147"/>
|
||||
<source><p><small><strong>Warning:</strong> The local folder is not empty. Pick a resolution!</small></p></source>
|
||||
<translation><p><small><strong>Aviso:</strong> A pasta local não está vazia. Escolha uma resolução!</small></p></translation>
|
||||
<translation><p><small><strong>Aviso:</strong> a pasta local não está vazia. Escolha uma resolução!</small></p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudadvancedsetuppage.cpp" line="246"/>
|
||||
@@ -1652,7 +1652,7 @@ por privilégios adicionais durante o processo.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudconnectionmethoddialog.ui" line="14"/>
|
||||
<source>Connection failed</source>
|
||||
<translation>A ligação falhou</translation>
|
||||
<translation>Ligação falhou</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudconnectionmethoddialog.ui" line="43"/>
|
||||
@@ -1685,7 +1685,7 @@ por privilégios adicionais durante o processo.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudhttpcredspage.cpp" line="51"/>
|
||||
<source>&Email</source>
|
||||
<translation>&E-mail</translation>
|
||||
<translation>&Correio Eletrónico</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudhttpcredspage.cpp" line="61"/>
|
||||
@@ -1695,7 +1695,7 @@ por privilégios adicionais durante o processo.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudhttpcredspage.cpp" line="62"/>
|
||||
<source>Enter user credentials</source>
|
||||
<translation>Insira as credencias do utilizador</translation>
|
||||
<translation>Insira as credenciais do utilizador</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1714,18 +1714,18 @@ por privilégios adicionais durante o processo.</translation>
|
||||
<location filename="../src/gui/wizard/owncloudsetuppage.cpp" line="131"/>
|
||||
<source>This url is NOT secure as it is not encrypted.
|
||||
It is not advisable to use it.</source>
|
||||
<translation>Este caminho NÃO é seguro, porque este não está encriptado.
|
||||
<translation>Este url NÃO é seguro, porque este não está encriptado.
|
||||
Não é aconselhada a sua utilização.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudsetuppage.cpp" line="135"/>
|
||||
<source>This url is secure. You can use it.</source>
|
||||
<translation>Este caminho é seguro. Pode utilizá-lo.</translation>
|
||||
<translation>Este url é seguro. Pode utilizá-lo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudsetuppage.cpp" line="174"/>
|
||||
<source>&Next ></source>
|
||||
<translation>&Seguinte></translation>
|
||||
<translation>&Seguinte ></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1733,17 +1733,17 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudsetupwizard.cpp" line="145"/>
|
||||
<source><font color="green">Successfully connected to %1: %2 version %3 (%4)</font><br/><br/></source>
|
||||
<translation><font color="green">Ligado com sucesso a %1: %2 versão %3 (%4)</font><br/><br/></translation>
|
||||
<translation><font color="green">Ligado com sucesso a %1: %2 - versão: %3 (%4)</font><br/><br/></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudsetupwizard.cpp" line="169"/>
|
||||
<source>Failed to connect to %1 at %2:<br/>%3</source>
|
||||
<translation>Não é possível ligar a %1 em %2:<br/>%3</translation>
|
||||
<translation>Não foi possível ligar a %1 em %2:<br/>%3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudsetupwizard.cpp" line="181"/>
|
||||
<source>Timeout while trying to connect to %1 at %2.</source>
|
||||
<translation>Expirou enquanto tentava ligar a %1 em %2.</translation>
|
||||
<translation>Tempo expirou enquanto tentava ligar a %1 em %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudsetupwizard.cpp" line="192"/>
|
||||
@@ -1753,22 +1753,22 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudsetupwizard.cpp" line="239"/>
|
||||
<source>The authenticated request to the server was redirected to '%1'. The URL is bad, the server is misconfigured.</source>
|
||||
<translation>O pedido de autenticação ao servidor foi redirecionado para '%1'. O URL é mau, o servidor está mal configurado. </translation>
|
||||
<translation>O pedido de autenticação para o servidor foi redirecionado para '%1'. O URL é mau, o servidor está mal configurado. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudsetupwizard.cpp" line="261"/>
|
||||
<source>There was an invalid response to an authenticated webdav request</source>
|
||||
<translation>Houve uma resposta inválida ao pedido de autenticação webdav</translation>
|
||||
<translation>Houve uma resposta inválida para o pedido de autenticação webdav</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudsetupwizard.cpp" line="252"/>
|
||||
<source>Access forbidden by server. To verify that you have proper access, <a href="%1">click here</a> to access the service with your browser.</source>
|
||||
<translation>Acesso proibido pelo servidor. Para verificar que tem acesso, <a href="%1">clique aqui</a> para aceder ao serviço com o seu navegador.</translation>
|
||||
<translation>Acesso proibido pelo servidor. Para verificar que tem o acesso adequado, <a href="%1">clique aqui</a> para aceder ao serviço com o seu navegador.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudsetupwizard.cpp" line="303"/>
|
||||
<source>Local sync folder %1 already exists, setting it up for sync.<br/><br/></source>
|
||||
<translation>A pasta de sincronização locl %1 já existe, a configurar para sincronizar.<br/><br/></translation>
|
||||
<translation>A pasta de sincronização local %1 já existe, a configurar para sincronizar.<br/><br/></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudsetupwizard.cpp" line="305"/>
|
||||
@@ -1896,7 +1896,7 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudwizardresultpage.cpp" line="50"/>
|
||||
<source>Open %1 in Browser</source>
|
||||
<translation>Abrir %1 no browser</translation>
|
||||
<translation>Abrir %1 no Navegador</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1928,12 +1928,12 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/libsync/propagatedownload.cpp" line="327"/>
|
||||
<source>File %1 can not be downloaded because of a local file name clash!</source>
|
||||
<translation>O ficheiro %1 não pode ser descarregado devido a conflito com um nome de ficheiro local!</translation>
|
||||
<translation>Não foi possível transferir o ficheiro %1 devido a um conflito com o nome de ficheiro local!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/propagatedownload.cpp" line="376"/>
|
||||
<source>The download would reduce free disk space below %1</source>
|
||||
<translation>O download pode reduzir o espaço livre em disco para abaixo de %1</translation>
|
||||
<translation>A transferência poderá reduzir o espaço livre em disco para abaixo de %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/propagatedownload.cpp" line="381"/>
|
||||
@@ -1953,7 +1953,7 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/libsync/propagatedownload.cpp" line="552"/>
|
||||
<source>The downloaded file is empty despite the server announced it should have been %1.</source>
|
||||
<translation>O ficheiro descarregado está vazio, apesar do servidor indicar que deveria ter %1</translation>
|
||||
<translation>O ficheiro transferido está vazio, apesar do servidor indicar que este deveria ter %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/propagatedownload.cpp" line="693"/>
|
||||
@@ -2176,7 +2176,7 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/protocolwidget.cpp" line="57"/>
|
||||
<source>Action</source>
|
||||
<translation>Acção</translation>
|
||||
<translation>Ação</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/protocolwidget.cpp" line="58"/>
|
||||
@@ -2204,7 +2204,7 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/proxyauthdialog.ui" line="20"/>
|
||||
<source>Proxy authentication required</source>
|
||||
<translation>Necessário a autenticação do proxy</translation>
|
||||
<translation>Obrigatória a autenticação de proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/proxyauthdialog.ui" line="26"/>
|
||||
@@ -2219,7 +2219,7 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/proxyauthdialog.ui" line="43"/>
|
||||
<source>The proxy server needs a username and password.</source>
|
||||
<translation>O servidor proxy precisa de um nome de utilizador e senha.</translation>
|
||||
<translation>O servidor proxy precisa de um nome de utilizador e palavra-passe.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/proxyauthdialog.ui" line="50"/>
|
||||
@@ -2814,12 +2814,12 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/libsync/syncengine.cpp" line="146"/>
|
||||
<source>CSync could not authenticate at the proxy.</source>
|
||||
<translation>CSync: erro ao autenticar-se no servidor proxy.</translation>
|
||||
<translation>CSync: não foi possível autenticar no servidor proxy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/syncengine.cpp" line="149"/>
|
||||
<source>CSync failed to lookup proxy or server.</source>
|
||||
<translation>CSync: Erro a contactar o proxy ou o servidor.</translation>
|
||||
<translation>CSync: não conseguiu contactar o proxy ou o servidor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/syncengine.cpp" line="152"/>
|
||||
@@ -3006,7 +3006,7 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/libsync/syncengine.cpp" line="1159"/>
|
||||
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
|
||||
<translation>Não é permitido fazer o envio deste ficheiro porque é só de leitura no servidor, restaurando</translation>
|
||||
<translation>Não é permitido enviar este ficheiro porque este é só de leitura no servidor, a restaurar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/syncengine.cpp" line="1176"/>
|
||||
@@ -3156,7 +3156,7 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudgui.cpp" line="342"/>
|
||||
<source>Open %1 in browser</source>
|
||||
<translation>Abrir %1 no browser</translation>
|
||||
<translation>Abrir %1 no navegador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/owncloudgui.cpp" line="580"/>
|
||||
@@ -3569,32 +3569,32 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libsync/utility.cpp" line="319"/>
|
||||
<source>%n year(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n ano</numerusform><numerusform>%n ano(s)</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libsync/utility.cpp" line="320"/>
|
||||
<source>%n month(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n mês</numerusform><numerusform>%n meses</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libsync/utility.cpp" line="321"/>
|
||||
<source>%n day(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n dia</numerusform><numerusform>%n dias</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libsync/utility.cpp" line="322"/>
|
||||
<source>%n hour(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n hora</numerusform><numerusform>%n horas</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libsync/utility.cpp" line="323"/>
|
||||
<source>%n minute(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n minuto</numerusform><numerusform>%n minutos</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libsync/utility.cpp" line="324"/>
|
||||
<source>%n second(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n segundo</numerusform><numerusform>%n segundos</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/utility.cpp" line="348"/>
|
||||
@@ -3628,17 +3628,17 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/libsync/progressdispatcher.cpp" line="32"/>
|
||||
<source>Downloaded</source>
|
||||
<translation>Descarregado</translation>
|
||||
<translation>Transferido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/progressdispatcher.cpp" line="34"/>
|
||||
<source>Uploaded</source>
|
||||
<translation>Carregado</translation>
|
||||
<translation>Enviado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/progressdispatcher.cpp" line="37"/>
|
||||
<source>Server version downloaded, copied changed local file into conflict file</source>
|
||||
<translation>A versão do servidor foi descarregada, o ficheiro alterado localmente foi copiado para ficheiro com conflicto</translation>
|
||||
<translation>A versão do servidor transferida, o ficheiro local alterado foi copiado para o ficheiro de conflito</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/progressdispatcher.cpp" line="39"/>
|
||||
@@ -3674,12 +3674,12 @@ Não é aconselhada a sua utilização.</translation>
|
||||
<message>
|
||||
<location filename="../src/libsync/progressdispatcher.cpp" line="65"/>
|
||||
<source>downloading</source>
|
||||
<translation>A descarregar</translation>
|
||||
<translation>A transferir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/progressdispatcher.cpp" line="67"/>
|
||||
<source>uploading</source>
|
||||
<translation>A carregar</translation>
|
||||
<translation>A enviar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/progressdispatcher.cpp" line="69"/>
|
||||
|
||||
@@ -1381,27 +1381,27 @@ Itens onde a eliminação é permitida serão excluídos se eles evitarem que um
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Nova Versão Disponínel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Uma nova versão %1 de Ciente está disponível.</p><p><b>%2</b> está disponível para baixar. A versão instalada é a %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Pule esta versão</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Pular desta vêz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Atualizar</translation>
|
||||
</message>
|
||||
|
||||
@@ -1379,27 +1379,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Доступна новая версия</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Доступна новая версия приложения %1.</p><p><b>%2</b> доступна для загрузки. Установленная версия: %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Пропустить эту версию</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Пропустить в этот раз</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Получить обновление</translation>
|
||||
</message>
|
||||
|
||||
@@ -1372,27 +1372,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Nová verzia je k dispozícii</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Je dostupná nová verzia klienta %1.</p><p><b>%2</b> je dostupná na stiahnutie. Nainštalovaná verzia je %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Preskočiť túto verziu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Tentoraz preskočiť</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Aktualizovať teraz</translation>
|
||||
</message>
|
||||
|
||||
@@ -1377,27 +1377,27 @@ Predmeti na mestu, kjer je brisanje dovoljeno, bodo izbisani, v kolikor zaradi n
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Na voljo je novejša različica</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Na voljo je nova različica odjemalca %1.</p><p><b>%2</b> je na voljo za prejem. Trenutno je nameščena različica %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Preskoči to različico</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Posodobitev tokrat preskoči</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Pridobi posodobitve</translation>
|
||||
</message>
|
||||
|
||||
@@ -1373,27 +1373,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Нова верзија је доступна</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Нова верзија %1 клијента је доступна.</p><p><b>%2</b> је доступна за преузимање. Инсталирана је %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Прескочи ову верзију</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Прескочи сада</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Ажурирај</translation>
|
||||
</message>
|
||||
|
||||
@@ -1380,27 +1380,27 @@ Objekt som tillåter radering kommer tas bort om de förhindrar en mapp att tas
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Ny version tillgänglig</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>En ny version av %1 klienten är tillgänglig.</p><p><b>%2</b> är tillgänglig för nedladdning. Den installerade versionen är %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Hoppa över denna version</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Hoppa över denna gång</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Hämta uppdatering</translation>
|
||||
</message>
|
||||
|
||||
@@ -1379,27 +1379,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>มีรุ่นใหม่ที่สามารถใช้งานได้</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>%1 มีรุ่นใหม่ของไคลเอ็นต์แล้ว</p><p><b>%2</b> สามารถดาวน์โหลดได้ รุ่นที่ติดตั้งคือ %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>ข้ามรุ่นนี้</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>ข้ามเวลานี้</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>ได้รับการอัพเดท</translation>
|
||||
</message>
|
||||
|
||||
+12
-12
@@ -1379,27 +1379,27 @@ Bir dizinin silinmesine engel oluyorsa silmeye izin verilen yerlerdeki ögeler s
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Yeni Sürüm Mevcut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>%1 İstemcisi yeni sürümü mevcut.</p><p><b>%2</b> artık indirilebilir. Kurulu sürüm %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Bu sürümü atla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Bu kez atla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Güncellemeyi al</translation>
|
||||
</message>
|
||||
@@ -1522,12 +1522,12 @@ Bir dizinin silinmesine engel oluyorsa silmeye izin verilen yerlerdeki ögeler s
|
||||
<message>
|
||||
<location filename="../src/gui/notificationwidget.cpp" line="50"/>
|
||||
<source>Created at %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1 de yaratıldı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/notificationwidget.cpp" line="99"/>
|
||||
<source>Closing in a few seconds...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Saniyeler içinde kapatılıyor...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/notificationwidget.cpp" line="133"/>
|
||||
@@ -1683,7 +1683,7 @@ for additional privileges during the process.</source>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudhttpcredspage.cpp" line="51"/>
|
||||
<source>&Email</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Eposta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/wizard/owncloudhttpcredspage.cpp" line="61"/>
|
||||
@@ -2978,7 +2978,7 @@ Kullanmanız önerilmez.</translation>
|
||||
<message>
|
||||
<location filename="../src/libsync/syncengine.cpp" line="787"/>
|
||||
<source>Unable to read from the sync journal.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Eşitleme günlüğünden okunamadı.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libsync/syncengine.cpp" line="833"/>
|
||||
@@ -3567,17 +3567,17 @@ Kullanmanız önerilmez.</translation>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libsync/utility.cpp" line="319"/>
|
||||
<source>%n year(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n yıl</numerusform><numerusform>%n yıl</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libsync/utility.cpp" line="320"/>
|
||||
<source>%n month(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n ay</numerusform><numerusform>%n ay</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libsync/utility.cpp" line="321"/>
|
||||
<source>%n day(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n gün</numerusform><numerusform>%n gün</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/libsync/utility.cpp" line="322"/>
|
||||
|
||||
@@ -1369,27 +1369,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>Доступна Нова Версія</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>Доступна нова версія додатку %1.</p><p><b>%2</b> доступна для завантаження. Встановлена версія: %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>Пропустити цю версію</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>Пропустити цього разу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>Отримати оновлення</translation>
|
||||
</message>
|
||||
|
||||
@@ -1379,27 +1379,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>新版本可用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>新版本的 %1 客户端可用。</p><p><b>%2</b> 已经开放下载。已安装的版本是 %3。</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>跳过这个版本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>本次跳过</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>获取更新</translation>
|
||||
</message>
|
||||
|
||||
@@ -1378,27 +1378,27 @@ Items where deletion is allowed will be deleted if they prevent a directory from
|
||||
<context>
|
||||
<name>OCC::NSISUpdater</name>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="329"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="331"/>
|
||||
<source>New Version Available</source>
|
||||
<translation>有新版本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="335"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="337"/>
|
||||
<source><p>A new version of the %1 Client is available.</p><p><b>%2</b> is available for download. The installed version is %3.</p></source>
|
||||
<translation><p>%1 客戶端有新版本了。</p><p><b>%2</b> 可供下載, 目前安裝的版本是 %3.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="348"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<source>Skip this version</source>
|
||||
<translation>跳過這個版本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="349"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="351"/>
|
||||
<source>Skip this time</source>
|
||||
<translation>跳過這次更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="350"/>
|
||||
<location filename="../src/gui/updater/ocupdater.cpp" line="352"/>
|
||||
<source>Get update</source>
|
||||
<translation>取得更新</translation>
|
||||
</message>
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário