88 Commits

Author SHA1 Message Date
Rob Weber
31ea62c9bc version bump 2014-11-21 13:33:59 -06:00
Rob Weber
7c740826c7 fixed dropbox rmfile type 2014-11-21 13:33:48 -06:00
Rob Weber
e803573340 dropbox unicode error 2014-11-10 12:40:29 -06:00
Rob Weber
687e830bcd version bump 2014-11-10 12:34:30 -06:00
Rob Weber
c578fe15d8 create a .restored version of guisettings 2014-11-10 12:33:55 -06:00
robweber
72b2abfe8d Merge pull request #58 from robweber/gui_settings
Add limited system settings restore
2014-10-31 11:48:09 -05:00
Rob Weber
d6d7221551 updated readme,changelog and version info 2014-10-31 11:47:14 -05:00
Rob Weber
0b6a3ae506 restore xbmc allowed settings via json 2014-10-31 11:40:47 -05:00
Rob Weber
2fc26b6e8c show notification if files failed to copy 2014-10-31 09:56:02 -05:00
Rob Weber
f41f37782d version bump 2014-10-31 09:51:44 -05:00
Rob Weber
9e5873fcb7 check if destination is writeable 2014-10-31 09:50:37 -05:00
Rob Weber
d335634618 openelec instructions invalid 2014-10-23 09:45:38 -05:00
Rob Weber
355135853b version bump 2014-10-23 09:42:35 -05:00
Rob Weber
f8c00b473f added userdata/library to config path 2014-10-23 09:41:10 -05:00
Rob Weber
3e32882afc shouldn't always be logging this 2014-10-08 15:08:35 -05:00
Rob Weber
4d109d138f version bump 2014-10-08 13:02:39 -05:00
Rob Weber
08be62b4ec typo 2014-10-08 13:01:44 -05:00
Rob Weber
7bab6a9ada version bump 2014-10-07 11:22:12 -05:00
Rob Weber
f0a6b3351a missed a translate path 2014-10-07 11:21:47 -05:00
Rob Weber
64d788e9f7 add full path since it will be trimmed later 2014-10-06 15:55:57 -05:00
Rob Weber
62104184de changelog update 2014-10-05 14:20:29 -05:00
Rob Weber
91af11c9f7 need to expand out home path 2014-10-05 14:20:23 -05:00
Rob Weber
d9ff17eeec version bump 2014-10-05 14:06:40 -05:00
Rob Weber
53ddc92325 use zip64 2014-10-05 14:06:32 -05:00
Rob Weber
250a5021e0 closes #55 2014-08-08 10:39:03 -05:00
Rob Weber
eb2f5dce74 use "special://" as root and translate before writes 2014-08-08 10:37:16 -05:00
Rob Weber
b14fda20fb write the file based on the true source xbmcvfs.File 2014-08-08 10:26:39 -05:00
Rob Weber
38cc67a54d don't need to encode file path, just the name 2014-08-04 20:14:49 -05:00
Rob Weber
d69a1b2d27 delete old file, if it exists 2014-08-04 19:58:56 -05:00
Rob Weber
d7a0e622be try and encode filenames before writing to zip 2014-08-04 15:40:14 -05:00
Rob Weber
a1c91ef51c updated strings for zip notifications 2014-08-01 14:36:10 -05:00
Rob Weber
45b6cea057 best test we can do for zip file without looking in them 2014-08-01 14:32:29 -05:00
robweber
80f4e6bdfb Merge pull request #54 from robweber/zip_files
Zip files
2014-08-01 14:25:33 -05:00
Rob Weber
f249ea1583 cosmetics 2014-08-01 14:15:27 -05:00
Rob Weber
9945dc628e don't write to filesystem, use addFile 2014-08-01 14:14:40 -05:00
Rob Weber
24e1311db5 version bump 2014-08-01 14:09:37 -05:00
Rob Weber
49783f712a updated readme 2014-08-01 14:06:55 -05:00
Rob Weber
1255283f4d should clean up zip resources after extract 2014-08-01 14:03:03 -05:00
Rob Weber
b3bbdd6911 need to reset vfs to default root dirs before copying zip 2014-08-01 13:54:22 -05:00
Rob Weber
5dfa9d9b76 old logging and misssed name 2014-08-01 13:14:47 -05:00
Rob Weber
545843e949 need to treat backup zips as files 2014-08-01 13:12:43 -05:00
Rob Weber
647bd8811b don't need these checks anymore 2014-08-01 13:06:35 -05:00
Rob Weber
e6215dde51 read/write zip to temp directory 2014-08-01 13:05:58 -05:00
Rob Weber
9a89066e66 can restore full file tree 2014-08-01 12:57:55 -05:00
Rob Weber
c28f9fd26b will copy zip file from remote to dest 2014-08-01 12:37:57 -05:00
Rob Weber
933fdbdf09 copy zip file and open in write mode 2014-07-31 17:29:59 -05:00
Rob Weber
c49aebeba1 list zip files for restore 2014-07-31 16:02:53 -05:00
Rob Weber
525dd8ff86 delete temp zip file when done 2014-07-31 15:20:22 -05:00
Rob Weber
19fcb8bd46 created zip vfs, will create and copy directories to remote share 2014-07-30 15:16:58 -05:00
Rob Weber
24385a2c68 don't write to remote directly, use file manager 2014-07-30 13:41:54 -05:00
Rob Weber
6dc23de55b updated language files 2014-07-29 09:11:37 -05:00
Rob Weber
eeb25a4c58 version bump 2014-07-29 08:45:13 -05:00
Rob Weber
2365649f86 fixes #53 2014-07-29 08:43:34 -05:00
Rob Weber
097238cf7b version bump 2014-06-24 11:39:15 -05:00
robweber
dd3a50027e Merge pull request #52 from robweber/dropbox_fix
Fix for dropbox file recursion errors
2014-06-24 11:38:14 -05:00
robweberjr@gmail.com
ee435a90ef attempted fix for Dropbox file recursion 2014-06-03 13:34:02 -05:00
robweberjr@gmail.com
23b70af3dc closes #51 2014-05-06 13:44:00 -05:00
Rob Weber
a439863c05 bump xbmc python version 2014-04-05 10:10:38 -05:00
robweberjr@gmail.com
6f34d39822 updated progress bar display - needed new class 2014-03-31 13:16:11 -05:00
robweberjr@gmail.com
e025b3213c Merge branch 'gotham-dev'
Conflicts:
	addon.xml
	changelog.txt
	resources/language/Bulgarian/strings.xml
2014-03-31 12:45:28 -05:00
robweberjr@gmail.com
9f794549c2 fixed backup rotation error - fix from Gotham branch 2014-03-31 12:40:00 -05:00
robweberjr@gmail.com
290446c3a8 fixed error in backup rotation 2014-03-31 12:37:11 -05:00
robweberjr@gmail.com
35c1717699 Version bump and README.txt 2014-03-31 12:05:44 -05:00
robweber
3a25c1c4eb Merge pull request #48 from robweber/scripting_updates
Scripting Updates
2014-03-31 11:58:34 -05:00
robweberjr@gmail.com
37fb30d7ab allow sending of "archive" parameter for restores 2014-03-31 11:54:11 -05:00
robweberjr@gmail.com
a09677930f removed redundant log message 2014-03-31 09:14:28 -05:00
robweberjr@gmail.com
ed696a5c4f Merge branch 'gotham-dev' of https://github.com/robweber/xbmcbackup into gotham-dev 2014-03-26 12:03:18 -05:00
robweber
6f4de551dc Merge pull request #45 from NEOhidra/master
updated Bulgarian translation
2014-03-26 11:59:18 -05:00
robweber
6ad083ced8 Merge pull request #46 from NEOhidra/gotham-dev
updated Bulgarian translation
2014-03-26 11:59:11 -05:00
Rob Weber
eecdf4277c updated gitignore 2014-03-23 17:10:53 -05:00
NEOhidra
450687ba5d updated Bulgarian translation 2014-03-23 10:28:32 +02:00
NEOhidra
a217960576 updated Bulgarian translation 2014-03-23 09:52:41 +02:00
robweberjr@gmail.com
7f42129606 added home window properties 2014-03-18 13:48:53 -05:00
robweberjr@gmail.com
4312625003 updated README.txt 2014-03-17 13:11:49 -05:00
Rob Weber
2bec306892 Merge branch 'master' into gotham-dev
Conflicts:
	addon.xml
	changelog.txt
2014-02-09 14:09:57 -06:00
Rob Weber
542bc692d9 bump xbmc python version 2014-02-09 14:03:51 -06:00
Rob Weber
70ced05cd5 version bump 2014-02-09 14:02:04 -06:00
Rob Weber
405bbc08b5 added hour and minute to backup folder names 2014-02-09 13:56:25 -06:00
Rob Weber
775a5aeda2 Merge branch 'master' into gotham-dev
Conflicts:
	addon.xml
	changelog.txt
	resources/lib/utils.py
2014-01-23 12:53:30 -06:00
Rob Weber
e185ddf131 attempted fix for unicode errors on logging 2014-01-23 12:47:21 -06:00
Rob Weber
aec7d19b00 changelog update 2014-01-20 13:05:09 -06:00
Rob Weber
b0b611b5c9 added version info to logs 2014-01-20 13:04:50 -06:00
Rob Weber
884633073a version bump 2014-01-20 13:04:03 -06:00
Rob Weber
4fcd40c745 added version info to logs 2014-01-20 13:02:29 -06:00
Rob Weber
77dbd69ce2 version bump, closes #36 2014-01-20 12:53:27 -06:00
Rob Weber
e3be458a28 use xbmcgui.notification() part of #36 2014-01-20 12:48:23 -06:00
Rob Weber
987d90de12 added options for background progress bar. part of #36 2014-01-20 12:42:49 -06:00
Rob Weber
163124089b version increment for Gotham 2014-01-20 11:40:00 -06:00
78 changed files with 1653 additions and 225 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
*.pyo
.project
.pydevproject

View File

@@ -6,12 +6,25 @@ I've had to recover my database, thumbnails, and source configuration enough tim
Remote Destination/File Selection:
In the addon settings you can define a remote path for the destination of your xbmc files. Each backup will create a folder named in a YYYYMMDD format so you can create multiple backups. You can keep a set number of backups by setting the integer value of the Backups to Keep setting greater than 0.
In the addon settings you can define a remote path for the destination of your xbmc files. Each backup will create a folder named in a YYYYMMDDHHmm format so you can create multiple backups. You can keep a set number of backups by setting the integer value of the Backups to Keep setting greater than 0.
If you choose to compress your backups there are a few things you need to be aware of. Compressing takes place on the server you are trying to backup and then only the archive is copied to the remote backup location. This means you must have sufficient space available to allow for creating the archive. When restoring a zipped archive the process is the same. It is first copied to your local storage, extracted, and the contents put to their correct locations. The archive is then deleted. Zipped and non-zipped backups can be mixed in the same archive folder.
On the Backup Selection page you can select which items from your user profile folder will be sent to the backup location. By default all are turned on except the Addon Data directory.
You can also define non-XBMC directories on your device. See "Custom Directories" for more information on how these are handled.
Restores:
During the restore process there are a few checks and post-run procedures to know about.
The first is a version check. If you are restoring to a different version of XBMC than the one used to create the backup archive you'll get a warning. In most cases it is OK to proceed, just know that some specific items like addons and database files may not work correctly.
The next check is for an advancedsettings.xml file. If you've created this file and it exists in your restore archive you'll be asked to reboot XBMC. This is so that the file can be loaded and used for any special settings, mainly path substitutions, you may have had that would affect the rest of the restore. XBMC Backup will prompt you to continue the restore process when you reboot the program.
The last bit of post-processing is done after all the backup files have been restored. If you have restored your configuration files the addon will attempt to restore any system specific settings that it can from the guisettings.xml file. This is done by comparing the restored file with settings via the JSONPRC Settings.SetSettingValue method. Only system specific settings can be restored so you will get any custom views or skin specific settings back. See the FAQ for how to restore these.
Scheduling:
You can schedule backups to be completed on a set interval via the scheduling area. When it is time for the backup to run it will be executed in the background.
@@ -37,11 +50,38 @@ Once you have your app key and secret add them to the settings. XBMC Backup now
Scripting XBMC Backup:
If you wish to script this addon using an outside scheduler or script it can be given parameters via the Xbmc.RunScript() or JsonRPC.Addons.ExecuteAddon() methods. Parameters given are either "backup" or "restore" to launch the correct program mode. An example would be:
If you wish to script this addon using an outside scheduler or script it can be given parameters via the Xbmc.RunScript() or JsonRPC.Addons.ExecuteAddon() methods. Parameters given are either "backup" or "restore" to launch the correct program mode. If mode is "restore", an additional "archive" parameter can be given to set the restore point to be used instead of prompting via the GUI. An example would be:
RunScript(script.xbmcbackup,backup)
Python code:
-------------------------------------------
RunScript(script.xbmcbackup,mode=backup)
-------------------------------------------
or
JSON Request:
-------------------------------------------
{ "jsonrpc": "2.0", "method": "Addons.ExecuteAddon","params":{"addonid":"script.xbmcbackup","params":{"mode":"restore","archive":"000000000000"}}, "id": 1 }
-------------------------------------------
There is also a windows parameter that can be used to check if XBMC Backup is running within a skin or from another program. It is attached to the home window, an example of using it would be the following:
Python code:
-------------------------------------------
#kick off the xbmc backup
xbmc.executeJSONRPC('{ "jsonrpc": "2.0", "method": "Addons.ExecuteAddon","params":{"addonid":"script.xbmcbackup","params":{"mode":"backup"}}, "id": 1 }')
#sleep for a few seconds to give it time to kick off
xbmc.sleep(10000)
window = xbmcgui.Window(10000)
while (window.getProperty('script.xbmcbackup.running') == 'true'):
#do something here, probably just sleep for a few seconds
xbmc.sleep(5000)
#backup is now done, continue with script
-------------------------------------------
FAQ:
I can't see any restore points when choosing "Restore", what is the problem?
@@ -50,14 +90,13 @@ If you've created restore points with an older version of the addon (pre 0.3.6)
Several settings aren't being restored, this includes views, weather, etc. How do I get these back?
GUISETTINGS.xml is a configuration file used heavily by XBMC for remembering GUI specific settings. Due to the fact that XBMC reads this file on startup, and writes from memory to this file on shutdown; it is not possible to restore this file while XBMC is running. You must manually move this file from your backup archives if you wish to restore it. User SouthMark has posted the following steps for restoring in the OpenELEC system where this is more difficult:
GUISETTINGS.xml is a configuration file used heavily by XBMC for remembering GUI specific settings. Due to the fact that XBMC reads this file on startup, and writes from memory to this file on shutdown; it is not possible to restore this file while XBMC is running. This addon attempts to restore what settings it can via the JSONRPC interface, however you will still most likely be missing your specific skin settings and view settings. To get these back you must manually move this file from your backup archives if you wish to restore it. User SouthMark has posted the following steps for restoring in the OpenELEC system where this is more difficult:
1. Run the restore of your backup
2. SSH using putty to the IP Address of your media centre username: root Password openelec
3. Type touch /var/lock/xbmc.disabled and then press enter
4. Type kill all -9 xbmc.bin and then press enter - Your media center machine should now go blank
5. Connect to your machine using WinSCP and copy the guisettings.xml file to the userdata folder (this is the guisettings.xml file from your backup)
6. go back to your putty window and type rm /var/lock/xbmc.disabled
3. Type "systemctl stop xbmc.service" - Your media center machine should now go blank
5. Connect to your machine using WinSCP and copy the guisettings.xml file to the userdata folder (this is the guisettings.xml file from your backup), alternatively you can copy this file directly to an SMB share and use putty to move it to the right spot.
6. go back to your putty window and type "systemctl start xbmc.service"
Why is the Addon prompting me to restart XBMC to continue?

View File

@@ -1,67 +1,84 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.xbmcbackup"
name="XBMC Backup" version="0.4.4" provider-name="robweber">
name="XBMC Backup" version="0.6.0" provider-name="robweber">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
<import addon="xbmc.python" version="2.14.0"/>
</requires>
<extension point="xbmc.python.script" library="default.py">
<provides>executable</provides>
</extension>
<extension point="xbmc.service" library="scheduler.py" start="startup" />
<extension point="xbmc.addon.metadata">
<summary lang="ar">قم بنسخ احتياطي و استعد قاعدة بيانات XBMC الخاص بك و ملفات التكوين في حال وقوع حادث أو تلف الملفات.</summary>
<summary lang="ar">إنسخ إحتياطياً قاعده بيانات إكس بى إم سى وملفات اﻹعدادات فى حاله وقوع إنهيار مع إمكانيه اﻹسترجاع</summary>
<summary lang="be">Backup and restore your XBMC database and configuration files in the event of a crash or file corruption.</summary>
<summary lang="ca">Copiau i restaurau la vostra base de dades d'XBMC i els fitxers de configuració en cas de caiguda o corrupció de fitxers.</summary>
<summary lang="bg">Добавката може да създава резервно копие на XBMC и възстановява (след това) Вашата база от данни и настройки, в случай на необходимост.</summary>
<summary lang="ca">Feu còpies de seguretat i restaureu la vostra base de dades de l'XBMC i dels fitxers de configuració en el cas de fallada o corrupció dels fitxers.</summary>
<summary lang="cs">Zálohování a obnovení XBMC databáze a konfiguračních souborů v případě chyby nebo poškození souborů.</summary>
<summary lang="da">Sikkerhedskopiér og genskab din XBMC database og konfigurationsfiler i tilfælde af et nedbrud eller en ødelagt fil.</summary>
<summary lang="de">Die XBMC Datenbank sichern und bei Dateiverlust oder Beschädigung wiederherstellen.</summary>
<summary lang="el">Δημιουργήστε αντίγραφα ασφαλείας της βάσης δεδομένων και των ρυθμίσεων του XBMC για την πιθανότητα σφαλμάτων ή καταστροφής αρχείων.</summary>
<summary lang="en">Backup and restore your XBMC database and configuration files in the event of a crash or file corruption.</summary>
<summary lang="en_NZ">Backup and restore your XBMC database and configuration files in the event of a crash or file corruption.</summary>
<summary lang="en_US">Backup and restore your XBMC database and configuration files in the event of a crash or file corruption.</summary>
<summary lang="es">Haz copia de seguridad de tu base de datos y configuración y recupera todo en caso de fallo.</summary>
<summary lang="es_MX">Respalda y restaura tu base de datos y archivos de configuración de XBMC dado el evento de un cuelgue o corrupción de archivos. </summary>
<summary lang="eu">XBMC datu-basea eta konfigurazio fitxategien babes-kopia egin kraskatze edo fitxategi hondamena saihesteko</summary>
<summary lang="fr">Sauvegarder et restaurer vos bases de données XBMC et vos fichiers de configuration en cas de crash ou de fichiers corrompus.</summary>
<summary lang="fr_CA">Sauvegarder et restaurer votre base de données et vos fichiers de configuration XBMC dans le cas d'un plantage ou d'une corruption de fichier.</summary>
<summary lang="gl">Crear copia de seguranza e restaurar a base de datos e ficheiros de configuración de XBMC no caso dun fallo ou corrupción de ficheiros.</summary>
<summary lang="he">גיבוי ושחזור מסד הנתונים וקבצי ההגדרות של XBMC במקרה של קריסה או קבצים פגומים.</summary>
<summary lang="hr">Sigurnosno kopirajte i obnovite vašu XBMC bazu podataka i datoteke podešavanja prilikom rušenja ili oštećenja datoteka.</summary>
<summary lang="hu">Biztonsági mentés készítése az XBMC adatbázisról és a beállítófájlokról vagy állítsa helyre azokat egy rendszerösszeomlás vagy adatvesztés után.</summary>
<summary lang="id">Cadangkan dan kembalikan basis data XBMC Anda beserta berkas konfigurasi apabila terjadi kerusakan atau korupsi berkas.</summary>
<summary lang="it">Effettua il backup o ripristina il tuo database di XBMC e i file di configurazione qualora si verifichi una chiusura imprevista o un danneggiamento dei file.</summary>
<summary lang="ja">システムのクラッシュやファイル破損に備えて、XBMC のデータベースや設定ファイルをバックアップ・リストアできます。</summary>
<summary lang="ko">XBMC 데이터베이스와 설정 파일을 백업하고 복구합니다.</summary>
<summary lang="lt">Atsarginė kopija katra atkuria jūsų XBMC duomenų bazę ir konfigūracijos failus avarijos ar failo sugadinimo metu.</summary>
<summary lang="nl">Back-up en herstel je XBMC database en configuratiebestanden in geval van een crash of bestandscorruptie.</summary>
<summary lang="pl">Stwórz kopię bezpieczeńśtwa oraz przywróć twoją bazę XBMC łącznie z plikami konfiguracyjnymi w przypadku awarii lub uszkodzenia plików.</summary>
<summary lang="no">Sikkerhetskopier og gjenopprett dine XBMC-databaser og -konfigurasjonsfiler i tilfelle et krasj eller filkorrupsjon.</summary>
<summary lang="pl">Stwórz kopię bezpieczeństwa oraz przywróć twoją bazę danych XBMC łącznie z plikami konfiguracyjnymi, w przypadku awarii lub uszkodzenia plików.</summary>
<summary lang="pt">Crie cópias de segurança da base de dados do XBMC e dos ficheiros de configuração. Pode restaurar o conteúdo se ocorrer um crash ou corrupção de ficheiros.</summary>
<summary lang="pt_BR">Faça backup e restaure o banco de dados do XBMC e seus arquivos de configuração, no caso de falha ou corrupção de arquivo.</summary>
<summary lang="ru">Сохраняйте и восстанавливайте базу данных и конфигурационные файлы XBMC, чтоб не допустить потерю данных в случае аварии или повреждений файлов.</summary>
<summary lang="sk">Zálohovanie a obnova XBMC databázy a konfiguračných súborov pre prípad havárie alebo poškodenia súboru.</summary>
<summary lang="sv">Ta backupp av eller återställ din XBMC-databas och konfigurationsfiler i händelse av en krash eller filkorruption.</summary>
<summary lang="zh">备份和恢复XBMC数据库和配置文件以防范系统崩溃或文件损坏问题。</summary>
<summary lang="zh">备份和恢复 XBMC 数据库和配置文件,以防范系统崩溃或文件损坏问题。</summary>
<description lang="ar">أسبق لك ان أضعت تخصيصاتك المفضله ورغبت لو كان بإمكانك نسخهم إحتياطياً ؟ اﻷن بات بإمكانك ذلك. يمكنك إستخراج قاعده بياناتك وقوائم التشغيل والملحقات وتخصيصاتك المفضله وغيره الى اى مصدر خارجى قابل للكتابه من قِبَل إكس بى إم سى او مباشرتاً الى نظام تخزين سحابى. يمكنك تفعيل النسخ اﻹحتياطى عند الحاجه او جدولته مُسبقاً</description>
<description lang="be">Ever hosed your XBMC configuration and wished you'd had a backup? Now you can with one easy click. You can export your database, playlist, thumbnails, addons and other configuration details to any source writeable by XBMC or directly to Dropbox cloud storage. Backups can be run on demand or via a scheduler. </description>
<description lang="ca">Sempre canvia la configuració XBMC i ha desitjat tinir una còpia de seguretat? Ara pot fer-ho amb un simple clic. Podeu exportar la seva base de dades, llista de reproducció, miniatures, complements i altres detalls de la configuració per a qualsevol complement de XBMC o directament emmagatzemar-ho al Dropbox en el núvol. Les còpies de seguretat es poden executar a la demanda o per mitjà d'un planificador.</description>
<description lang="bg">Някога да сте губили всички настройки, които сте правили по XBMC? А разполагахте ли с резервно копие? Е сега можете да създавате резервни копия само с едно кликване. Можете да изнасяте базата от данни, плейлистите, миниатюрите, добавките и други, на всяко място до което XBMC има права за писане или директно в Dropbox. Можете да настроите и автоматично създаване на копия през определен интервал от време.</description>
<description lang="ca">Alguna vegada s'ha carregat la seva configuració de l'XBMC i ha desitjat tenir una còpia de seguretat? Ara pot fer-ho amb un simple clic. Pot exportar la seva base de dades, llista de reproducció, miniatures, complements i altres detalls de la configuració a qualsevol font que pugui ser escrita per l'XBMC o directament a l'emmagatzematge en el núvol Dropbox. Les còpies de seguretat es poden executar sota demanda o per mitjà d'un planificador.</description>
<description lang="da">Har du prøvet at slette din XBMC opsætning, og ønsket at du havde haft sikkerhedskopi? Nu kan du få det med et enkelt klik. Du kan eksportere din database, afspilninglister, miniaturebilleder, addons og andre opsætningsdetaljer til enhver kilde, som er skrivbar for XBMC eller direkt til Dropbox cloud lager. Sikkerhedskopier kan køres manuelt eller via en tidsplan.</description>
<description lang="de">Jemals deine XBMC Konfiguration zerschossen und dir dann gewünscht, dass ein Backup existiert? Jetzt kannst du eine Sicherung mit nur einem Klick erzeugen. Du kannst deine Datenbanen, Playlisten, Thumbnails, Addons und andere Details zu einem Ort deiner Wahl sichern.</description>
<description lang="el">Σας έτυχε ποτέ να χάσετε τις ρυθμίσεις του XBMC και να εύχεστε να είχατε αντίγραφο ασφαλείας; Πλέον μπορείτε με ένα απλό κλικ. Μπορείτε να εξάγετε τη βάση δεδομένων, τις λίστες αναπαραγωγής, τις μικρογραφίες, τα πρόσθετα και άλλες λεπτομέρειες της εγκατάστασης σε οποιαδήποτε πηγή στην οποία μπορεί να γράψει το XBMC, ή απευθείας στο λογαριασμό σας στο Dropbox. Τα αντίγραφα μπορούν να γίνονται κατ' επιλογή ή μέσω προγραμματισμού.</description>
<description lang="en">Ever hosed your XBMC configuration and wished you'd had a backup? Now you can with one easy click. You can export your database, playlist, thumbnails, addons and other configuration details to any source writeable by XBMC or directly to Dropbox cloud storage. Backups can be run on demand or via a scheduler. </description>
<description lang="en_NZ">Ever hosed your XBMC configuration and wished you'd had a backup? Now you can with one easy click. You can export your database, playlist, thumbnails, addons and other configuration details to any source writeable by XBMC or directly to Dropbox cloud storage. Backups can be run on demand or via a scheduler. </description>
<description lang="en_US">Ever hosed your XBMC configuration and wished you'd had a backup? Now you can with one easy click. You can export your database, playlist, thumbnails, addons and other configuration details to any source writeable by XBMC or directly to Dropbox cloud storage. Backups can be run on demand or via a scheduler. </description>
<description lang="es">¿Alguna vez te has cargado la configuración de XBMC y habrías deseado tener una copia de seguridad? Ahora puedes tenerla con un único click. Exporta tus base de datos, listas de reproducción, miniaturas, addons y resto de configuraciones a cualquier fuente accesible por XBMC o a tu almacenamiento en Dropbox. Las copias de seguridad pueden programarse o realizarse bajo demanda.</description>
<description lang="es_MX">¿Alguna vez haz echado a perder tu configuración de XBMC y haz deseado tener un respaldo? Ahora puedes tenerlo con un simple click. Puedes exportar tu base de datos, listas de reproducción, miniaturas, addons y otros detalles de configuración correspondientes a cualquier fuente que pueda escribir XBMC. Los respaldos pueden ser efectuados a pedido o mediante una programación temporal</description>
<description lang="fr">Avez-vous déjà perdu votre configuration XBMC et espéré avoir fait une sauvegarde ? Maintenant, vous pouvez le faire en un simple click. Vous pouvez exporter vos bases de données, playlists, miniatures, addons et autres fichiers de configuration vers n'importe quel endroit accessible depuis XBMC.</description>
<description lang="fr_CA">Avez-vous déjà ruiné votre configuration XBMC et souhaité avoir une sauvegarde? Vous le pouvez maintenant en un seul clic. Vous pouvez exporter vos base de données, liste de lecture, imagettes, addiciels et autres détails de configurations vers n'importe quelle source inscriptible depuis XBMC ou directement vers le stockage en nuage Dropbox. Les sauvegardes peuvent être exécutées sur demande ou à l'aide d'un ordonnanceur.</description>
<description lang="gl">De seguro que algunha vez eliminou a configuración do XBMC e desexou ter unha copia de seguranza?. Agora pode cun só clic. Pode exportar a súa base de datos, listaxes de reprodución, miniaturas, complementos e outros detalles da configuración a calquera medio escribíbel ou directamente ao Dropbox. As copias de seguranza pódense executar baixo demanda ou programadas.</description>
<description lang="he">Ever hosed your XBMC configuration and wished you'd had a backup? Now you can with one easy click. You can export your database, playlist, thumbnails, addons and other configuration details to any source writeable by XBMC. Backups can be run on demand or via a scheduler. </description>
<description lang="he">האם אי פעם נפגמו הגדרות XBMC וייחלת שהיה לך גיבוי ? כעת אתה יכול ליצור כזה בלחיצת כפתור קלילה. ניתן לייצא את בסיס הנתונים, רשימות ההשמעה, התמונות הממוזערות, הרחבות והגדרות נוספות לכל יעד שיש ל-XBMC הרשאת כתיבה לו או ישירות לשירות אחסון הענן דרופבוקס. ניתן לתזמן מראש גיבויים או להריצם ידנית.</description>
<description lang="hr">Jeste li ikada oštetili vaša XBMC podešavanja i poželjeli ste ih obnoviti iz sigurnosne kopije? Sada to možete jednim klikom. Možete izvesti vašu bazu podataka, popis izvođenja, minijature, dodatke i ostale pojedinosti podešavanja na svaki izvor dostupan XBMC-u ili izravno na Dropbox oblak pohrane. Sigurnosno kopiranje se može pokrenuti na zahtjev ili u planiranom vremenu.</description>
<description lang="hu">Sikerült már összekutyulni az XBMC beállításait és jó lett volna egy biztonsági mentés? Most megteheti egy kattintással. Exportálhatja az adatbázisait, lejátszáslistáit, könyvjelzőit, kiegészítőit és egyéb beállításokat bármely, az XBMC által írható tárhelyre vagy közvetlenül a Dropbox felhő tárolóba. A mentések kézzel vagy időzítetten indíthatóak.</description>
<description lang="id">Pernah membuat berantakan konfigurasi XBMC Anda dan berharap Anda punya cadangannya? Sekarang Anda dapat melakukannya dengan klik mudah. Anda dapat mengekspor basis data, daftar putar, gambar kecil, addon dan rincian konfigurasi lainnya ke sumber mana saja yang dapat ditulis oleh XBMC atau langsung ke penyimpanan awan Dropbox. Pencadangan dapat dijalankan sesuai permintaan atau terjadwal.</description>
<description lang="it">Hai mai distrutto la tua configurazione di XBMC ma non ne avevi una copia di backup? Ora puoi farlo con un semplice click. Puoi esportare il tuo database, le playlist, le anteprime, gli add-on ed altre configurazioni su ogni percorso accessibile da XBMC o direttamente su Dropbox. I backup si possono fare a richiesta o possono essere pianificati.</description>
<description lang="ja">XBMCの設定が消えてしまい、バックアップをとっておけば... と思ったことはありますかこれからは1クリックで簡単にバックアップできます。データベース、プレイリスト、サムネール、アドオン、その他設定項目を、XBMC が書き込み可能なメディアに書き出せます。Dropbox クラウドストレージにも直接書き出せます。スケジューラによる自動バックアップと、オンデマンドでのバックアップの両方が使えます。</description>
<description lang="ko">XBMC 설정 백업본이 있었으면 하고 원했던 적이 있습니까? 이제 한 번의 클릭으로 가능합니다. 데이터베이스, 재생목록, 썸네일, 애드온과 기타 세부 설정을 어디에나 내보내거나 직접 Dropbox 에 저장할 수 있습니다. 백업은 수동 또는 예약으로 실행할 수 있습니다.</description>
<description lang="lt">Kada naujinate ir konfiguruojate savo XBMC ar susimastėte, kad jums reikalinga atsarginė kopija? Dabar galite tai atlikti vienu spustelėjimu. Savo duomenų bazes, atkūrimą, miniatiūras, priedus ir kitas konfigūracijos failus galite eksportuoti iš bet kokio šaltinio. Atsarginė(-ės) kopija(-os) gali būti paleistos pareikalavus arba per tvarkaraštį.</description>
<description lang="nl">Ooit je XBMC configuratie verknalt en gewenst dat je een backup had? Nu kan dat met een simpele klik. Je kunt je bibliotheek, afspeellijsten, miniaturen, addons en andere configuratie optes exporteren naar elke bron die door XBMC beschrijfbaar is of direct naar een Dropbox cloud opslag. Backups kunnen op verzoek of via een rooster gedraaid worden.</description>
<description lang="pl">Straciłeś kiedyś swoją konfigurację XBMC i marzyłeś o kopii zapasowej? Teraz już możesz i to w prosty sposób. Możesz eksportować swoją bazę, playlisty, miniatury, dodatki oraz wiele więcej do dowolnego źródła bezpośrednio z XBMC. Kopia bezpieczeństwa może być uruchomiona na żądanie lub przez plan.</description>
<description lang="no">Har du noen gang ødelagt XBMC-installasjonen din og ønsket at du hadde en sikkerhetskopi? Det kan du nå med et enkelt trykk. Du kan eksportere din database, spillelister, miniatyrer, utvidelser og andre konfigurasjonsdetaljer til enhver kilde som er tilgjengelig for XBMC eller til Dropbox. Du kan lage sikkerhetskopier ved behov eller med en timeplan.</description>
<description lang="pl">Straciłeś kiedyś swoją konfigurację XBMC i marzyłeś o kopii zapasowej? Teraz już możesz i to w prosty sposób. Możesz eksportować swoją bazę, listy odtwarzania, miniatury, wtyczki oraz wiele więcej do dowolnego źródła bezpośrednio z XBMC. Kopia bezpieczeństwa może być uruchomiona na żądanie lub wg harmonogramu.</description>
<description lang="pt">Já arruinou a sua configuração do XBMC e desejou ter feito uma cópia de segurança? Agora pode, com apenas um clique. Exporte a base de dados, listas de reprodução, miniaturas, add-ons e outras configurações para qualquer fonte acedível pelo XBMC. As cópias de segurança podem ser executadas manualmente ou por temporizador.</description>
<description lang="pt_BR">Sempre se preocupou com sua configuração do XBMC e desejou ter um backup? Agora você pode com um simples clique. Você pode exportar seu banco de dados, listas de reprodução, miniaturas, addons e outros detalhes de configuração para qualquer fonte gravável pelo XBMC ou diretamente ao armazenamento na nuvem Dropbox. Os backups podem ser executados sob demanda ou por agendamento.</description>
<description lang="ru">Хотите получить резервную копию настроек XBMC? Теперь можете это сделать одним щелчком мыши. Вы можете выгрузить вашу базу данных, плейлисты, эскизы, дополнения и другую нужную Вам информацию и сохранить её с помощью XBMC или выгрузить в облачное хранилище Dropbox. Резервную копию можно сделать по требованию или запускать по расписанию.</description>
<description lang="sk">Už ste niekedy poškodili konfiguráciu XBMC a priali si mať zálohu? Teraz môžete - na jeden klik. Môžete exportovať Vašu databázu, playlist, náhľady, doplnky a konfigurácie na ktorýkoľvek zdroj zapisovateľný XBMC. Zálohy môžu byť púšťané na požiadanie alebo plánovačom. </description>
<description lang="sv">Har du någonsin tappat bort din XBMC konfiguration och önskat att du hade en backup? Nu kan du enkelt med ett klick. Du kan exportera din databas, spellista, minityrer, tillägg och andra konfigurationsdetaljer till valfri källa som är skrivbar för XBMC. Backupper kan köras på begäran eller via scheman.</description>
<description lang="zh">你是否经常折腾你的XBMC因而希望能够有个备份你可以把资料库、播放列表、缩略图、插件和其他配置细节导出到XBMC可以写入的任意位置。备份可以按需运行或通过计划任务执行。</description>
<description lang="zh">你是否经常折腾你的 XBMC因而希望能够有个备份你可以把资料库、播放列表、缩略图、插件和其他配置细节导出到 XBMC 可以写入的任意位置。备份可以按需运行或通过计划任务执行。</description>
<language></language>
<platform>all</platform>
<license>The MIT License</license>
<forum>http://forum.xbmc.org/showthread.php?tid=129499</forum>
<source>https://github.com/robweber/xbmcbackup</source>
<license>The MIT License</license>
<platform>all</platform>
<language></language>
</extension>
</addon>

View File

@@ -1,3 +1,81 @@
Version 0.6.0
fixed typo in Dropbox rmfile command
Version 0.5.9
fixed dropbox unicode error
create restored version of guisettings for easy local restoration
Version 0.5.8.7
allow limited updating of guisettings file through json
Version 0.5.8.6
show notification if some files failed
check if destination is writeable - thanks war59312
Version 0.5.8.5
added custom library nodes to config backup options - thanks Ned Scott
Version 0.5.8.4
backup compression should use zip64 as sizes may be over 2GB
need to expand out path -bugfix
Version 0.5.8
fixes path substitution errors
Version 0.5.7
added option to compress backups, uses local source for staging the zip before sending to remote
Version 0.5.6
fix dropbox delete recursion error - thanks durd
updated language files
Version 0.5.5
fix for dropbox errors during repeated file upload attempts
Version 0.5.4
check xbmc version when doing a restore
Version 0.5.3
updated python version
Version 0.5.2
added additional script and window parameters, thanks Samu-rai
critical error in backup rotation
updated progress bar display
Version 0.5.1
updated for new Gotham xbmc python updates
Version 0.5.0
New Version for Gotham
Version 0.4.6
modified backup folder names to include time, also modified display listing
Version 0.4.5
added version info to logs
added try/catch for unicode errors
Version 0.4.4
modified the check for invalid file types

View File

@@ -1,21 +1,37 @@
import urlparse
import xbmcgui
import resources.lib.utils as utils
from resources.lib.backup import XbmcBackup
def get_params():
param = {}
if(len(sys.argv) > 1):
for i in sys.argv:
args = i
if(args.startswith('?')):
args = args[1:]
param.update(dict(urlparse.parse_qsl(args)))
return param
#the program mode
mode = -1
params = get_params()
#check if mode was passed in as an argument
if(len(sys.argv) > 1):
if(sys.argv[1].lower() == 'backup'):
if("mode" in params):
if(params['mode'] == 'backup'):
mode = 0
elif(sys.argv[1].lower() == 'restore'):
elif(params['mode'] == 'restore'):
mode = 1
#if mode wasn't passed in as arg, get from user
if(mode == -1):
#figure out if this is a backup or a restore from the user
mode = xbmcgui.Dialog().select(utils.getString(30010) + " - " + utils.getString(30023),[utils.getString(30016),utils.getString(30017)])
#check if program should be run
if(mode != -1):
#run the profile backup
backup = XbmcBackup()
@@ -23,13 +39,32 @@ if(mode != -1):
if(backup.remoteConfigured()):
if(mode == backup.Restore):
#allow user to select the backup to restore from
#get list of valid restore points
restorePoints = backup.listBackups()
pointNames = []
folderNames = []
for aDir in restorePoints:
pointNames.append(aDir[1])
folderNames.append(aDir[0])
selectedRestore = xbmcgui.Dialog().select(utils.getString(30010) + " - " + utils.getString(30021),restorePoints)
selectedRestore = -1
if("archive" in params):
#check that the user give archive exists
if(params['archive'] in folderNames):
#set the index
selectedRestore = folderNames.index(params['archive'])
utils.log(str(selectedRestore) + " : " + params['archive'])
else:
utils.showNotification(utils.getString(30045))
utils.log(params['archive'] + ' is not a valid restore point')
else:
#allow user to select the backup to restore from
selectedRestore = xbmcgui.Dialog().select(utils.getString(30010) + " - " + utils.getString(30021),pointNames)
if(selectedRestore != -1):
backup.selectRestore(restorePoints[selectedRestore])
backup.selectRestore(restorePoints[selectedRestore][0])
backup.run(mode)
else:

View File

@@ -4,10 +4,24 @@
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30010">XBMC Rugsteun</string>
<string id="30011">Algemeen</string>
<string id="30012">Lêer Seleksie</string>
<string id="30013">Skedulering</string>
<string id="30016">Rugsteun</string>
<string id="30017">Herstel</string>
<string id="30023">Modus</string>
<string id="30027">Dropbox</string>
<string id="30028">Dropbox Sleutel</string>
<string id="30029">Dropbox Geheim</string>
<string id="30032">Databasis</string>
<string id="30033">Speellys</string>
<string id="30036">Verpersoonlikte Gids 1</string>
<string id="30037">Verpersoonlikte Gids 2</string>
<string id="30059">Besoek https://www.dropbox.com/developers</string>
<string id="30062">Uur van Dag</string>
<string id="30063">Dag van Week</string>
<string id="30064">Cron Skedule</string>
<string id="30065">Sondag</string>
<string id="30066">Maandag</string>
<string id="30067">Dinsdag</string>
@@ -15,4 +29,11 @@
<string id="30069">Donderdag</string>
<string id="30070">Vrydag</string>
<string id="30071">Saterdag</string>
<string id="30072">Elke Dag</string>
<string id="30073">Elke Week</string>
<string id="30074">Eerste Dag van Maand</string>
<string id="30075">Pasgemaakte Skedule</string>
<string id="30079">Net Vandag</string>
<string id="30080">Profiele</string>
<string id="30085">Weergawe Waarskuwing</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">E Ejnte</string>
<string id="30070">E Premte</string>
<string id="30071">E Shtunë</string>
<string id="30080">Profile</string>
</strings>

View File

@@ -16,4 +16,5 @@
<string id="30069">ሐሙስ</string>
<string id="30070">አርብ</string>
<string id="30071">ቅዳሜ</string>
<string id="30080">ገጽታዎች </string>
</strings>

View File

@@ -4,23 +4,32 @@
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30010">نسخ احتياطي XBMC</string>
<string id="30010">نسخ إكس بى إم سى اﻹحتياطى</string>
<string id="30011">عام</string>
<string id="30012">تحديد ملف</string>
<string id="30013">جدولة</string>
<string id="30016">نسخ احتياطي</string>
<string id="30017">استعادة</string>
<string id="30018">استعراض مسار</string>
<string id="30019">نوع مسار</string>
<string id="30020">استعراض مسار خارجي</string>
<string id="30021">اسم مجلد النسخ الاحتياطي</string>
<string id="30022">تشغيل صامت</string>
<string id="30012">تحديد الملف</string>
<string id="30016">نسخ إحتياطى</string>
<string id="30017">إسترجاع</string>
<string id="30018">إستعرض المسار</string>
<string id="30019">نوع المسار</string>
<string id="30020">إستعراض مسار بعيد</string>
<string id="30021">إسم مجلد النسخ اﻹحتياطى</string>
<string id="30023">الوضع</string>
<string id="30024"> مسار نوع خارجي</string>
<string id="30025">نوع مسار خارجي</string>
<string id="30030">مستخدم إضافات</string>
<string id="30027">صندوق اﻹسقاط</string>
<string id="30030">ملحقات المُستخدم</string>
<string id="30032">قاعدة البيانات</string>
<string id="30033">قائمة التشغيل</string>
<string id="30040">إختر "نعم" ﻹسترجاع هذا الملف ثم إعاده تشغيل إكس بى إم سى</string>
<string id="30041">إختر "لا" للمتابعه</string>
<string id="30042">إستكمال اﻹسترجاع</string>
<string id="30043">نسخ إكس بى إم سى اﻹحتياطى إكتشف وجود حاله إسترجاع غير مُنتهيه</string>
<string id="30044">أترغب بالمتابعه ؟</string>
<string id="30051">يُنشِئ قائمه بالملفات</string>
<string id="30053">يبدأ النسخ اﻹحتياطى المجدول</string>
<string id="30054">يَحَذِف ملفات النسخ اﻹحتياطى</string>
<string id="30059">تفضل بزياره موقع https://www.dropbox.com/developers</string>
<string id="30060">تفعيل الجدوله</string>
<string id="30065">الاحد</string>
<string id="30066">الاثنين</string>
<string id="30067">الثلاثاء</string>
@@ -28,4 +37,11 @@
<string id="30069">الخميس</string>
<string id="30070">الجمعة</string>
<string id="30071">السبت</string>
<string id="30072">يومياً</string>
<string id="30073">إسبوعياً</string>
<string id="30074">أول يوم فى الشهر</string>
<string id="30076">أطفئ بعد النسخ اﻹحتياطى</string>
<string id="30077">أعد تشغيل إكس بى إم سى</string>
<string id="30078">يتوجب عليك إعاده تشغيل إكس بى إم سى للمتابعه</string>
<string id="30080">الملفات الشخصية</string>
</strings>

View File

@@ -12,7 +12,6 @@
<string id="30017">Berrezarri</string>
<string id="30018">Arakatu bidea</string>
<string id="30021">Babes-kopia karpeta izena</string>
<string id="30022">Exekutatu isiltasunean</string>
<string id="30023">Modua</string>
<string id="30024">Idatzi Urruneko bidea</string>
<string id="30025">Urruneko bide mota</string>
@@ -48,4 +47,5 @@
<string id="30073">Astero</string>
<string id="30074">Hilabeteko lehen egunean</string>
<string id="30075">Plangintza pertsonalizatua</string>
<string id="30080">Profilak</string>
</strings>

View File

@@ -14,7 +14,6 @@
<string id="30019">Type Path</string>
<string id="30020">Browse Remote Path</string>
<string id="30021">Backup Folder Name</string>
<string id="30022">Run Silent</string>
<string id="30023">Mode</string>
<string id="30024">Type Remote Path</string>
<string id="30025">Remote Path Type</string>
@@ -70,4 +69,5 @@
<string id="30076">Shutdown After Backup</string>
<string id="30077">Restart XBMC</string>
<string id="30078">You should restart XBMC to continue</string>
<string id="30080">Профілі</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">Četvrtak</string>
<string id="30070">Petak</string>
<string id="30071">Subota</string>
<string id="30080">Profili</string>
</strings>

View File

@@ -4,10 +4,58 @@
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30011">General</string>
<string id="30010">XBMC Backup</string>
<string id="30011">Основи</string>
<string id="30012">Избор на файлове</string>
<string id="30013">Планиране</string>
<string id="30016">Резервно копие</string>
<string id="30017">Възстанови</string>
<string id="30018">Преглеждане за път</string>
<string id="30019">Въвеждане на път</string>
<string id="30020">Прегледайте за отдалечен път</string>
<string id="30021">Име на папката за резервните копия</string>
<string id="30022">Известяване за напредъка</string>
<string id="30023">Режим</string>
<string id="30032">База от данни</string>
<string id="30033">Плейлист</string>
<string id="30024">Въведете отдалечения път</string>
<string id="30025">Окажете пътя до папката с резервни копия</string>
<string id="30026">Колко резервни копия да бъдат съхранявани (0 за всички)</string>
<string id="30027">Dropbox</string>
<string id="30028">Dropbox ключ</string>
<string id="30029">Dropbox секретен ключ</string>
<string id="30030">Добавки</string>
<string id="30031">Данните на добавките</string>
<string id="30032">Базата данни</string>
<string id="30033">Плейлисти</string>
<string id="30034">Миниатюри/Фанарт</string>
<string id="30035">Файловете с настройки</string>
<string id="30036">Персонална директория 1</string>
<string id="30037">Персонална директория 1</string>
<string id="30038">Засечени са допълнителни настройки</string>
<string id="30039">Първо трябва да бъде възстановен файла "advancedsettings.xml"</string>
<string id="30040">Изберете "Да" за възстановяване от файла и рестартиране на XBMC</string>
<string id="30041">Изберете "Не" за да продължите</string>
<string id="30042">Възобнови</string>
<string id="30043">XBMC Backup засече незавършено възстановяване</string>
<string id="30044">Искате ли да продължите?</string>
<string id="30045">Грешка: Отдалеченият път не съществува</string>
<string id="30046">Стартиране</string>
<string id="30047">Локална папка</string>
<string id="30048">Отдалечена папка</string>
<string id="30049">Изграждане на списък с файлове</string>
<string id="30050">Отдалеченият път съществува. Вероятно съдържа стари файлове!</string>
<string id="30051">Създаване на списъка с файлове</string>
<string id="30052">Записване на файла</string>
<string id="30053">Създаване на резервно копие (по план)</string>
<string id="30054">Премахване на резервно копие</string>
<string id="30056">За оторизационния URL адрес за Dropbox проверете дневника</string>
<string id="30057">След оторизирането натиснете "Добре"</string>
<string id="30058">Необходим е код за разработчик за Dropbox</string>
<string id="30059">Посетете https://www.dropbox.com/developers</string>
<string id="30060">Активирай планировчика</string>
<string id="30061">Планиране</string>
<string id="30062">Час</string>
<string id="30063">Ден</string>
<string id="30064">Cron планиране</string>
<string id="30065">неделя</string>
<string id="30066">понеделник</string>
<string id="30067">вторник</string>
@@ -15,4 +63,19 @@
<string id="30069">четвъртък</string>
<string id="30070">петък</string>
<string id="30071">събота</string>
<string id="30072">Всеки ден</string>
<string id="30073">Всяка седмица</string>
<string id="30074">Първия ден на месеца</string>
<string id="30075">Персонално планиране</string>
<string id="30076">Изключвай XBMC след създаването на резервно копиране</string>
<string id="30077">Рестартиране на XBMC</string>
<string id="30078">Необходимо е да рестартирате XBMC за да продължите</string>
<string id="30079">Само днес</string>
<string id="30080">Профили</string>
<string id="30081">Планировчика ще стартира отново на</string>
<string id="30082">Лента за напредъка</string>
<string id="30083">Лента за напредъка на заден план</string>
<string id="30084">Без (тих режим)</string>
<string id="30085">Предупреждение за версията</string>
<string id="30086">Версията на XBMC, която ползвате е различна, от тази която се намира в архива</string>
</strings>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- Burmese language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/my/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30011">ယေဘုယျ</string>
</strings>

View File

@@ -4,7 +4,7 @@
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30010">Còpia de seguretat XBMC</string>
<string id="30010">XBMC Backup</string>
<string id="30011">General</string>
<string id="30012">Sel·lecció de fitxers</string>
<string id="30013">Planificació</string>
@@ -13,49 +13,48 @@
<string id="30018">Navega per la ruta</string>
<string id="30019">Tipus de ruta</string>
<string id="30020">Navega per la ruta remota</string>
<string id="30021">Nom del directori de la còpia</string>
<string id="30022">Executa en silenci</string>
<string id="30021">Nom de la carpeta de la còpia de seguretat</string>
<string id="30023">Mode</string>
<string id="30024">Tipus de ruta remota</string>
<string id="30025">Tipus de ruta remota</string>
<string id="30026">Còpies de seguretat a mantenir (0 per totes)</string>
<string id="30027">Dropbox</string>
<string id="30028">Clau del Dropbox</string>
<string id="30029">Dropbox secret</string>
<string id="30030">Afegitons d'usuari</string>
<string id="30031">Dades d'afegitons</string>
<string id="30028">Dropbox Key</string>
<string id="30029">Dropbox Secret</string>
<string id="30030">Complements d'usuari</string>
<string id="30031">Dades del complement</string>
<string id="30032">Base de dades</string>
<string id="30033">Llista de reproducció</string>
<string id="30034">Miniatures/Fanart</string>
<string id="30035">Fitxers de configuració</string>
<string id="30036">Directori Personalitzat 1</string>
<string id="30037">Directori Personalitzat 2</string>
<string id="30038">Detectada Configuració avançada</string>
<string id="30036">Directori personalitzat 1</string>
<string id="30037">Directori personalitzat 2</string>
<string id="30038">S'ha detectat la configuració avançada</string>
<string id="30039">El fitxer de configuració avançada s'ha de restaurar primer</string>
<string id="30040">Selecciona SI per Restaurar aquest arxiu i reiniciar l'XBMC</string>
<string id="30041">Seleciona No per Continuar</string>
<string id="30042">Rependre la Restauració</string>
<string id="30043">Copia de seguretat d'XBMC ha detectat una restauració sense acabar</string>
<string id="30044">Vols continuar?</string>
<string id="30040">Seleccioneu «Sí» per restaurar aquest fitxer i reiniciar l'XBMC</string>
<string id="30041">Seleccioneu «No» per continuar</string>
<string id="30042">Repren la restauració</string>
<string id="30043">L'XBMC Backup ha detectat una restauració inacabada</string>
<string id="30044">Voleu continuar?</string>
<string id="30045">Error: La ruta remota no existeix</string>
<string id="30046">Inici</string>
<string id="30046">S'està iniciant</string>
<string id="30047">Directori local</string>
<string id="30048">Directori remot</string>
<string id="30049">Recollint llista de fitxers</string>
<string id="30049">S'està recopilant la llista de fitxers</string>
<string id="30050">La ruta remota existeix - hi pot haver fitxers antics!</string>
<string id="30051">Creant llista de fitxers</string>
<string id="30052">Escrivint fitxer</string>
<string id="30053">Iniciant còpia planificada</string>
<string id="30051">S'està creant la llista de fitxers</string>
<string id="30052">S'està escrivint el fitxer</string>
<string id="30053">S'està iniciant la còpia de seguretat planificada</string>
<string id="30054">S'està eliminant la còpia de seguretat</string>
<string id="30056">Comproveu el registre per la URL d autorització de Dropbox</string>
<string id="30057">Clica OK quan hagi estat autoritzat</string>
<string id="30058">Es necessita codi de desembolupador de Dropbox</string>
<string id="30059">Visita https://www.dropbox.com/developers</string>
<string id="30060">Activa el planificador</string>
<string id="30061">Planificador</string>
<string id="30056">Comproveu el registre per la URL d'autorització del Dropbox</string>
<string id="30057">Feu clic a «D'acord» quan hagi estat autoritzat</string>
<string id="30058">Es necessita el codi de desenvolupador del Dropbox</string>
<string id="30059">Visiteu https://www.dropbox.com/developers</string>
<string id="30060">Habilita el planificador</string>
<string id="30061">Planificació</string>
<string id="30062">Hora del dia</string>
<string id="30063">Dia de la setmana</string>
<string id="30064">Planificador cron</string>
<string id="30064">Planificació Cron</string>
<string id="30065">Diumenge</string>
<string id="30066">Dilluns</string>
<string id="30067">Dimarts</string>
@@ -67,7 +66,13 @@
<string id="30073">Cada setmana</string>
<string id="30074">Primer dia del mes</string>
<string id="30075">Planificació personalitzada</string>
<string id="30076">Apagar despres de la copia de seguretat</string>
<string id="30077">Reiniciar XBMC</string>
<string id="30078">Cal que reinicieu XBMC per continuar</string>
<string id="30076">Apaga després de la còpia de seguretat</string>
<string id="30077">Reinicieu l'XBMC</string>
<string id="30078">És recomanable que reinicieu l'XBMC per continuar</string>
<string id="30079">Només avui</string>
<string id="30080">Perfils</string>
<string id="30081">El planificador de tasques s'executarà de nou</string>
<string id="30082">Barra de progrés</string>
<string id="30084">Cap (Silenciós)</string>
<string id="30086">Aquesta versió d'XBMC és diferent que la utilitzada per crear el fitxer</string>
</strings>

View File

@@ -4,8 +4,8 @@
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30010">XBMC备份</string>
<string id="30011"></string>
<string id="30010">XBMC 备份</string>
<string id="30011"></string>
<string id="30012">文件选择</string>
<string id="30013">计划任务</string>
<string id="30016">备份</string>
@@ -14,14 +14,14 @@
<string id="30019">输入目录</string>
<string id="30020">浏览远程目录</string>
<string id="30021">备份文件夹名</string>
<string id="30022">静默运行</string>
<string id="30022">进度显示</string>
<string id="30023">模式</string>
<string id="30024">输入远程目录</string>
<string id="30025">远程目录类型</string>
<string id="30026">保留备份数0为全部</string>
<string id="30027">Dropbox</string>
<string id="30028">Dropbox用户</string>
<string id="30029">Dropbox密码</string>
<string id="30028">Dropbox 用户</string>
<string id="30029">Dropbox 密码</string>
<string id="30030">用户插件</string>
<string id="30031">插件数据</string>
<string id="30032">数据库</string>
@@ -32,25 +32,25 @@
<string id="30037">自定义目录2</string>
<string id="30038">检测到高级设置</string>
<string id="30039">将先恢复高级设置文件</string>
<string id="30040">选“是”恢复此文件并重启XBMC</string>
<string id="30040">选“是”恢复此文件并重启 XBMC</string>
<string id="30041">选“否”继续</string>
<string id="30042">继续恢复</string>
<string id="30043">XBMC备份检测到未完成的恢复</string>
<string id="30043">XBMC 备份检测到未完成的恢复</string>
<string id="30044">要继续吗?</string>
<string id="30045">错误:远程目录不存在</string>
<string id="30046">开始</string>
<string id="30047">本地目录</string>
<string id="30048">远程目录</string>
<string id="30049">收集文件列表</string>
<string id="30049">获取文件列表</string>
<string id="30050">远程目录存在 - 可能有旧文件留存!</string>
<string id="30051">创建文件列表</string>
<string id="30052">写入文件</string>
<string id="30053">启动计划备份</string>
<string id="30053">启动计划备份</string>
<string id="30054">删除备份</string>
<string id="30056">检查Dropbox授权URL日志</string>
<string id="30056">检查 Dropbox 授权 URL 日志</string>
<string id="30057">授权后点“确定”</string>
<string id="30058">需要Dropbox开发者Code</string>
<string id="30059">访问https://www.dropbox.com/developers</string>
<string id="30058">需要 Dropbox 开发者 Code</string>
<string id="30059">访问 https://www.dropbox.com/developers</string>
<string id="30060">启用计划任务</string>
<string id="30061">时间安排</string>
<string id="30062">时刻</string>
@@ -68,6 +68,14 @@
<string id="30074">每月初</string>
<string id="30075">自定义计划</string>
<string id="30076">备份完成后关机</string>
<string id="30077">重启XBMC</string>
<string id="30078">需要重启XBMC以继续</string>
<string id="30077">重启 XBMC</string>
<string id="30078">需要重启 XBMC 以继续</string>
<string id="30079">就在今天</string>
<string id="30080">用户配置</string>
<string id="30081">计划任务将再次执行于</string>
<string id="30082">进度条</string>
<string id="30083">后台进度条</string>
<string id="30084">无(静默)</string>
<string id="30085">版本警告</string>
<string id="30086">当前 XBMC 版本与创建备份时的版本不同</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">星期四</string>
<string id="30070">星期五</string>
<string id="30071">星期六</string>
<string id="30080">設定檔</string>
</strings>

View File

@@ -14,7 +14,7 @@
<string id="30019">Vrsta putanje</string>
<string id="30020">Pregledaj udaljenu putanju</string>
<string id="30021">Sigurnosno kopiraj naziv mape</string>
<string id="30022">Pokreni u pozadini</string>
<string id="30022">Prikaz napretka</string>
<string id="30023">Način</string>
<string id="30024">Upišite udaljenu putanju</string>
<string id="30025">Vrsta udaljene putanje</string>
@@ -70,4 +70,12 @@
<string id="30076">Isključi nakon sigurnosnog kopiranja</string>
<string id="30077">Ponovno pokreni XBMC</string>
<string id="30078">Za nastavak je potrebno ponovno pokretanje XBMC-a</string>
<string id="30079">Samo danas</string>
<string id="30080">Profili</string>
<string id="30081">Planirano vrijeme će se ponovno pokrenuti</string>
<string id="30082">Traka napretka</string>
<string id="30083">Pozadina trake napretka</string>
<string id="30084">Nepoznato (Tiho)</string>
<string id="30085">Upozorenje inačice</string>
<string id="30086">Ova inačica XBMC-a je drugačija od one koja se koristila za stvaranje arhive</string>
</strings>

View File

@@ -4,7 +4,12 @@
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30010">Záloha XBMC</string>
<string id="30011">Obecné</string>
<string id="30012">Výběr souboru</string>
<string id="30013">Plánování</string>
<string id="30016">Zálohovat</string>
<string id="30017">Obnovit</string>
<string id="30023">Režim</string>
<string id="30032">Databáze</string>
<string id="30033">Seznam stop</string>
@@ -17,4 +22,5 @@
<string id="30070">Pátek</string>
<string id="30071">Sobota</string>
<string id="30077">Restartovat XBMC</string>
<string id="30080">Profily</string>
</strings>

View File

@@ -14,7 +14,6 @@
<string id="30019">Indtast Sti</string>
<string id="30020">Gennemse netværksmapper</string>
<string id="30021">Navngiv mappe til sikkerhedskopi</string>
<string id="30022">Kør i baggrunden</string>
<string id="30023">Tilstand</string>
<string id="30024">Indtast netværkssti</string>
<string id="30025">Type af netværkssti</string>
@@ -28,6 +27,15 @@
<string id="30033">Afspilningsliste</string>
<string id="30034">Miniaturer/Fankunst</string>
<string id="30035">Konfigurationsfil</string>
<string id="30036">Brugerdefineret mappe 1</string>
<string id="30037">Brugerdefineret mappe 2</string>
<string id="30038">Udvidet indstilling opdaget</string>
<string id="30039">Udvidede indstillings-fil bør gendannes først</string>
<string id="30040">Vælg Ja for at gendanne denne fil og genstarte XBMC</string>
<string id="30041">Vælg Nej for at fortsætte</string>
<string id="30042">Genoptag gendannelse</string>
<string id="30043">XBMC Backup har fundet en ufærdiggjort gendannelse</string>
<string id="30044">Vil du fortsætte?</string>
<string id="30045">Fejl: Netværksstien findes ikke</string>
<string id="30046">Starter</string>
<string id="30047">Lokal mappe</string>
@@ -60,4 +68,7 @@
<string id="30075">Brugerdefineret tidsplan</string>
<string id="30076">Luk ned efter Sikkerhedskopiering</string>
<string id="30077">Genstart XBMC</string>
<string id="30078">Du skal genstarte XBMC for at fortsætte</string>
<string id="30079">Kun Idag</string>
<string id="30080">Profiler</string>
</strings>

View File

@@ -14,7 +14,7 @@
<string id="30019">Type pad</string>
<string id="30020">Blader externe locatie</string>
<string id="30021">Backup Folder Naam</string>
<string id="30022">Draai Zonder Mededelingen</string>
<string id="30022">Voortgangsbeeldscherm</string>
<string id="30023">Modus</string>
<string id="30024">Enter Extern Pad</string>
<string id="30025">Extern Pad Type</string>
@@ -70,4 +70,12 @@
<string id="30076">Afsluiten na voltooiing back-up</string>
<string id="30077">Herstarten XBMC</string>
<string id="30078">Herstart XBMC om verder te gaan</string>
<string id="30079">Alleen Vandaag</string>
<string id="30080">Profielen</string>
<string id="30081">Scheduler zal opnieuw worden uitgevoerd op</string>
<string id="30082">Voortgangsbalk</string>
<string id="30083">Achtergrond voortgangsbalk</string>
<string id="30084">Geen (Stil)</string>
<string id="30085">Versie waarschuwing</string>
<string id="30086">Deze versie van XBMC is anders dan de gene die gebruikt is voor het creëren van het archief</string>
</strings>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- English (Australia) language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/en_AU/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30011">General</string>
<string id="30016">Backup</string>
<string id="30061">Schedule</string>
<string id="30077">Restart XBMC</string>
</strings>

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- English (New Zealand) language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/en_NZ/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30010">XBMC Backup</string>
<string id="30011">General</string>
<string id="30012">File Selection</string>
<string id="30013">Scheduling</string>
<string id="30016">Backup</string>
<string id="30017">Restore</string>
<string id="30018">Browse Path</string>
<string id="30019">Type Path</string>
<string id="30020">Browse Remote Path</string>
<string id="30021">Backup Folder Name</string>
<string id="30022">Progress Display</string>
<string id="30023">Mode</string>
<string id="30024">Type Remote Path</string>
<string id="30025">Remote Path Type</string>
<string id="30026">Backups to keep (0 for all)</string>
<string id="30027">Dropbox</string>
<string id="30028">Dropbox Key</string>
<string id="30029">Dropbox Secret</string>
<string id="30030">User Addons</string>
<string id="30031">Addon Data</string>
<string id="30032">Database</string>
<string id="30033">Playlist</string>
<string id="30034">Thumbnails/Fanart</string>
<string id="30035">Config Files</string>
<string id="30036">Custom Directory 1</string>
<string id="30037">Custom Directory 2</string>
<string id="30038">Advanced Settings Detected</string>
<string id="30039">The advancedsettings file should be restored first</string>
<string id="30040">Select Yes to restore this file and restart XBMC</string>
<string id="30041">Select No to continue</string>
<string id="30042">Resume Restore</string>
<string id="30043">XBMC Backup has detected an unfinished restore</string>
<string id="30044">Would you like to continue?</string>
<string id="30045">Error: Remote path doesn't exist</string>
<string id="30046">Starting</string>
<string id="30047">Local Dir</string>
<string id="30048">Remote Dir</string>
<string id="30049">Gathering file list</string>
<string id="30050">Remote Path exists - may have old files in it!</string>
<string id="30051">Creating Files List</string>
<string id="30052">Writing file</string>
<string id="30053">Starting scheduled backup</string>
<string id="30054">Removing backup</string>
<string id="30056">Check log for Dropbox authorise URL</string>
<string id="30057">Click OK when authorised</string>
<string id="30058">Dropbox Developer Code Needed</string>
<string id="30059">Visit https://www.dropbox.com/developers</string>
<string id="30060">Enable Scheduler</string>
<string id="30061">Schedule</string>
<string id="30062">Hour of Day</string>
<string id="30063">Day of Week</string>
<string id="30064">Cron Schedule</string>
<string id="30065">Sunday</string>
<string id="30066">Monday</string>
<string id="30067">Tuesday</string>
<string id="30068">Wednesday</string>
<string id="30069">Thursday</string>
<string id="30070">Friday</string>
<string id="30071">Saturday</string>
<string id="30072">Every Day</string>
<string id="30073">Every Week</string>
<string id="30074">First Day of Month</string>
<string id="30075">Custom Schedule</string>
<string id="30076">Shutdown After Backup</string>
<string id="30077">Restart XBMC</string>
<string id="30078">You should restart XBMC to continue</string>
<string id="30079">Just Today</string>
<string id="30080">Profiles</string>
<string id="30081">Scheduler will run again on</string>
<string id="30082">Progress Bar</string>
<string id="30083">Background Progress Bar</string>
<string id="30084">None (Silent)</string>
</strings>

View File

@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- English (US) language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/en_US/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30010">XBMC Backup</string>
<string id="30011">General</string>
<string id="30012">File Selection</string>
<string id="30013">Scheduling</string>
<string id="30016">Backup</string>
<string id="30017">Restore</string>
<string id="30018">Browse Path</string>
<string id="30019">Type Path</string>
<string id="30020">Browse Remote Path</string>
<string id="30021">Backup Folder Name</string>
<string id="30022">Progress Display</string>
<string id="30023">Mode</string>
<string id="30024">Type Remote Path</string>
<string id="30025">Remote Path Type</string>
<string id="30026">Backups to keep (0 for all)</string>
<string id="30027">Dropbox</string>
<string id="30028">Dropbox Key</string>
<string id="30029">Dropbox Secret</string>
<string id="30030">User Addons</string>
<string id="30031">Addon Data</string>
<string id="30032">Database</string>
<string id="30033">Playlist</string>
<string id="30034">Thumbnails/Fanart</string>
<string id="30035">Config Files</string>
<string id="30036">Custom Directory 1</string>
<string id="30037">Custom Directory 2</string>
<string id="30038">Advanced Settings Detected</string>
<string id="30039">The advancedsettings file should be restored first</string>
<string id="30040">Select Yes to restore this file and restart XBMC</string>
<string id="30041">Select No to continue</string>
<string id="30042">Resume Restore</string>
<string id="30043">XBMC Backup has detected an unfinished restore</string>
<string id="30044">Would you like to continue?</string>
<string id="30045">Error: Remote path doesn't exist</string>
<string id="30046">Starting</string>
<string id="30047">Local Dir</string>
<string id="30048">Remote Dir</string>
<string id="30049">Gathering file list</string>
<string id="30050">Remote Path exists - may have old files in it!</string>
<string id="30051">Creating Files List</string>
<string id="30052">Writing file</string>
<string id="30053">Starting scheduled backup</string>
<string id="30054">Removing backup</string>
<string id="30056">Check log for Dropbox authorize URL</string>
<string id="30057">Click OK when authorized</string>
<string id="30058">Dropbox Developer Code Needed</string>
<string id="30059">Visit https://www.dropbox.com/developers</string>
<string id="30060">Enable Scheduler</string>
<string id="30061">Schedule</string>
<string id="30062">Hour of Day</string>
<string id="30063">Day of Week</string>
<string id="30064">Cron Schedule</string>
<string id="30065">Sunday</string>
<string id="30066">Monday</string>
<string id="30067">Tuesday</string>
<string id="30068">Wednesday</string>
<string id="30069">Thursday</string>
<string id="30070">Friday</string>
<string id="30071">Saturday</string>
<string id="30072">Every Day</string>
<string id="30073">Every Week</string>
<string id="30074">First Day of Month</string>
<string id="30075">Custom Schedule</string>
<string id="30076">Shutdown After Backup</string>
<string id="30077">Restart XBMC</string>
<string id="30078">You should restart XBMC to continue</string>
<string id="30079">Just Today</string>
<string id="30080">Profiles</string>
<string id="30081">Scheduler will run again on</string>
<string id="30082">Progress Bar</string>
<string id="30083">Background Progress Bar</string>
<string id="30084">None (Silent)</string>
<string id="30085">Version Warning</string>
<string id="30086">This version of XBMC is different than the one used to create the archive</string>
</strings>

View File

@@ -14,7 +14,7 @@
<string id="30019">Type Path</string>
<string id="30020">Browse Remote Path</string>
<string id="30021">Backup Folder Name</string>
<string id="30022">Run Silent</string>
<string id="30022">Progress Display</string>
<string id="30023">Mode</string>
<string id="30024">Type Remote Path</string>
<string id="30025">Remote Path Type</string>
@@ -70,7 +70,18 @@
<string id="30076">Shutdown After Backup</string>
<string id="30077">Restart XBMC</string>
<string id="30078">You should restart XBMC to continue</string>
<string id="30079">Just Today</string>
<string id="30080">Profiles</string>
<string id="30081">Scheduler will run again on</string>
<string id="30079">Just Today</string>
<string id="30080">Profiles</string>
<string id="30081">Scheduler will run again on</string>
<string id="30082">Progress Bar</string>
<string id="30083">Background Progress Bar</string>
<string id="30084">None (Silent)</string>
<string id="30085">Version Warning</string>
<string id="30086">This version of XBMC is different than the one used to create the archive</string>
<string id="30087">Compress Archives</string>
<string id="30088">Copying Zip Archive</string>
<string id="30089">Write Error Detected</string>
<string id="30090">The destination may not be writeable</string>
<string id="30091">Zip archive could not be copied</string>
<string id="30092">Not all files were copied</string>
</strings>

View File

@@ -14,4 +14,5 @@
<string id="30069">Ĵaŭdo</string>
<string id="30070">Vendredo</string>
<string id="30071">Sabato</string>
<string id="30080">Provicos</string>
</strings>

View File

@@ -17,4 +17,5 @@
<string id="30070">reede</string>
<string id="30071">laupäev</string>
<string id="30077">Taaskäivita XBMC</string>
<string id="30080">Profiilid</string>
</strings>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- Faroese language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/fo/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30011">Vanligt</string>
</strings>

View File

@@ -18,4 +18,5 @@
<string id="30070">perjantai</string>
<string id="30071">lauantai</string>
<string id="30077">Käynnistä XBMC uudelleen</string>
<string id="30080">Käyttäjäprofiilit</string>
</strings>

View File

@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- French (Canada) language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/fr_CA/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30010">Sauvegarde XBMC</string>
<string id="30011">Général</string>
<string id="30012">Choix des fichiers</string>
<string id="30013">Planification</string>
<string id="30016">Sauvegarder</string>
<string id="30017">Restaurer</string>
<string id="30018">Parcourir le chemin</string>
<string id="30019">Saisir le chemin</string>
<string id="30020">Parcourir le chemin distant</string>
<string id="30021">Nom du dossier de sauvegarde</string>
<string id="30022">Affichage de la progression</string>
<string id="30023">Mode</string>
<string id="30024">Saisir le chemin distant</string>
<string id="30025">Type de chemin distant</string>
<string id="30026">Sauvegardes à garder (0 pour toutes)</string>
<string id="30027">Dropbox</string>
<string id="30028">Clef Dropbox</string>
<string id="30029">Secret Dropbox</string>
<string id="30030">Addiciels de l'utilisateur</string>
<string id="30031">Données de l'addiciel</string>
<string id="30032">Base de données</string>
<string id="30033">Liste de lecture</string>
<string id="30034">Imagettes/Fanart</string>
<string id="30035">Fichiers de configuration</string>
<string id="30036">Répertoire personnalisé 1</string>
<string id="30037">Répertoire personnalisé 2</string>
<string id="30038">Paramètres avancés détectés</string>
<string id="30039">Le fichier advancedsettings devrait d'abord être restauré</string>
<string id="30040">Choisir Oui pour restaurer ce fichier et redémarrer XBMC</string>
<string id="30041">Choisir Non pour continuer</string>
<string id="30042">Reprendre la restauration</string>
<string id="30043">La sauvegarde de XBMC a détecté une restauration incomplète</string>
<string id="30044">Voulez-vous continuer?</string>
<string id="30045">Erreur : le chemin distant n'existe pas</string>
<string id="30046">Démarrage</string>
<string id="30047">Répertoire local</string>
<string id="30048">Répertoire distant</string>
<string id="30049">Recueil de la liste des fichiers</string>
<string id="30050">Le chemin distant existe - il peut contenir des anciens fichiers!</string>
<string id="30051">Création de la liste des fichiers</string>
<string id="30052">Écriture du fichier</string>
<string id="30053">Lancement de la sauvegarde planifiée</string>
<string id="30054">Suppression de la sauvegarde</string>
<string id="30056">Vérifier le journal pour l'URL d'autorisation de Dropbox</string>
<string id="30057">Cliquer sur OK après autorisation</string>
<string id="30058">Code du développeur Dropbox requis</string>
<string id="30059">Visiter https://www.dropbox.com/developers</string>
<string id="30060">Activer l'ordonnanceur</string>
<string id="30061">Planification</string>
<string id="30062">Heure de la journée</string>
<string id="30063">Jour de la semaine</string>
<string id="30064">Planification cron</string>
<string id="30065">Dimanche</string>
<string id="30066">Lundi</string>
<string id="30067">Mardi</string>
<string id="30068">Mercredi</string>
<string id="30069">Jeudi</string>
<string id="30070">Vendredi</string>
<string id="30071">Samedi</string>
<string id="30072">Tous les jours</string>
<string id="30073">Toutes les semaines</string>
<string id="30074">Premier de chaque mois</string>
<string id="30075">Planification personnalisée</string>
<string id="30076">Extinction après la sauvegarde</string>
<string id="30077">Redémarrer XBMC</string>
<string id="30078">Vous devriez redémarrer XBMC pour continuer</string>
<string id="30079">Seulement aujourd'hui</string>
<string id="30080">Profils</string>
<string id="30081">L'ordonnanceur s'exécutera à nouveau</string>
<string id="30082">Barre de progression</string>
<string id="30083">Barre de progression d'arrière-plan</string>
<string id="30084">Aucun (silencieux)</string>
<string id="30085">Avertissement de version</string>
<string id="30086">Cette version de XBMC est différente de celle utilisée pour créer l'archive</string>
</strings>

View File

@@ -70,4 +70,7 @@
<string id="30076">Arrêter après la sauvegarde</string>
<string id="30077">Redémarrer XBMC</string>
<string id="30078">Vous devez redémarrer XBMC pour continuer</string>
<string id="30079">Seulement aujourd'hui</string>
<string id="30080">Profils</string>
<string id="30081">Le planificateur sera exécuté le</string>
</strings>

View File

@@ -14,7 +14,7 @@
<string id="30019">Escribir Camiño</string>
<string id="30020">Buscar Camiño Remoto</string>
<string id="30021">Nome do cartafol de copias de seguranza</string>
<string id="30022">Executar en segundo plano</string>
<string id="30022">Amosar Progreso</string>
<string id="30023">Modo</string>
<string id="30024">Escribir Camiño Remoto</string>
<string id="30025">Tipo de Camiño Remoto</string>
@@ -51,7 +51,7 @@
<string id="30057">Prema Aceptar cando teña autorización</string>
<string id="30058">É necesario o códido de desenvolvedor de Dropbox</string>
<string id="30059">Visite https://www.dropbox.com/developers</string>
<string id="30060">Habilitar programación</string>
<string id="30060">Activar Programador</string>
<string id="30061">Programación</string>
<string id="30062">Hora do día</string>
<string id="30063">Día da semana</string>
@@ -70,4 +70,12 @@
<string id="30076">Apagar despois de realizar a copia de seguranza</string>
<string id="30077">Reiniciar XBMC</string>
<string id="30078">Ten de restaurar o XBMC para continuar</string>
<string id="30079">Só Hoxe</string>
<string id="30080">Perfís</string>
<string id="30081">O Programador executarase de novo o</string>
<string id="30082">Barra de Progreso</string>
<string id="30083">Barra de Progreso no Fondo</string>
<string id="30084">Ningún (Silencioso)</string>
<string id="30085">Advertencia de Versión</string>
<string id="30086">Esta versión do XBMC é diferente da utilizada para xerar o ficheiro</string>
</strings>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- Georgian language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/ka/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30011">მთავარი</string>
</strings>

View File

@@ -70,4 +70,11 @@
<string id="30076">Herunterfahren nach Backup</string>
<string id="30077">XBMC neu starten</string>
<string id="30078">Du solltest XBMC neu starten, um fortzufahren</string>
<string id="30079">Nur heute</string>
<string id="30080">Profile</string>
<string id="30081">Arbeitsplaner wird nochmal ausgeführt am:</string>
<string id="30082">Fortschrittsbalken</string>
<string id="30083">Hintergrund Fortsschrittsbalken</string>
<string id="30084">Keine (Still)</string>
<string id="30085">Versionswarnung</string>
</strings>

View File

@@ -14,7 +14,7 @@
<string id="30019">Πληκτρολόγηση της Διαδρομής</string>
<string id="30020">Εντοπισμός Απομακρυσμένης Διαδρομής</string>
<string id="30021">Όνομα Φακέλου Αντιγράφου Ασφαλείας</string>
<string id="30022">Σιωπηρή Εκτέλεση</string>
<string id="30022">Απεικόνιση Εξέλιξης</string>
<string id="30023">Μέθοδος</string>
<string id="30024">Πληκτρολόγηση Απομακρυσμένης Διαδρομής</string>
<string id="30025">Τύπος Απομακρυσμένης Διαδρομής</string>
@@ -70,4 +70,12 @@
<string id="30076">Τερματισμός μετά τη δημιουργία Αντιγράφου</string>
<string id="30077">Επανεκκίνηση XBMC</string>
<string id="30078">Πρέπει να επανεκκινήσετε το XBMC για να συνεχίσετε</string>
<string id="30079">Μόνο Σήμερα</string>
<string id="30080">Προφίλ</string>
<string id="30081">Ο προγραμματισμός θα γίνει ξανά στις</string>
<string id="30082">Μπάρα Εξέλιξης</string>
<string id="30083">Μπάρα Εξέλιξης Υποβάθρου</string>
<string id="30084">Κανένα (Αθόρυβο)</string>
<string id="30085">Προειδοποίηση Έκδοσης</string>
<string id="30086">Η έκδοση του XBMC δεν είναι αυτή που χρησιμοποιήθηκε για τη δημιουργία του αρχείου</string>
</strings>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- Haitian (Haitian Creole) language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/ht/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30065">dimanch</string>
<string id="30066">Lindi</string>
<string id="30067">Madi</string>
<string id="30068">Merkredi</string>
<string id="30069">Jedi</string>
<string id="30070">Vandredi</string>
<string id="30071">Samdi</string>
</strings>

View File

@@ -10,41 +10,51 @@
<string id="30013">תזמון</string>
<string id="30016">גיבוי</string>
<string id="30017">שחזור</string>
<string id="30018">עיין נתיב</string>
<string id="30018">עיון בנתיב</string>
<string id="30019">הזן נתיב</string>
<string id="30020">עיין נתיב מרוחק</string>
<string id="30020">עיון בנתיב מרוחק</string>
<string id="30021">שם תיקיית גיבוי</string>
<string id="30022">ריצה שקטה</string>
<string id="30023">מצב</string>
<string id="30024">הזן נתיב מרוחק</string>
<string id="30025">סוג נתיב מרוחק</string>
<string id="30026">גיבויים לשמירה (0 להכול)</string>
<string id="30026">מספר גיבוים לשמירה (0 להכול)</string>
<string id="30027">דרופבוקס</string>
<string id="30028">Dropbox Key</string>
<string id="30029">Dropbox Secret</string>
<string id="30030">הרחבות משתמש</string>
<string id="30031">נתוני הרחבה</string>
<string id="30032">מסד נתונים</string>
<string id="30033">רשימת השמעה</string>
<string id="30034">תמונות ממוזערות/פאנארט</string>
<string id="30035">קבצי הגדרה</string>
<string id="30035">קבצי הגדרות</string>
<string id="30036">תיקיה מותאמת 1</string>
<string id="30037">תיקיה מותאמת 2</string>
<string id="30038">זוהה Advanced Settings</string>
<string id="30039">יש לשחזר תחילה את הקובץ advancedsettings</string>
<string id="30040">בחר "כן" לשחזור קובץ זה ולהפעלת XBMC מחדש</string>
<string id="30041">בחר "לא" להמשך</string>
<string id="30042">המשך שחזור</string>
<string id="30044">אתה רוצה להמשיך?</string>
<string id="30043">גיבוי XBMC זיהה שחזור שלא הסתיים</string>
<string id="30044">האם ברצונך להמשיך?</string>
<string id="30045">שגיאה: נתיב מרוחק אינו קיים</string>
<string id="30046">מתחיל</string>
<string id="30047">כונן מקומי</string>
<string id="30048">כונן מרוחק</string>
<string id="30047">תיקיה מקומית</string>
<string id="30048">תיקיה מרוחקת</string>
<string id="30049">אוסף רשימת קבצים</string>
<string id="30050">נתיב מרוחק נמצא - ייתכן שיש בתיקיה זו קבצים ישנים!</string>
<string id="30050">נתיב מרוחק נמצא - יתכן שיש בתיקיה זו קבצים ישנים!</string>
<string id="30051">יוצר רשימת קבצים</string>
<string id="30052">כותב קובץ</string>
<string id="30053">התחלת גיבוי מתוזמן</string>
<string id="30054">מסיר גיבויים</string>
<string id="30056">דוק יומן רישום לכתובת דרום בוקס מאושרת</string>
<string id="30053">מתחיל גיבוי מתוזמן</string>
<string id="30054">מסיר גיבוי</string>
<string id="30056">בדוק יומן רישום לכתובת דרופבוקס מאושרת</string>
<string id="30057">לחץ אישור כשמאושר</string>
<string id="30058">נדרש קוד מפתח של דרופבוקס</string>
<string id="30059">בקר בכתובת https://www.dropbox.com/developers</string>
<string id="30060">הפעל מתזמן</string>
<string id="30061">תזמון</string>
<string id="30062">שעה ביום</string>
<string id="30063">יום בשבוע</string>
<string id="30064">Cron Schedule</string>
<string id="30064">תזמון Cron</string>
<string id="30065">יום ראשון</string>
<string id="30066">יום שני</string>
<string id="30067">יום שלישי</string>
@@ -56,7 +66,10 @@
<string id="30073">כל שבוע</string>
<string id="30074">יום ראשון של החודש</string>
<string id="30075">תזמון מותאם אישית</string>
<string id="30076">לכבות לאחר הגיבוי</string>
<string id="30077">הפעל מחדש XBMC</string>
<string id="30078">אתה להפעיל את XBMC מחדש כדי להמשיך</string>
<string id="30076">כיבוי בתום הגיבוי</string>
<string id="30077">הפעל את XBMC מחדש</string>
<string id="30078">להמשך הינך צריך להפעיל את XBMC מחדש</string>
<string id="30079">היום בלבד</string>
<string id="30080">פרופילים</string>
<string id="30081">המתזמן יופעל שוב ב-</string>
</strings>

View File

@@ -14,7 +14,7 @@
<string id="30019">Adja meg az útvonalat</string>
<string id="30020">Távoli útvonal tallózása</string>
<string id="30021">Biztonsási mentés mappa neve</string>
<string id="30022">Néma futtatás</string>
<string id="30022">Folyamatkijelzés</string>
<string id="30023">Mód</string>
<string id="30024">Adja meg a távoli útvonalat</string>
<string id="30025">Távoli útvonal típusa</string>
@@ -30,6 +30,13 @@
<string id="30035">Konfigurációs fájlok</string>
<string id="30036">Saját könyvtár 1</string>
<string id="30037">Saját könyvtár 2</string>
<string id="30038">Haladó Beállítások Megtalálva</string>
<string id="30039">Az advancedsettings fájl visszaállítása szükséges előbb</string>
<string id="30040">Válassza az Igen opciót a fájl visszaállításához és az XBMC újraindításához</string>
<string id="30041">Válassza a Nem opciót a folytatáshoz</string>
<string id="30042">Visszaállítás folyatatása</string>
<string id="30043">Az XBMC Backup befejezetlen visszaállítást érzékelt</string>
<string id="30044">Folytassuk?</string>
<string id="30045">Hiba: A távoli útvonal nem létezik</string>
<string id="30046">Kezdődik</string>
<string id="30047">Helyi könyvtár</string>
@@ -62,4 +69,13 @@
<string id="30075">Egyéni időzítő</string>
<string id="30076">Leállítás a biztonsági mentés után</string>
<string id="30077">XBMC újraindítása</string>
<string id="30078">Az XBMC újraindítása szükséges a folytatáshoz</string>
<string id="30079">Csak Ma</string>
<string id="30080">Profilok</string>
<string id="30081">Az ütemező következő futása:</string>
<string id="30082">Folyamatkijelző</string>
<string id="30083">Háttér Folyamatjelző</string>
<string id="30084">Nincs (Néma)</string>
<string id="30085">Verzió Figyelmeztetés</string>
<string id="30086">Az XBMC verziója különbözik attól mint amelyik létrehozta az archívumot</string>
</strings>

View File

@@ -8,6 +8,7 @@
<string id="30023">Hamur</string>
<string id="30032">Gagnagrunnur</string>
<string id="30033">Lagalista</string>
<string id="30046">Ræsi</string>
<string id="30061">Dagskrá</string>
<string id="30065">Sunnudagur</string>
<string id="30066">Mánudagur</string>
@@ -17,4 +18,5 @@
<string id="30070">Föstudagur</string>
<string id="30071">Laugardagur</string>
<string id="30077">Endurræsa XBMC</string>
<string id="30080">Notendur</string>
</strings>

View File

@@ -4,10 +4,57 @@
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30010">Pencadangan XBMC</string>
<string id="30011">Umum</string>
<string id="30012">Pilih Berkas</string>
<string id="30013">Penjadwalan</string>
<string id="30016">Cadangan</string>
<string id="30017">Pengembalian</string>
<string id="30018">Ramban Lokasi</string>
<string id="30019">Lokasi Tipe</string>
<string id="30020">Ramban Lokasi Jarak Jauh</string>
<string id="30021">Nama Folder Cadangan</string>
<string id="30023">Mode</string>
<string id="30032">Database</string>
<string id="30024">Lokasi Tipe Jarak Jauh</string>
<string id="30025">Tipe Lokasi Jarak Jauh</string>
<string id="30026">Cadangan untuk disimpan (0 untuk seluruhnya)</string>
<string id="30027">Dropbox</string>
<string id="30028">Kunci Dropbox</string>
<string id="30029">Rahasia Dropbox</string>
<string id="30030">Addon Pengguna</string>
<string id="30031">Data Addon</string>
<string id="30032">Basis Data</string>
<string id="30033">Daftar Main</string>
<string id="30034">Gambar Kecil/Fanart</string>
<string id="30035">Berkas Konfigurasi</string>
<string id="30036">Direktori Lain 1</string>
<string id="30037">Direktori Lain 2</string>
<string id="30038">Terdeteksi Pengaturan Lanjutan</string>
<string id="30039">Berkas pengaturan lanjutan perlu dikembalikan terlebih dulu</string>
<string id="30040">Pilih Ya untuk mengembalikan berkas ini dan menjalankan ulang XBMC</string>
<string id="30041">Pilih Tidak untuk melanjutkan</string>
<string id="30042">Lanjutkan pengembalian</string>
<string id="30043">Pencadangan XBMC mendeteksi ada pengembalian yang belum selesai</string>
<string id="30044">Apakah Anda ingin melanjutkan?</string>
<string id="30045">Kesalahan: Lokasi jarak jauh tidak ada</string>
<string id="30046">Memulai</string>
<string id="30047">Direktori Lokal</string>
<string id="30048">Direktori Jarak Jauh</string>
<string id="30049">Mengumpulkan daftar berkas</string>
<string id="30050">Lokasi jarak jauh ada - mungkin berisi berkas lama di dalamnya!</string>
<string id="30051">Membuat Daftar Berkas</string>
<string id="30052">Menulis berkas</string>
<string id="30053">Memulai pencadangan terjadwal</string>
<string id="30054">Menghapus cadangan</string>
<string id="30056">Periksa log untuk URL otorisasi Dropbox</string>
<string id="30057">Klik OK ketika sudah terotorisasi</string>
<string id="30058">Kode Pengembang Dropbox Diperlukan</string>
<string id="30059">Kunjungi https://www.dropbox.com/developers</string>
<string id="30060">Mengaktifkan Penjadwalan</string>
<string id="30061">Jadwal</string>
<string id="30062">Jam</string>
<string id="30063">Hari</string>
<string id="30064">Jadwal Cron</string>
<string id="30065">Minggu</string>
<string id="30066">Senin</string>
<string id="30067">Selasa</string>
@@ -15,4 +62,13 @@
<string id="30069">Kamis</string>
<string id="30070">Jumat</string>
<string id="30071">Sabtu</string>
<string id="30072">Setiap Hari</string>
<string id="30073">Setiap Minggu</string>
<string id="30074">Hari Pertama Setiap Bulan</string>
<string id="30075">Jadwal Lain</string>
<string id="30076">Matikan Setelah Pencadangan</string>
<string id="30077">Jalankan Ulang XBMC</string>
<string id="30078">Anda perlu menjalankan ulang XBMC untuk melanjutkan</string>
<string id="30079">Hanya Hari Ini</string>
<string id="30080">Profil</string>
</strings>

View File

@@ -14,7 +14,7 @@
<string id="30019">Scrivi percorso</string>
<string id="30020">Seleziona percorso remoto</string>
<string id="30021">Nome cartella backup</string>
<string id="30022">Avvio silenzioso</string>
<string id="30022">Visualizzazione avanzamento</string>
<string id="30023">Modalità</string>
<string id="30024">Scrivi percorso remoto</string>
<string id="30025">Tipo percorso remoto</string>
@@ -70,4 +70,12 @@
<string id="30076">Spegni dopo avere effettuato il backup</string>
<string id="30077">Riavvia XBMC</string>
<string id="30078">Dovresti riavviare XBMC per continuare</string>
<string id="30079">Oggi</string>
<string id="30080">Profili</string>
<string id="30081">Gli eventi pianificati verrà rieseguita il</string>
<string id="30082">Barra di avanzamento</string>
<string id="30083">Barra di avanzamento sullo sfondo</string>
<string id="30084">Nessuno (silenzioso)</string>
<string id="30085">Allerta Versione</string>
<string id="30086">Questa versione di XBMC è diversa da quella che è stata usata per creare l'archivio</string>
</strings>

View File

@@ -14,18 +14,28 @@
<string id="30019">パスを入力</string>
<string id="30020">リモートパスをブラウズ</string>
<string id="30021">バックアップフォルダ名</string>
<string id="30022">静かに実行</string>
<string id="30023">モード</string>
<string id="30024">リモートパスを入力</string>
<string id="30025">リモートパスのタイプ</string>
<string id="30026">保持するバックアップ (0 = 全部)</string>
<string id="30027">Dropbox</string>
<string id="30028">ドロップボックスのキー</string>
<string id="30029">Dropboxシークレット</string>
<string id="30030">ユーザーアドオン</string>
<string id="30031">アドオンのデータ</string>
<string id="30032">データベース</string>
<string id="30033">プレイリスト</string>
<string id="30034">サムネール/ファンアート</string>
<string id="30035">設定ファイル</string>
<string id="30036">カスタムディレクトリ1</string>
<string id="30037">カスタムディレクトリ2</string>
<string id="30038">詳細設定が検出されました</string>
<string id="30039">Advanced設定ファイルは先に復元したほうが良い</string>
<string id="30040">このファイル復元とXBMCの再起動する場合は「はい」を選択してください</string>
<string id="30041">続けるにはいいえを選択してください</string>
<string id="30042">復元を再開する</string>
<string id="30043">XBMCバックアップが未完成の復元を検出しました</string>
<string id="30044">続行しますか</string>
<string id="30045">エラー:リモートパスが存在しません</string>
<string id="30046">開始中</string>
<string id="30047">ローカルディレクトリ</string>
@@ -38,6 +48,8 @@
<string id="30054">バックアップを削除中</string>
<string id="30056">Dropbox の認証URL はログを確認してください</string>
<string id="30057">認証が済んだらOKをクリックしてください</string>
<string id="30058">Dropbox開発用コードが必要</string>
<string id="30059">https://www.dropbox.com/developersをご覧ください</string>
<string id="30060">スケジューラを有効にする</string>
<string id="30061">スケジュール</string>
<string id="30062">時刻</string>
@@ -54,4 +66,9 @@
<string id="30073">毎週</string>
<string id="30074">毎月1日</string>
<string id="30075">カスタムスケジュール</string>
<string id="30076">バックアップ後にシャットダウン</string>
<string id="30077">XBMCを再起動</string>
<string id="30078">続けるため、XBMCを再起動したほうがいい</string>
<string id="30079">ちょうど今日</string>
<string id="30080">プロファイル</string>
</strings>

View File

@@ -14,28 +14,43 @@
<string id="30019">경로 입력</string>
<string id="30020">원격 경로 탐색</string>
<string id="30021">백업 폴더명</string>
<string id="30022">자동 실행</string>
<string id="30022">진행 표시</string>
<string id="30023">모드</string>
<string id="30024">원격 경로 입력</string>
<string id="30025">원격 경로 유형</string>
<string id="30026">유지할 백업 (0은 모두 유지)</string>
<string id="30027">Dropbox</string>
<string id="30028">Dropbox 아이디</string>
<string id="30029">Dropbox 비밀번호</string>
<string id="30030">사용자 애드온</string>
<string id="30031">애드온 데이터</string>
<string id="30032">데이베이스</string>
<string id="30032">데이베이스</string>
<string id="30033">재생목록</string>
<string id="30034">썸네일/팬아트</string>
<string id="30035">설정 파일</string>
<string id="30036">사용자 디렉터리 1</string>
<string id="30037">사용자 디렉터리 2</string>
<string id="30038">Advanced Settings 감지 됨</string>
<string id="30039">advancedsettings 파일을 먼저 복원하여야 합니다</string>
<string id="30040">이 파일을 복원하고 XBMC를 다시 시작하려면 Yes 를 선택하세요</string>
<string id="30041">계속하려면 No 를 선택하세요</string>
<string id="30042">복원 재개</string>
<string id="30043">XBMC Backup이 완료되지 않은 복원을 감지하였습니다</string>
<string id="30044">계속 하겠습니까?</string>
<string id="30045">오류: 존재하지 않는 원격 경로</string>
<string id="30046">시작</string>
<string id="30047">로컬 디렉</string>
<string id="30048">원격 디렉</string>
<string id="30047">로컬 디렉</string>
<string id="30048">원격 디렉</string>
<string id="30049">파일 목록을 가져오는 중</string>
<string id="30050">원격 경로 있음 - 오래된 파일이 있습니다!</string>
<string id="30051">파일 목록 작성 중</string>
<string id="30052">파일을 쓰는 중</string>
<string id="30053">예약된 백업 시작</string>
<string id="30054">백업 삭제</string>
<string id="30056">로그에서 Dropbox 인증 URL을 확인하세요</string>
<string id="30057">인증이 완료되면 확인을 누르세요</string>
<string id="30058">Dropbox 개발자 코드가 필요합니다</string>
<string id="30059">https://www.dropbox.com/developers 을 방문하세요</string>
<string id="30060">예약 사용</string>
<string id="30061">예약</string>
<string id="30062">시간</string>
@@ -52,5 +67,15 @@
<string id="30073">매주</string>
<string id="30074">매월 첫 날</string>
<string id="30075">사용자 예약</string>
<string id="30076">백업후 시스템 종료</string>
<string id="30077">XBMC 재시작</string>
<string id="30078">계속하려면 XBMC를 다시 시작하여야 합니다</string>
<string id="30079">오늘만</string>
<string id="30080">프로파일</string>
<string id="30081">다음 예약 실행: </string>
<string id="30082">진행 막대</string>
<string id="30083">백드라운드 진행 막대</string>
<string id="30084">없음 (표시 안 함)</string>
<string id="30085">버전 경고</string>
<string id="30086">이 XBMC 버전은 보관되어 있는 XBMC와 다른 버전입니다.</string>
</strings>

View File

@@ -5,6 +5,8 @@
<strings>
<string id="30011">Vispārīgi</string>
<string id="30036">Pielāgota direktorija 1</string>
<string id="30037">Pielāgota direktorija 2</string>
<string id="30065">Svētdiena</string>
<string id="30066">Pirmdiena</string>
<string id="30067">Otrdiena</string>

View File

@@ -14,18 +14,29 @@
<string id="30019">Tipo/rūšies kelias</string>
<string id="30020">Nuotolinio kelio peržiūra</string>
<string id="30021">Atsarginių kopijų aplanko pavadinimas</string>
<string id="30022">Tylus paleidimas</string>
<string id="30022">Progreso atvaizdavimas</string>
<string id="30023">Režimas</string>
<string id="30024">Įveskite nuotolinį vadymo kelią</string>
<string id="30025">Nuotolinį vadymo kelio tipas</string>
<string id="30026">Atsarginių kopijų laikymas/saugojimas (0 visiems)</string>
<string id="30026">Atsarginių kopijų saugojimas (0 visiems)</string>
<string id="30027">Dropbox</string>
<string id="30028">Dropbox raktas</string>
<string id="30029">Dropbox paslaptis</string>
<string id="30030">Vartotojo komplektacija</string>
<string id="30031">Priedo duomenys</string>
<string id="30032">Duomenų bazė</string>
<string id="30033">Grojaraštis</string>
<string id="30034">Miniatiūros/FanArt</string>
<string id="30035">Konfigūracijos failai</string>
<string id="30036">Pasirinktinis katalogas 1</string>
<string id="30037">Pasirinktinis katalogas 2</string>
<string id="30038">Papildomi nustatymai aptikti</string>
<string id="30039">Nustatymai 'Išplėstinė byla turėtų būti atkurta'</string>
<string id="30040">Pasirinkite Taip, jei norite atkurti šį failą ir perkraukite XBMC</string>
<string id="30041">Pasirinkite Ne, jei norite tęsti</string>
<string id="30042">Atnaujinti Atkurti</string>
<string id="30043">XBMC aptiko nebaigtą atkurti atsarginę kopiją</string>
<string id="30044">Ar norite tęsti?</string>
<string id="30045">Klaida: Nuotolinis kelias neegzistuoja</string>
<string id="30046">Paleidimas</string>
<string id="30047">Vietos kryptis</string>
@@ -38,6 +49,8 @@
<string id="30054">Pa6alinti atsarginę kopiją</string>
<string id="30056">Patikrinti URL prisijungimą prie Dropbox</string>
<string id="30057">Spauskite OK, kai leidžiama</string>
<string id="30058">Dropbox programuotojo kodas</string>
<string id="30059">Apsilankykite https://www.dropbox.com/developers</string>
<string id="30060">Įjungti planavimą</string>
<string id="30061">Planuoti</string>
<string id="30062">Diena ir valanda</string>
@@ -56,4 +69,13 @@
<string id="30075">Individualus tvarkaraštis</string>
<string id="30076">Išjungti kompiuterį baigus atsarginę kopiją</string>
<string id="30077">Perkrauti XBMC</string>
<string id="30078">Jūs turite iš naujo paleisti XBMC</string>
<string id="30079">Tiesiog šiandien</string>
<string id="30080">Profiliai</string>
<string id="30081">Tvarkaraštis bus paleisti dar kartą</string>
<string id="30082">Progreso juosta</string>
<string id="30083">Foninė progreso juosta</string>
<string id="30084">Joks (Tylus)</string>
<string id="30085">Versijos įspėjimas</string>
<string id="30086">Ši XBMC versija skiriasi nuot tos, kuri naudota kuriant archyvą</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">Четврток</string>
<string id="30070">Петок</string>
<string id="30071">Сабота</string>
<string id="30080">Профили</string>
</strings>

View File

@@ -5,6 +5,8 @@
<strings>
<string id="30011">Am</string>
<string id="30033">Senarai Main</string>
<string id="30061">Jadual</string>
<string id="30065">Ahad</string>
<string id="30066">Isnin</string>
<string id="30067">Selasa</string>
@@ -12,4 +14,6 @@
<string id="30069">Khamis</string>
<string id="30070">Jumaat</string>
<string id="30071">Sabtu</string>
<string id="30077">Mula Semula XBMC</string>
<string id="30080">Profil</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">Il-Ħamis</string>
<string id="30070">Il-Ġimgħa</string>
<string id="30071">Is-Sibt</string>
<string id="30080">Profil</string>
</strings>

View File

@@ -4,15 +4,58 @@
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30010">XBMC Backup</string>
<string id="30011">Generelt</string>
<string id="30012">Filvalg</string>
<string id="30013">Timeplan</string>
<string id="30016">Sikkerhetskopiering</string>
<string id="30017">Gjenopprett</string>
<string id="30018">Bla etter sti</string>
<string id="30019">Skriv inn sti</string>
<string id="30020">Bla etter ekstern sti</string>
<string id="30021">Mappenavn</string>
<string id="30022">Fremdriftsvisning</string>
<string id="30023">Modus</string>
<string id="30024">Skriv inn ekstern sti</string>
<string id="30025">Ekstern stitype</string>
<string id="30026">Antall sikkerhetskopier som beholdes (0 for alle)</string>
<string id="30027">Dropbox</string>
<string id="30028">Dropbox-nøkkel</string>
<string id="30029">Dropbox-secret</string>
<string id="30030">Utvidelser</string>
<string id="30031">Utvidelsesdata</string>
<string id="30032">Database</string>
<string id="30033">Spilleliste</string>
<string id="30034">Miniatyrer/Fanart</string>
<string id="30035">Konfigurasjonsfiler</string>
<string id="30036">Egendefinert mappe 1</string>
<string id="30037">Egendefinert mappe 2</string>
<string id="30038">Avanserte innstillinger oppdaget</string>
<string id="30039">advancedsettings-filen bør gjenopprettes først</string>
<string id="30040">Velg «Ja» for å gjenopprette denne filen og starte XBMC på ny</string>
<string id="30041">Velg «Nei» for å fortsette</string>
<string id="30042">Gjenoppta gjenoppretting</string>
<string id="30043">XBMC Backup har oppdaget en uferdig gjenoppretting</string>
<string id="30044">Ønsker du å fortsette?</string>
<string id="30045">Feil: Ekstern sti finnes ikke</string>
<string id="30046">Starter</string>
<string id="30047">Lokal mappe</string>
<string id="30048">Ekstern mappe</string>
<string id="30049">Samler filliste</string>
<string id="30050">Ekstern sti finnes - kan inneholde gamle filer!</string>
<string id="30051">Danner filliste</string>
<string id="30052">Skriver fil</string>
<string id="30053">Starter planlagt sikkerhetskopi</string>
<string id="30054">Fjerner sikkerhetskopi</string>
<string id="30056">Se loggen for Dropbox sin autorisasjons-URL</string>
<string id="30057">Trykk «OK» når autorisert</string>
<string id="30058">Dropbox-utviklerkode behøves</string>
<string id="30059">Besøk «https://www.dropbox.com/developers»</string>
<string id="30060">Aktiver planlegger</string>
<string id="30061">Planlegg</string>
<string id="30062">Time</string>
<string id="30063">Dag</string>
<string id="30064">Cron-planlegger</string>
<string id="30065">Søndag</string>
<string id="30066">Mandag</string>
<string id="30067">Tirsdag</string>
@@ -20,6 +63,19 @@
<string id="30069">Torsdag</string>
<string id="30070">Fredag</string>
<string id="30071">Lørdag</string>
<string id="30072">Hver dag</string>
<string id="30073">Hver uke</string>
<string id="30074">Første dag i måneden</string>
<string id="30075">Egendefinert</string>
<string id="30076">Skru av etter sikkerhetskopiering</string>
<string id="30077">Start XBMC på nytt</string>
<string id="30078">Du bør starte XBMC på nytt for å fortsette</string>
<string id="30079">Bare i dag</string>
<string id="30080">Profiler</string>
<string id="30081">Planleggeren vil kjøre igjen på</string>
<string id="30082">Fremdriftslinje</string>
<string id="30083">Bakgrunnsfremdriftslinge</string>
<string id="30084">Ingen (Stum)</string>
<string id="30085">Versjonsadvarsel</string>
<string id="30086">Denne versjonen av XBMC er forskjellig fra den som ble benyttet til å lage sikkerhetskopien</string>
</strings>

View File

@@ -7,4 +7,12 @@
<string id="30011">عمومی</string>
<string id="30032">پایگاه داده</string>
<string id="30033">لیست پخش</string>
<string id="30065">یکشنبه</string>
<string id="30066">دوشنبه</string>
<string id="30067">سه شنبه</string>
<string id="30068">چهارشنبه</string>
<string id="30069">پنجشنبه</string>
<string id="30070">جمعه</string>
<string id="30071">شنبه</string>
<string id="30080">پروفایل ها</string>
</strings>

View File

@@ -12,4 +12,5 @@
<string id="30069">پنج‌شنبه</string>
<string id="30070">جمعه</string>
<string id="30071">شنبه</string>
<string id="30080">پروفایل</string>
</strings>

View File

@@ -7,14 +7,14 @@
<string id="30010">Kopia bezpieczeństwa XBMC</string>
<string id="30011">Ogólne</string>
<string id="30012">Wybór pliku</string>
<string id="30013">Planowanie</string>
<string id="30013">Harmonogram</string>
<string id="30016">Kopia bezpieczeństwa</string>
<string id="30017">Przywracanie</string>
<string id="30018">Przeglądaj ścieżkę</string>
<string id="30019">Wpisz ścieżkę</string>
<string id="30020">Przeglądaj zdalną ścieżkę</string>
<string id="30021">Nazwa folderu Kopii bezpieczeństwa</string>
<string id="30022">Uruchom w trybie cichym</string>
<string id="30021">Nazwa folderu Kopii Bezpieczeństwa</string>
<string id="30022">Wyświetlaj postęp </string>
<string id="30023">Tryb</string>
<string id="30024">Wpisz ścieżkę zdalną</string>
<string id="30025">Typ zdalnej ścieżki</string>
@@ -26,7 +26,7 @@
<string id="30031">Dane dodatków</string>
<string id="30032">Baza danych</string>
<string id="30033">Playlista</string>
<string id="30034">Miniatury/Fanart</string>
<string id="30034">Miniatury/Tapety</string>
<string id="30035">Pliki koniguracyjne</string>
<string id="30036">Własny katalog 1</string>
<string id="30037">Własny katalog 2</string>
@@ -42,7 +42,7 @@
<string id="30047">Lokalny katalog</string>
<string id="30048">Zdalny katalog</string>
<string id="30049">Zbieram liste plików</string>
<string id="30050">Zdalna ścieżka istnieje - może zawierać stare dane!!</string>
<string id="30050">Zdalna ścieżka istnieje - może zawierać stare dane!</string>
<string id="30051">Tworzę liste plików</string>
<string id="30052">Zapisuję plik</string>
<string id="30053">Uruchamiam zaplanowaną kopię bezpieczeństwa</string>
@@ -70,4 +70,12 @@
<string id="30076">Wyłącz system po zrobieniu kopii zapasowej</string>
<string id="30077">Restartuj XBMC</string>
<string id="30078">Powinieneś zrestartować XBMC by kontynuować</string>
<string id="30079">Tylko Dzisiaj </string>
<string id="30080">Profile</string>
<string id="30081">Harmonogram zostanie uruchomiony ponownie </string>
<string id="30082">Pasek postępu</string>
<string id="30083">Pasek postępu w tle</string>
<string id="30084">Brak (w tle)</string>
<string id="30085"> Ostrzeżenie o wersji</string>
<string id="30086">Ta wersja XBMC jest inna niż użyta do utworzenia archiwum</string>
</strings>

View File

@@ -14,7 +14,7 @@
<string id="30019">Digite o caminho</string>
<string id="30020">Procurar caminho remoto</string>
<string id="30021">Nome da pasta de backup</string>
<string id="30022">Rodar em silêncio</string>
<string id="30022">Mostrar Progresso</string>
<string id="30023">Modo</string>
<string id="30024">Digite o caminho remoto</string>
<string id="30025">Tipo de caminho remoto</string>
@@ -70,4 +70,12 @@
<string id="30076">Desligar após backup</string>
<string id="30077">Reiniciar XBMC</string>
<string id="30078">Você deve reiniciar o XBMC para continuar</string>
<string id="30079">Somente Hoje</string>
<string id="30080">Perfis</string>
<string id="30081">Agendado para rodar novamente em</string>
<string id="30082">Barra de Progresso</string>
<string id="30083">Barra de Progresso ao Fundo</string>
<string id="30084">Nenhum (Silencioso)</string>
<string id="30085">Alertas da Versão</string>
<string id="30086">Esta versão do XBMC é diferente da que foi usada para criar o arquivo</string>
</strings>

View File

@@ -6,7 +6,7 @@
<strings>
<string id="30010">XBMC Backup</string>
<string id="30011">Geral</string>
<string id="30012">Selecção de ficheiros</string>
<string id="30012">Seleccionar ficheiros</string>
<string id="30013">Agendamento</string>
<string id="30016">Cópia Segurança</string>
<string id="30017">Restaurar</string>
@@ -14,7 +14,7 @@
<string id="30019">Introduzir Localização</string>
<string id="30020">Procurar Localização Remota</string>
<string id="30021">Nome da pasta de cópia</string>
<string id="30022">Iniciar Silenciosamente</string>
<string id="30022">Indicador de Progresso</string>
<string id="30023">Modo</string>
<string id="30024">Introduza a localização remota</string>
<string id="30025">Tipo de localização remota</string>
@@ -25,7 +25,7 @@
<string id="30030">Add-ons do utilizador</string>
<string id="30031">Dados dos add-ons</string>
<string id="30032">Base de Dados</string>
<string id="30033">Lista de reprodução</string>
<string id="30033">Listas de reprodução</string>
<string id="30034">Miniaturas/Fanart</string>
<string id="30035">Ficheiros de configuração</string>
<string id="30036">Pasta Personalizada 1</string>
@@ -70,4 +70,12 @@
<string id="30076">Desligar após cópia de segurança</string>
<string id="30077">Reiniciar XBMC</string>
<string id="30078">Tem de reiniciar o XBMC para continuar</string>
<string id="30079">Apenas Hoje</string>
<string id="30080">Perfis</string>
<string id="30081">O agendamento será reiniciado a</string>
<string id="30082">Barra de Progresso</string>
<string id="30083">Barra de Progresso em Fundo</string>
<string id="30084">Nenhum (silenciosamente)</string>
<string id="30085">Aviso de Versão</string>
<string id="30086">Esta versão do XBMC é diferente da que foi usada para criar o arquivo</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">Joi</string>
<string id="30070">Vineri</string>
<string id="30071">Sâmbătă</string>
<string id="30080">Profile</string>
</strings>

View File

@@ -4,11 +4,58 @@
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30011">Выкл.</string>
<string id="30010">Резервная копия XBMC</string>
<string id="30011">Основные</string>
<string id="30012">Типы файлов</string>
<string id="30013">Расписание</string>
<string id="30016">Резервная копия</string>
<string id="30017">Всстановить</string>
<string id="30018">Выбрать путь</string>
<string id="30019">Ручной ввод</string>
<string id="30020">Выбрать сетевой путь</string>
<string id="30021">Имя папки с рез. копиями</string>
<string id="30022">Окно с ходом выполнения</string>
<string id="30023">Режим</string>
<string id="30024">Ввести сетевой путь</string>
<string id="30025">Ручной ввод удаленного пути</string>
<string id="30026">Кол-во резервных копий (0 - все)</string>
<string id="30027">Dropbox</string>
<string id="30028">Ключ Dropbox</string>
<string id="30029">Секретный ключ Dropbox</string>
<string id="30030">Пользовательские дополнения</string>
<string id="30031">Данные дополнений</string>
<string id="30032">База данных</string>
<string id="30033">Плейлист</string>
<string id="30034">Миниатюры/Фанарт</string>
<string id="30035">Конфигурационные файлы</string>
<string id="30036">Пользовательский каталог 1</string>
<string id="30037">Пользовательский каталог 2</string>
<string id="30038">Обнаружены дополнительные настройки</string>
<string id="30039">Файл с дополнительными настройками должен быть восстановлен первым</string>
<string id="30040">Нажмите Да, чтоб восстановить этот файл и перезапустить XBMC</string>
<string id="30041">Нажмите Нет для продолжения</string>
<string id="30042">Возобновить восстановление</string>
<string id="30043">XBMC Backup обнаружил неоконченное восстановление из копии</string>
<string id="30044">Продолжить?</string>
<string id="30045">Ошибка: Сетевой путь не доступен</string>
<string id="30046">Начало</string>
<string id="30047">Локальная папка</string>
<string id="30048">Сетевая папка</string>
<string id="30049">Подготавливаем список файлов</string>
<string id="30050">Удаленный путь существует - там могут быть старые версии файлов!</string>
<string id="30051">Создаём список файлов</string>
<string id="30052">Сохраняем файл</string>
<string id="30053">Начинаем резервное копирование по расписанию</string>
<string id="30054">Удаление резервной копии</string>
<string id="30056">Проверьте журнал Dropbox для URL авторизации</string>
<string id="30057">Нажмите OK, когда авторизируйтесь</string>
<string id="30058">Нужен код разработчика Dropbox</string>
<string id="30059">Посетите https://www.dropbox.com/developers</string>
<string id="30060">Включить планировщик</string>
<string id="30061">Расписание</string>
<string id="30062">Час дня</string>
<string id="30063">День недели</string>
<string id="30064">Планировщик</string>
<string id="30065">Воскресенье</string>
<string id="30066">Понедельник</string>
<string id="30067">Вторник</string>
@@ -16,5 +63,19 @@
<string id="30069">Четверг</string>
<string id="30070">Пятница</string>
<string id="30071">Суббота</string>
<string id="30072">Ежедневно</string>
<string id="30073">Еженедельно</string>
<string id="30074">В первый день месяца</string>
<string id="30075">Своё расписание</string>
<string id="30076">Завершить работу после резервного копирования</string>
<string id="30077">Перезапустить XBMC</string>
<string id="30078">Необходимо перезапустить XBMC для продолжения</string>
<string id="30079">Только сегодня</string>
<string id="30080">Профили</string>
<string id="30081">Планировщик будет запущен снова в</string>
<string id="30082">Полоса с ходом выполнения</string>
<string id="30083">Ход выполнения в фоне</string>
<string id="30084">Не выводить (Тихо)</string>
<string id="30085">Предупреждение</string>
<string id="30086">Используемая версия XBMC отличается от версии, используемой при создании архива</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">Четвртак</string>
<string id="30070">Петак</string>
<string id="30071">Субота</string>
<string id="30080">Профили</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">Četvrtak</string>
<string id="30070">Petak</string>
<string id="30071">Subota</string>
<string id="30080">Profili</string>
</strings>

View File

@@ -14,7 +14,6 @@
<string id="30019">Zadať cestu</string>
<string id="30020">Prehliadať vzdialenú cestu</string>
<string id="30021">Meno priečinku zálohy</string>
<string id="30022">Tichý režim</string>
<string id="30023">Režim</string>
<string id="30024">Zadať vzdialenú cestu</string>
<string id="30025">Druh vzdialenej cesty</string>
@@ -59,4 +58,6 @@
<string id="30074">Prvý deň mesiaca</string>
<string id="30075">Vlastný plán</string>
<string id="30076">Vypnúť po skončení zálohy</string>
<string id="30077">Reštartovať XBMC</string>
<string id="30080">Profily</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">Četrtek</string>
<string id="30070">Petek</string>
<string id="30071">Sobota</string>
<string id="30080">Profili</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">Jueves</string>
<string id="30070">Viernes</string>
<string id="30071">Sábado</string>
<string id="30080">Perfiles</string>
</strings>

View File

@@ -14,7 +14,6 @@
<string id="30019">Ingresar Ruta</string>
<string id="30020">Explorar Ruta Remota</string>
<string id="30021">Nombre de Carpeta de Respaldo</string>
<string id="30022">Ejecutar en Modo Silencioso</string>
<string id="30023">Modo</string>
<string id="30024">Ingresar Ruta Remota</string>
<string id="30025">Tipo de Ruta Remota</string>
@@ -56,4 +55,5 @@
<string id="30075">Programación Perzonalizada</string>
<string id="30076">Apagar luego de respaldar</string>
<string id="30077">Reiniciar XBMC</string>
<string id="30080">Perfiles</string>
</strings>

View File

@@ -14,7 +14,7 @@
<string id="30019">Escribir ruta</string>
<string id="30020">Examinar ruta remota</string>
<string id="30021">Nombre de directorio de respaldo</string>
<string id="30022">Correr en segundo plano</string>
<string id="30022">Pantalla de progreso</string>
<string id="30023">Modo</string>
<string id="30024">Escribir directorio remoto</string>
<string id="30025">Tipo de Ruta Remota</string>
@@ -70,4 +70,12 @@
<string id="30076">Apagar tras realizar la copia de seguridad</string>
<string id="30077">Reiniciar XBMC</string>
<string id="30078">Debería reiniciar XBMC para continuar</string>
<string id="30079">Hoy mismo</string>
<string id="30080">Perfiles</string>
<string id="30081">Planificador se ejecutará de nuevo en</string>
<string id="30082">Barra de progreso</string>
<string id="30083">Fondo de la barra de progreso</string>
<string id="30084">Ninguno (Silencio)</string>
<string id="30085">Advertencia de versión </string>
<string id="30086">Esta versión de XBMC es diferente a la que se utilizó para crear el archivo</string>
</strings>

View File

@@ -14,7 +14,7 @@
<string id="30019">Skriv sökväg</string>
<string id="30020">Bläddra efter fjärrsökväg</string>
<string id="30021">Backuppmappsnamn</string>
<string id="30022">Kör tyst</string>
<string id="30022">Förlopp</string>
<string id="30023">Läge</string>
<string id="30024">Skriv fjärrsökväg</string>
<string id="30025">Fjärrsökvägstyp</string>
@@ -70,4 +70,12 @@
<string id="30076">Stäng av efter Backup</string>
<string id="30077">Starta om XBMC</string>
<string id="30078">Du borde starta om XBMC för att fortsätta</string>
<string id="30079">Bara idag</string>
<string id="30080">Profiles</string>
<string id="30081">Schemaläggaren kommer köras igen</string>
<string id="30082">Förloppsindikator</string>
<string id="30083">Bakgroundsförloppsindikator</string>
<string id="30084">Ingen (tyst)</string>
<string id="30085">Version varning</string>
<string id="30086">Den här versionen av XBMC är annorlunda än den som användes vid skapandet av arkivet</string>
</strings>

View File

@@ -14,7 +14,6 @@
<string id="30019">பாதை உள்ளிடு</string>
<string id="30020">தொலை பாதை உலாவு</string>
<string id="30021">மறுபிரதி கோப்புறை பெயர்</string>
<string id="30022">சத்தமில்லாது ஓட்டவும்</string>
<string id="30023">முறை</string>
<string id="30024">தொலை பாதை உள்ளிடு</string>
<string id="30025">தொலை பாதை உள்ளிடு</string>
@@ -49,4 +48,5 @@
<string id="30073">ஒவ்வொரு வாரமும்</string>
<string id="30074">மாதத்தின் முதல் நாள்</string>
<string id="30075">தனிப்பயன் திட்டமிடு</string>
<string id="30080">சுயவிவரங்கள்</string>
</strings>

View File

@@ -17,4 +17,5 @@
<string id="30070">ศกร์</string>
<string id="30071">เสาร์</string>
<string id="30077">เริ่ม XBMC ใหม่</string>
<string id="30080">ข้อมูลส่วนตัว</string>
</strings>

View File

@@ -5,6 +5,7 @@
<strings>
<string id="30011">Genel</string>
<string id="30016">Yedekle</string>
<string id="30023">Mod</string>
<string id="30032">Veritabanı</string>
<string id="30033">Çalma listesi</string>
@@ -15,4 +16,5 @@
<string id="30069">Perşembe</string>
<string id="30070">Cuma</string>
<string id="30071">Cumartesi</string>
<string id="30080">Profiller</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">Четвер</string>
<string id="30070">П'ятниця</string>
<string id="30071">Субота</string>
<string id="30080">Профілі</string>
</strings>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- Uzbek language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/uz/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30011">Umumiy</string>
<string id="30032">Ma'lumot bazasi</string>
<string id="30033">Ijro ro'yxati</string>
</strings>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- Vietnamese (Viet Nam) language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/vi_VN/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30011">Chung</string>
</strings>

View File

@@ -15,4 +15,5 @@
<string id="30069">Thứ Năm</string>
<string id="30070">Thứ Sáu</string>
<string id="30071">Thứ Bảy</string>
<string id="30080">Tài khoản</string>
</strings>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Translated using Transifex web application. For support, or if you would like to to help out, please visit your language team! -->
<!-- Welsh language-Team URL: http://www.transifex.com/projects/p/xbmc-addons/language/cy/ -->
<!-- Report language file syntax bugs at: alanwww1@xbmc.org -->
<strings>
<string id="30011">Cyffredinol</string>
</strings>

View File

@@ -2,18 +2,30 @@ import xbmc
import xbmcgui
import xbmcvfs
import utils as utils
import os.path
import time
from vfs import XBMCFileSystem,DropboxFileSystem
import json
from vfs import XBMCFileSystem,DropboxFileSystem,ZipFileSystem
from resources.lib.guisettings import GuiSettingsManager
def folderSort(aKey):
result = aKey[0]
if(len(result) < 8):
result = result + "0000"
return result
class XbmcBackup:
#constants for initiating a back or restore
Backup = 0
Restore = 1
#remote file system
#file systems
xbmc_vfs = None
remote_vfs = None
saved_remote_vfs = None
restoreFile = None
remote_base_path = None
@@ -36,7 +48,7 @@ class XbmcBackup:
if(utils.getSetting('remote_selection') == '1'):
self.remote_base_path = utils.getSetting('remote_path_2');
self.remote_vfs = XBMCFileSystem(utils.getSetting('remote_path_2'))
utils.setSetting("remote_path","")
utils.setSetting("remote_path","")
elif(utils.getSetting('remote_selection') == '0'):
self.remote_base_path = utils.getSetting('remote_path');
self.remote_vfs = XBMCFileSystem(utils.getSetting("remote_path"))
@@ -57,11 +69,36 @@ class XbmcBackup:
#get all the folders in the current root path
dirs,files = self.remote_vfs.listdir(self.remote_base_path)
for aDir in dirs:
if(self.remote_vfs.exists(self.remote_base_path + aDir + "/xbmcbackup.val")):
result.append(aDir)
#folder may or may not contain time, older versions didn't include this
folderName = ''
if(len(aDir) > 8):
folderName = aDir[6:8] + '-' + aDir[4:6] + '-' + aDir[0:4] + " " + aDir[8:10] + ":" + aDir[10:12]
else:
folderName = aDir[6:8] + '-' + aDir[4:6] + '-' + aDir[0:4]
result.append((aDir,folderName))
for aFile in files:
file_ext = aFile.split('.')[-1]
folderName = utils.encode(aFile.split('.')[0])
if(file_ext == 'zip' and (len(folderName) == 12 or len(folderName) == 8) and str.isdigit(folderName)):
#folder may or may not contain time, older versions didn't include this
if(len(aFile ) > 8):
folderName = aFile [6:8] + '-' + aFile [4:6] + '-' + aFile [0:4] + " " + aFile [8:10] + ":" + aFile [10:12]
else:
folderName = aFile [6:8] + '-' + aFile [4:6] + '-' + aFile [0:4]
result.append((aFile ,folderName))
result.sort(key=folderSort)
return result
def selectRestore(self,restore_point):
@@ -70,27 +107,41 @@ class XbmcBackup:
def skipAdvanced(self):
self.skip_advanced = True
def run(self,mode=-1,runSilent=False):
def run(self,mode=-1,progressOverride=False):
#set windows setting to true
window = xbmcgui.Window(10000)
window.setProperty(utils.__addon_id__ + ".running","true")
#append backup folder name
progressBarTitle = utils.getString(30010) + " - "
if(mode == self.Backup and self.remote_vfs.root_path != ''):
self.remote_vfs.set_root(self.remote_vfs.root_path + time.strftime("%Y%m%d") + "/")
if(utils.getSetting("compress_backups") == 'true'):
#delete old temp file
if(self.xbmc_vfs.exists(xbmc.translatePath('special://temp/xbmc_backup_temp.zip'))):
self.xbmc_vfs.rmfile(xbmc.translatePath('special://temp/xbmc_backup_temp.zip'))
#save the remote file system and use the zip vfs
self.saved_remote_vfs = self.remote_vfs
self.remote_vfs = ZipFileSystem(xbmc.translatePath("special://temp/xbmc_backup_temp.zip"),"w")
self.remote_vfs.set_root(self.remote_vfs.root_path + time.strftime("%Y%m%d%H%M") + "/")
progressBarTitle = progressBarTitle + utils.getString(30016)
elif(mode == self.Restore and self.restore_point != None and self.remote_vfs.root_path != ''):
self.remote_vfs.set_root(self.remote_vfs.root_path + self.restore_point + "/")
progressBarTitle = progressBarTitle + utils.getString(30017)
else:
elif(mode == self.Restore and self.restore_point != None and self.remote_vfs.root_path != ''):
if(self.restore_point.split('.')[-1] != 'zip'):
self.remote_vfs.set_root(self.remote_vfs.root_path + self.restore_point + "/")
progressBarTitle = progressBarTitle + utils.getString(30017)
else:
#kill the program here
self.remote_vfs = None
return
self.remote_vfs = None
return
utils.log(utils.getString(30047) + ": " + self.xbmc_vfs.root_path)
utils.log(utils.getString(30048) + ": " + self.remote_vfs.root_path)
#check if we should use the progress bar
if(utils.getSetting('run_silent') == 'false' and not runSilent):
self.progressBar = xbmcgui.DialogProgress()
self.progressBar.create(progressBarTitle,utils.getString(30049) + "......")
#setup the progress bar
self.progressBar = BackupProgressBar(progressOverride)
self.progressBar.create(progressBarTitle,utils.getString(30049) + "......")
if(mode == self.Backup):
utils.log(utils.getString(30023) + " - " + utils.getString(30016))
@@ -103,7 +154,14 @@ class XbmcBackup:
self.remote_vfs.mkdir(self.remote_vfs.root_path)
#create a validation file for backup rotation
self._createValidationFile()
writeCheck = self._createValidationFile()
if(not writeCheck):
#we may not be able to write to this destination for some reason
shouldContinue = xbmcgui.Dialog().yesno(utils.getString(30089),utils.getString(30090), utils.getString(30044),autoclose=25000)
if(not shouldContinue):
return
utils.log(utils.getString(30051))
allFiles = []
@@ -111,38 +169,41 @@ class XbmcBackup:
#go through each of the user selected items and write them to the backup store
if(utils.getSetting('backup_addons') == 'true'):
self.remote_vfs.mkdir(self.remote_vfs.root_path + "addons")
fileManager.addFile("-" + xbmc.translatePath('special://home/addons'))
fileManager.walkTree(xbmc.translatePath('special://home/addons'))
self.remote_vfs.mkdir(self.remote_vfs.root_path + "userdata")
fileManager.addFile("-" + xbmc.translatePath('special://home/userdata'))
if(utils.getSetting('backup_addon_data') == 'true'):
self.remote_vfs.mkdir(self.remote_vfs.root_path + "userdata/addon_data")
fileManager.addFile("-" + xbmc.translatePath('special://home/userdata/addon_data'))
fileManager.walkTree(xbmc.translatePath('special://home/userdata/addon_data'))
if(utils.getSetting('backup_database') == 'true'):
self.remote_vfs.mkdir(self.remote_vfs.root_path + "userdata/Database")
fileManager.addFile("-" + xbmc.translatePath('special://home/userdata/Database'))
fileManager.walkTree(xbmc.translatePath('special://home/userdata/Database'))
if(utils.getSetting("backup_playlists") == 'true'):
self.remote_vfs.mkdir(self.remote_vfs.root_path + "userdata/playlists")
fileManager.addFile("-" + xbmc.translatePath('special://home/userdata/playlists'))
fileManager.walkTree(xbmc.translatePath('special://home/userdata/playlists'))
if(utils.getSetting('backup_profiles') == 'true'):
self.remote_vfs.mkdir(self.remote_vfs.root_path + "userdata/profiles")
fileManager.addFile("-" + xbmc.translatePath('special://home/userdata/profiles'))
fileManager.walkTree(xbmc.translatePath('special://home/userdata/profiles'))
if(utils.getSetting("backup_thumbnails") == "true"):
self.remote_vfs.mkdir(self.remote_vfs.root_path + "userdata/Thumbnails")
fileManager.addFile("-" + xbmc.translatePath('special://home/userdata/Thumbnails'))
fileManager.walkTree(xbmc.translatePath('special://home/userdata/Thumbnails'))
if(utils.getSetting("backup_config") == "true"):
self.remote_vfs.mkdir(self.remote_vfs.root_path + "userdata/keymaps")
fileManager.addFile("-" + xbmc.translatePath('special://home/userdata/keymaps'))
fileManager.walkTree(xbmc.translatePath('special://home/userdata/keymaps'))
self.remote_vfs.mkdir(self.remote_vfs.root_path + "userdata/peripheral_data")
fileManager.addFile("-" + xbmc.translatePath('special://home/userdata/peripheral_data'))
fileManager.walkTree(xbmc.translatePath('special://home/userdata/peripheral_data'))
fileManager.addFile('-' + xbmc.translatePath('special://home/userdata/library'))
fileManager.walkTree(xbmc.translatePath('special://home/userdata/library'))
#this part is an oddity
dirs,configFiles = self.xbmc_vfs.listdir(xbmc.translatePath('special://home/userdata/'))
for aFile in configFiles:
@@ -153,12 +214,14 @@ class XbmcBackup:
self.filesTotal = fileManager.size()
allFiles.append({"source":self.xbmc_vfs.root_path,"dest":self.remote_vfs.root_path,"files":fileManager.getFiles()})
orig_base_path = self.remote_vfs.root_path
#check if there are custom directories
if(utils.getSetting('custom_dir_1_enable') == 'true' and utils.getSetting('backup_custom_dir_1') != ''):
#create a special remote path with hash
self.xbmc_vfs.set_root(utils.getSetting('backup_custom_dir_1'))
self.remote_vfs.mkdir(self.remote_vfs.root_path + "custom_" + self._createCRC(self.xbmc_vfs.root_path))
fileManager.addFile("-custom_" + self._createCRC(self.xbmc_vfs.root_path))
#walk the directory
fileManager.walkTree(self.xbmc_vfs.root_path)
@@ -169,7 +232,7 @@ class XbmcBackup:
#create a special remote path with hash
self.xbmc_vfs.set_root(utils.getSetting('backup_custom_dir_2'))
self.remote_vfs.mkdir(self.remote_vfs.root_path + "custom_" + self._createCRC(self.xbmc_vfs.root_path))
fileManager.addFile("-custom_" + self._createCRC(self.xbmc_vfs.root_path))
#walk the directory
fileManager.walkTree(self.xbmc_vfs.root_path)
@@ -182,7 +245,36 @@ class XbmcBackup:
for fileGroup in allFiles:
self.xbmc_vfs.set_root(fileGroup['source'])
self.remote_vfs.set_root(fileGroup['dest'])
self.backupFiles(fileGroup['files'],self.xbmc_vfs,self.remote_vfs)
filesCopied = self.backupFiles(fileGroup['files'],self.xbmc_vfs,self.remote_vfs)
if(not filesCopied):
utils.showNotification(utils.getString(30092))
utils.log(utils.getString(30092))
#reset remote and xbmc vfs
self.xbmc_vfs.set_root("special://home/")
self.remote_vfs.set_root(orig_base_path)
if(utils.getSetting("compress_backups") == 'true'):
#send the zip file to the real remote vfs
zip_name = self.remote_vfs.root_path[:-1] + ".zip"
self.remote_vfs.cleanup()
self.xbmc_vfs.rename(xbmc.translatePath("special://temp/xbmc_backup_temp.zip"), xbmc.translatePath("special://temp/" + zip_name))
fileManager.addFile(xbmc.translatePath("special://temp/" + zip_name))
#set root to data dir home
self.xbmc_vfs.set_root(xbmc.translatePath("special://temp/"))
self.remote_vfs = self.saved_remote_vfs
self.progressBar.updateProgress(98, utils.getString(30088))
fileCopied = self.backupFiles(fileManager.getFiles(),self.xbmc_vfs, self.remote_vfs)
if(not fileCopied):
#zip archive copy filed, inform the user
shouldContinue = xbmcgui.Dialog().ok(utils.getString(30089),utils.getString(30090), utils.getString(30091))
#delete the temp zip file
self.xbmc_vfs.rmfile(xbmc.translatePath("special://temp/" + zip_name))
#remove old backups
self._rotateBackups()
@@ -190,11 +282,42 @@ class XbmcBackup:
elif (mode == self.Restore):
utils.log(utils.getString(30023) + " - " + utils.getString(30017))
#catch for if the restore point is actually a zip file
if(self.restore_point.split('.')[-1] == 'zip'):
self.progressBar.updateProgress(2, utils.getString(30088))
utils.log("copying zip file: " + self.restore_point)
#set root to data dir home
self.xbmc_vfs.set_root(xbmc.translatePath("special://temp/"))
if(not self.xbmc_vfs.exists(xbmc.translatePath("special://temp/" + self.restore_point))):
#copy just this file from the remote vfs
zipFile = []
zipFile.append(self.remote_base_path + self.restore_point)
self.backupFiles(zipFile,self.remote_vfs, self.xbmc_vfs)
else:
utils.log("zip file exists already")
#extract the zip file
zip_vfs = ZipFileSystem(xbmc.translatePath("special://temp/"+ self.restore_point),'r')
zip_vfs.extract(xbmc.translatePath("special://temp/"))
zip_vfs.cleanup()
#set the new remote vfs and fix xbmc path
self.remote_vfs = XBMCFileSystem(xbmc.translatePath("special://temp/" + self.restore_point.split(".")[0] + "/"))
self.xbmc_vfs.set_root(xbmc.translatePath("special://home/"))
#for restores remote path must exist
if(not self.remote_vfs.exists(self.remote_vfs.root_path)):
xbmcgui.Dialog().ok(utils.getString(30010),utils.getString(30045),self.remote_vfs.root_path)
return
if(not self._checkValidationFile(self.remote_vfs.root_path)):
#don't continue
return
utils.log(utils.getString(30051))
allFiles = []
fileManager = FileManager(self.remote_vfs)
@@ -220,12 +343,15 @@ class XbmcBackup:
return
self.xbmc_vfs.mkdir(xbmc.translatePath('special://home/userdata/keymaps'))
fileManager.addFile('-' + self.remote_vfs.root_path + 'userdata/keymaps')
fileManager.walkTree(self.remote_vfs.root_path + "userdata/keymaps")
self.xbmc_vfs.mkdir(xbmc.translatePath('special://home/userdata/peripheral_data'))
fileManager.addFile('-' + self.remote_vfs.root_path + "userdata/peripheral_data")
fileManager.walkTree(self.remote_vfs.root_path + "userdata/peripheral_data")
fileManager.addFile('-' + self.remote_vfs.root_path + "userdata/library")
fileManager.walkTree(self.remote_vfs.root_path + "userdata/library")
#this part is an oddity
dirs,configFiles = self.remote_vfs.listdir(self.remote_vfs.root_path + "userdata/")
for aFile in configFiles:
@@ -233,31 +359,31 @@ class XbmcBackup:
fileManager.addFile(self.remote_vfs.root_path + "userdata/" + aFile)
if(utils.getSetting('backup_addons') == 'true'):
self.xbmc_vfs.mkdir(xbmc.translatePath('special://home/addons'))
fileManager.addFile('-' + self.remote_vfs.root_path + "addons")
fileManager.walkTree(self.remote_vfs.root_path + "addons")
self.xbmc_vfs.mkdir(xbmc.translatePath('special://home/userdata'))
if(utils.getSetting('backup_addon_data') == 'true'):
self.xbmc_vfs.mkdir(xbmc.translatePath('special://home/userdata/addon_data'))
fileManager.addFile('-' + self.remote_vfs.root_path + "userdata/addon_data")
fileManager.walkTree(self.remote_vfs.root_path + "userdata/addon_data")
if(utils.getSetting('backup_database') == 'true'):
self.xbmc_vfs.mkdir(xbmc.translatePath('special://home/userdata/Database'))
fileManager.addFile('-' + self.remote_vfs.root_path + "userdata/Database")
fileManager.walkTree(self.remote_vfs.root_path + "userdata/Database")
if(utils.getSetting("backup_playlists") == 'true'):
self.xbmc_vfs.mkdir(xbmc.translatePath('special://home/userdata/playlists'))
fileManager.addFile('-' + self.remote_vfs.root_path + "userdata/playlists")
fileManager.walkTree(self.remote_vfs.root_path + "userdata/playlists")
if(utils.getSetting('backup_profiles') == 'true'):
self.xbmc_vfs.mkdir(xbmc.translatePath('special://home/userdata/profiles'))
fileManager.addFile('-' + self.remote_vfs.root_path + "userdata/profiles")
fileManager.walkTree(self.remote_vfs.root_path + "userdata/profiles")
if(utils.getSetting("backup_thumbnails") == "true"):
self.xbmc_vfs.mkdir(xbmc.translatePath('special://home/userdata/Thumbnails'))
fileManager.addFile('-' + self.remote_vfs.root_path + "userdata/Thumbnails")
fileManager.walkTree(self.remote_vfs.root_path + "userdata/Thumbnails")
#add to array
self.filesTotal = fileManager.size()
allFiles.append({"source":self.remote_vfs.root_path,"dest":self.xbmc_vfs.root_path,"files":fileManager.getFiles()})
@@ -293,28 +419,53 @@ class XbmcBackup:
self.xbmc_vfs.set_root(fileGroup['dest'])
self.backupFiles(fileGroup['files'],self.remote_vfs,self.xbmc_vfs)
if(self.restore_point.split('.')[-1] == 'zip'):
#delete the zip file and the extracted directory
self.xbmc_vfs.rmfile(xbmc.translatePath("special://temp/" + self.restore_point))
self.xbmc_vfs.rmdir(self.remote_vfs.root_path)
if(utils.getSetting("backup_config") == "true"):
#update the guisettings information (or what we can from it)
gui_settings = GuiSettingsManager('special://home/userdata/guisettings.xml')
gui_settings.run()
#call update addons to refresh everything
xbmc.executebuiltin('UpdateLocalAddons')
if(utils.getSetting('run_silent') == 'false' and not runSilent):
self.progressBar.close()
self.xbmc_vfs.cleanup()
self.remote_vfs.cleanup()
self.progressBar.close()
#reset the window setting
window.setProperty(utils.__addon_id__ + ".running","")
def backupFiles(self,fileList,source,dest):
result = True
utils.log("Writing files to: " + dest.root_path)
utils.log("Source: " + source.root_path)
for aFile in fileList:
if(not self._checkCancel()):
if(not self.progressBar.checkCancel()):
utils.log('Writing file: ' + aFile,xbmc.LOGDEBUG)
self._updateProgress(aFile)
if(aFile.startswith("-")):
self._updateProgress(aFile[len(source.root_path) + 1:])
dest.mkdir(dest.root_path + aFile[len(source.root_path) + 1:])
else:
self._updateProgress()
wroteFile = True
if(isinstance(source,DropboxFileSystem)):
#if copying from dropbox we need the file handle, use get_file
source.get_file(aFile,dest.root_path + aFile[len(source.root_path):])
wroteFile = source.get_file(aFile,dest.root_path + aFile[len(source.root_path):])
else:
#copy using normal method
dest.put(aFile,dest.root_path + aFile[len(source.root_path):])
wroteFile = dest.put(aFile,dest.root_path + aFile[len(source.root_path):])
#if result is still true but this file failed
if(not wroteFile and result):
result = False
return result
def _createCRC(self,string):
#create hash from string
@@ -331,21 +482,10 @@ class XbmcBackup:
crc = crc & 0xFFFFFFFF
return '%08x' % crc
def _updateProgress(self,message=''):
def _updateProgress(self,message=None):
self.filesLeft = self.filesLeft - 1
#update the progress bar
if(self.progressBar != None):
self.progressBar.update(int((float(self.filesTotal - self.filesLeft)/float(self.filesTotal)) * 100),message)
def _checkCancel(self):
result = False
if(self.progressBar != None):
result = self.progressBar.iscanceled()
return result
self.progressBar.updateProgress(int((float(self.filesTotal - self.filesLeft)/float(self.filesTotal)) * 100),message)
def _rotateBackups(self):
total_backups = int(utils.getSetting('backup_rotation'))
@@ -355,23 +495,55 @@ class XbmcBackup:
if(len(dirs) > total_backups):
#remove backups to equal total wanted
dirs.sort()
remove_num = len(dirs) - total_backups - 1
remove_num = 0
self.filesTotal = self.filesTotal + remove_num + 1
#update the progress bar if it is available
while(remove_num >= 0 and not self._checkCancel()):
self._updateProgress(utils.getString(30054) + " " + dirs[remove_num])
utils.log("Removing backup " + dirs[remove_num])
self.remote_vfs.rmdir(self.remote_base_path + dirs[remove_num] + "/")
remove_num = remove_num - 1
while(remove_num < (len(dirs) - total_backups) and not self.progressBar.checkCancel()):
self._updateProgress(utils.getString(30054) + " " + dirs[remove_num][1])
utils.log("Removing backup " + dirs[remove_num][0])
if(dirs[remove_num][0].split('.')[-1] == 'zip'):
#this is a file, remove it that way
self.remote_vfs.rmfile(self.remote_base_path + dirs[remove_num][0])
else:
self.remote_vfs.rmdir(self.remote_base_path + dirs[remove_num][0] + "/")
remove_num = remove_num + 1
def _createValidationFile(self):
vFile = xbmcvfs.File(xbmc.translatePath(utils.data_dir() + "xbmcbackup.val"),'w')
vFile.write("XBMC Backup Validation File")
vFile.write(json.dumps({"name":"XBMC Backup Validation File","xbmc_version":xbmc.getInfoLabel('System.BuildVersion')}))
vFile.write("")
vFile.close()
self.remote_vfs.put(xbmc.translatePath(utils.data_dir() + "xbmcbackup.val"),self.remote_vfs.root_path + "xbmcbackup.val")
success = self.remote_vfs.put(xbmc.translatePath(utils.data_dir() + "xbmcbackup.val"),self.remote_vfs.root_path + "xbmcbackup.val")
return success
def _checkValidationFile(self,path):
result = False
#copy the file and open it
self.xbmc_vfs.put(path + "xbmcbackup.val",xbmc.translatePath(utils.data_dir() + "xbmcbackup.val"))
vFile = xbmcvfs.File(xbmc.translatePath(utils.data_dir() + "xbmcbackup.val"),'r')
jsonString = vFile.read()
vFile.close()
try:
json_dict = json.loads(jsonString)
if(xbmc.getInfoLabel('System.BuildVersion') == json_dict['xbmc_version']):
result = True
else:
result = xbmcgui.Dialog().yesno(utils.getString(30085),utils.getString(30086),utils.getString(30044))
except ValueError:
#may fail on older archives
result = True
return result
def _createResumeBackupFile(self):
rFile = xbmcvfs.File(xbmc.translatePath(utils.data_dir() + "resume.txt"),'w')
@@ -395,6 +567,7 @@ class FileManager:
for aDir in dirs:
dirPath = xbmc.translatePath(directory + "/" + aDir)
file_ext = aDir.split('.')[-1]
self.addFile("-" + dirPath)
#catch for "non directory" type files
@@ -409,7 +582,6 @@ class FileManager:
#copy all the files
for aFile in files:
utils.log(aFile)
filePath = xbmc.translatePath(directory + "/" + aFile)
self.addFile(filePath)
@@ -430,3 +602,54 @@ class FileManager:
def size(self):
return len(self.fileArray)
class BackupProgressBar:
NONE = 2
DIALOG = 0
BACKGROUND = 1
mode = 2
progressBar = None
override = False
def __init__(self,progressOverride):
self.override = progressOverride
#check if we should use the progress bar
if(int(utils.getSetting('progress_mode')) != 2):
#check if background or normal
if(int(utils.getSetting('progress_mode')) == 0 and not self.override):
self.mode = self.DIALOG
self.progressBar = xbmcgui.DialogProgress()
else:
self.mode = self.BACKGROUND
self.progressBar = xbmcgui.DialogProgressBG()
def create(self,heading,message):
if(self.mode != self.NONE):
self.progressBar.create(heading,message)
def updateProgress(self,percent,message=None):
#update the progress bar
if(self.mode != self.NONE):
if(message != None):
#need different calls for dialog and background bars
if(self.mode == self.DIALOG):
self.progressBar.update(percent,message)
else:
self.progressBar.update(percent,message=message)
else:
self.progressBar.update(percent)
def checkCancel(self):
result = False
if(self.mode == self.DIALOG):
result = self.progressBar.iscanceled()
return result
def close(self):
if(self.mode != self.NONE):
self.progressBar.close()

View File

@@ -0,0 +1,99 @@
import utils as utils
from xml.dom import minidom
from xml.parsers.expat import ExpatError
import json
import xbmc,xbmcvfs
class GuiSettingsManager:
settingsFile = None
doc = None
settings_allowed = list()
found_settings = list()
def __init__(self,settingsFile):
self._readFile(xbmc.translatePath(settingsFile))
def run(self):
#get a list of all the settings we can manipulate via json
json_response = json.loads(xbmc.executeJSONRPC('{"jsonrpc":"2.0", "id":1, "method":"Settings.GetSettings","params":{"level":"advanced"}}'))
settings = json_response['result']['settings']
for aSetting in settings:
self.settings_allowed.append(aSetting['id'])
#parse the existing xml file and get all the settings
root_nodes = self.__parseNodes(self.doc.documentElement)
for aNode in root_nodes:
secondary_list = self.__parseNodes(self.doc.getElementsByTagName(aNode.name)[0])
for secondNode in secondary_list:
#if the node does not have children and is not default
if(not secondNode.hasChildren and not secondNode.isDefault):
if(secondNode.json_name() in self.settings_allowed):
self.found_settings.append(secondNode)
#go through all the found settings and update them
for aSetting in self.found_settings:
utils.log("updating: " + aSetting.json_name() + ", value: " + aSetting.value)
#check for boolean and numeric values
if(aSetting.value.isdigit() or (aSetting.value == 'true' or aSetting.value == 'false')):
xbmc.executeJSONRPC('{"jsonrpc":"2.0", "id":1, "method":"Settings.SetSettingValue","params":{"setting":"' + aSetting.json_name() + '","value":' + aSetting.value + '}}')
else:
xbmc.executeJSONRPC('{"jsonrpc":"2.0", "id":1, "method":"Settings.SetSettingValue","params":{"setting":"' + aSetting.json_name() + '","value":"' + aSetting.value + '"}}')
#make a copy of the guisettings file to make user based restores easier
xbmcvfs.copy(self.settingsFile, xbmc.translatePath("special://home/userdata/guisettings.xml.restored"))
def __parseNodes(self,nodeList):
result = []
for node in nodeList.childNodes:
if(node.nodeType == self.doc.ELEMENT_NODE):
aSetting = SettingNode(node.nodeName)
#detect if there are any element nodes
if(len(node.childNodes) > 0):
for child_node in node.childNodes:
if(child_node.nodeType == self.doc.ELEMENT_NODE):
aSetting.hasChildren = True
if(not aSetting.hasChildren and len(node.childNodes) > 0):
aSetting.value = node.firstChild.nodeValue
if('default' not in node.attributes.keys()):
aSetting.isDefault = False
aSetting.parent = node.parentNode.nodeName
result.append(aSetting)
return result
def _readFile(self,fileLoc):
if(xbmcvfs.exists(fileLoc)):
try:
self.doc = minidom.parse(fileLoc)
self.settingsFile = fileLoc
except ExpatError:
utils.log("Can't read " + fileLoc)
class SettingNode:
name = ''
value = ''
hasChildren = False
isDefault = True
parent = ''
def __init__(self,name):
self.name = name
def json_name(self):
return self.parent + "." + self.name

View File

@@ -1,4 +1,5 @@
import xbmc
import xbmcgui
import xbmcaddon
__addon_id__= 'script.xbmcbackup'
@@ -14,10 +15,10 @@ def openSettings():
__Addon.openSettings()
def log(message,loglevel=xbmc.LOGNOTICE):
xbmc.log(encode(__addon_id__ + ": " + message),level=loglevel)
xbmc.log(encode(__addon_id__ + "-" + __Addon.getAddonInfo('version') + ": " + message),level=loglevel)
def showNotification(message):
xbmc.executebuiltin("Notification(" + encode(getString(30010)) + "," + encode(message) + ",4000," + xbmc.translatePath(__Addon.getAddonInfo('path') + "/icon.png") + ")")
xbmcgui.Dialog().notification(encode(getString(30010)),encode(message),time=4000,icon=xbmc.translatePath(__Addon.getAddonInfo('path') + "/icon.png"))
def getSetting(name):
return __Addon.getSetting(name)
@@ -29,4 +30,11 @@ def getString(string_id):
return __Addon.getLocalizedString(string_id)
def encode(string):
return string.encode('UTF-8','replace')
result = ''
try:
result = string.encode('UTF-8','replace')
except UnicodeDecodeError:
result = 'Unicode Error'
return result

View File

@@ -2,7 +2,8 @@ import utils as utils
import xbmc
import xbmcvfs
import xbmcgui
import sys
import zipfile
import zlib
from dropbox import client, rest, session
APP_KEY = utils.getSetting('dropbox_key')
@@ -17,7 +18,7 @@ class Vfs:
def set_root(self,rootString):
old_root = self.root_path
self.root_path = rootString
#fix slashes
self.root_path = self.root_path.replace("\\","/")
@@ -43,8 +44,17 @@ class Vfs:
def rmdir(self,directory):
return True
def rmfile(self,aFile):
return True
def exists(self,aFile):
return True
def rename(self,aFile,newName):
return True
def cleanup(self):
return True
class XBMCFileSystem(Vfs):
@@ -52,17 +62,58 @@ class XBMCFileSystem(Vfs):
return xbmcvfs.listdir(directory)
def mkdir(self,directory):
return xbmcvfs.mkdir(directory)
return xbmcvfs.mkdir(xbmc.translatePath(directory))
def put(self,source,dest):
return xbmcvfs.copy(source,dest)
return xbmcvfs.copy(xbmc.translatePath(source),xbmc.translatePath(dest))
def rmdir(self,directory):
return xbmcvfs.rmdir(directory,True)
def rmfile(self,aFile):
return xbmcvfs.delete(aFile)
def rename(self,aFile,newName):
return xbmcvfs.rename(aFile, newName)
def exists(self,aFile):
return xbmcvfs.exists(aFile)
class ZipFileSystem(Vfs):
zip = None
def __init__(self,rootString,mode):
self.root_path = ""
self.zip = zipfile.ZipFile(rootString,mode=mode,allowZip64=True)
def listdir(self,directory):
return [[],[]]
def mkdir(self,directory):
#self.zip.write(directory[len(self.root_path):])
return False
def put(self,source,dest):
aFile = xbmcvfs.File(xbmc.translatePath(source),'r')
self.zip.writestr(utils.encode(dest),aFile.read(),compress_type=zipfile.ZIP_DEFLATED)
return True
def rmdir(self,directory):
return False
def exists(self,aFile):
return False
def cleanup(self):
self.zip.close()
def extract(self,path):
#extract zip file to path
self.zip.extractall(path)
class DropboxFileSystem(Vfs):
client = None
@@ -131,7 +182,24 @@ class DropboxFileSystem(Vfs):
def rmdir(self,directory):
directory = self._fix_slashes(directory)
if(self.client != None and self.exists(directory)):
#dropbox is stupid and will refuse to do this sometimes, need to delete recursively
dirs,files = self.listdir(directory)
for aDir in dirs:
self.rmdir(aDir)
#finally remove the root directory
self.client.file_delete(directory)
return True
else:
return False
def rmfile(self,aFile):
aFile = self._fix_slashes(aFile)
if(self.client != None and self.exists(aFile)):
self.client.file_delete(aFile)
return True
else:
return False
@@ -147,7 +215,7 @@ class DropboxFileSystem(Vfs):
else:
return False
def put(self,source,dest):
def put(self,source,dest,retry=True):
dest = self._fix_slashes(dest)
if(self.client != None):
@@ -157,8 +225,11 @@ class DropboxFileSystem(Vfs):
return True
except:
#if we have an exception retry
retry = True
return self.put(source,dest)
if(retry):
return self.put(source,dest,False)
else:
#tried once already, just quit
return False
else:
return False

View File

@@ -6,8 +6,9 @@
<setting id="remote_path" type="folder" label="30020" visible="eq(-2,0)" />
<setting id="dropbox_key" type="text" label="30028" visible="eq(-3,2)" default="" />
<setting id="dropbox_secret" type="text" label="30029" visible="eq(-4,2)" default="" />
<setting id="compress_backups" type="bool" label="30087" default="false" />
<setting id="backup_rotation" type="number" label="30026" default="0" />
<setting id="run_silent" type="bool" label="30022" default="false" />
<setting id="progress_mode" type="enum" label="30022" lvalues="30082|30083|30084" default="0" />
</category>
<category id="selection" label="30012">
<setting id="backup_addons" type="bool" label="30030" default="true" />

View File

@@ -25,7 +25,6 @@ class BackupScheduler:
#scheduler was turned on, find next run time
utils.log("scheduler enabled, finding next run time")
self.findNextRun(time.time())
utils.log("scheduler will run again on " + datetime.datetime.fromtimestamp(self.next_run).strftime('%m-%d-%Y %H:%M'))
def start(self):
@@ -46,13 +45,18 @@ class BackupScheduler:
now = time.time()
if(self.next_run <= now):
if(utils.getSetting('run_silent') == 'false'):
progress_mode = int(utils.getSetting('progress_mode'))
if(progress_mode != 2):
utils.showNotification(utils.getString(30053))
#run the job in backup mode, hiding the dialog box
backup = XbmcBackup()
if(backup.remoteConfigured()):
backup.run(XbmcBackup.Backup,True)
if(int(utils.getSetting('progress_mode')) in [0,1]):
backup.run(XbmcBackup.Backup,True)
else:
backup.run(XbmcBackup.Backup,False)
#check if this is a "one-off"
if(int(utils.getSetting("schedule_interval")) == 0):