summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/files/l10n/ca.php1
-rw-r--r--apps/files/l10n/el.php1
-rw-r--r--apps/files/l10n/fa.php1
-rw-r--r--apps/files/l10n/hu_HU.php1
-rw-r--r--apps/files/l10n/ja_JP.php1
-rw-r--r--apps/files/l10n/pt_PT.php1
-rw-r--r--apps/files/l10n/sv.php4
-rw-r--r--apps/files/l10n/th_TH.php9
-rw-r--r--apps/files/l10n/tr.php9
-rw-r--r--apps/files/l10n/zh_CN.php1
-rw-r--r--apps/files/l10n/zh_TW.php1
-rw-r--r--apps/files_encryption/ajax/mode.php38
-rw-r--r--apps/files_encryption/appinfo/app.php38
-rw-r--r--apps/files_encryption/appinfo/database.xml24
-rw-r--r--apps/files_encryption/appinfo/info.xml6
-rw-r--r--apps/files_encryption/appinfo/version2
-rw-r--r--apps/files_encryption/hooks/hooks.php143
-rw-r--r--apps/files_encryption/js/settings-personal.js38
-rw-r--r--apps/files_encryption/js/settings.js34
-rw-r--r--apps/files_encryption/l10n/ar.php3
-rw-r--r--apps/files_encryption/l10n/bg_BG.php5
-rw-r--r--apps/files_encryption/l10n/bn_BD.php5
-rw-r--r--apps/files_encryption/l10n/ca.php3
-rw-r--r--apps/files_encryption/l10n/cs_CZ.php14
-rw-r--r--apps/files_encryption/l10n/da.php3
-rw-r--r--apps/files_encryption/l10n/de.php3
-rw-r--r--apps/files_encryption/l10n/de_DE.php3
-rw-r--r--apps/files_encryption/l10n/el.php5
-rw-r--r--apps/files_encryption/l10n/eo.php3
-rw-r--r--apps/files_encryption/l10n/es.php3
-rw-r--r--apps/files_encryption/l10n/es_AR.php3
-rw-r--r--apps/files_encryption/l10n/et_EE.php3
-rw-r--r--apps/files_encryption/l10n/eu.php3
-rw-r--r--apps/files_encryption/l10n/fa.php3
-rw-r--r--apps/files_encryption/l10n/fi_FI.php3
-rw-r--r--apps/files_encryption/l10n/fr.php3
-rw-r--r--apps/files_encryption/l10n/gl.php3
-rw-r--r--apps/files_encryption/l10n/he.php5
-rw-r--r--apps/files_encryption/l10n/hu_HU.php5
-rw-r--r--apps/files_encryption/l10n/id.php3
-rw-r--r--apps/files_encryption/l10n/is.php5
-rw-r--r--apps/files_encryption/l10n/it.php12
-rw-r--r--apps/files_encryption/l10n/ja_JP.php14
-rw-r--r--apps/files_encryption/l10n/ko.php3
-rw-r--r--apps/files_encryption/l10n/ku_IQ.php3
-rw-r--r--apps/files_encryption/l10n/lt_LT.php3
-rw-r--r--apps/files_encryption/l10n/mk.php3
-rw-r--r--apps/files_encryption/l10n/nb_NO.php3
-rw-r--r--apps/files_encryption/l10n/nl.php3
-rw-r--r--apps/files_encryption/l10n/pl.php3
-rw-r--r--apps/files_encryption/l10n/pt_BR.php3
-rw-r--r--apps/files_encryption/l10n/pt_PT.php14
-rw-r--r--apps/files_encryption/l10n/ro.php3
-rw-r--r--apps/files_encryption/l10n/ru.php3
-rw-r--r--apps/files_encryption/l10n/ru_RU.php3
-rw-r--r--apps/files_encryption/l10n/si_LK.php3
-rw-r--r--apps/files_encryption/l10n/sk_SK.php3
-rw-r--r--apps/files_encryption/l10n/sl.php3
-rw-r--r--apps/files_encryption/l10n/sr.php3
-rw-r--r--apps/files_encryption/l10n/sv.php3
-rw-r--r--apps/files_encryption/l10n/ta_LK.php3
-rw-r--r--apps/files_encryption/l10n/th_TH.php14
-rw-r--r--apps/files_encryption/l10n/tr.php5
-rw-r--r--apps/files_encryption/l10n/uk.php3
-rw-r--r--apps/files_encryption/l10n/vi.php3
-rw-r--r--apps/files_encryption/l10n/zh_CN.GB2312.php3
-rw-r--r--apps/files_encryption/l10n/zh_CN.php3
-rw-r--r--apps/files_encryption/l10n/zh_TW.php3
-rwxr-xr-x[-rw-r--r--]apps/files_encryption/lib/crypt.php952
-rw-r--r--apps/files_encryption/lib/cryptstream.php177
-rwxr-xr-xapps/files_encryption/lib/keymanager.php365
-rw-r--r--apps/files_encryption/lib/proxy.php295
-rw-r--r--apps/files_encryption/lib/session.php66
-rw-r--r--apps/files_encryption/lib/stream.php464
-rw-r--r--apps/files_encryption/lib/util.php330
-rw-r--r--apps/files_encryption/settings-personal.php29
-rw-r--r--apps/files_encryption/settings.php19
-rw-r--r--apps/files_encryption/templates/settings-personal.php45
-rw-r--r--apps/files_encryption/templates/settings.php85
-rw-r--r--apps/files_encryption/test/binary (renamed from apps/files_encryption/tests/binary)bin9734 -> 9734 bytes
-rwxr-xr-xapps/files_encryption/test/crypt.php667
-rw-r--r--apps/files_encryption/test/keymanager.php132
-rw-r--r--apps/files_encryption/test/legacy-encrypted-text.txtbin0 -> 3360 bytes
-rw-r--r--apps/files_encryption/test/proxy.php220
-rw-r--r--apps/files_encryption/test/stream.php226
-rwxr-xr-xapps/files_encryption/test/util.php210
-rw-r--r--apps/files_encryption/test/zeros (renamed from apps/files_encryption/tests/zeros)bin10238 -> 10238 bytes
-rw-r--r--apps/files_encryption/tests/encryption.php72
-rw-r--r--apps/files_encryption/tests/proxy.php117
-rw-r--r--apps/files_encryption/tests/stream.php85
-rw-r--r--apps/files_external/l10n/th_TH.php2
-rw-r--r--apps/files_sharing/l10n/sr.php3
-rw-r--r--apps/user_ldap/l10n/sv.php4
-rw-r--r--apps/user_ldap/l10n/th_TH.php5
-rw-r--r--apps/user_webdavauth/l10n/sv.php4
-rw-r--r--apps/user_webdavauth/l10n/th_TH.php4
-rw-r--r--apps/user_webdavauth/l10n/zh_CN.php4
-rw-r--r--core/js/js.js2
-rw-r--r--core/l10n/fa.php1
-rw-r--r--core/l10n/sr.php8
-rw-r--r--core/l10n/th_TH.php11
-rw-r--r--core/l10n/tr.php24
-rw-r--r--core/templates/layout.base.php1
-rw-r--r--core/templates/layout.guest.php1
-rw-r--r--l10n/ar/files_encryption.po68
-rw-r--r--l10n/bg_BG/files_encryption.po72
-rw-r--r--l10n/bn_BD/files_encryption.po72
-rw-r--r--l10n/ca/files.po9
-rw-r--r--l10n/ca/files_encryption.po70
-rw-r--r--l10n/cs_CZ/files_encryption.po68
-rw-r--r--l10n/da/files_encryption.po68
-rw-r--r--l10n/de/files_encryption.po68
-rw-r--r--l10n/de_DE/files_encryption.po68
-rw-r--r--l10n/el/files.po9
-rw-r--r--l10n/el/files_encryption.po71
-rw-r--r--l10n/eo/files_encryption.po70
-rw-r--r--l10n/es/files_encryption.po70
-rw-r--r--l10n/es_AR/files_encryption.po68
-rw-r--r--l10n/et_EE/files_encryption.po70
-rw-r--r--l10n/eu/files_encryption.po70
-rw-r--r--l10n/fa/core.po72
-rw-r--r--l10n/fa/files.po6
-rw-r--r--l10n/fa/files_encryption.po68
-rw-r--r--l10n/fi_FI/files_encryption.po70
-rw-r--r--l10n/fr/files_encryption.po70
-rw-r--r--l10n/gl/files_encryption.po68
-rw-r--r--l10n/gl/lib.po12
-rw-r--r--l10n/he/files_encryption.po72
-rw-r--r--l10n/hi/files_encryption.po70
-rw-r--r--l10n/hr/files_encryption.po70
-rw-r--r--l10n/hu_HU/files.po9
-rw-r--r--l10n/hu_HU/files_encryption.po72
-rw-r--r--l10n/ia/files_encryption.po70
-rw-r--r--l10n/id/files_encryption.po68
-rw-r--r--l10n/is/files_encryption.po72
-rw-r--r--l10n/it/files_encryption.po70
-rw-r--r--l10n/ja_JP/files.po8
-rw-r--r--l10n/ja_JP/files_encryption.po71
-rw-r--r--l10n/ka_GE/files_encryption.po68
-rw-r--r--l10n/ko/files_encryption.po68
-rw-r--r--l10n/ku_IQ/files_encryption.po68
-rw-r--r--l10n/lb/files_encryption.po70
-rw-r--r--l10n/lt_LT/files_encryption.po70
-rw-r--r--l10n/lv/files_encryption.po70
-rw-r--r--l10n/mk/files_encryption.po68
-rw-r--r--l10n/ms_MY/files_encryption.po70
-rw-r--r--l10n/nb_NO/files_encryption.po70
-rw-r--r--l10n/nl/files_encryption.po70
-rw-r--r--l10n/nn_NO/files_encryption.po70
-rw-r--r--l10n/oc/files_encryption.po68
-rw-r--r--l10n/pl/files_encryption.po70
-rw-r--r--l10n/pl_PL/files_encryption.po70
-rw-r--r--l10n/pt_BR/files_encryption.po68
-rw-r--r--l10n/pt_PT/files.po9
-rw-r--r--l10n/pt_PT/files_encryption.po69
-rw-r--r--l10n/ro/files_encryption.po68
-rw-r--r--l10n/ru/files_encryption.po70
-rw-r--r--l10n/ru_RU/files_encryption.po68
-rw-r--r--l10n/si_LK/files_encryption.po68
-rw-r--r--l10n/sk_SK/files_encryption.po68
-rw-r--r--l10n/sl/files_encryption.po68
-rw-r--r--l10n/sr/core.po86
-rw-r--r--l10n/sr/files_encryption.po68
-rw-r--r--l10n/sr/files_sharing.po18
-rw-r--r--l10n/sr/lib.po12
-rw-r--r--l10n/sr@latin/files_encryption.po70
-rw-r--r--l10n/sv/files.po14
-rw-r--r--l10n/sv/files_encryption.po70
-rw-r--r--l10n/sv/lib.po12
-rw-r--r--l10n/sv/user_ldap.po16
-rw-r--r--l10n/sv/user_webdavauth.po12
-rw-r--r--l10n/ta_LK/files_encryption.po68
-rw-r--r--l10n/templates/core.pot42
-rw-r--r--l10n/templates/files.pot2
-rw-r--r--l10n/templates/files_encryption.pot64
-rw-r--r--l10n/templates/files_external.pot2
-rw-r--r--l10n/templates/files_sharing.pot2
-rw-r--r--l10n/templates/files_versions.pot2
-rw-r--r--l10n/templates/lib.pot2
-rw-r--r--l10n/templates/settings.pot2
-rw-r--r--l10n/templates/user_ldap.pot2
-rw-r--r--l10n/templates/user_webdavauth.pot2
-rw-r--r--l10n/th_TH/core.po92
-rw-r--r--l10n/th_TH/files.po26
-rw-r--r--l10n/th_TH/files_encryption.po70
-rw-r--r--l10n/th_TH/files_external.po18
-rw-r--r--l10n/th_TH/lib.po12
-rw-r--r--l10n/th_TH/settings.po42
-rw-r--r--l10n/th_TH/user_ldap.po18
-rw-r--r--l10n/th_TH/user_webdavauth.po14
-rw-r--r--l10n/tr/core.po117
-rw-r--r--l10n/tr/files.po25
-rw-r--r--l10n/tr/files_encryption.po72
-rw-r--r--l10n/tr/lib.po11
-rw-r--r--l10n/uk/files_encryption.po68
-rw-r--r--l10n/vi/files_encryption.po68
-rw-r--r--l10n/zh_CN.GB2312/files_encryption.po68
-rw-r--r--l10n/zh_CN/files.po9
-rw-r--r--l10n/zh_CN/files_encryption.po68
-rw-r--r--l10n/zh_CN/user_webdavauth.po11
-rw-r--r--l10n/zh_HK/files_encryption.po68
-rw-r--r--l10n/zh_TW/files.po9
-rw-r--r--l10n/zh_TW/files_encryption.po70
-rw-r--r--l10n/zh_TW/lib.po23
-rw-r--r--lib/db.php17
-rw-r--r--lib/filecache.php9
-rw-r--r--lib/filestorage/local.php2
-rw-r--r--lib/filesystemview.php6
-rw-r--r--lib/l10n/gl.php1
-rw-r--r--lib/l10n/sr.php1
-rw-r--r--lib/l10n/sv.php1
-rw-r--r--lib/l10n/th_TH.php1
-rw-r--r--lib/l10n/tr.php1
-rw-r--r--lib/l10n/zh_TW.php13
-rw-r--r--lib/mimetypes.list.php2
-rw-r--r--lib/setup.php4
-rw-r--r--lib/templatelayout.php17
-rw-r--r--settings/l10n/th_TH.php17
-rw-r--r--tests/lib/template.php4
219 files changed, 8406 insertions, 1969 deletions
diff --git a/apps/files/l10n/ca.php b/apps/files/l10n/ca.php
index be330fb82c2..b35a9299de0 100644
--- a/apps/files/l10n/ca.php
+++ b/apps/files/l10n/ca.php
@@ -29,6 +29,7 @@
"'.' is an invalid file name." => "'.' és un nom no vàlid per un fitxer.",
"File name cannot be empty." => "El nom del fitxer no pot ser buit.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no estan permesos.",
+"Your download is being prepared. This might take some time if the files are big." => "S'està preparant la baixada. Pot trigar una estona si els fitxers són grans.",
"Unable to upload your file as it is a directory or has 0 bytes" => "No es pot pujar el fitxer perquè és una carpeta o té 0 bytes",
"Upload Error" => "Error en la pujada",
"Close" => "Tanca",
diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php
index 274367b32a5..cc93943d286 100644
--- a/apps/files/l10n/el.php
+++ b/apps/files/l10n/el.php
@@ -29,6 +29,7 @@
"'.' is an invalid file name." => "'.' είναι μη έγκυρο όνομα αρχείου.",
"File name cannot be empty." => "Το όνομα αρχείου δεν πρέπει να είναι κενό.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Μη έγκυρο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?' και '*' δεν επιτρέπονται.",
+"Your download is being prepared. This might take some time if the files are big." => "Η λήψη προετοιμάζεται. Αυτό μπορεί να πάρει ώρα εάν τα αρχεία έχουν μεγάλο μέγεθος.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Αδυναμία στην αποστολή του αρχείου σας αφού είναι φάκελος ή έχει 0 bytes",
"Upload Error" => "Σφάλμα Αποστολής",
"Close" => "Κλείσιμο",
diff --git a/apps/files/l10n/fa.php b/apps/files/l10n/fa.php
index 24059bdeaba..ec8b5cdec4e 100644
--- a/apps/files/l10n/fa.php
+++ b/apps/files/l10n/fa.php
@@ -8,6 +8,7 @@
"Missing a temporary folder" => "یک پوشه موقت گم شده است",
"Failed to write to disk" => "نوشتن بر روی دیسک سخت ناموفق بود",
"Files" => "فایل ها",
+"Unshare" => "لغو اشتراک",
"Delete" => "پاک کردن",
"Rename" => "تغییرنام",
"replace" => "جایگزین",
diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php
index 57cc0a86302..21797809b69 100644
--- a/apps/files/l10n/hu_HU.php
+++ b/apps/files/l10n/hu_HU.php
@@ -29,6 +29,7 @@
"'.' is an invalid file name." => "'.' fájlnév érvénytelen.",
"File name cannot be empty." => "A fájlnév nem lehet semmi.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'",
+"Your download is being prepared. This might take some time if the files are big." => "Készül a letöltendő állomány. Ez eltarthat egy ideig, ha nagyok a fájlok.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nem tölthető fel, mert mappa volt, vagy 0 byte méretű",
"Upload Error" => "Feltöltési hiba",
"Close" => "Bezárás",
diff --git a/apps/files/l10n/ja_JP.php b/apps/files/l10n/ja_JP.php
index 750b4644d7c..548263f54a3 100644
--- a/apps/files/l10n/ja_JP.php
+++ b/apps/files/l10n/ja_JP.php
@@ -29,6 +29,7 @@
"'.' is an invalid file name." => "'.' は無効なファイル名です。",
"File name cannot be empty." => "ファイル名を空にすることはできません。",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "無効な名前、'\\', '/', '<', '>', ':', '\"', '|', '?', '*' は使用できません。",
+"Your download is being prepared. This might take some time if the files are big." => "ダウンロードの準備中です。ファイルサイズが大きい場合は少し時間がかかるかもしれません。",
"Unable to upload your file as it is a directory or has 0 bytes" => "ディレクトリもしくは0バイトのファイルはアップロードできません",
"Upload Error" => "アップロードエラー",
"Close" => "閉じる",
diff --git a/apps/files/l10n/pt_PT.php b/apps/files/l10n/pt_PT.php
index d3f22513261..0ed13fa9983 100644
--- a/apps/files/l10n/pt_PT.php
+++ b/apps/files/l10n/pt_PT.php
@@ -29,6 +29,7 @@
"'.' is an invalid file name." => "'.' não é um nome de ficheiro válido!",
"File name cannot be empty." => "O nome do ficheiro não pode estar vazio.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
+"Your download is being prepared. This might take some time if the files are big." => "O seu download está a ser preparado. Este processo pode demorar algum tempo se os ficheiros forem grandes.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Não é possível fazer o envio do ficheiro devido a ser uma pasta ou ter 0 bytes",
"Upload Error" => "Erro no envio",
"Close" => "Fechar",
diff --git a/apps/files/l10n/sv.php b/apps/files/l10n/sv.php
index df75f15e7a7..7597f6908eb 100644
--- a/apps/files/l10n/sv.php
+++ b/apps/files/l10n/sv.php
@@ -1,5 +1,8 @@
<?php $TRANSLATIONS = array(
"Upload" => "Ladda upp",
+"Could not move %s - File with this name already exists" => "Kunde inte flytta %s - Det finns redan en fil med detta namn",
+"Could not move %s" => "Kan inte flytta %s",
+"Unable to rename file" => "Kan inte byta namn på filen",
"No file was uploaded. Unknown error" => "Ingen fil uppladdad. Okänt fel",
"There is no error, the file uploaded with success" => "Inga fel uppstod. Filen laddades upp utan problem",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Den uppladdade filen överskrider upload_max_filesize direktivet php.ini:",
@@ -26,6 +29,7 @@
"'.' is an invalid file name." => "'.' är ett ogiltigt filnamn.",
"File name cannot be empty." => "Filnamn kan inte vara tomt.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte tillåtet.",
+"Your download is being prepared. This might take some time if the files are big." => "Din nedladdning förbereds. Det kan ta tid om det är stora filer.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kunde inte ladda upp dina filer eftersom det antingen är en mapp eller har 0 bytes.",
"Upload Error" => "Uppladdningsfel",
"Close" => "Stäng",
diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php
index f2394f04495..43a905ea3bc 100644
--- a/apps/files/l10n/th_TH.php
+++ b/apps/files/l10n/th_TH.php
@@ -1,5 +1,8 @@
<?php $TRANSLATIONS = array(
"Upload" => "อัพโหลด",
+"Could not move %s - File with this name already exists" => "ไม่สามารถย้าย %s ได้ - ไฟล์ที่ใช้ชื่อนี้มีอยู่แล้ว",
+"Could not move %s" => "ไม่สามารถย้าย %s ได้",
+"Unable to rename file" => "ไม่สามารถเปลี่ยนชื่อไฟล์ได้",
"No file was uploaded. Unknown error" => "ยังไม่มีไฟล์ใดที่ถูกอัพโหลด เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ",
"There is no error, the file uploaded with success" => "ไม่มีข้อผิดพลาดใดๆ ไฟล์ถูกอัพโหลดเรียบร้อยแล้ว",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "ขนาดไฟล์ที่อัพโหลดมีขนาดเกิน upload_max_filesize ที่ระบุไว้ใน php.ini",
@@ -8,6 +11,8 @@
"No file was uploaded" => "ยังไม่มีไฟล์ที่ถูกอัพโหลด",
"Missing a temporary folder" => "แฟ้มเอกสารชั่วคราวเกิดการสูญหาย",
"Failed to write to disk" => "เขียนข้อมูลลงแผ่นดิสก์ล้มเหลว",
+"Not enough space available" => "มีพื้นที่เหลือไม่เพียงพอ",
+"Invalid directory." => "ไดเร็กทอรี่ไม่ถูกต้อง",
"Files" => "ไฟล์",
"Unshare" => "ยกเลิกการแชร์ข้อมูล",
"Delete" => "ลบ",
@@ -21,7 +26,10 @@
"replaced {new_name} with {old_name}" => "แทนที่ {new_name} ด้วย {old_name} แล้ว",
"unshared {files}" => "ยกเลิกการแชร์แล้ว {files} ไฟล์",
"deleted {files}" => "ลบไฟล์แล้ว {files} ไฟล์",
+"'.' is an invalid file name." => "'.' เป็นชื่อไฟล์ที่ไม่ถูกต้อง",
+"File name cannot be empty." => "ชื่อไฟล์ไม่สามารถเว้นว่างได้",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "ชื่อที่ใช้ไม่ถูกต้อง, '\\', '/', '<', '>', ':', '\"', '|', '?' และ '*' ไม่ได้รับอนุญาตให้ใช้งานได้",
+"Your download is being prepared. This might take some time if the files are big." => "กำลังเตรียมดาวน์โหลดข้อมูล หากไฟล์มีขนาดใหญ่ อาจใช้เวลาสักครู่",
"Unable to upload your file as it is a directory or has 0 bytes" => "ไม่สามารถอัพโหลดไฟล์ของคุณได้ เนื่องจากไฟล์ดังกล่าวเป็นไดเร็กทอรี่หรือมีขนาด 0 ไบต์",
"Upload Error" => "เกิดข้อผิดพลาดในการอัพโหลด",
"Close" => "ปิด",
@@ -31,6 +39,7 @@
"Upload cancelled." => "การอัพโหลดถูกยกเลิก",
"File upload is in progress. Leaving the page now will cancel the upload." => "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก",
"URL cannot be empty." => "URL ไม่สามารถเว้นว่างได้",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "ชื่อโฟลเดอร์ไม่ถูกต้อง การใช้งาน 'แชร์' สงวนไว้สำหรับ Owncloud เท่านั้น",
"{count} files scanned" => "สแกนไฟล์แล้ว {count} ไฟล์",
"error while scanning" => "พบข้อผิดพลาดในระหว่างการสแกนไฟล์",
"Name" => "ชื่อ",
diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php
index c49c7e47dd3..6b390570f30 100644
--- a/apps/files/l10n/tr.php
+++ b/apps/files/l10n/tr.php
@@ -1,5 +1,8 @@
<?php $TRANSLATIONS = array(
"Upload" => "Yükle",
+"Could not move %s - File with this name already exists" => "%s taşınamadı. Bu isimde dosya zaten var.",
+"Could not move %s" => "%s taşınamadı",
+"Unable to rename file" => "Dosya adı değiştirilemedi",
"No file was uploaded. Unknown error" => "Dosya yüklenmedi. Bilinmeyen hata",
"There is no error, the file uploaded with success" => "Bir hata yok, dosya başarıyla yüklendi",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "php.ini dosyasında upload_max_filesize ile belirtilen dosya yükleme sınırı aşıldı.",
@@ -8,6 +11,8 @@
"No file was uploaded" => "Hiç dosya yüklenmedi",
"Missing a temporary folder" => "Geçici bir klasör eksik",
"Failed to write to disk" => "Diske yazılamadı",
+"Not enough space available" => "Yeterli disk alanı yok",
+"Invalid directory." => "Geçersiz dizin.",
"Files" => "Dosyalar",
"Unshare" => "Paylaşılmayan",
"Delete" => "Sil",
@@ -21,7 +26,10 @@
"replaced {new_name} with {old_name}" => "{new_name} ismi {old_name} ile değiştirildi",
"unshared {files}" => "paylaşılmamış {files}",
"deleted {files}" => "silinen {files}",
+"'.' is an invalid file name." => "'.' geçersiz dosya adı.",
+"File name cannot be empty." => "Dosya adı boş olamaz.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Geçersiz isim, '\\', '/', '<', '>', ':', '\"', '|', '?' ve '*' karakterlerine izin verilmemektedir.",
+"Your download is being prepared. This might take some time if the files are big." => "İndirmeniz hazırlanıyor. Dosya büyük ise biraz zaman alabilir.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Dosyanızın boyutu 0 byte olduğundan veya bir dizin olduğundan yüklenemedi",
"Upload Error" => "Yükleme hatası",
"Close" => "Kapat",
@@ -31,6 +39,7 @@
"Upload cancelled." => "Yükleme iptal edildi.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Dosya yükleme işlemi sürüyor. Şimdi sayfadan ayrılırsanız işleminiz iptal olur.",
"URL cannot be empty." => "URL boş olamaz.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Geçersiz dizin adı. Shared isminin kullanımı Owncloud tarafından rezerver edilmiştir.",
"{count} files scanned" => "{count} dosya tarandı",
"error while scanning" => "tararamada hata oluşdu",
"Name" => "Ad",
diff --git a/apps/files/l10n/zh_CN.php b/apps/files/l10n/zh_CN.php
index 3e9a13b5194..f8dedc118e0 100644
--- a/apps/files/l10n/zh_CN.php
+++ b/apps/files/l10n/zh_CN.php
@@ -29,6 +29,7 @@
"'.' is an invalid file name." => "'.' 是一个无效的文件名。",
"File name cannot be empty." => "文件名不能为空。",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "无效名称,'\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 不被允许使用。",
+"Your download is being prepared. This might take some time if the files are big." => "下载正在准备中。如果文件较大可能会花费一些时间。",
"Unable to upload your file as it is a directory or has 0 bytes" => "无法上传文件,因为它是一个目录或者大小为 0 字节",
"Upload Error" => "上传错误",
"Close" => "关闭",
diff --git a/apps/files/l10n/zh_TW.php b/apps/files/l10n/zh_TW.php
index 61f8c288288..2bf15af1c42 100644
--- a/apps/files/l10n/zh_TW.php
+++ b/apps/files/l10n/zh_TW.php
@@ -29,6 +29,7 @@
"'.' is an invalid file name." => "'.' 是不合法的檔名。",
"File name cannot be empty." => "檔名不能為空。",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "檔名不合法,不允許 '\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 。",
+"Your download is being prepared. This might take some time if the files are big." => "正在準備您的下載,若您的檔案較大,將會需要更多時間。",
"Unable to upload your file as it is a directory or has 0 bytes" => "無法上傳您的檔案因為它可能是一個目錄或檔案大小為0",
"Upload Error" => "上傳發生錯誤",
"Close" => "關閉",
diff --git a/apps/files_encryption/ajax/mode.php b/apps/files_encryption/ajax/mode.php
new file mode 100644
index 00000000000..64c5be94401
--- /dev/null
+++ b/apps/files_encryption/ajax/mode.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Copyright (c) 2012, Bjoern Schiessle <schiessle@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+use OCA\Encryption\Keymanager;
+
+OCP\JSON::checkAppEnabled('files_encryption');
+OCP\JSON::checkLoggedIn();
+OCP\JSON::callCheck();
+
+$mode = $_POST['mode'];
+$changePasswd = false;
+$passwdChanged = false;
+
+if ( isset($_POST['newpasswd']) && isset($_POST['oldpasswd']) ) {
+ $oldpasswd = $_POST['oldpasswd'];
+ $newpasswd = $_POST['newpasswd'];
+ $changePasswd = true;
+ $passwdChanged = Keymanager::changePasswd($oldpasswd, $newpasswd);
+}
+
+$query = \OC_DB::prepare( "SELECT mode FROM *PREFIX*encryption WHERE uid = ?" );
+$result = $query->execute(array(\OCP\User::getUser()));
+
+if ($result->fetchRow()){
+ $query = OC_DB::prepare( 'UPDATE *PREFIX*encryption SET mode = ? WHERE uid = ?' );
+} else {
+ $query = OC_DB::prepare( 'INSERT INTO *PREFIX*encryption ( mode, uid ) VALUES( ?, ? )' );
+}
+
+if ( (!$changePasswd || $passwdChanged) && $query->execute(array($mode, \OCP\User::getUser())) ) {
+ OCP\JSON::success();
+} else {
+ OCP\JSON::error();
+} \ No newline at end of file
diff --git a/apps/files_encryption/appinfo/app.php b/apps/files_encryption/appinfo/app.php
index 2a30d0beb67..31b430d37a9 100644
--- a/apps/files_encryption/appinfo/app.php
+++ b/apps/files_encryption/appinfo/app.php
@@ -1,21 +1,37 @@
<?php
-OC::$CLASSPATH['OC_Crypt'] = 'apps/files_encryption/lib/crypt.php';
-OC::$CLASSPATH['OC_CryptStream'] = 'apps/files_encryption/lib/cryptstream.php';
-OC::$CLASSPATH['OC_FileProxy_Encryption'] = 'apps/files_encryption/lib/proxy.php';
+OC::$CLASSPATH['OCA\Encryption\Crypt'] = 'apps/files_encryption/lib/crypt.php';
+OC::$CLASSPATH['OCA\Encryption\Hooks'] = 'apps/files_encryption/hooks/hooks.php';
+OC::$CLASSPATH['OCA\Encryption\Util'] = 'apps/files_encryption/lib/util.php';
+OC::$CLASSPATH['OCA\Encryption\Keymanager'] = 'apps/files_encryption/lib/keymanager.php';
+OC::$CLASSPATH['OCA\Encryption\Stream'] = 'apps/files_encryption/lib/stream.php';
+OC::$CLASSPATH['OCA\Encryption\Proxy'] = 'apps/files_encryption/lib/proxy.php';
+OC::$CLASSPATH['OCA\Encryption\Session'] = 'apps/files_encryption/lib/session.php';
-OC_FileProxy::register(new OC_FileProxy_Encryption());
+OC_FileProxy::register( new OCA\Encryption\Proxy() );
-OCP\Util::connectHook('OC_User', 'post_login', 'OC_Crypt', 'loginListener');
+OCP\Util::connectHook( 'OC_User','post_login', 'OCA\Encryption\Hooks', 'login' );
+OCP\Util::connectHook( 'OC_Webdav_Properties', 'update', 'OCA\Encryption\Hooks', 'updateKeyfile' );
+OCP\Util::connectHook( 'OC_User','post_setPassword','OCA\Encryption\Hooks' ,'setPassphrase' );
-stream_wrapper_register('crypt', 'OC_CryptStream');
+stream_wrapper_register( 'crypt', 'OCA\Encryption\Stream' );
-// force the user to re-loggin if the encryption key isn't unlocked
-// (happens when a user is logged in before the encryption app is enabled)
-if ( ! isset($_SESSION['enckey']) and OCP\User::isLoggedIn()) {
+$session = new OCA\Encryption\Session();
+
+if (
+! $session->getPrivateKey( \OCP\USER::getUser() )
+&& OCP\User::isLoggedIn()
+&& OCA\Encryption\Crypt::mode() == 'server'
+) {
+
+ // Force the user to re-log in if the encryption key isn't unlocked (happens when a user is logged in before the encryption app is enabled)
OCP\User::logout();
- header("Location: ".OC::$WEBROOT.'/');
+
+ header( "Location: " . OC::$WEBROOT.'/' );
+
exit();
+
}
-OCP\App::registerAdmin('files_encryption', 'settings'); \ No newline at end of file
+OCP\App::registerAdmin( 'files_encryption', 'settings');
+OCP\App::registerPersonal( 'files_encryption', 'settings-personal' ); \ No newline at end of file
diff --git a/apps/files_encryption/appinfo/database.xml b/apps/files_encryption/appinfo/database.xml
new file mode 100644
index 00000000000..d294c35d63d
--- /dev/null
+++ b/apps/files_encryption/appinfo/database.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<database>
+ <name>*dbname*</name>
+ <create>true</create>
+ <overwrite>false</overwrite>
+ <charset>utf8</charset>
+ <table>
+ <name>*dbprefix*encryption</name>
+ <declaration>
+ <field>
+ <name>uid</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>64</length>
+ </field>
+ <field>
+ <name>mode</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>64</length>
+ </field>
+ </declaration>
+ </table>
+</database> \ No newline at end of file
diff --git a/apps/files_encryption/appinfo/info.xml b/apps/files_encryption/appinfo/info.xml
index 48a28fde78a..39ea155488f 100644
--- a/apps/files_encryption/appinfo/info.xml
+++ b/apps/files_encryption/appinfo/info.xml
@@ -2,10 +2,10 @@
<info>
<id>files_encryption</id>
<name>Encryption</name>
- <description>Server side encryption of files. DEPRECATED. This app is no longer supported and will be replaced with an improved version in ownCloud 5. Only enable this features if you want to read old encrypted data. Warning: You will lose your data if you enable this App and forget your password. Encryption is not yet compatible with LDAP.</description>
+ <description>Server side encryption of files. Warning: You will lose your data if you enable this App and forget your password. Encryption is not yet compatible with LDAP.</description>
<licence>AGPL</licence>
- <author>Robin Appelman</author>
- <require>4.9</require>
+ <author>Sam Tuke</author>
+ <require>4</require>
<shipped>true</shipped>
<types>
<filesystem/>
diff --git a/apps/files_encryption/appinfo/version b/apps/files_encryption/appinfo/version
index 2f4536184bc..7dff5b89211 100644
--- a/apps/files_encryption/appinfo/version
+++ b/apps/files_encryption/appinfo/version
@@ -1 +1 @@
-0.2 \ No newline at end of file
+0.2.1 \ No newline at end of file
diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php
new file mode 100644
index 00000000000..c2f97247835
--- /dev/null
+++ b/apps/files_encryption/hooks/hooks.php
@@ -0,0 +1,143 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Sam Tuke
+ * @copyright 2012 Sam Tuke samtuke@owncloud.org
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Encryption;
+
+/**
+ * Class for hook specific logic
+ */
+
+class Hooks {
+
+ # TODO: use passphrase for encrypting private key that is separate to the login password
+
+ /**
+ * @brief Startup encryption backend upon user login
+ * @note This method should never be called for users using client side encryption
+ */
+ public static function login( $params ) {
+
+// if ( Crypt::mode( $params['uid'] ) == 'server' ) {
+
+ # TODO: use lots of dependency injection here
+
+ $view = new \OC_FilesystemView( '/' );
+
+ $util = new Util( $view, $params['uid'] );
+
+ if ( ! $util->ready() ) {
+
+ \OC_Log::write( 'Encryption library', 'User account "' . $params['uid'] . '" is not ready for encryption; configuration started' , \OC_Log::DEBUG );
+
+ return $util->setupServerSide( $params['password'] );
+
+ }
+
+ \OC_FileProxy::$enabled = false;
+
+ $encryptedKey = Keymanager::getPrivateKey( $view, $params['uid'] );
+
+ \OC_FileProxy::$enabled = true;
+
+ # TODO: dont manually encrypt the private keyfile - use the config options of openssl_pkey_export instead for better mobile compatibility
+
+ $privateKey = Crypt::symmetricDecryptFileContent( $encryptedKey, $params['password'] );
+
+ $session = new Session();
+
+ $session->setPrivateKey( $privateKey, $params['uid'] );
+
+ $view1 = new \OC_FilesystemView( '/' . $params['uid'] );
+
+ // Set legacy encryption key if it exists, to support
+ // depreciated encryption system
+ if (
+ $view1->file_exists( 'encryption.key' )
+ && $legacyKey = $view1->file_get_contents( 'encryption.key' )
+ ) {
+
+ $_SESSION['legacyenckey'] = Crypt::legacyDecrypt( $legacyKey, $params['password'] );
+
+ }
+// }
+
+ return true;
+
+ }
+
+ /**
+ * @brief Change a user's encryption passphrase
+ * @param array $params keys: uid, password
+ */
+ public static function setPassphrase( $params ) {
+
+ // Only attempt to change passphrase if server-side encryption
+ // is in use (client-side encryption does not have access to
+ // the necessary keys)
+ if ( Crypt::mode() == 'server' ) {
+
+ // Get existing decrypted private key
+ $privateKey = $_SESSION['privateKey'];
+
+ // Encrypt private key with new user pwd as passphrase
+ $encryptedPrivateKey = Crypt::symmetricEncryptFileContent( $privateKey, $params['password'] );
+
+ // Save private key
+ Keymanager::setPrivateKey( $encryptedPrivateKey );
+
+ # NOTE: Session does not need to be updated as the
+ # private key has not changed, only the passphrase
+ # used to decrypt it has changed
+
+ }
+
+ }
+
+ /**
+ * @brief update the encryption key of the file uploaded by the client
+ */
+ public static function updateKeyfile( $params ) {
+
+ if ( Crypt::mode() == 'client' ) {
+
+ if ( isset( $params['properties']['key'] ) ) {
+
+ Keymanager::setFileKey( $params['path'], $params['properties']['key'] );
+
+ } else {
+
+ \OC_Log::write(
+ 'Encryption library', "Client side encryption is enabled but the client doesn't provide a encryption key for the file!"
+ , \OC_Log::ERROR
+ );
+
+ error_log( "Client side encryption is enabled but the client doesn't provide an encryption key for the file!" );
+
+ }
+
+ }
+
+ }
+
+}
+
+?> \ No newline at end of file
diff --git a/apps/files_encryption/js/settings-personal.js b/apps/files_encryption/js/settings-personal.js
new file mode 100644
index 00000000000..1a53e99d2b4
--- /dev/null
+++ b/apps/files_encryption/js/settings-personal.js
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2012, Bjoern Schiessle <schiessle@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+$(document).ready(function(){
+ $('input[name=encryption_mode]').change(function(){
+ var prevmode = document.getElementById('prev_encryption_mode').value
+ var client=$('input[value="client"]:checked').val()
+ ,server=$('input[value="server"]:checked').val()
+ ,user=$('input[value="user"]:checked').val()
+ ,none=$('input[value="none"]:checked').val()
+ if (client) {
+ $.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'client' });
+ if (prevmode == 'server') {
+ OC.dialogs.info(t('encryption', 'Please switch to your ownCloud client and change your encryption password to complete the conversion.'), t('encryption', 'switched to client side encryption'));
+ }
+ } else if (server) {
+ if (prevmode == 'client') {
+ OC.dialogs.form([{text:'Login password', name:'newpasswd', type:'password'},{text:'Encryption password used on the client', name:'oldpasswd', type:'password'}],t('encryption', 'Change encryption password to login password'), function(data) {
+ $.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'server', newpasswd: data[0].value, oldpasswd: data[1].value }, function(result) {
+ if (result.status != 'success') {
+ document.getElementById(prevmode+'_encryption').checked = true;
+ OC.dialogs.alert(t('encryption', 'Please check your passwords and try again.'), t('encryption', 'Could not change your file encryption password to your login password'))
+ } else {
+ console.log("alles super");
+ }
+ }, true);
+ });
+ } else {
+ $.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'server' });
+ }
+ } else {
+ $.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'none' });
+ }
+ })
+}) \ No newline at end of file
diff --git a/apps/files_encryption/js/settings.js b/apps/files_encryption/js/settings.js
index 6fc70eba7f6..60563bde859 100644
--- a/apps/files_encryption/js/settings.js
+++ b/apps/files_encryption/js/settings.js
@@ -11,14 +11,36 @@ $(document).ready(function(){
onuncheck:blackListChange,
createText:'...',
});
-
+
function blackListChange(){
var blackList=$('#encryption_blacklist').val().join(',');
OC.AppConfig.setValue('files_encryption','type_blacklist',blackList);
}
- $('#enable_encryption').change(function(){
- var checked=$('#enable_encryption').is(':checked');
- OC.AppConfig.setValue('files_encryption','enable_encryption',(checked)?'true':'false');
- });
-});
+ //TODO: Handle switch between client and server side encryption
+ $('input[name=encryption_mode]').change(function(){
+ var client=$('input[value="client"]:checked').val()
+ ,server=$('input[value="server"]:checked').val()
+ ,user=$('input[value="user"]:checked').val()
+ ,none=$('input[value="none"]:checked').val()
+ ,disable=false
+ if (client) {
+ OC.AppConfig.setValue('files_encryption','mode','client');
+ disable = true;
+ } else if (server) {
+ OC.AppConfig.setValue('files_encryption','mode','server');
+ disable = true;
+ } else if (user) {
+ OC.AppConfig.setValue('files_encryption','mode','user');
+ disable = true;
+ } else {
+ OC.AppConfig.setValue('files_encryption','mode','none');
+ }
+ if (disable) {
+ document.getElementById('server_encryption').disabled = true;
+ document.getElementById('client_encryption').disabled = true;
+ document.getElementById('user_encryption').disabled = true;
+ document.getElementById('none_encryption').disabled = true;
+ }
+ })
+}) \ No newline at end of file
diff --git a/apps/files_encryption/l10n/ar.php b/apps/files_encryption/l10n/ar.php
index 756a9d72799..f08585e485f 100644
--- a/apps/files_encryption/l10n/ar.php
+++ b/apps/files_encryption/l10n/ar.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "التشفير",
"Exclude the following file types from encryption" => "استبعد أنواع الملفات التالية من التشفير",
-"None" => "لا شيء",
-"Enable Encryption" => "تفعيل التشفير"
+"None" => "لا شيء"
);
diff --git a/apps/files_encryption/l10n/bg_BG.php b/apps/files_encryption/l10n/bg_BG.php
index cb1613ef375..4ceee127af1 100644
--- a/apps/files_encryption/l10n/bg_BG.php
+++ b/apps/files_encryption/l10n/bg_BG.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Криптиране",
-"Enable Encryption" => "Включване на криптирането",
-"None" => "Няма",
-"Exclude the following file types from encryption" => "Изключване на следните файлови типове от криптирането"
+"Exclude the following file types from encryption" => "Изключване на следните файлови типове от криптирането",
+"None" => "Няма"
);
diff --git a/apps/files_encryption/l10n/bn_BD.php b/apps/files_encryption/l10n/bn_BD.php
index c8f041d7622..29c486b8ca0 100644
--- a/apps/files_encryption/l10n/bn_BD.php
+++ b/apps/files_encryption/l10n/bn_BD.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "সংকেতায়ন",
-"Enable Encryption" => "সংকেতায়ন সক্রিয় কর",
-"None" => "কোনটিই নয়",
-"Exclude the following file types from encryption" => "সংকেতায়ন থেকে নিম্নোক্ত ধরণসমূহ বাদ দাও"
+"Exclude the following file types from encryption" => "সংকেতায়ন থেকে নিম্নোক্ত ধরণসমূহ বাদ দাও",
+"None" => "কোনটিই নয়"
);
diff --git a/apps/files_encryption/l10n/ca.php b/apps/files_encryption/l10n/ca.php
index 8e087b34620..d97a8666df4 100644
--- a/apps/files_encryption/l10n/ca.php
+++ b/apps/files_encryption/l10n/ca.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Encriptatge",
"Exclude the following file types from encryption" => "Exclou els tipus de fitxers següents de l'encriptatge",
-"None" => "Cap",
-"Enable Encryption" => "Activa l'encriptatge"
+"None" => "Cap"
);
diff --git a/apps/files_encryption/l10n/cs_CZ.php b/apps/files_encryption/l10n/cs_CZ.php
index 9be2be98092..5948a9b82e8 100644
--- a/apps/files_encryption/l10n/cs_CZ.php
+++ b/apps/files_encryption/l10n/cs_CZ.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Prosím přejděte na svého klienta ownCloud a nastavte šifrovací heslo pro dokončení konverze.",
+"switched to client side encryption" => "přepnuto na šifrování na straně klienta",
+"Change encryption password to login password" => "Změnit šifrovací heslo na přihlašovací",
+"Please check your passwords and try again." => "Zkontrolujte, prosím, své heslo a zkuste to znovu.",
+"Could not change your file encryption password to your login password" => "Nelze změnit šifrovací heslo na přihlašovací.",
+"Choose encryption mode:" => "Vyberte režim šifrování:",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Šifrování na straně klienta (nejbezpečnější ale neumožňuje vám přistupovat k souborům z webového rozhraní)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Šifrování na straně serveru (umožňuje vám přistupovat k souborům pomocí webového rozhraní i aplikací)",
+"None (no encryption at all)" => "Žádný (vůbec žádné šifrování)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Důležité: jak si jednou vyberete režim šifrování nelze jej opětovně změnit",
+"User specific (let the user decide)" => "Definován uživatelem (umožní uživateli si vybrat)",
"Encryption" => "Šifrování",
"Exclude the following file types from encryption" => "Při šifrování vynechat následující typy souborů",
-"None" => "Žádné",
-"Enable Encryption" => "Povolit šifrování"
+"None" => "Žádné"
);
diff --git a/apps/files_encryption/l10n/da.php b/apps/files_encryption/l10n/da.php
index 144c9f97084..1b4664ce1cb 100644
--- a/apps/files_encryption/l10n/da.php
+++ b/apps/files_encryption/l10n/da.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Kryptering",
"Exclude the following file types from encryption" => "Ekskluder følgende filtyper fra kryptering",
-"None" => "Ingen",
-"Enable Encryption" => "Aktivér kryptering"
+"None" => "Ingen"
);
diff --git a/apps/files_encryption/l10n/de.php b/apps/files_encryption/l10n/de.php
index d486a82322b..34c596dc4bb 100644
--- a/apps/files_encryption/l10n/de.php
+++ b/apps/files_encryption/l10n/de.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Verschlüsselung",
"Exclude the following file types from encryption" => "Die folgenden Dateitypen von der Verschlüsselung ausnehmen",
-"None" => "Keine",
-"Enable Encryption" => "Verschlüsselung aktivieren"
+"None" => "Keine"
);
diff --git a/apps/files_encryption/l10n/de_DE.php b/apps/files_encryption/l10n/de_DE.php
index d486a82322b..34c596dc4bb 100644
--- a/apps/files_encryption/l10n/de_DE.php
+++ b/apps/files_encryption/l10n/de_DE.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Verschlüsselung",
"Exclude the following file types from encryption" => "Die folgenden Dateitypen von der Verschlüsselung ausnehmen",
-"None" => "Keine",
-"Enable Encryption" => "Verschlüsselung aktivieren"
+"None" => "Keine"
);
diff --git a/apps/files_encryption/l10n/el.php b/apps/files_encryption/l10n/el.php
index 40a7c6a3672..cbf65b5cfa0 100644
--- a/apps/files_encryption/l10n/el.php
+++ b/apps/files_encryption/l10n/el.php
@@ -1,6 +1,7 @@
<?php $TRANSLATIONS = array(
+"Please check your passwords and try again." => "Παρακαλώ ελέγξτε το συνθηματικό σας και προσπαθήστε ξανά.",
+"Choose encryption mode:" => "Επιλογή κατάστασης κρυπτογράφησης:",
"Encryption" => "Κρυπτογράφηση",
"Exclude the following file types from encryption" => "Εξαίρεση των παρακάτω τύπων αρχείων από την κρυπτογράφηση",
-"None" => "Καμία",
-"Enable Encryption" => "Ενεργοποίηση Κρυπτογράφησης"
+"None" => "Καμία"
);
diff --git a/apps/files_encryption/l10n/eo.php b/apps/files_encryption/l10n/eo.php
index af3c9ae98e4..c6f82dcb8a0 100644
--- a/apps/files_encryption/l10n/eo.php
+++ b/apps/files_encryption/l10n/eo.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Ĉifrado",
"Exclude the following file types from encryption" => "Malinkluzivigi la jenajn dosiertipojn el ĉifrado",
-"None" => "Nenio",
-"Enable Encryption" => "Kapabligi ĉifradon"
+"None" => "Nenio"
);
diff --git a/apps/files_encryption/l10n/es.php b/apps/files_encryption/l10n/es.php
index b7e7601b35f..1fea54ff358 100644
--- a/apps/files_encryption/l10n/es.php
+++ b/apps/files_encryption/l10n/es.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Cifrado",
"Exclude the following file types from encryption" => "Excluir del cifrado los siguientes tipos de archivo",
-"None" => "Ninguno",
-"Enable Encryption" => "Habilitar cifrado"
+"None" => "Ninguno"
);
diff --git a/apps/files_encryption/l10n/es_AR.php b/apps/files_encryption/l10n/es_AR.php
index a15c37e730e..31898f50fde 100644
--- a/apps/files_encryption/l10n/es_AR.php
+++ b/apps/files_encryption/l10n/es_AR.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Encriptación",
"Exclude the following file types from encryption" => "Exceptuar de la encriptación los siguientes tipos de archivo",
-"None" => "Ninguno",
-"Enable Encryption" => "Habilitar encriptación"
+"None" => "Ninguno"
);
diff --git a/apps/files_encryption/l10n/et_EE.php b/apps/files_encryption/l10n/et_EE.php
index a7cd9395bf0..0c0ef231145 100644
--- a/apps/files_encryption/l10n/et_EE.php
+++ b/apps/files_encryption/l10n/et_EE.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Krüpteerimine",
"Exclude the following file types from encryption" => "Järgnevaid failitüüpe ära krüpteeri",
-"None" => "Pole",
-"Enable Encryption" => "Luba krüpteerimine"
+"None" => "Pole"
);
diff --git a/apps/files_encryption/l10n/eu.php b/apps/files_encryption/l10n/eu.php
index 57b6a4927bf..2bb1a46954c 100644
--- a/apps/files_encryption/l10n/eu.php
+++ b/apps/files_encryption/l10n/eu.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Enkriptazioa",
"Exclude the following file types from encryption" => "Ez enkriptatu hurrengo fitxategi motak",
-"None" => "Bat ere ez",
-"Enable Encryption" => "Gaitu enkriptazioa"
+"None" => "Bat ere ez"
);
diff --git a/apps/files_encryption/l10n/fa.php b/apps/files_encryption/l10n/fa.php
index 01582e48e60..0cdee74f5a9 100644
--- a/apps/files_encryption/l10n/fa.php
+++ b/apps/files_encryption/l10n/fa.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "رمزگذاری",
"Exclude the following file types from encryption" => "نادیده گرفتن فایل های زیر برای رمز گذاری",
-"None" => "هیچ‌کدام",
-"Enable Encryption" => "فعال کردن رمزگذاری"
+"None" => "هیچ‌کدام"
);
diff --git a/apps/files_encryption/l10n/fi_FI.php b/apps/files_encryption/l10n/fi_FI.php
index 5796499a26c..433ae890ef6 100644
--- a/apps/files_encryption/l10n/fi_FI.php
+++ b/apps/files_encryption/l10n/fi_FI.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Salaus",
"Exclude the following file types from encryption" => "Jätä seuraavat tiedostotyypit salaamatta",
-"None" => "Ei mitään",
-"Enable Encryption" => "Käytä salausta"
+"None" => "Ei mitään"
);
diff --git a/apps/files_encryption/l10n/fr.php b/apps/files_encryption/l10n/fr.php
index c9367d1a312..f78a90ad59b 100644
--- a/apps/files_encryption/l10n/fr.php
+++ b/apps/files_encryption/l10n/fr.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Chiffrement",
"Exclude the following file types from encryption" => "Ne pas chiffrer les fichiers dont les types sont les suivants",
-"None" => "Aucun",
-"Enable Encryption" => "Activer le chiffrement"
+"None" => "Aucun"
);
diff --git a/apps/files_encryption/l10n/gl.php b/apps/files_encryption/l10n/gl.php
index 91d155ccad3..42fcfce1cc0 100644
--- a/apps/files_encryption/l10n/gl.php
+++ b/apps/files_encryption/l10n/gl.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Cifrado",
"Exclude the following file types from encryption" => "Excluír os seguintes tipos de ficheiro do cifrado",
-"None" => "Nada",
-"Enable Encryption" => "Activar o cifrado"
+"None" => "Nada"
);
diff --git a/apps/files_encryption/l10n/he.php b/apps/files_encryption/l10n/he.php
index 0332d59520a..9adb6d2b92a 100644
--- a/apps/files_encryption/l10n/he.php
+++ b/apps/files_encryption/l10n/he.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "הצפנה",
-"Enable Encryption" => "הפעל הצפנה",
-"None" => "כלום",
-"Exclude the following file types from encryption" => "הוצא את סוגי הקבצים הבאים מהצפנה"
+"Exclude the following file types from encryption" => "הוצא את סוגי הקבצים הבאים מהצפנה",
+"None" => "כלום"
);
diff --git a/apps/files_encryption/l10n/hu_HU.php b/apps/files_encryption/l10n/hu_HU.php
index 8ea0f731736..1ef1effd41e 100644
--- a/apps/files_encryption/l10n/hu_HU.php
+++ b/apps/files_encryption/l10n/hu_HU.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Titkosítás",
-"Enable Encryption" => "A titkosítás engedélyezése",
-"None" => "Egyik sem",
-"Exclude the following file types from encryption" => "A következő fájltípusok kizárása a titkosításból"
+"Exclude the following file types from encryption" => "A következő fájltípusok kizárása a titkosításból",
+"None" => "Egyik sem"
);
diff --git a/apps/files_encryption/l10n/id.php b/apps/files_encryption/l10n/id.php
index 824ae883041..20f33b87829 100644
--- a/apps/files_encryption/l10n/id.php
+++ b/apps/files_encryption/l10n/id.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "enkripsi",
"Exclude the following file types from encryption" => "pengecualian untuk tipe file berikut dari enkripsi",
-"None" => "tidak ada",
-"Enable Encryption" => "aktifkan enkripsi"
+"None" => "tidak ada"
);
diff --git a/apps/files_encryption/l10n/is.php b/apps/files_encryption/l10n/is.php
index 3210ecb4f8a..a2559cf2b76 100644
--- a/apps/files_encryption/l10n/is.php
+++ b/apps/files_encryption/l10n/is.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Dulkóðun",
-"Enable Encryption" => "Virkja dulkóðun",
-"None" => "Ekkert",
-"Exclude the following file types from encryption" => "Undanskilja eftirfarandi skráartegundir frá dulkóðun"
+"Exclude the following file types from encryption" => "Undanskilja eftirfarandi skráartegundir frá dulkóðun",
+"None" => "Ekkert"
);
diff --git a/apps/files_encryption/l10n/it.php b/apps/files_encryption/l10n/it.php
index 5136b061797..de62f0508f3 100644
--- a/apps/files_encryption/l10n/it.php
+++ b/apps/files_encryption/l10n/it.php
@@ -1,6 +1,14 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Passa al tuo client ownCloud e cambia la password di cifratura per completare la conversione.",
+"switched to client side encryption" => "passato alla cifratura lato client",
+"Please check your passwords and try again." => "Controlla la password e prova ancora.",
+"Choose encryption mode:" => "Scegli la modalità di cifratura.",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Cifratura lato client (più sicura ma rende impossibile accedere ai propri dati dall'interfaccia web)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Cifratura lato server (ti consente di accedere ai tuoi file dall'interfaccia web e dal client desktop)",
+"None (no encryption at all)" => "Nessuna (senza alcuna cifratura)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Importante: una volta selezionata la modalità di cifratura non sarà possibile tornare indietro",
+"User specific (let the user decide)" => "Specificato dall'utente (lascia decidere all'utente)",
"Encryption" => "Cifratura",
"Exclude the following file types from encryption" => "Escludi i seguenti tipi di file dalla cifratura",
-"None" => "Nessuna",
-"Enable Encryption" => "Abilita cifratura"
+"None" => "Nessuna"
);
diff --git a/apps/files_encryption/l10n/ja_JP.php b/apps/files_encryption/l10n/ja_JP.php
index 2c3e5410de3..4100908e00c 100644
--- a/apps/files_encryption/l10n/ja_JP.php
+++ b/apps/files_encryption/l10n/ja_JP.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "変換を完了するために、ownCloud クライアントに切り替えて、暗号化パスワードを変更してください。",
+"switched to client side encryption" => "クライアントサイドの暗号化に切り替えました",
+"Change encryption password to login password" => "暗号化パスワードをログインパスワードに変更",
+"Please check your passwords and try again." => "パスワードを確認してもう一度行なってください。",
+"Could not change your file encryption password to your login password" => "ファイル暗号化パスワードをログインパスワードに変更できませんでした。",
+"Choose encryption mode:" => "暗号化モードを選択:",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "クライアントサイドの暗号化(最もセキュアですが、WEBインターフェースからデータにアクセスできなくなります)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "サーバサイド暗号化(WEBインターフェースおよびデスクトップクライアントからファイルにアクセスすることができます)",
+"None (no encryption at all)" => "暗号化無し(何も暗号化しません)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "重要: 一度暗号化を選択してしまうと、もとに戻す方法はありません",
+"User specific (let the user decide)" => "ユーザ指定(ユーザが選べるようにする)",
"Encryption" => "暗号化",
"Exclude the following file types from encryption" => "暗号化から除外するファイルタイプ",
-"None" => "なし",
-"Enable Encryption" => "暗号化を有効にする"
+"None" => "なし"
);
diff --git a/apps/files_encryption/l10n/ko.php b/apps/files_encryption/l10n/ko.php
index 4702753435e..68d60c1ae30 100644
--- a/apps/files_encryption/l10n/ko.php
+++ b/apps/files_encryption/l10n/ko.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "암호화",
"Exclude the following file types from encryption" => "다음 파일 형식은 암호화하지 않음",
-"None" => "없음",
-"Enable Encryption" => "암호화 사용"
+"None" => "없음"
);
diff --git a/apps/files_encryption/l10n/ku_IQ.php b/apps/files_encryption/l10n/ku_IQ.php
index bd8977ac515..06bb9b93251 100644
--- a/apps/files_encryption/l10n/ku_IQ.php
+++ b/apps/files_encryption/l10n/ku_IQ.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "نهێنیکردن",
"Exclude the following file types from encryption" => "به‌ربه‌ست کردنی ئه‌م جۆره‌ په‌ڕگانه له‌ نهێنیکردن",
-"None" => "هیچ",
-"Enable Encryption" => "چالاکردنی نهێنیکردن"
+"None" => "هیچ"
);
diff --git a/apps/files_encryption/l10n/lt_LT.php b/apps/files_encryption/l10n/lt_LT.php
index b939df164c8..22cbe7a4ffa 100644
--- a/apps/files_encryption/l10n/lt_LT.php
+++ b/apps/files_encryption/l10n/lt_LT.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Šifravimas",
"Exclude the following file types from encryption" => "Nešifruoti pasirinkto tipo failų",
-"None" => "Nieko",
-"Enable Encryption" => "Įjungti šifravimą"
+"None" => "Nieko"
);
diff --git a/apps/files_encryption/l10n/mk.php b/apps/files_encryption/l10n/mk.php
index dfcaed9f37e..7ccf8ac2d5b 100644
--- a/apps/files_encryption/l10n/mk.php
+++ b/apps/files_encryption/l10n/mk.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Енкрипција",
"Exclude the following file types from encryption" => "Исклучи ги следните типови на датотеки од енкрипција",
-"None" => "Ништо",
-"Enable Encryption" => "Овозможи енкрипција"
+"None" => "Ништо"
);
diff --git a/apps/files_encryption/l10n/nb_NO.php b/apps/files_encryption/l10n/nb_NO.php
index e65df7b6ce3..2ec6670e928 100644
--- a/apps/files_encryption/l10n/nb_NO.php
+++ b/apps/files_encryption/l10n/nb_NO.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Kryptering",
"Exclude the following file types from encryption" => "Ekskluder følgende filer fra kryptering",
-"None" => "Ingen",
-"Enable Encryption" => "Slå på kryptering"
+"None" => "Ingen"
);
diff --git a/apps/files_encryption/l10n/nl.php b/apps/files_encryption/l10n/nl.php
index 1ea56006fc3..7c09009cba9 100644
--- a/apps/files_encryption/l10n/nl.php
+++ b/apps/files_encryption/l10n/nl.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Versleuteling",
"Exclude the following file types from encryption" => "Versleutel de volgende bestand types niet",
-"None" => "Geen",
-"Enable Encryption" => "Zet versleuteling aan"
+"None" => "Geen"
);
diff --git a/apps/files_encryption/l10n/pl.php b/apps/files_encryption/l10n/pl.php
index 5cfc707450e..896086108ec 100644
--- a/apps/files_encryption/l10n/pl.php
+++ b/apps/files_encryption/l10n/pl.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Szyfrowanie",
"Exclude the following file types from encryption" => "Wyłącz następujące typy plików z szyfrowania",
-"None" => "Brak",
-"Enable Encryption" => "Włącz szyfrowanie"
+"None" => "Brak"
);
diff --git a/apps/files_encryption/l10n/pt_BR.php b/apps/files_encryption/l10n/pt_BR.php
index 5c02f52217f..086d073cf5c 100644
--- a/apps/files_encryption/l10n/pt_BR.php
+++ b/apps/files_encryption/l10n/pt_BR.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Criptografia",
"Exclude the following file types from encryption" => "Excluir os seguintes tipos de arquivo da criptografia",
-"None" => "Nenhuma",
-"Enable Encryption" => "Habilitar Criptografia"
+"None" => "Nenhuma"
);
diff --git a/apps/files_encryption/l10n/pt_PT.php b/apps/files_encryption/l10n/pt_PT.php
index 570462b414f..b6eedcdc509 100644
--- a/apps/files_encryption/l10n/pt_PT.php
+++ b/apps/files_encryption/l10n/pt_PT.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Por favor, use o seu cliente de sincronização do ownCloud e altere a sua password de encriptação para concluír a conversão.",
+"switched to client side encryption" => "Alterado para encriptação do lado do cliente",
+"Change encryption password to login password" => "Alterar a password de encriptação para a password de login",
+"Please check your passwords and try again." => "Por favor verifique as suas paswords e tente de novo.",
+"Could not change your file encryption password to your login password" => "Não foi possível alterar a password de encriptação de ficheiros para a sua password de login",
+"Choose encryption mode:" => "Escolha o método de encriptação",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Encriptação do lado do cliente (mais seguro mas torna possível o acesso aos dados através do interface web)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Encriptação do lado do servidor (permite o acesso aos seus ficheiros através do interface web e do cliente de sincronização)",
+"None (no encryption at all)" => "Nenhuma (sem encriptação)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Importante: Uma vez escolhido o modo de encriptação, não existe maneira de o alterar!",
+"User specific (let the user decide)" => "Escolhido pelo utilizador",
"Encryption" => "Encriptação",
"Exclude the following file types from encryption" => "Excluir da encriptação os seguintes tipo de ficheiros",
-"None" => "Nenhum",
-"Enable Encryption" => "Activar Encriptação"
+"None" => "Nenhum"
);
diff --git a/apps/files_encryption/l10n/ro.php b/apps/files_encryption/l10n/ro.php
index 97f3f262d76..fc0f24f483d 100644
--- a/apps/files_encryption/l10n/ro.php
+++ b/apps/files_encryption/l10n/ro.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Încriptare",
"Exclude the following file types from encryption" => "Exclude următoarele tipuri de fișiere de la încriptare",
-"None" => "Niciuna",
-"Enable Encryption" => "Activare încriptare"
+"None" => "Niciuna"
);
diff --git a/apps/files_encryption/l10n/ru.php b/apps/files_encryption/l10n/ru.php
index 3a7e84b6d01..14115c12683 100644
--- a/apps/files_encryption/l10n/ru.php
+++ b/apps/files_encryption/l10n/ru.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Шифрование",
"Exclude the following file types from encryption" => "Исключить шифрование следующих типов файлов",
-"None" => "Ничего",
-"Enable Encryption" => "Включить шифрование"
+"None" => "Ничего"
);
diff --git a/apps/files_encryption/l10n/ru_RU.php b/apps/files_encryption/l10n/ru_RU.php
index 1328b0d0359..4321fb8a8a3 100644
--- a/apps/files_encryption/l10n/ru_RU.php
+++ b/apps/files_encryption/l10n/ru_RU.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Шифрование",
"Exclude the following file types from encryption" => "Исключите следующие типы файлов из шифрования",
-"None" => "Ни один",
-"Enable Encryption" => "Включить шифрование"
+"None" => "Ни один"
);
diff --git a/apps/files_encryption/l10n/si_LK.php b/apps/files_encryption/l10n/si_LK.php
index a29884afffd..2d61bec45b8 100644
--- a/apps/files_encryption/l10n/si_LK.php
+++ b/apps/files_encryption/l10n/si_LK.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "ගුප්ත කේතනය",
"Exclude the following file types from encryption" => "මෙම ගොනු වර්ග ගුප්ත කේතනය කිරීමෙන් බැහැරව තබන්න",
-"None" => "කිසිවක් නැත",
-"Enable Encryption" => "ගුප්ත කේතනය සක්‍රිය කරන්න"
+"None" => "කිසිවක් නැත"
);
diff --git a/apps/files_encryption/l10n/sk_SK.php b/apps/files_encryption/l10n/sk_SK.php
index 598f1294f6e..5aebb6e35bd 100644
--- a/apps/files_encryption/l10n/sk_SK.php
+++ b/apps/files_encryption/l10n/sk_SK.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Šifrovanie",
"Exclude the following file types from encryption" => "Vynechať nasledujúce súbory pri šifrovaní",
-"None" => "Žiadne",
-"Enable Encryption" => "Zapnúť šifrovanie"
+"None" => "Žiadne"
);
diff --git a/apps/files_encryption/l10n/sl.php b/apps/files_encryption/l10n/sl.php
index f62fe781c6a..db963ef2f8d 100644
--- a/apps/files_encryption/l10n/sl.php
+++ b/apps/files_encryption/l10n/sl.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Šifriranje",
"Exclude the following file types from encryption" => "Navedene vrste datotek naj ne bodo šifrirane",
-"None" => "Brez",
-"Enable Encryption" => "Omogoči šifriranje"
+"None" => "Brez"
);
diff --git a/apps/files_encryption/l10n/sr.php b/apps/files_encryption/l10n/sr.php
index 4718780ee52..198bcc94ef9 100644
--- a/apps/files_encryption/l10n/sr.php
+++ b/apps/files_encryption/l10n/sr.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Шифровање",
"Exclude the following file types from encryption" => "Не шифруј следеће типове датотека",
-"None" => "Ништа",
-"Enable Encryption" => "Омогући шифровање"
+"None" => "Ништа"
);
diff --git a/apps/files_encryption/l10n/sv.php b/apps/files_encryption/l10n/sv.php
index 0a477f83460..c154de1a768 100644
--- a/apps/files_encryption/l10n/sv.php
+++ b/apps/files_encryption/l10n/sv.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Kryptering",
"Exclude the following file types from encryption" => "Exkludera följande filtyper från kryptering",
-"None" => "Ingen",
-"Enable Encryption" => "Aktivera kryptering"
+"None" => "Ingen"
);
diff --git a/apps/files_encryption/l10n/ta_LK.php b/apps/files_encryption/l10n/ta_LK.php
index 1d1ef74007e..aab628b5519 100644
--- a/apps/files_encryption/l10n/ta_LK.php
+++ b/apps/files_encryption/l10n/ta_LK.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "மறைக்குறியீடு",
"Exclude the following file types from encryption" => "மறைக்குறியாக்கலில் பின்வரும் கோப்பு வகைகளை நீக்கவும்",
-"None" => "ஒன்றுமில்லை",
-"Enable Encryption" => "மறைக்குறியாக்கலை இயலுமைப்படுத்துக"
+"None" => "ஒன்றுமில்லை"
);
diff --git a/apps/files_encryption/l10n/th_TH.php b/apps/files_encryption/l10n/th_TH.php
index c2685de6e3a..f8c19456ab3 100644
--- a/apps/files_encryption/l10n/th_TH.php
+++ b/apps/files_encryption/l10n/th_TH.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "กรุณาสลับไปที่โปรแกรมไคลเอนต์ ownCloud ของคุณ แล้วเปลี่ยนรหัสผ่านสำหรับการเข้ารหัสเพื่อแปลงข้อมูลให้เสร็จสมบูรณ์",
+"switched to client side encryption" => "สลับไปใช้การเข้ารหัสจากโปรแกรมไคลเอนต์",
+"Change encryption password to login password" => "เปลี่ยนรหัสผ่านสำหรับเข้ารหัสไปเป็นรหัสผ่านสำหรับการเข้าสู่ระบบ",
+"Please check your passwords and try again." => "กรุณาตรวจสอบรหัสผ่านของคุณแล้วลองใหม่อีกครั้ง",
+"Could not change your file encryption password to your login password" => "ไม่สามารถเปลี่ยนรหัสผ่านสำหรับการเข้ารหัสไฟล์ของคุณไปเป็นรหัสผ่านสำหรับการเข้าสู่ระบบของคุณได้",
+"Choose encryption mode:" => "เลือกรูปแบบการเข้ารหัส:",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "การเข้ารหัสด้วยโปรแกรมไคลเอนต์ (ปลอดภัยที่สุด แต่จะทำให้คุณไม่สามารถเข้าถึงข้อมูลต่างๆจากหน้าจอเว็บไซต์ได้)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "การเข้ารหัสจากทางฝั่งเซิร์ฟเวอร์ (อนุญาตให้คุณเข้าถึงไฟล์ของคุณจากหน้าจอเว็บไซต์ และโปรแกรมไคลเอนต์จากเครื่องเดสก์ท็อปได้)",
+"None (no encryption at all)" => "ไม่ต้อง (ไม่มีการเข้ารหัสเลย)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "ข้อความสำคัญ: หลังจากที่คุณได้เลือกรูปแบบการเข้ารหัสแล้ว จะไม่สามารถเปลี่ยนกลับมาใหม่ได้อีก",
+"User specific (let the user decide)" => "ให้ผู้ใช้งานเลือกเอง (ปล่อยให้ผู้ใช้งานตัดสินใจเอง)",
"Encryption" => "การเข้ารหัส",
"Exclude the following file types from encryption" => "ไม่ต้องรวมชนิดของไฟล์ดังต่อไปนี้จากการเข้ารหัส",
-"None" => "ไม่ต้อง",
-"Enable Encryption" => "เปิดใช้งานการเข้ารหัส"
+"None" => "ไม่ต้อง"
);
diff --git a/apps/files_encryption/l10n/tr.php b/apps/files_encryption/l10n/tr.php
index 474ee42b842..07f78d148c8 100644
--- a/apps/files_encryption/l10n/tr.php
+++ b/apps/files_encryption/l10n/tr.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Şifreleme",
-"Enable Encryption" => "Şifrelemeyi Etkinleştir",
-"None" => "Hiçbiri",
-"Exclude the following file types from encryption" => "Aşağıdaki dosya tiplerini şifrelemeye dahil etme"
+"Exclude the following file types from encryption" => "Aşağıdaki dosya tiplerini şifrelemeye dahil etme",
+"None" => "Hiçbiri"
);
diff --git a/apps/files_encryption/l10n/uk.php b/apps/files_encryption/l10n/uk.php
index 3c15bb28436..e3589215658 100644
--- a/apps/files_encryption/l10n/uk.php
+++ b/apps/files_encryption/l10n/uk.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Шифрування",
"Exclude the following file types from encryption" => "Не шифрувати файли наступних типів",
-"None" => "Жоден",
-"Enable Encryption" => "Включити шифрування"
+"None" => "Жоден"
);
diff --git a/apps/files_encryption/l10n/vi.php b/apps/files_encryption/l10n/vi.php
index 6365084fdc6..218285b675a 100644
--- a/apps/files_encryption/l10n/vi.php
+++ b/apps/files_encryption/l10n/vi.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Mã hóa",
"Exclude the following file types from encryption" => "Loại trừ các loại tập tin sau đây từ mã hóa",
-"None" => "Không có gì hết",
-"Enable Encryption" => "BẬT mã hóa"
+"None" => "Không có gì hết"
);
diff --git a/apps/files_encryption/l10n/zh_CN.GB2312.php b/apps/files_encryption/l10n/zh_CN.GB2312.php
index 297444fcf55..31a3d3b49b8 100644
--- a/apps/files_encryption/l10n/zh_CN.GB2312.php
+++ b/apps/files_encryption/l10n/zh_CN.GB2312.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "加密",
"Exclude the following file types from encryption" => "从加密中排除如下文件类型",
-"None" => "无",
-"Enable Encryption" => "启用加密"
+"None" => "无"
);
diff --git a/apps/files_encryption/l10n/zh_CN.php b/apps/files_encryption/l10n/zh_CN.php
index 1e1247d15ff..aa4817b590c 100644
--- a/apps/files_encryption/l10n/zh_CN.php
+++ b/apps/files_encryption/l10n/zh_CN.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "加密",
"Exclude the following file types from encryption" => "从加密中排除列出的文件类型",
-"None" => "None",
-"Enable Encryption" => "开启加密"
+"None" => "None"
);
diff --git a/apps/files_encryption/l10n/zh_TW.php b/apps/files_encryption/l10n/zh_TW.php
index 4c62130cf4f..fecebbe2509 100644
--- a/apps/files_encryption/l10n/zh_TW.php
+++ b/apps/files_encryption/l10n/zh_TW.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "加密",
"Exclude the following file types from encryption" => "下列的檔案類型不加密",
-"None" => "無",
-"Enable Encryption" => "啟用加密"
+"None" => "無"
);
diff --git a/apps/files_encryption/lib/crypt.php b/apps/files_encryption/lib/crypt.php
index 666fedb4e1b..fddc89dae54 100644..100755
--- a/apps/files_encryption/lib/crypt.php
+++ b/apps/files_encryption/lib/crypt.php
@@ -1,220 +1,732 @@
-<?php
-/**
- * ownCloud
- *
- * @author Frank Karlitschek
- * @copyright 2012 Frank Karlitschek frank@owncloud.org
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
- *
- * You should have received a copy of the GNU Affero General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-
-
-// Todo:
-// - Crypt/decrypt button in the userinterface
-// - Setting if crypto should be on by default
-// - Add a setting "Don´t encrypt files larger than xx because of performance reasons"
-// - Transparent decrypt/encrypt in filesystem.php. Autodetect if a file is encrypted (.encrypted extension)
-// - Don't use a password directly as encryption key, but a key which is stored on the server and encrypted with the
-// user password. -> password change faster
-// - IMPORTANT! Check if the block lenght of the encrypted data stays the same
-
-
-require_once 'Crypt_Blowfish/Blowfish.php';
-
-/**
- * This class is for crypting and decrypting
- */
-class OC_Crypt {
- static private $bf = null;
-
- public static function loginListener($params) {
- self::init($params['uid'], $params['password']);
- }
-
- public static function init($login, $password) {
- $view=new OC_FilesystemView('/');
- if ( ! $view->file_exists('/'.$login)) {
- $view->mkdir('/'.$login);
- }
-
- OC_FileProxy::$enabled=false;
- if ( ! $view->file_exists('/'.$login.'/encryption.key')) {// does key exist?
- OC_Crypt::createkey($login, $password);
- }
- $key=$view->file_get_contents('/'.$login.'/encryption.key');
- OC_FileProxy::$enabled=true;
- $_SESSION['enckey']=OC_Crypt::decrypt($key, $password);
- }
-
-
- /**
- * get the blowfish encryption handeler for a key
- * @param string $key (optional)
- * @return Crypt_Blowfish
- *
- * if the key is left out, the default handeler will be used
- */
- public static function getBlowfish($key='') {
- if ($key) {
- return new Crypt_Blowfish($key);
- } else {
- if ( ! isset($_SESSION['enckey'])) {
- return false;
- }
- if ( ! self::$bf) {
- self::$bf=new Crypt_Blowfish($_SESSION['enckey']);
- }
- return self::$bf;
- }
- }
-
- public static function createkey($username, $passcode) {
- // generate a random key
- $key=mt_rand(10000, 99999).mt_rand(10000, 99999).mt_rand(10000, 99999).mt_rand(10000, 99999);
-
- // encrypt the key with the passcode of the user
- $enckey=OC_Crypt::encrypt($key, $passcode);
-
- // Write the file
- $proxyEnabled=OC_FileProxy::$enabled;
- OC_FileProxy::$enabled=false;
- $view=new OC_FilesystemView('/'.$username);
- $view->file_put_contents('/encryption.key', $enckey);
- OC_FileProxy::$enabled=$proxyEnabled;
- }
-
- public static function changekeypasscode($oldPassword, $newPassword) {
- if (OCP\User::isLoggedIn()) {
- $username=OCP\USER::getUser();
- $view=new OC_FilesystemView('/'.$username);
-
- // read old key
- $key=$view->file_get_contents('/encryption.key');
-
- // decrypt key with old passcode
- $key=OC_Crypt::decrypt($key, $oldPassword);
-
- // encrypt again with new passcode
- $key=OC_Crypt::encrypt($key, $newPassword);
-
- // store the new key
- $view->file_put_contents('/encryption.key', $key );
- }
- }
-
- /**
- * @brief encrypts an content
- * @param $content the cleartext message you want to encrypt
- * @param $key the encryption key (optional)
- * @returns encrypted content
- *
- * This function encrypts an content
- */
- public static function encrypt( $content, $key='') {
- $bf = self::getBlowfish($key);
- return $bf->encrypt($content);
- }
-
- /**
- * @brief decryption of an content
- * @param $content the cleartext message you want to decrypt
- * @param $key the encryption key (optional)
- * @returns cleartext content
- *
- * This function decrypts an content
- */
- public static function decrypt( $content, $key='') {
- $bf = self::getBlowfish($key);
- $data=$bf->decrypt($content);
- return $data;
- }
-
- /**
- * @brief encryption of a file
- * @param string $source
- * @param string $target
- * @param string $key the decryption key
- *
- * This function encrypts a file
- */
- public static function encryptFile( $source, $target, $key='') {
- $handleread = fopen($source, "rb");
- if ($handleread!=false) {
- $handlewrite = fopen($target, "wb");
- while (!feof($handleread)) {
- $content = fread($handleread, 8192);
- $enccontent=OC_CRYPT::encrypt( $content, $key);
- fwrite($handlewrite, $enccontent);
- }
- fclose($handlewrite);
- fclose($handleread);
- }
- }
-
-
- /**
- * @brief decryption of a file
- * @param string $source
- * @param string $target
- * @param string $key the decryption key
- *
- * This function decrypts a file
- */
- public static function decryptFile( $source, $target, $key='') {
- $handleread = fopen($source, "rb");
- if ($handleread!=false) {
- $handlewrite = fopen($target, "wb");
- while (!feof($handleread)) {
- $content = fread($handleread, 8192);
- $enccontent=OC_CRYPT::decrypt( $content, $key);
- if (feof($handleread)) {
- $enccontent=rtrim($enccontent, "\0");
- }
- fwrite($handlewrite, $enccontent);
- }
- fclose($handlewrite);
- fclose($handleread);
- }
- }
-
- /**
- * encrypt data in 8192b sized blocks
- */
- public static function blockEncrypt($data, $key='') {
- $result='';
- while (strlen($data)) {
- $result.=self::encrypt(substr($data, 0, 8192), $key);
- $data=substr($data, 8192);
- }
- return $result;
- }
-
- /**
- * decrypt data in 8192b sized blocks
- */
- public static function blockDecrypt($data, $key='', $maxLength=0) {
- $result='';
- while (strlen($data)) {
- $result.=self::decrypt(substr($data, 0, 8192), $key);
- $data=substr($data, 8192);
- }
- if ($maxLength>0) {
- return substr($result, 0, $maxLength);
- } else {
- return rtrim($result, "\0");
- }
- }
-}
+<?php
+/**
+ * ownCloud
+ *
+ * @author Sam Tuke, Frank Karlitschek, Robin Appelman
+ * @copyright 2012 Sam Tuke samtuke@owncloud.com,
+ * Robin Appelman icewind@owncloud.com, Frank Karlitschek
+ * frank@owncloud.org
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Encryption;
+
+require_once 'Crypt_Blowfish/Blowfish.php';
+
+// Todo:
+// - Crypt/decrypt button in the userinterface
+// - Setting if crypto should be on by default
+// - Add a setting "Don´t encrypt files larger than xx because of performance reasons"
+// - Transparent decrypt/encrypt in filesystem.php. Autodetect if a file is encrypted (.encrypted extension)
+// - Don't use a password directly as encryption key. but a key which is stored on the server and encrypted with the user password. -> password change faster
+// - IMPORTANT! Check if the block lenght of the encrypted data stays the same
+
+/**
+ * Class for common cryptography functionality
+ */
+
+class Crypt {
+
+ /**
+ * @brief return encryption mode client or server side encryption
+ * @param string user name (use system wide setting if name=null)
+ * @return string 'client' or 'server'
+ */
+ public static function mode( $user = null ) {
+
+// $mode = \OC_Appconfig::getValue( 'files_encryption', 'mode', 'none' );
+//
+// if ( $mode == 'user') {
+// if ( !$user ) {
+// $user = \OCP\User::getUser();
+// }
+// $mode = 'none';
+// if ( $user ) {
+// $query = \OC_DB::prepare( "SELECT mode FROM *PREFIX*encryption WHERE uid = ?" );
+// $result = $query->execute(array($user));
+// if ($row = $result->fetchRow()){
+// $mode = $row['mode'];
+// }
+// }
+// }
+//
+// return $mode;
+
+ return 'server';
+
+ }
+
+ /**
+ * @brief Create a new encryption keypair
+ * @return array publicKey, privatekey
+ */
+ public static function createKeypair() {
+
+ $res = openssl_pkey_new();
+
+ // Get private key
+ openssl_pkey_export( $res, $privateKey );
+
+ // Get public key
+ $publicKey = openssl_pkey_get_details( $res );
+
+ $publicKey = $publicKey['key'];
+
+ return( array( 'publicKey' => $publicKey, 'privateKey' => $privateKey ) );
+
+ }
+
+ /**
+ * @brief Add arbitrary padding to encrypted data
+ * @param string $data data to be padded
+ * @return padded data
+ * @note In order to end up with data exactly 8192 bytes long we must add two letters. It is impossible to achieve exactly 8192 length blocks with encryption alone, hence padding is added to achieve the required length.
+ */
+ public static function addPadding( $data ) {
+
+ $padded = $data . 'xx';
+
+ return $padded;
+
+ }
+
+ /**
+ * @brief Remove arbitrary padding to encrypted data
+ * @param string $padded padded data to remove padding from
+ * @return unpadded data on success, false on error
+ */
+ public static function removePadding( $padded ) {
+
+ if ( substr( $padded, -2 ) == 'xx' ) {
+
+ $data = substr( $padded, 0, -2 );
+
+ return $data;
+
+ } else {
+
+ # TODO: log the fact that unpadded data was submitted for removal of padding
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Check if a file's contents contains an IV and is symmetrically encrypted
+ * @return true / false
+ * @note see also OCA\Encryption\Util->isEncryptedPath()
+ */
+ public static function isEncryptedContent( $content ) {
+
+ if ( !$content ) {
+
+ return false;
+
+ }
+
+ $noPadding = self::removePadding( $content );
+
+ // Fetch encryption metadata from end of file
+ $meta = substr( $noPadding, -22 );
+
+ // Fetch IV from end of file
+ $iv = substr( $meta, -16 );
+
+ // Fetch identifier from start of metadata
+ $identifier = substr( $meta, 0, 6 );
+
+ if ( $identifier == '00iv00') {
+
+ return true;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * Check if a file is encrypted according to database file cache
+ * @param string $path
+ * @return bool
+ */
+ public static function isEncryptedMeta( $path ) {
+
+ # TODO: Use DI to get OC_FileCache_Cached out of here
+
+ // Fetch all file metadata from DB
+ $metadata = \OC_FileCache_Cached::get( $path, '' );
+
+ // Return encryption status
+ return isset( $metadata['encrypted'] ) and ( bool )$metadata['encrypted'];
+
+ }
+
+ /**
+ * @brief Check if a file is encrypted via legacy system
+ * @return true / false
+ */
+ public static function isLegacyEncryptedContent( $content ) {
+
+ // Fetch all file metadata from DB
+ $metadata = \OC_FileCache_Cached::get( $content, '' );
+
+ // If a file is flagged with encryption in DB, but isn't a valid content + IV combination, it's probably using the legacy encryption system
+ if (
+ $content
+ and isset( $metadata['encrypted'] )
+ and $metadata['encrypted'] === true
+ and !self::isEncryptedContent( $content )
+ ) {
+
+ return true;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Symmetrically encrypt a string
+ * @returns encrypted file
+ */
+ public static function encrypt( $plainContent, $iv, $passphrase = '' ) {
+
+ if ( $encryptedContent = openssl_encrypt( $plainContent, 'AES-128-CFB', $passphrase, false, $iv ) ) {
+
+ return $encryptedContent;
+
+ } else {
+
+ \OC_Log::write( 'Encryption library', 'Encryption (symmetric) of content failed' , \OC_Log::ERROR );
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Symmetrically decrypt a string
+ * @returns decrypted file
+ */
+ public static function decrypt( $encryptedContent, $iv, $passphrase ) {
+
+ if ( $plainContent = openssl_decrypt( $encryptedContent, 'AES-128-CFB', $passphrase, false, $iv ) ) {
+
+ return $plainContent;
+
+
+ } else {
+
+ throw new \Exception( 'Encryption library: Decryption (symmetric) of content failed' );
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Concatenate encrypted data with its IV and padding
+ * @param string $content content to be concatenated
+ * @param string $iv IV to be concatenated
+ * @returns string concatenated content
+ */
+ public static function concatIv ( $content, $iv ) {
+
+ $combined = $content . '00iv00' . $iv;
+
+ return $combined;
+
+ }
+
+ /**
+ * @brief Split concatenated data and IV into respective parts
+ * @param string $catFile concatenated data to be split
+ * @returns array keys: encrypted, iv
+ */
+ public static function splitIv ( $catFile ) {
+
+ // Fetch encryption metadata from end of file
+ $meta = substr( $catFile, -22 );
+
+ // Fetch IV from end of file
+ $iv = substr( $meta, -16 );
+
+ // Remove IV and IV identifier text to expose encrypted content
+ $encrypted = substr( $catFile, 0, -22 );
+
+ $split = array(
+ 'encrypted' => $encrypted
+ , 'iv' => $iv
+ );
+
+ return $split;
+
+ }
+
+ /**
+ * @brief Symmetrically encrypts a string and returns keyfile content
+ * @param $plainContent content to be encrypted in keyfile
+ * @returns encrypted content combined with IV
+ * @note IV need not be specified, as it will be stored in the returned keyfile
+ * and remain accessible therein.
+ */
+ public static function symmetricEncryptFileContent( $plainContent, $passphrase = '' ) {
+
+ if ( !$plainContent ) {
+
+ return false;
+
+ }
+
+ $iv = self::generateIv();
+
+ if ( $encryptedContent = self::encrypt( $plainContent, $iv, $passphrase ) ) {
+
+ // Combine content to encrypt with IV identifier and actual IV
+ $catfile = self::concatIv( $encryptedContent, $iv );
+
+ $padded = self::addPadding( $catfile );
+
+ return $padded;
+
+ } else {
+
+ \OC_Log::write( 'Encryption library', 'Encryption (symmetric) of keyfile content failed' , \OC_Log::ERROR );
+
+ return false;
+
+ }
+
+ }
+
+
+ /**
+ * @brief Symmetrically decrypts keyfile content
+ * @param string $source
+ * @param string $target
+ * @param string $key the decryption key
+ * @returns decrypted content
+ *
+ * This function decrypts a file
+ */
+ public static function symmetricDecryptFileContent( $keyfileContent, $passphrase = '' ) {
+
+ if ( !$keyfileContent ) {
+
+ throw new \Exception( 'Encryption library: no data provided for decryption' );
+
+ }
+
+ // Remove padding
+ $noPadding = self::removePadding( $keyfileContent );
+
+ // Split into enc data and catfile
+ $catfile = self::splitIv( $noPadding );
+
+ if ( $plainContent = self::decrypt( $catfile['encrypted'], $catfile['iv'], $passphrase ) ) {
+
+ return $plainContent;
+
+ }
+
+ }
+
+ /**
+ * @brief Creates symmetric keyfile content using a generated key
+ * @param string $plainContent content to be encrypted
+ * @returns array keys: key, encrypted
+ * @note symmetricDecryptFileContent() can be used to decrypt files created using this method
+ *
+ * This function decrypts a file
+ */
+ public static function symmetricEncryptFileContentKeyfile( $plainContent ) {
+
+ $key = self::generateKey();
+
+ if( $encryptedContent = self::symmetricEncryptFileContent( $plainContent, $key ) ) {
+
+ return array(
+ 'key' => $key
+ , 'encrypted' => $encryptedContent
+ );
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Create asymmetrically encrypted keyfile content using a generated key
+ * @param string $plainContent content to be encrypted
+ * @returns array keys: key, encrypted
+ * @note symmetricDecryptFileContent() can be used to decrypt files created using this method
+ *
+ * This function decrypts a file
+ */
+ public static function multiKeyEncrypt( $plainContent, array $publicKeys ) {
+
+ $envKeys = array();
+
+ if( openssl_seal( $plainContent, $sealed, $envKeys, $publicKeys ) ) {
+
+ return array(
+ 'keys' => $envKeys
+ , 'encrypted' => $sealed
+ );
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Asymmetrically encrypt a file using multiple public keys
+ * @param string $plainContent content to be encrypted
+ * @returns string $plainContent decrypted string
+ * @note symmetricDecryptFileContent() can be used to decrypt files created using this method
+ *
+ * This function decrypts a file
+ */
+ public static function multiKeyDecrypt( $encryptedContent, $envKey, $privateKey ) {
+
+ if ( !$encryptedContent ) {
+
+ return false;
+
+ }
+
+ if ( openssl_open( $encryptedContent, $plainContent, $envKey, $privateKey ) ) {
+
+ return $plainContent;
+
+ } else {
+
+ \OC_Log::write( 'Encryption library', 'Decryption (asymmetric) of sealed content failed' , \OC_Log::ERROR );
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Asymetrically encrypt a string using a public key
+ * @returns encrypted file
+ */
+ public static function keyEncrypt( $plainContent, $publicKey ) {
+
+ openssl_public_encrypt( $plainContent, $encryptedContent, $publicKey );
+
+ return $encryptedContent;
+
+ }
+
+ /**
+ * @brief Asymetrically decrypt a file using a private key
+ * @returns decrypted file
+ */
+ public static function keyDecrypt( $encryptedContent, $privatekey ) {
+
+ openssl_private_decrypt( $encryptedContent, $plainContent, $privatekey );
+
+ return $plainContent;
+
+ }
+
+ /**
+ * @brief Encrypts content symmetrically and generates keyfile asymmetrically
+ * @returns array containing catfile and new keyfile.
+ * keys: data, key
+ * @note this method is a wrapper for combining other crypt class methods
+ */
+ public static function keyEncryptKeyfile( $plainContent, $publicKey ) {
+
+ // Encrypt plain data, generate keyfile & encrypted file
+ $cryptedData = self::symmetricEncryptFileContentKeyfile( $plainContent );
+
+ // Encrypt keyfile
+ $cryptedKey = self::keyEncrypt( $cryptedData['key'], $publicKey );
+
+ return array( 'data' => $cryptedData['encrypted'], 'key' => $cryptedKey );
+
+ }
+
+ /**
+ * @brief Takes catfile, keyfile, and private key, and
+ * performs decryption
+ * @returns decrypted content
+ * @note this method is a wrapper for combining other crypt class methods
+ */
+ public static function keyDecryptKeyfile( $catfile, $keyfile, $privateKey ) {
+
+ // Decrypt the keyfile with the user's private key
+ $decryptedKeyfile = self::keyDecrypt( $keyfile, $privateKey );
+
+ // Decrypt the catfile symmetrically using the decrypted keyfile
+ $decryptedData = self::symmetricDecryptFileContent( $catfile, $decryptedKeyfile );
+
+ return $decryptedData;
+
+ }
+
+ /**
+ * @brief Symmetrically encrypt a file by combining encrypted component data blocks
+ */
+ public static function symmetricBlockEncryptFileContent( $plainContent, $key ) {
+
+ $crypted = '';
+
+ $remaining = $plainContent;
+
+ $testarray = array();
+
+ while( strlen( $remaining ) ) {
+
+ //echo "\n\n\$block = ".substr( $remaining, 0, 6126 );
+
+ // Encrypt a chunk of unencrypted data and add it to the rest
+ $block = self::symmetricEncryptFileContent( substr( $remaining, 0, 6126 ), $key );
+
+ $padded = self::addPadding( $block );
+
+ $crypted .= $block;
+
+ $testarray[] = $block;
+
+ // Remove the data already encrypted from remaining unencrypted data
+ $remaining = substr( $remaining, 6126 );
+
+ }
+
+ //echo "hags ";
+
+ //echo "\n\n\n\$crypted = $crypted\n\n\n";
+
+ //print_r($testarray);
+
+ return $crypted;
+
+ }
+
+
+ /**
+ * @brief Symmetrically decrypt a file by combining encrypted component data blocks
+ */
+ public static function symmetricBlockDecryptFileContent( $crypted, $key ) {
+
+ $decrypted = '';
+
+ $remaining = $crypted;
+
+ $testarray = array();
+
+ while( strlen( $remaining ) ) {
+
+ $testarray[] = substr( $remaining, 0, 8192 );
+
+ // Decrypt a chunk of unencrypted data and add it to the rest
+ $decrypted .= self::symmetricDecryptFileContent( $remaining, $key );
+
+ // Remove the data already encrypted from remaining unencrypted data
+ $remaining = substr( $remaining, 8192 );
+
+ }
+
+ //echo "\n\n\$testarray = "; print_r($testarray);
+
+ return $decrypted;
+
+ }
+
+ /**
+ * @brief Generates a pseudo random initialisation vector
+ * @return String $iv generated IV
+ */
+ public static function generateIv() {
+
+ if ( $random = openssl_random_pseudo_bytes( 12, $strong ) ) {
+
+ if ( !$strong ) {
+
+ // If OpenSSL indicates randomness is insecure, log error
+ \OC_Log::write( 'Encryption library', 'Insecure symmetric key was generated using openssl_random_pseudo_bytes()' , \OC_Log::WARN );
+
+ }
+
+ // We encode the iv purely for string manipulation
+ // purposes - it gets decoded before use
+ $iv = base64_encode( $random );
+
+ return $iv;
+
+ } else {
+
+ throw new Exception( 'Generating IV failed' );
+
+ }
+
+ }
+
+ /**
+ * @brief Generate a pseudo random 1024kb ASCII key
+ * @returns $key Generated key
+ */
+ public static function generateKey() {
+
+ // Generate key
+ if ( $key = base64_encode( openssl_random_pseudo_bytes( 183, $strong ) ) ) {
+
+ if ( !$strong ) {
+
+ // If OpenSSL indicates randomness is insecure, log error
+ throw new Exception ( 'Encryption library, Insecure symmetric key was generated using openssl_random_pseudo_bytes()' );
+
+ }
+
+ return $key;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ public static function changekeypasscode($oldPassword, $newPassword) {
+
+ if(\OCP\User::isLoggedIn()){
+ $key = Keymanager::getPrivateKey( $user, $view );
+ if ( ($key = Crypt::symmetricDecryptFileContent($key,$oldpasswd)) ) {
+ if ( ($key = Crypt::symmetricEncryptFileContent($key, $newpasswd)) ) {
+ Keymanager::setPrivateKey($key);
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @brief Get the blowfish encryption handeler for a key
+ * @param $key string (optional)
+ * @return Crypt_Blowfish blowfish object
+ *
+ * if the key is left out, the default handeler will be used
+ */
+ public static function getBlowfish( $key = '' ) {
+
+ if ( $key ) {
+
+ return new \Crypt_Blowfish( $key );
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ public static function legacyCreateKey( $passphrase ) {
+
+ // Generate a random integer
+ $key = mt_rand( 10000, 99999 ) . mt_rand( 10000, 99999 ) . mt_rand( 10000, 99999 ) . mt_rand( 10000, 99999 );
+
+ // Encrypt the key with the passphrase
+ $legacyEncKey = self::legacyEncrypt( $key, $passphrase );
+
+ return $legacyEncKey;
+
+ }
+
+ /**
+ * @brief encrypts content using legacy blowfish system
+ * @param $content the cleartext message you want to encrypt
+ * @param $key the encryption key (optional)
+ * @returns encrypted content
+ *
+ * This function encrypts an content
+ */
+ public static function legacyEncrypt( $content, $passphrase = '' ) {
+
+ $bf = self::getBlowfish( $passphrase );
+
+ return $bf->encrypt( $content );
+
+ }
+
+ /**
+ * @brief decrypts content using legacy blowfish system
+ * @param $content the cleartext message you want to decrypt
+ * @param $key the encryption key (optional)
+ * @returns cleartext content
+ *
+ * This function decrypts an content
+ */
+ public static function legacyDecrypt( $content, $passphrase = '' ) {
+
+ $bf = self::getBlowfish( $passphrase );
+
+ $decrypted = $bf->decrypt( $content );
+
+ $trimmed = rtrim( $decrypted, "\0" );
+
+ return $trimmed;
+
+ }
+
+ public static function legacyKeyRecryptKeyfile( $legacyEncryptedContent, $legacyPassphrase, $publicKey, $newPassphrase ) {
+
+ $decrypted = self::legacyDecrypt( $legacyEncryptedContent, $legacyPassphrase );
+
+ $recrypted = self::keyEncryptKeyfile( $decrypted, $publicKey );
+
+ return $recrypted;
+
+ }
+
+ /**
+ * @brief Re-encryptes a legacy blowfish encrypted file using AES with integrated IV
+ * @param $legacyContent the legacy encrypted content to re-encrypt
+ * @returns cleartext content
+ *
+ * This function decrypts an content
+ */
+ public static function legacyRecrypt( $legacyContent, $legacyPassphrase, $newPassphrase ) {
+
+ # TODO: write me
+
+ }
+
+}
+
+?> \ No newline at end of file
diff --git a/apps/files_encryption/lib/cryptstream.php b/apps/files_encryption/lib/cryptstream.php
deleted file mode 100644
index d516c0c21b2..00000000000
--- a/apps/files_encryption/lib/cryptstream.php
+++ /dev/null
@@ -1,177 +0,0 @@
-<?php
-/**
- * ownCloud
- *
- * @author Robin Appelman
- * @copyright 2011 Robin Appelman icewind1991@gmail.com
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
- *
- * You should have received a copy of the GNU Affero General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * transparently encrypted filestream
- *
- * you can use it as wrapper around an existing stream by setting
- * OC_CryptStream::$sourceStreams['foo']=array('path'=>$path, 'stream'=>$stream)
- * and then fopen('crypt://streams/foo');
- */
-
-class OC_CryptStream{
- public static $sourceStreams=array();
- private $source;
- private $path;
- private $meta=array();//header/meta for source stream
- private $writeCache;
- private $size;
- private static $rootView;
-
- public function stream_open($path, $mode, $options, &$opened_path) {
- if ( ! self::$rootView) {
- self::$rootView=new OC_FilesystemView('');
- }
- $path=str_replace('crypt://', '', $path);
- if (dirname($path)=='streams' and isset(self::$sourceStreams[basename($path)])) {
- $this->source=self::$sourceStreams[basename($path)]['stream'];
- $this->path=self::$sourceStreams[basename($path)]['path'];
- $this->size=self::$sourceStreams[basename($path)]['size'];
- } else {
- $this->path=$path;
- if ($mode=='w' or $mode=='w+' or $mode=='wb' or $mode=='wb+') {
- $this->size=0;
- } else {
- $this->size=self::$rootView->filesize($path, $mode);
- }
- OC_FileProxy::$enabled=false;//disable fileproxies so we can open the source file
- $this->source=self::$rootView->fopen($path, $mode);
- OC_FileProxy::$enabled=true;
- if ( ! is_resource($this->source)) {
- OCP\Util::writeLog('files_encryption', 'failed to open '.$path, OCP\Util::ERROR);
- }
- }
- if (is_resource($this->source)) {
- $this->meta=stream_get_meta_data($this->source);
- }
- return is_resource($this->source);
- }
-
- public function stream_seek($offset, $whence=SEEK_SET) {
- $this->flush();
- fseek($this->source, $offset, $whence);
- }
-
- public function stream_tell() {
- return ftell($this->source);
- }
-
- public function stream_read($count) {
- //$count will always be 8192 https://bugs.php.net/bug.php?id=21641
- //This makes this function a lot simpler but will breake everything the moment it's fixed
- $this->writeCache='';
- if ($count!=8192) {
- OCP\Util::writeLog('files_encryption',
- 'php bug 21641 no longer holds, decryption will not work',
- OCP\Util::FATAL);
- die();
- }
- $pos=ftell($this->source);
- $data=fread($this->source, 8192);
- if (strlen($data)) {
- $result=OC_Crypt::decrypt($data);
- } else {
- $result='';
- }
- $length=$this->size-$pos;
- if ($length<8192) {
- $result=substr($result, 0, $length);
- }
- return $result;
- }
-
- public function stream_write($data) {
- $length=strlen($data);
- $currentPos=ftell($this->source);
- if ($this->writeCache) {
- $data=$this->writeCache.$data;
- $this->writeCache='';
- }
- if ($currentPos%8192!=0) {
- //make sure we always start on a block start
- fseek($this->source, -($currentPos%8192), SEEK_CUR);
- $encryptedBlock=fread($this->source, 8192);
- fseek($this->source, -($currentPos%8192), SEEK_CUR);
- $block=OC_Crypt::decrypt($encryptedBlock);
- $data=substr($block, 0, $currentPos%8192).$data;
- fseek($this->source, -($currentPos%8192), SEEK_CUR);
- }
- $currentPos=ftell($this->source);
- while ($remainingLength=strlen($data)>0) {
- if ($remainingLength<8192) {
- $this->writeCache=$data;
- $data='';
- } else {
- $encrypted=OC_Crypt::encrypt(substr($data, 0, 8192));
- fwrite($this->source, $encrypted);
- $data=substr($data, 8192);
- }
- }
- $this->size=max($this->size, $currentPos+$length);
- return $length;
- }
-
- public function stream_set_option($option, $arg1, $arg2) {
- switch($option) {
- case STREAM_OPTION_BLOCKING:
- stream_set_blocking($this->source, $arg1);
- break;
- case STREAM_OPTION_READ_TIMEOUT:
- stream_set_timeout($this->source, $arg1, $arg2);
- break;
- case STREAM_OPTION_WRITE_BUFFER:
- stream_set_write_buffer($this->source, $arg1, $arg2);
- }
- }
-
- public function stream_stat() {
- return fstat($this->source);
- }
-
- public function stream_lock($mode) {
- flock($this->source, $mode);
- }
-
- public function stream_flush() {
- return fflush($this->source);
- }
-
- public function stream_eof() {
- return feof($this->source);
- }
-
- private function flush() {
- if ($this->writeCache) {
- $encrypted=OC_Crypt::encrypt($this->writeCache);
- fwrite($this->source, $encrypted);
- $this->writeCache='';
- }
- }
-
- public function stream_close() {
- $this->flush();
- if ($this->meta['mode']!='r' and $this->meta['mode']!='rb') {
- OC_FileCache::put($this->path, array('encrypted'=>true, 'size'=>$this->size), '');
- }
- return fclose($this->source);
- }
-}
diff --git a/apps/files_encryption/lib/keymanager.php b/apps/files_encryption/lib/keymanager.php
new file mode 100755
index 00000000000..706e1c2661e
--- /dev/null
+++ b/apps/files_encryption/lib/keymanager.php
@@ -0,0 +1,365 @@
+<?php
+/***
+ * ownCloud
+ *
+ * @author Bjoern Schiessle
+ * @copyright 2012 Bjoern Schiessle <schiessle@owncloud.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Encryption;
+
+/**
+ * @brief Class to manage storage and retrieval of encryption keys
+ * @note Where a method requires a view object, it's root must be '/'
+ */
+class Keymanager {
+
+ # TODO: make all dependencies (including static classes) explicit, such as ocfsview objects, by adding them as method arguments (dependency injection)
+
+ /**
+ * @brief retrieve the ENCRYPTED private key from a user
+ *
+ * @return string private key or false
+ * @note the key returned by this method must be decrypted before use
+ */
+ public static function getPrivateKey( \OC_FilesystemView $view, $user ) {
+
+ $path = '/' . $user . '/' . 'files_encryption' . '/' . $user.'.private.key';
+
+ $key = $view->file_get_contents( $path );
+
+ return $key;
+ }
+
+ /**
+ * @brief retrieve public key for a specified user
+ * @return string public key or false
+ */
+ public static function getPublicKey( \OC_FilesystemView $view, $userId ) {
+
+ return $view->file_get_contents( '/public-keys/' . '/' . $userId . '.public.key' );
+
+ }
+
+ /**
+ * @brief retrieve both keys from a user (private and public)
+ * @return array keys: privateKey, publicKey
+ */
+ public static function getUserKeys( \OC_FilesystemView $view, $userId ) {
+
+ return array(
+ 'publicKey' => self::getPublicKey( $view, $userId )
+ , 'privateKey' => self::getPrivateKey( $view, $userId )
+ );
+
+ }
+
+ /**
+ * @brief Retrieve public keys of all users with access to a file
+ * @param string $path Path to file
+ * @return array of public keys for the given file
+ * @note Checks that the sharing app is enabled should be performed
+ * by client code, that isn't checked here
+ */
+ public static function getPublicKeys( \OC_FilesystemView $view, $userId, $filePath ) {
+
+ $path = ltrim( $path, '/' );
+
+ $filepath = '/' . $userId . '/files/' . $filePath;
+
+ // Check if sharing is enabled
+ if ( OC_App::isEnabled( 'files_sharing' ) ) {
+
+// // Check if file was shared with other users
+// $query = \OC_DB::prepare( "
+// SELECT
+// uid_owner
+// , source
+// , target
+// , uid_shared_with
+// FROM
+// `*PREFIX*sharing`
+// WHERE
+// ( target = ? AND uid_shared_with = ? )
+// OR source = ?
+// " );
+//
+// $result = $query->execute( array ( $filepath, $userId, $filepath ) );
+//
+// $users = array();
+//
+// if ( $row = $result->fetchRow() )
+// {
+// $source = $row['source'];
+// $owner = $row['uid_owner'];
+// $users[] = $owner;
+// // get the uids of all user with access to the file
+// $query = \OC_DB::prepare( "SELECT source, uid_shared_with FROM `*PREFIX*sharing` WHERE source = ?" );
+// $result = $query->execute( array ($source));
+// while ( ($row = $result->fetchRow()) ) {
+// $users[] = $row['uid_shared_with'];
+//
+// }
+//
+// }
+
+ } else {
+
+ // check if it is a file owned by the user and not shared at all
+ $userview = new \OC_FilesystemView( '/'.$userId.'/files/' );
+
+ if ( $userview->file_exists( $path ) ) {
+
+ $users[] = $userId;
+
+ }
+
+ }
+
+ $view = new \OC_FilesystemView( '/public-keys/' );
+
+ $keylist = array();
+
+ $count = 0;
+
+ foreach ( $users as $user ) {
+
+ $keylist['key'.++$count] = $view->file_get_contents( $user.'.public.key' );
+
+ }
+
+ return $keylist;
+
+ }
+
+ /**
+ * @brief retrieve keyfile for an encrypted file
+ * @param string file name
+ * @return string file key or false
+ * @note The keyfile returned is asymmetrically encrypted. Decryption
+ * of the keyfile must be performed by client code
+ */
+ public static function getFileKey( \OC_FilesystemView $view, $userId, $filePath ) {
+
+ $filePath_f = ltrim( $filePath, '/' );
+
+// // update $keypath and $userId if path point to a file shared by someone else
+// $query = \OC_DB::prepare( "SELECT uid_owner, source, target FROM `*PREFIX*sharing` WHERE target = ? AND uid_shared_with = ?" );
+//
+// $result = $query->execute( array ('/'.$userId.'/files/'.$keypath, $userId));
+//
+// if ($row = $result->fetchRow()) {
+//
+// $keypath = $row['source'];
+// $keypath_parts = explode( '/', $keypath );
+// $userId = $keypath_parts[1];
+// $keypath = str_replace( '/' . $userId . '/files/', '', $keypath );
+//
+// }
+
+ return $view->file_get_contents( '/' . $userId . '/files_encryption/keyfiles/' . $filePath_f . '.key' );
+
+ }
+
+ /**
+ * @brief retrieve file encryption key
+ *
+ * @param string file name
+ * @return string file key or false
+ */
+ public static function deleteFileKey( $path, $staticUserClass = 'OCP\User' ) {
+
+ $keypath = ltrim( $path, '/' );
+ $user = $staticUserClass::getUser();
+
+ // update $keypath and $user if path point to a file shared by someone else
+// $query = \OC_DB::prepare( "SELECT uid_owner, source, target FROM `*PREFIX*sharing` WHERE target = ? AND uid_shared_with = ?" );
+//
+// $result = $query->execute( array ('/'.$user.'/files/'.$keypath, $user));
+//
+// if ($row = $result->fetchRow()) {
+//
+// $keypath = $row['source'];
+// $keypath_parts = explode( '/', $keypath );
+// $user = $keypath_parts[1];
+// $keypath = str_replace( '/' . $user . '/files/', '', $keypath );
+//
+// }
+
+ $view = new \OC_FilesystemView('/'.$user.'/files_encryption/keyfiles/');
+
+ return $view->unlink( $keypath . '.key' );
+
+ }
+
+ /**
+ * @brief store private key from the user
+ * @param string key
+ * @return bool
+ * @note Encryption of the private key must be performed by client code
+ * as no encryption takes place here
+ */
+ public static function setPrivateKey( $key ) {
+
+ $user = \OCP\User::getUser();
+
+ $view = new \OC_FilesystemView( '/' . $user . '/files_encryption' );
+
+ \OC_FileProxy::$enabled = false;
+
+ if ( !$view->file_exists( '' ) ) $view->mkdir( '' );
+
+ return $view->file_put_contents( $user . '.private.key', $key );
+
+ \OC_FileProxy::$enabled = true;
+
+ }
+
+ /**
+ * @brief store private keys from the user
+ *
+ * @param string privatekey
+ * @param string publickey
+ * @return bool true/false
+ */
+ public static function setUserKeys($privatekey, $publickey) {
+
+ return (self::setPrivateKey($privatekey) && self::setPublicKey($publickey));
+
+ }
+
+ /**
+ * @brief store public key of the user
+ *
+ * @param string key
+ * @return bool true/false
+ */
+ public static function setPublicKey( $key ) {
+
+ $view = new \OC_FilesystemView( '/public-keys' );
+
+ \OC_FileProxy::$enabled = false;
+
+ if ( !$view->file_exists( '' ) ) $view->mkdir( '' );
+
+ return $view->file_put_contents( \OCP\User::getUser() . '.public.key', $key );
+
+ \OC_FileProxy::$enabled = true;
+
+ }
+
+ /**
+ * @brief store file encryption key
+ *
+ * @param string $path relative path of the file, including filename
+ * @param string $key
+ * @return bool true/false
+ * @note The keyfile is not encrypted here. Client code must
+ * asymmetrically encrypt the keyfile before passing it to this method
+ */
+ public static function setFileKey( $path, $key, $view = Null, $dbClassName = '\OC_DB') {
+
+ $targetPath = ltrim( $path, '/' );
+ $user = \OCP\User::getUser();
+
+// // update $keytarget and $user if key belongs to a file shared by someone else
+// $query = $dbClassName::prepare( "SELECT uid_owner, source, target FROM `*PREFIX*sharing` WHERE target = ? AND uid_shared_with = ?" );
+//
+// $result = $query->execute( array ( '/'.$user.'/files/'.$targetPath, $user ) );
+//
+// if ( $row = $result->fetchRow( ) ) {
+//
+// $targetPath = $row['source'];
+//
+// $targetPath_parts = explode( '/', $targetPath );
+//
+// $user = $targetPath_parts[1];
+//
+// $rootview = new \OC_FilesystemView( '/' );
+//
+// if ( ! $rootview->is_writable( $targetPath ) ) {
+//
+// \OC_Log::write( 'Encryption library', "File Key not updated because you don't have write access for the corresponding file", \OC_Log::ERROR );
+//
+// return false;
+//
+// }
+//
+// $targetPath = str_replace( '/'.$user.'/files/', '', $targetPath );
+//
+// //TODO: check for write permission on shared file once the new sharing API is in place
+//
+// }
+
+ $path_parts = pathinfo( $targetPath );
+
+ if ( !$view ) {
+
+ $view = new \OC_FilesystemView( '/' );
+
+ }
+
+ $view->chroot( '/' . $user . '/files_encryption/keyfiles' );
+
+ // If the file resides within a subdirectory, create it
+ if (
+ isset( $path_parts['dirname'] )
+ && ! $view->file_exists( $path_parts['dirname'] )
+ ) {
+
+ $view->mkdir( $path_parts['dirname'] );
+
+ }
+
+ // Save the keyfile in parallel directory
+ return $view->file_put_contents( '/' . $targetPath . '.key', $key );
+
+ }
+
+ /**
+ * @brief change password of private encryption key
+ *
+ * @param string $oldpasswd old password
+ * @param string $newpasswd new password
+ * @return bool true/false
+ */
+ public static function changePasswd($oldpasswd, $newpasswd) {
+
+ if ( \OCP\User::checkPassword(\OCP\User::getUser(), $newpasswd) ) {
+ return Crypt::changekeypasscode($oldpasswd, $newpasswd);
+ }
+ return false;
+
+ }
+
+ /**
+ * @brief Fetch the legacy encryption key from user files
+ * @param string $login used to locate the legacy key
+ * @param string $passphrase used to decrypt the legacy key
+ * @return true / false
+ *
+ * if the key is left out, the default handeler will be used
+ */
+ public function getLegacyKey() {
+
+ $user = \OCP\User::getUser();
+ $view = new \OC_FilesystemView( '/' . $user );
+ return $view->file_get_contents( 'encryption.key' );
+
+ }
+
+} \ No newline at end of file
diff --git a/apps/files_encryption/lib/proxy.php b/apps/files_encryption/lib/proxy.php
index e8dbd95c29d..52f47dba294 100644
--- a/apps/files_encryption/lib/proxy.php
+++ b/apps/files_encryption/lib/proxy.php
@@ -3,8 +3,9 @@
/**
* ownCloud
*
-* @author Robin Appelman
-* @copyright 2011 Robin Appelman icewind1991@gmail.com
+* @author Sam Tuke, Robin Appelman
+* @copyright 2012 Sam Tuke samtuke@owncloud.com, Robin Appelman
+* icewind1991@gmail.com
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
@@ -21,111 +22,267 @@
*
*/
-/**
- * transparent encryption
- */
+namespace OCA\Encryption;
-class OC_FileProxy_Encryption extends OC_FileProxy{
- private static $blackList=null; //mimetypes blacklisted from encryption
- private static $enableEncryption=null;
+class Proxy extends \OC_FileProxy {
+ private static $blackList = null; //mimetypes blacklisted from encryption
+
+ private static $enableEncryption = null;
+
/**
- * check if a file should be encrypted during write
+ * Check if a file requires encryption
* @param string $path
* @return bool
+ *
+ * Tests if server side encryption is enabled, and file is allowed by blacklists
*/
- private static function shouldEncrypt($path) {
- if (is_null(self::$enableEncryption)) {
- self::$enableEncryption=(OCP\Config::getAppValue('files_encryption', 'enable_encryption', 'true')=='true');
+ private static function shouldEncrypt( $path ) {
+
+ if ( is_null( self::$enableEncryption ) ) {
+
+ if (
+ \OCP\Config::getAppValue( 'files_encryption', 'enable_encryption', 'true' ) == 'true'
+ && Crypt::mode() == 'server'
+ ) {
+
+ self::$enableEncryption = true;
+
+ } else {
+
+ self::$enableEncryption = false;
+
+ }
+
}
- if ( ! self::$enableEncryption) {
+
+ if ( !self::$enableEncryption ) {
+
return false;
+
}
- if (is_null(self::$blackList)) {
- self::$blackList=explode(',', OCP\Config::getAppValue('files_encryption',
- 'type_blacklist',
- 'jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg'));
+
+ if ( is_null(self::$blackList ) ) {
+
+ self::$blackList = explode(',', \OCP\Config::getAppValue( 'files_encryption','type_blacklist','jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg' ) );
+
}
- if (self::isEncrypted($path)) {
+
+ if ( Crypt::isEncryptedContent( $path ) ) {
+
return true;
+
}
- $extension=substr($path, strrpos($path, '.')+1);
- if (array_search($extension, self::$blackList)===false) {
+
+ $extension = substr( $path, strrpos( $path,'.' ) +1 );
+
+ if ( array_search( $extension, self::$blackList ) === false ){
+
return true;
+
}
+
+ return false;
}
-
- /**
- * check if a file is encrypted
- * @param string $path
- * @return bool
- */
- private static function isEncrypted($path) {
- $metadata=OC_FileCache_Cached::get($path, '');
- return isset($metadata['encrypted']) and (bool)$metadata['encrypted'];
- }
-
- public function preFile_put_contents($path,&$data) {
- if (self::shouldEncrypt($path)) {
- if ( ! is_resource($data)) {//stream put contents should have been converter to fopen
- $size=strlen($data);
- $data=OC_Crypt::blockEncrypt($data);
- OC_FileCache::put($path, array('encrypted'=>true,'size'=>$size), '');
+
+ public function preFile_put_contents( $path, &$data ) {
+
+ if ( self::shouldEncrypt( $path ) ) {
+
+ if ( !is_resource( $data ) ) { //stream put contents should have been converted to fopen
+
+ $userId = \OCP\USER::getUser();
+
+ $rootView = new \OC_FilesystemView( '/' );
+
+ // Set the filesize for userland, before encrypting
+ $size = strlen( $data );
+
+ // Disable encryption proxy to prevent recursive calls
+ \OC_FileProxy::$enabled = false;
+
+ // Encrypt plain data and fetch key
+ $encrypted = Crypt::keyEncryptKeyfile( $data, Keymanager::getPublicKey( $rootView, $userId ) );
+
+ // Replace plain content with encrypted content by reference
+ $data = $encrypted['data'];
+
+ $filePath = explode( '/', $path );
+
+ $filePath = array_slice( $filePath, 3 );
+
+ $filePath = '/' . implode( '/', $filePath );
+
+ # TODO: make keyfile dir dynamic from app config
+ $view = new \OC_FilesystemView( '/' . $userId . '/files_encryption/keyfiles' );
+
+ // Save keyfile for newly encrypted file in parallel directory tree
+ Keymanager::setFileKey( $filePath, $encrypted['key'], $view, '\OC_DB' );
+
+ // Update the file cache with file info
+ \OC_FileCache::put( $path, array( 'encrypted'=>true, 'size' => $size ), '' );
+
+ // Re-enable proxy - our work is done
+ \OC_FileProxy::$enabled = true;
+
}
}
+
}
+
+ /**
+ * @param string $path Path of file from which has been read
+ * @param string $data Data that has been read from file
+ */
+ public function postFile_get_contents( $path, $data ) {
+
+ # TODO: Use dependency injection to add required args for view and user etc. to this method
+
+ // Disable encryption proxy to prevent recursive calls
+ \OC_FileProxy::$enabled = false;
+
+ // If data is a catfile
+ if (
+ Crypt::mode() == 'server'
+ && Crypt::isEncryptedContent( $data )
+ ) {
+
+ $split = explode( '/', $path );
+
+ $filePath = array_slice( $split, 3 );
+
+ $filePath = '/' . implode( '/', $filePath );
+
+ //$cached = \OC_FileCache_Cached::get( $path, '' );
+
+ $view = new \OC_FilesystemView( '' );
+
+ $userId = \OCP\USER::getUser();
+
+ $encryptedKeyfile = Keymanager::getFileKey( $view, $userId, $filePath );
- public function postFile_get_contents($path, $data) {
- if (self::isEncrypted($path)) {
- $cached=OC_FileCache_Cached::get($path, '');
- $data=OC_Crypt::blockDecrypt($data, '', $cached['size']);
+ $session = new Session();
+
+ $decrypted = Crypt::keyDecryptKeyfile( $data, $encryptedKeyfile, $session->getPrivateKey( $split[1] ) );
+
+ } elseif (
+ Crypt::mode() == 'server'
+ && isset( $_SESSION['legacyenckey'] )
+ && Crypt::isEncryptedMeta( $path )
+ ) {
+
+ $decrypted = Crypt::legacyDecrypt( $data, $_SESSION['legacyenckey'] );
+
}
- return $data;
+
+ \OC_FileProxy::$enabled = true;
+
+ if ( ! isset( $decrypted ) ) {
+
+ $decrypted = $data;
+
+ }
+
+ return $decrypted;
+
}
-
- public function postFopen($path,&$result) {
- if ( ! $result) {
+
+ public function postFopen( $path, &$result ){
+
+ if ( !$result ) {
+
return $result;
+
}
- $meta=stream_get_meta_data($result);
- if (self::isEncrypted($path)) {
- fclose($result);
- $result=fopen('crypt://'.$path, $meta['mode']);
- } elseif (self::shouldEncrypt($path) and $meta['mode']!='r' and $meta['mode']!='rb') {
- if (OC_Filesystem::file_exists($path) and OC_Filesystem::filesize($path)>0) {
- //first encrypt the target file so we don't end up with a half encrypted file
- OCP\Util::writeLog('files_encryption', 'Decrypting '.$path.' before writing', OCP\Util::DEBUG);
- $tmp=fopen('php://temp');
- OCP\Files::streamCopy($result, $tmp);
- fclose($result);
- OC_Filesystem::file_put_contents($path, $tmp);
- fclose($tmp);
+
+ // Reformat path for use with OC_FSV
+ $path_split = explode( '/', $path );
+ $path_f = implode( array_slice( $path_split, 3 ) );
+
+ // Disable encryption proxy to prevent recursive calls
+ \OC_FileProxy::$enabled = false;
+
+ $meta = stream_get_meta_data( $result );
+
+ $view = new \OC_FilesystemView( '' );
+
+ $util = new Util( $view, \OCP\USER::getUser());
+
+ // If file is already encrypted, decrypt using crypto protocol
+ if (
+ Crypt::mode() == 'server'
+ && $util->isEncryptedPath( $path )
+ ) {
+
+ // Close the original encrypted file
+ fclose( $result );
+
+ // Open the file using the crypto stream wrapper
+ // protocol and let it do the decryption work instead
+ $result = fopen( 'crypt://' . $path_f, $meta['mode'] );
+
+
+ } elseif (
+ self::shouldEncrypt( $path )
+ and $meta ['mode'] != 'r'
+ and $meta['mode'] != 'rb'
+ ) {
+ // If the file is not yet encrypted, but should be
+ // encrypted when it's saved (it's not read only)
+
+ // NOTE: this is the case for new files saved via WebDAV
+
+ if (
+ $view->file_exists( $path )
+ and $view->filesize( $path ) > 0
+ ) {
+ $x = $view->file_get_contents( $path );
+
+ $tmp = tmpfile();
+
+// // Make a temporary copy of the original file
+// \OCP\Files::streamCopy( $result, $tmp );
+//
+// // Close the original stream, we'll return another one
+// fclose( $result );
+//
+// $view->file_put_contents( $path_f, $tmp );
+//
+// fclose( $tmp );
+
}
- $result=fopen('crypt://'.$path, $meta['mode']);
+
+ $result = fopen( 'crypt://'.$path_f, $meta['mode'] );
+
}
+
+ // Re-enable the proxy
+ \OC_FileProxy::$enabled = true;
+
return $result;
+
}
- public function postGetMimeType($path, $mime) {
- if (self::isEncrypted($path)) {
- $mime=OCP\Files::getMimeType('crypt://'.$path, 'w');
+ public function postGetMimeType($path,$mime){
+ if( Crypt::isEncryptedContent($path)){
+ $mime = \OCP\Files::getMimeType('crypt://'.$path,'w');
}
return $mime;
}
- public function postStat($path, $data) {
- if (self::isEncrypted($path)) {
- $cached=OC_FileCache_Cached::get($path, '');
+ public function postStat($path,$data){
+ if( Crypt::isEncryptedContent($path)){
+ $cached= \OC_FileCache_Cached::get($path,'');
$data['size']=$cached['size'];
}
return $data;
}
- public function postFileSize($path, $size) {
- if (self::isEncrypted($path)) {
- $cached=OC_FileCache_Cached::get($path, '');
+ public function postFileSize($path,$size){
+ if( Crypt::isEncryptedContent($path)){
+ $cached = \OC_FileCache_Cached::get($path,'');
return $cached['size'];
- } else {
+ }else{
return $size;
}
}
diff --git a/apps/files_encryption/lib/session.php b/apps/files_encryption/lib/session.php
new file mode 100644
index 00000000000..85d533fde7a
--- /dev/null
+++ b/apps/files_encryption/lib/session.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Sam Tuke
+ * @copyright 2012 Sam Tuke samtuke@owncloud.com
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Encryption;
+
+/**
+ * Class for handling encryption related session data
+ */
+
+class Session {
+
+ /**
+ * @brief Sets user id for session and triggers emit
+ * @return bool
+ *
+ */
+ public function setPrivateKey( $privateKey, $userId ) {
+
+ $_SESSION['privateKey'] = $privateKey;
+
+ return true;
+
+ }
+
+ /**
+ * @brief Gets user id for session and triggers emit
+ * @returns string $privateKey The user's plaintext private key
+ *
+ */
+ public function getPrivateKey( $userId ) {
+
+ if (
+ isset( $_SESSION['privateKey'] )
+ && !empty( $_SESSION['privateKey'] )
+ ) {
+
+ return $_SESSION['privateKey'];
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+} \ No newline at end of file
diff --git a/apps/files_encryption/lib/stream.php b/apps/files_encryption/lib/stream.php
new file mode 100644
index 00000000000..f482e2d75ac
--- /dev/null
+++ b/apps/files_encryption/lib/stream.php
@@ -0,0 +1,464 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Robin Appelman
+ * @copyright 2012 Sam Tuke <samtuke@owncloud.com>, 2011 Robin Appelman
+ * <icewind1991@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/**
+ * transparently encrypted filestream
+ *
+ * you can use it as wrapper around an existing stream by setting CryptStream::$sourceStreams['foo']=array('path'=>$path,'stream'=>$stream)
+ * and then fopen('crypt://streams/foo');
+ */
+
+namespace OCA\Encryption;
+
+/**
+ * @brief Provides 'crypt://' stream wrapper protocol.
+ * @note We use a stream wrapper because it is the most secure way to handle
+ * decrypted content transfers. There is no safe way to decrypt the entire file
+ * somewhere on the server, so we have to encrypt and decrypt blocks on the fly.
+ * @note Paths used with this protocol MUST BE RELATIVE. Use URLs like:
+ * crypt://filename, or crypt://subdirectory/filename, NOT
+ * crypt:///home/user/owncloud/data. Otherwise keyfiles will be put in
+ * [owncloud]/data/user/files_encryption/keyfiles/home/user/owncloud/data and
+ * will not be accessible to other methods.
+ * @note Data read and written must always be 8192 bytes long, as this is the
+ * buffer size used internally by PHP. The encryption process makes the input
+ * data longer, and input is chunked into smaller pieces in order to result in
+ * a 8192 encrypted block size.
+ */
+class Stream {
+
+ public static $sourceStreams = array();
+
+ # TODO: make all below properties private again once unit testing is configured correctly
+ public $rawPath; // The raw path received by stream_open
+ public $path_f; // The raw path formatted to include username and data directory
+ private $userId;
+ private $handle; // Resource returned by fopen
+ private $path;
+ private $readBuffer; // For streams that dont support seeking
+ private $meta = array(); // Header / meta for source stream
+ private $count;
+ private $writeCache;
+ public $size;
+ private $publicKey;
+ private $keyfile;
+ private $encKeyfile;
+ private static $view; // a fsview object set to user dir
+ private $rootView; // a fsview object set to '/'
+
+ public function stream_open( $path, $mode, $options, &$opened_path ) {
+
+ // Get access to filesystem via filesystemview object
+ if ( !self::$view ) {
+
+ self::$view = new \OC_FilesystemView( $this->userId . '/' );
+
+ }
+
+ // Set rootview object if necessary
+ if ( ! $this->rootView ) {
+
+ $this->rootView = new \OC_FilesystemView( $this->userId . '/' );
+
+ }
+
+ $this->userId = \OCP\User::getUser();
+
+ // Get the bare file path
+ $path = str_replace( 'crypt://', '', $path );
+
+ $this->rawPath = $path;
+
+ $this->path_f = $this->userId . '/files/' . $path;
+
+ if (
+ dirname( $path ) == 'streams'
+ and isset( self::$sourceStreams[basename( $path )] )
+ ) {
+
+ // Is this just for unit testing purposes?
+
+ $this->handle = self::$sourceStreams[basename( $path )]['stream'];
+
+ $this->path = self::$sourceStreams[basename( $path )]['path'];
+
+ $this->size = self::$sourceStreams[basename( $path )]['size'];
+
+ } else {
+
+ if (
+ $mode == 'w'
+ or $mode == 'w+'
+ or $mode == 'wb'
+ or $mode == 'wb+'
+ ) {
+
+ $this->size = 0;
+
+ } else {
+
+
+
+ $this->size = self::$view->filesize( $this->path_f, $mode );
+
+ //$this->size = filesize( $path );
+
+ }
+
+ // Disable fileproxies so we can open the source file without recursive encryption
+ \OC_FileProxy::$enabled = false;
+
+ //$this->handle = fopen( $path, $mode );
+
+ $this->handle = self::$view->fopen( $this->path_f, $mode );
+
+ \OC_FileProxy::$enabled = true;
+
+ if ( !is_resource( $this->handle ) ) {
+
+ \OCP\Util::writeLog( 'files_encryption', 'failed to open '.$path, \OCP\Util::ERROR );
+
+ }
+
+ }
+
+ if ( is_resource( $this->handle ) ) {
+
+ $this->meta = stream_get_meta_data( $this->handle );
+
+ }
+
+ return is_resource( $this->handle );
+
+ }
+
+ public function stream_seek( $offset, $whence = SEEK_SET ) {
+
+ $this->flush();
+
+ fseek( $this->handle, $offset, $whence );
+
+ }
+
+ public function stream_tell() {
+ return ftell($this->handle);
+ }
+
+ public function stream_read( $count ) {
+
+ $this->writeCache = '';
+
+ if ( $count != 8192 ) {
+
+ // $count will always be 8192 https://bugs.php.net/bug.php?id=21641
+ // This makes this function a lot simpler, but will break this class if the above 'bug' gets 'fixed'
+ \OCP\Util::writeLog( 'files_encryption', 'PHP "bug" 21641 no longer holds, decryption system requires refactoring', OCP\Util::FATAL );
+
+ die();
+
+ }
+
+// $pos = ftell( $this->handle );
+//
+ // Get the data from the file handle
+ $data = fread( $this->handle, 8192 );
+
+ if ( strlen( $data ) ) {
+
+ $this->getKey();
+
+ $result = Crypt::symmetricDecryptFileContent( $data, $this->keyfile );
+
+ } else {
+
+ $result = '';
+
+ }
+
+// $length = $this->size - $pos;
+//
+// if ( $length < 8192 ) {
+//
+// $result = substr( $result, 0, $length );
+//
+// }
+
+ return $result;
+
+ }
+
+ /**
+ * @brief Encrypt and pad data ready for writting to disk
+ * @param string $plainData data to be encrypted
+ * @param string $key key to use for encryption
+ * @return encrypted data on success, false on failure
+ */
+ public function preWriteEncrypt( $plainData, $key ) {
+
+ // Encrypt data to 'catfile', which includes IV
+ if ( $encrypted = Crypt::symmetricEncryptFileContent( $plainData, $key ) ) {
+
+ return $encrypted;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Get the keyfile for the current file, generate one if necessary
+ * @param bool $generate if true, a new key will be generated if none can be found
+ * @return bool true on key found and set, false on key not found and new key generated and set
+ */
+ public function getKey() {
+
+ // If a keyfile already exists for a file named identically to file to be written
+ if ( self::$view->file_exists( $this->userId . '/'. 'files_encryption' . '/' . 'keyfiles' . '/' . $this->rawPath . '.key' ) ) {
+
+ # TODO: add error handling for when file exists but no keyfile
+
+ // Fetch existing keyfile
+ $this->encKeyfile = Keymanager::getFileKey( $this->rootView, $this->userId, $this->rawPath );
+
+ $this->getUser();
+
+ $session = new Session();
+
+ $privateKey = $session->getPrivateKey( $this->userId );
+
+ $this->keyfile = Crypt::keyDecrypt( $this->encKeyfile, $privateKey );
+
+ return true;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ public function getuser() {
+
+ // Only get the user again if it isn't already set
+ if ( empty( $this->userId ) ) {
+
+ # TODO: Move this user call out of here - it belongs elsewhere
+ $this->userId = \OCP\User::getUser();
+
+ }
+
+ # TODO: Add a method for getting the user in case OCP\User::
+ # getUser() doesn't work (can that scenario ever occur?)
+
+ }
+
+ /**
+ * @brief Handle plain data from the stream, and write it in 8192 byte blocks
+ * @param string $data data to be written to disk
+ * @note the data will be written to the path stored in the stream handle, set in stream_open()
+ * @note $data is only ever be a maximum of 8192 bytes long. This is set by PHP internally. stream_write() is called multiple times in a loop on data larger than 8192 bytes
+ * @note Because the encryption process used increases the length of $data, a writeCache is used to carry over data which would not fit in the required block size
+ * @note Padding is added to each encrypted block to ensure that the resulting block is exactly 8192 bytes. This is removed during stream_read
+ * @note PHP automatically updates the file pointer after writing data to reflect it's length. There is generally no need to update the poitner manually using fseek
+ */
+ public function stream_write( $data ) {
+
+ // Disable the file proxies so that encryption is not automatically attempted when the file is written to disk - we are handling that separately here and we don't want to get into an infinite loop
+ \OC_FileProxy::$enabled = false;
+
+ // Get the length of the unencrypted data that we are handling
+ $length = strlen( $data );
+
+ // So far this round, no data has been written
+ $written = 0;
+
+ // Find out where we are up to in the writing of data to the file
+ $pointer = ftell( $this->handle );
+
+ // Make sure the userId is set
+ $this->getuser();
+
+ // Get / generate the keyfile for the file we're handling
+ // If we're writing a new file (not overwriting an existing one), save the newly generated keyfile
+ if ( ! $this->getKey() ) {
+
+ $this->keyfile = Crypt::generateKey();
+
+ $this->publicKey = Keymanager::getPublicKey( $this->rootView, $this->userId );
+
+ $this->encKeyfile = Crypt::keyEncrypt( $this->keyfile, $this->publicKey );
+
+ // Save the new encrypted file key
+ Keymanager::setFileKey( $this->rawPath, $this->encKeyfile, new \OC_FilesystemView( '/' ) );
+
+ # TODO: move this new OCFSV out of here some how, use DI
+
+ }
+
+ // If extra data is left over from the last round, make sure it is integrated into the next 6126 / 8192 block
+ if ( $this->writeCache ) {
+
+ // Concat writeCache to start of $data
+ $data = $this->writeCache . $data;
+
+ // Clear the write cache, ready for resuse - it has been flushed and its old contents processed
+ $this->writeCache = '';
+
+ }
+//
+// // Make sure we always start on a block start
+ if ( 0 != ( $pointer % 8192 ) ) { // if the current positoin of file indicator is not aligned to a 8192 byte block, fix it so that it is
+
+// fseek( $this->handle, - ( $pointer % 8192 ), SEEK_CUR );
+//
+// $pointer = ftell( $this->handle );
+//
+// $unencryptedNewBlock = fread( $this->handle, 8192 );
+//
+// fseek( $this->handle, - ( $currentPos % 8192 ), SEEK_CUR );
+//
+// $block = Crypt::symmetricDecryptFileContent( $unencryptedNewBlock, $this->keyfile );
+//
+// $x = substr( $block, 0, $currentPos % 8192 );
+//
+// $data = $x . $data;
+//
+// fseek( $this->handle, - ( $currentPos % 8192 ), SEEK_CUR );
+//
+ }
+
+// $currentPos = ftell( $this->handle );
+
+// // While there still remains somed data to be processed & written
+ while( strlen( $data ) > 0 ) {
+//
+// // Remaining length for this iteration, not of the entire file (may be greater than 8192 bytes)
+// $remainingLength = strlen( $data );
+//
+// // If data remaining to be written is less than the size of 1 6126 byte block
+ if ( strlen( $data ) < 6126 ) {
+
+ // Set writeCache to contents of $data
+ // The writeCache will be carried over to the next write round, and added to the start of $data to ensure that written blocks are always the correct length. If there is still data in writeCache after the writing round has finished, then the data will be written to disk by $this->flush().
+ $this->writeCache = $data;
+
+ // Clear $data ready for next round
+ $data = '';
+//
+ } else {
+
+ // Read the chunk from the start of $data
+ $chunk = substr( $data, 0, 6126 );
+
+ $encrypted = $this->preWriteEncrypt( $chunk, $this->keyfile );
+
+ // Write the data chunk to disk. This will be addended to the last data chunk if the file being handled totals more than 6126 bytes
+ fwrite( $this->handle, $encrypted );
+
+ $writtenLen = strlen( $encrypted );
+ //fseek( $this->handle, $writtenLen, SEEK_CUR );
+
+ // Remove the chunk we just processed from $data, leaving only unprocessed data in $data var, for handling on the next round
+ $data = substr( $data, 6126 );
+
+ }
+
+ }
+
+ $this->size = max( $this->size, $pointer + $length );
+
+ return $length;
+
+ }
+
+
+ public function stream_set_option($option,$arg1,$arg2) {
+ switch($option) {
+ case STREAM_OPTION_BLOCKING:
+ stream_set_blocking($this->handle,$arg1);
+ break;
+ case STREAM_OPTION_READ_TIMEOUT:
+ stream_set_timeout($this->handle,$arg1,$arg2);
+ break;
+ case STREAM_OPTION_WRITE_BUFFER:
+ stream_set_write_buffer($this->handle,$arg1,$arg2);
+ }
+ }
+
+ public function stream_stat() {
+ return fstat($this->handle);
+ }
+
+ public function stream_lock($mode) {
+ flock($this->handle,$mode);
+ }
+
+ public function stream_flush() {
+
+ return fflush($this->handle); // Not a typo: http://php.net/manual/en/function.fflush.php
+
+ }
+
+ public function stream_eof() {
+ return feof($this->handle);
+ }
+
+ private function flush() {
+
+ if ( $this->writeCache ) {
+
+ // Set keyfile property for file in question
+ $this->getKey();
+
+ $encrypted = $this->preWriteEncrypt( $this->writeCache, $this->keyfile );
+
+ fwrite( $this->handle, $encrypted );
+
+ $this->writeCache = '';
+
+ }
+
+ }
+
+ public function stream_close() {
+
+ $this->flush();
+
+ if (
+ $this->meta['mode']!='r'
+ and $this->meta['mode']!='rb'
+ ) {
+
+ \OC_FileCache::put( $this->path, array( 'encrypted' => true, 'size' => $this->size ), '' );
+
+ }
+
+ return fclose( $this->handle );
+
+ }
+
+}
diff --git a/apps/files_encryption/lib/util.php b/apps/files_encryption/lib/util.php
new file mode 100644
index 00000000000..cd46d23108a
--- /dev/null
+++ b/apps/files_encryption/lib/util.php
@@ -0,0 +1,330 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Sam Tuke, Frank Karlitschek
+ * @copyright 2012 Sam Tuke samtuke@owncloud.com,
+ * Frank Karlitschek frank@owncloud.org
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// Todo:
+// - Crypt/decrypt button in the userinterface
+// - Setting if crypto should be on by default
+// - Add a setting "Don´t encrypt files larger than xx because of performance reasons"
+// - Transparent decrypt/encrypt in filesystem.php. Autodetect if a file is encrypted (.encrypted extension)
+// - Don't use a password directly as encryption key. but a key which is stored on the server and encrypted with the user password. -> password change faster
+// - IMPORTANT! Check if the block lenght of the encrypted data stays the same
+
+namespace OCA\Encryption;
+
+/**
+ * @brief Class for utilities relating to encrypted file storage system
+ * @param $view OC_FilesystemView object, expected to have OC '/' as root path
+ * @param $client flag indicating status of client side encryption. Currently
+ * unused, likely to become obsolete shortly
+ */
+
+class Util {
+
+
+ # Web UI:
+
+ ## DONE: files created via web ui are encrypted
+ ## DONE: file created & encrypted via web ui are readable in web ui
+ ## DONE: file created & encrypted via web ui are readable via webdav
+
+
+ # WebDAV:
+
+ ## DONE: new data filled files added via webdav get encrypted
+ ## DONE: new data filled files added via webdav are readable via webdav
+ ## DONE: reading unencrypted files when encryption is enabled works via webdav
+ ## DONE: files created & encrypted via web ui are readable via webdav
+
+
+ # Legacy support:
+
+ ## DONE: add method to check if file is encrypted using new system
+ ## DONE: add method to check if file is encrypted using old system
+ ## DONE: add method to fetch legacy key
+ ## DONE: add method to decrypt legacy encrypted data
+
+ ## TODO: add method to encrypt all user files using new system
+ ## TODO: add method to decrypt all user files using new system
+ ## TODO: add method to encrypt all user files using old system
+ ## TODO: add method to decrypt all user files using old system
+
+
+ # Admin UI:
+
+ ## DONE: changing user password also changes encryption passphrase
+
+ ## TODO: add support for optional recovery in case of lost passphrase / keys
+ ## TODO: add admin optional required long passphrase for users
+ ## TODO: add UI buttons for encrypt / decrypt everything
+ ## TODO: implement flag system to allow user to specify encryption by folder, subfolder, etc.
+
+
+ # Sharing:
+
+ ## TODO: add support for encrypting to multiple public keys
+ ## TODO: add support for decrypting to multiple private keys
+
+
+ # Integration testing:
+
+ ## TODO: test new encryption with webdav
+ ## TODO: test new encryption with versioning
+ ## TODO: test new encryption with sharing
+ ## TODO: test new encryption with proxies
+
+
+ private $view; // OC_FilesystemView object for filesystem operations
+ private $pwd; // User Password
+ private $client; // Client side encryption mode flag
+ private $publicKeyDir; // Directory containing all public user keys
+ private $encryptionDir; // Directory containing user's files_encryption
+ private $keyfilesPath; // Directory containing user's keyfiles
+ private $publicKeyPath; // Path to user's public key
+ private $privateKeyPath; // Path to user's private key
+
+ public function __construct( \OC_FilesystemView $view, $userId, $client = false ) {
+
+ $this->view = $view;
+ $this->userId = $userId;
+ $this->client = $client;
+ $this->publicKeyDir = '/' . 'public-keys';
+ $this->encryptionDir = '/' . $this->userId . '/' . 'files_encryption';
+ $this->keyfilesPath = $this->encryptionDir . '/' . 'keyfiles';
+ $this->publicKeyPath = $this->publicKeyDir . '/' . $this->userId . '.public.key'; // e.g. data/public-keys/admin.public.key
+ $this->privateKeyPath = $this->encryptionDir . '/' . $this->userId . '.private.key'; // e.g. data/admin/admin.private.key
+
+ }
+
+ public function ready() {
+
+ if(
+ !$this->view->file_exists( $this->keyfilesPath )
+ or !$this->view->file_exists( $this->publicKeyPath )
+ or !$this->view->file_exists( $this->privateKeyPath )
+ ) {
+
+ return false;
+
+ } else {
+
+ return true;
+
+ }
+
+ }
+
+ /**
+ * @brief Sets up user folders and keys for serverside encryption
+ * @param $passphrase passphrase to encrypt server-stored private key with
+ */
+ public function setupServerSide( $passphrase = null ) {
+
+ // Create shared public key directory
+ if( !$this->view->file_exists( $this->publicKeyDir ) ) {
+
+ $this->view->mkdir( $this->publicKeyDir );
+
+ }
+
+ // Create encryption app directory
+ if( !$this->view->file_exists( $this->encryptionDir ) ) {
+
+ $this->view->mkdir( $this->encryptionDir );
+
+ }
+
+ // Create mirrored keyfile directory
+ if( !$this->view->file_exists( $this->keyfilesPath ) ) {
+
+ $this->view->mkdir( $this->keyfilesPath );
+
+ }
+
+ // Create user keypair
+ if (
+ !$this->view->file_exists( $this->publicKeyPath )
+ or !$this->view->file_exists( $this->privateKeyPath )
+ ) {
+
+ // Generate keypair
+ $keypair = Crypt::createKeypair();
+
+ \OC_FileProxy::$enabled = false;
+
+ // Save public key
+ $this->view->file_put_contents( $this->publicKeyPath, $keypair['publicKey'] );
+
+ // Encrypt private key with user pwd as passphrase
+ $encryptedPrivateKey = Crypt::symmetricEncryptFileContent( $keypair['privateKey'], $passphrase );
+
+ // Save private key
+ $this->view->file_put_contents( $this->privateKeyPath, $encryptedPrivateKey );
+
+ \OC_FileProxy::$enabled = true;
+
+ }
+
+ return true;
+
+ }
+
+ public function findFiles( $directory, $type = 'plain' ) {
+
+ # TODO: test finding non plain content
+
+ if ( $handle = $this->view->opendir( $directory ) ) {
+
+ while ( false !== ( $file = readdir( $handle ) ) ) {
+
+ if (
+ $file != "."
+ && $file != ".."
+ ) {
+
+ $filePath = $directory . '/' . $this->view->getRelativePath( '/' . $file );
+
+ var_dump($filePath);
+
+ if ( $this->view->is_dir( $filePath ) ) {
+
+ $this->findFiles( $filePath );
+
+ } elseif ( $this->view->is_file( $filePath ) ) {
+
+ if ( $type == 'plain' ) {
+
+ $this->files[] = array( 'name' => $file, 'path' => $filePath );
+
+ } elseif ( $type == 'encrypted' ) {
+
+ if ( Crypt::isEncryptedContent( $this->view->file_get_contents( $filePath ) ) ) {
+
+ $this->files[] = array( 'name' => $file, 'path' => $filePath );
+
+ }
+
+ } elseif ( $type == 'legacy' ) {
+
+ if ( Crypt::isLegacyEncryptedContent( $this->view->file_get_contents( $filePath ) ) ) {
+
+ $this->files[] = array( 'name' => $file, 'path' => $filePath );
+
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+ if ( !empty( $this->files ) ) {
+
+ return $this->files;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ return false;
+
+ }
+
+ /**
+ * @brief Check if a given path identifies an encrypted file
+ * @return true / false
+ */
+ public function isEncryptedPath( $path ) {
+
+ // Disable encryption proxy so data retreived is in its
+ // original form
+ \OC_FileProxy::$enabled = false;
+
+ $data = $this->view->file_get_contents( $path );
+
+ \OC_FileProxy::$enabled = true;
+
+ return Crypt::isEncryptedContent( $data );
+
+ }
+
+ public function encryptAll( $directory ) {
+
+ $plainFiles = $this->findFiles( $this->view, 'plain' );
+
+ if ( $this->encryptFiles( $plainFiles ) ) {
+
+ return true;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ public function getPath( $pathName ) {
+
+ switch ( $pathName ) {
+
+ case 'publicKeyDir':
+
+ return $this->publicKeyDir;
+
+ break;
+
+ case 'encryptionDir':
+
+ return $this->encryptionDir;
+
+ break;
+
+ case 'keyfilesPath':
+
+ return $this->keyfilesPath;
+
+ break;
+
+ case 'publicKeyPath':
+
+ return $this->publicKeyPath;
+
+ break;
+
+ case 'privateKeyPath':
+
+ return $this->privateKeyPath;
+
+ break;
+
+ }
+
+ }
+
+}
diff --git a/apps/files_encryption/settings-personal.php b/apps/files_encryption/settings-personal.php
new file mode 100644
index 00000000000..014288f2efe
--- /dev/null
+++ b/apps/files_encryption/settings-personal.php
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Copyright (c) 2012 Bjoern Schiessle <schiessle@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+$sysEncMode = \OC_Appconfig::getValue('files_encryption', 'mode', 'none');
+
+if ($sysEncMode == 'user') {
+
+ $tmpl = new OCP\Template( 'files_encryption', 'settings-personal');
+
+ $query = \OC_DB::prepare( "SELECT mode FROM *PREFIX*encryption WHERE uid = ?" );
+ $result = $query->execute(array(\OCP\User::getUser()));
+
+ if ($row = $result->fetchRow()){
+ $mode = $row['mode'];
+ } else {
+ $mode = 'none';
+ }
+
+ OCP\Util::addscript('files_encryption','settings-personal');
+ $tmpl->assign('encryption_mode', $mode);
+ return $tmpl->fetchPage();
+}
+
+return null;
diff --git a/apps/files_encryption/settings.php b/apps/files_encryption/settings.php
index 94ff5ab94ba..d1260f44e9f 100644
--- a/apps/files_encryption/settings.php
+++ b/apps/files_encryption/settings.php
@@ -6,17 +6,16 @@
* See the COPYING-README file.
*/
-OC_Util::checkAdminUser();
+\OC_Util::checkAdminUser();
-$tmpl = new OCP\Template( 'files_encryption', 'settings');
-$blackList=explode(',', OCP\Config::getAppValue('files_encryption',
- 'type_blacklist',
- 'jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg'));
-$enabled=(OCP\Config::getAppValue('files_encryption', 'enable_encryption', 'true')=='true');
-$tmpl->assign('blacklist', $blackList);
-$tmpl->assign('encryption_enabled', $enabled);
+$tmpl = new OCP\Template( 'files_encryption', 'settings' );
-OCP\Util::addscript('files_encryption', 'settings');
-OCP\Util::addscript('core', 'multiselect');
+$blackList = explode( ',', \OCP\Config::getAppValue( 'files_encryption', 'type_blacklist', 'jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg' ) );
+
+$tmpl->assign( 'blacklist', $blackList );
+$tmpl->assign( 'encryption_mode', \OC_Appconfig::getValue( 'files_encryption', 'mode', 'none' ) );
+
+\OCP\Util::addscript( 'files_encryption', 'settings' );
+\OCP\Util::addscript( 'core', 'multiselect' );
return $tmpl->fetchPage();
diff --git a/apps/files_encryption/templates/settings-personal.php b/apps/files_encryption/templates/settings-personal.php
new file mode 100644
index 00000000000..1274bd3bb5c
--- /dev/null
+++ b/apps/files_encryption/templates/settings-personal.php
@@ -0,0 +1,45 @@
+<form id="encryption">
+ <fieldset class="personalblock">
+ <strong><?php echo $l->t('Choose encryption mode:'); ?></strong>
+ <p>
+ <input
+ type="hidden"
+ name="prev_encryption_mode"
+ id="prev_encryption_mode"
+ value="<?php echo $_['encryption_mode']; ?>"
+ >
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ value="client"
+ id='client_encryption'
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'client') echo "checked='checked'"?>
+ />
+ <?php echo $l->t('Client side encryption (most secure but makes it impossible to access your data from the web interface)'); ?>
+ <br />
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ value="server"
+ id='server_encryption'
+ style="width:20px;" <?php if ($_['encryption_mode'] == 'server') echo "checked='checked'"?>
+ />
+ <?php echo $l->t('Server side encryption (allows you to access your files from the web interface and the desktop client)'); ?>
+ <br />
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ value="none"
+ id='none_encryption'
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'none') echo "checked='checked'"?>
+ />
+ <?php echo $l->t('None (no encryption at all)'); ?>
+ <br/>
+ </p>
+ </fieldset>
+</form>
diff --git a/apps/files_encryption/templates/settings.php b/apps/files_encryption/templates/settings.php
index 61bfe849c72..544ec793f37 100644
--- a/apps/files_encryption/templates/settings.php
+++ b/apps/files_encryption/templates/settings.php
@@ -1,14 +1,79 @@
-<form id="calendar">
+<form id="encryption">
<fieldset class="personalblock">
- <legend><strong><?php echo $l->t('Encryption');?></strong></legend>
- <input type='checkbox'<?php if ($_['encryption_enabled']): ?> checked="checked"<?php endif; ?>
- id='enable_encryption' />
- <label for='enable_encryption'><?php echo $l->t('Enable Encryption')?></label><br />
- <select id='encryption_blacklist' title="<?php echo $l->t('None')?>" multiple="multiple">
- <?php foreach ($_['blacklist'] as $type): ?>
- <option selected="selected" value="<?php echo $type;?>"><?php echo $type;?></option>
+
+ <strong>
+ <?php echo $l->t('Choose encryption mode:'); ?>
+ </strong>
+
+ <p>
+ <i>
+ <?php echo $l->t('Important: Once you selected an encryption mode there is no way to change it back'); ?>
+ </i>
+ </p>
+
+ <p>
+ <input
+ type="radio"
+ name="encryption_mode"
+ id="client_encryption"
+ value="client"
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'client') echo "checked='checked'"; if ($_['encryption_mode'] != 'none') echo "DISABLED"?>
+ />
+
+ <?php echo $l->t("Client side encryption (most secure but makes it impossible to access your data from the web interface)"); ?>
+ <br />
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ id="server_encryption"
+ value="server"
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'server') echo "checked='checked'"; if ($_['encryption_mode'] != 'none') echo "DISABLED"?>
+ />
+
+ <?php echo $l->t('Server side encryption (allows you to access your files from the web interface and the desktop client)'); ?>
+ <br />
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ id="user_encryption"
+ value="user"
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'user') echo "checked='checked'"; if ($_['encryption_mode'] != 'none') echo "DISABLED"?>
+ />
+
+ <?php echo $l->t('User specific (let the user decide)'); ?>
+ <br/>
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ id="none_encryption"
+ value="none"
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'none') echo "checked='checked'"; if ($_['encryption_mode'] != 'none') echo "DISABLED"?>
+ />
+
+ <?php echo $l->t('None (no encryption at all)'); ?>
+ <br/>
+
+ </p>
+ <p>
+ <strong><?php echo $l->t('Encryption'); ?></strong>
+
+ <?php echo $l->t("Exclude the following file types from encryption"); ?>
+
+ <select
+ id='encryption_blacklist'
+ title="<?php echo $l->t('None')?>"
+ multiple="multiple">
+ <?php foreach($_["blacklist"] as $type): ?>
+ <option selected="selected" value="<?php echo $type;?>"> <?php echo $type;?> </option>
<?php endforeach;?>
- </select><br />
- <?php echo $l->t('Exclude the following file types from encryption'); ?>
+ </select>
+ </p>
</fieldset>
</form>
diff --git a/apps/files_encryption/tests/binary b/apps/files_encryption/test/binary
index 79bc99479da..79bc99479da 100644
--- a/apps/files_encryption/tests/binary
+++ b/apps/files_encryption/test/binary
Binary files differ
diff --git a/apps/files_encryption/test/crypt.php b/apps/files_encryption/test/crypt.php
new file mode 100755
index 00000000000..5a7820dc9da
--- /dev/null
+++ b/apps/files_encryption/test/crypt.php
@@ -0,0 +1,667 @@
+<?php
+/**
+ * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>, and
+ * Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+//require_once "PHPUnit/Framework/TestCase.php";
+require_once realpath( dirname(__FILE__).'/../../../3rdparty/Crypt_Blowfish/Blowfish.php' );
+require_once realpath( dirname(__FILE__).'/../../../lib/base.php' );
+require_once realpath( dirname(__FILE__).'/../lib/crypt.php' );
+require_once realpath( dirname(__FILE__).'/../lib/keymanager.php' );
+require_once realpath( dirname(__FILE__).'/../lib/proxy.php' );
+require_once realpath( dirname(__FILE__).'/../lib/stream.php' );
+require_once realpath( dirname(__FILE__).'/../lib/util.php' );
+require_once realpath( dirname(__FILE__).'/../appinfo/app.php' );
+
+use OCA\Encryption;
+
+// This has to go here because otherwise session errors arise, and the private
+// encryption key needs to be saved in the session
+\OC_User::login( 'admin', 'admin' );
+
+/**
+ * @note It would be better to use Mockery here for mocking out the session
+ * handling process, and isolate calls to session class and data from the unit
+ * tests relating to them (stream etc.). However getting mockery to work and
+ * overload classes whilst also using the OC autoloader is difficult due to
+ * load order Pear errors.
+ */
+
+class Test_Crypt extends \PHPUnit_Framework_TestCase {
+
+ function setUp() {
+
+ // set content for encrypting / decrypting in tests
+ $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) );
+ $this->dataShort = 'hats';
+ $this->dataUrl = realpath( dirname(__FILE__).'/../lib/crypt.php' );
+ $this->legacyData = realpath( dirname(__FILE__).'/legacy-text.txt' );
+ $this->legacyEncryptedData = realpath( dirname(__FILE__).'/legacy-encrypted-text.txt' );
+ $this->randomKey = Encryption\Crypt::generateKey();
+
+ $keypair = Encryption\Crypt::createKeypair();
+ $this->genPublicKey = $keypair['publicKey'];
+ $this->genPrivateKey = $keypair['privateKey'];
+
+ $this->view = new \OC_FilesystemView( '/' );
+
+ \OC_User::setUserId( 'admin' );
+ $this->userId = 'admin';
+ $this->pass = 'admin';
+
+ \OC_Filesystem::init( '/' );
+ \OC_Filesystem::mount( 'OC_Filestorage_Local', array('datadir' => \OC_User::getHome($this->userId)), '/' );
+
+ }
+
+ function tearDown() {
+
+ }
+
+ function testGenerateKey() {
+
+ # TODO: use more accurate (larger) string length for test confirmation
+
+ $key = Encryption\Crypt::generateKey();
+
+ $this->assertTrue( strlen( $key ) > 16 );
+
+ }
+
+ function testGenerateIv() {
+
+ $iv = Encryption\Crypt::generateIv();
+
+ $this->assertEquals( 16, strlen( $iv ) );
+
+ return $iv;
+
+ }
+
+ /**
+ * @depends testGenerateIv
+ */
+ function testConcatIv( $iv ) {
+
+ $catFile = Encryption\Crypt::concatIv( $this->dataLong, $iv );
+
+ // Fetch encryption metadata from end of file
+ $meta = substr( $catFile, -22 );
+
+ $identifier = substr( $meta, 0, 6);
+
+ // Fetch IV from end of file
+ $foundIv = substr( $meta, 6 );
+
+ $this->assertEquals( '00iv00', $identifier );
+
+ $this->assertEquals( $iv, $foundIv );
+
+ // Remove IV and IV identifier text to expose encrypted content
+ $data = substr( $catFile, 0, -22 );
+
+ $this->assertEquals( $this->dataLong, $data );
+
+ return array(
+ 'iv' => $iv
+ , 'catfile' => $catFile
+ );
+
+ }
+
+ /**
+ * @depends testConcatIv
+ */
+ function testSplitIv( $testConcatIv ) {
+
+ // Split catfile into components
+ $splitCatfile = Encryption\Crypt::splitIv( $testConcatIv['catfile'] );
+
+ // Check that original IV and split IV match
+ $this->assertEquals( $testConcatIv['iv'], $splitCatfile['iv'] );
+
+ // Check that original data and split data match
+ $this->assertEquals( $this->dataLong, $splitCatfile['encrypted'] );
+
+ }
+
+ function testAddPadding() {
+
+ $padded = Encryption\Crypt::addPadding( $this->dataLong );
+
+ $padding = substr( $padded, -2 );
+
+ $this->assertEquals( 'xx' , $padding );
+
+ return $padded;
+
+ }
+
+ /**
+ * @depends testAddPadding
+ */
+ function testRemovePadding( $padded ) {
+
+ $noPadding = Encryption\Crypt::RemovePadding( $padded );
+
+ $this->assertEquals( $this->dataLong, $noPadding );
+
+ }
+
+ function testEncrypt() {
+
+ $random = openssl_random_pseudo_bytes( 13 );
+
+ $iv = substr( base64_encode( $random ), 0, -4 ); // i.e. E5IG033j+mRNKrht
+
+ $crypted = Encryption\Crypt::encrypt( $this->dataUrl, $iv, 'hat' );
+
+ $this->assertNotEquals( $this->dataUrl, $crypted );
+
+ }
+
+ function testDecrypt() {
+
+ $random = openssl_random_pseudo_bytes( 13 );
+
+ $iv = substr( base64_encode( $random ), 0, -4 ); // i.e. E5IG033j+mRNKrht
+
+ $crypted = Encryption\Crypt::encrypt( $this->dataUrl, $iv, 'hat' );
+
+ $decrypt = Encryption\Crypt::decrypt( $crypted, $iv, 'hat' );
+
+ $this->assertEquals( $this->dataUrl, $decrypt );
+
+ }
+
+ function testSymmetricEncryptFileContent() {
+
+ # TODO: search in keyfile for actual content as IV will ensure this test always passes
+
+ $crypted = Encryption\Crypt::symmetricEncryptFileContent( $this->dataShort, 'hat' );
+
+ $this->assertNotEquals( $this->dataShort, $crypted );
+
+
+ $decrypt = Encryption\Crypt::symmetricDecryptFileContent( $crypted, 'hat' );
+
+ $this->assertEquals( $this->dataShort, $decrypt );
+
+ }
+
+ // These aren't used for now
+// function testSymmetricBlockEncryptShortFileContent() {
+//
+// $crypted = Encryption\Crypt::symmetricBlockEncryptFileContent( $this->dataShort, $this->randomKey );
+//
+// $this->assertNotEquals( $this->dataShort, $crypted );
+//
+//
+// $decrypt = Encryption\Crypt::symmetricBlockDecryptFileContent( $crypted, $this->randomKey );
+//
+// $this->assertEquals( $this->dataShort, $decrypt );
+//
+// }
+//
+// function testSymmetricBlockEncryptLongFileContent() {
+//
+// $crypted = Encryption\Crypt::symmetricBlockEncryptFileContent( $this->dataLong, $this->randomKey );
+//
+// $this->assertNotEquals( $this->dataLong, $crypted );
+//
+//
+// $decrypt = Encryption\Crypt::symmetricBlockDecryptFileContent( $crypted, $this->randomKey );
+//
+// $this->assertEquals( $this->dataLong, $decrypt );
+//
+// }
+
+ function testSymmetricStreamEncryptShortFileContent() {
+
+ $filename = 'tmp-'.time();
+
+ $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataShort );
+
+ // Test that data was successfully written
+ $this->assertTrue( is_int( $cryptedFile ) );
+
+
+ // Get file contents without using any wrapper to get it's actual contents on disk
+ $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename );
+
+ // Check that the file was encrypted before being written to disk
+ $this->assertNotEquals( $this->dataShort, $retreivedCryptedFile );
+
+ // Get private key
+ $encryptedPrivateKey = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId );
+
+ $decryptedPrivateKey = Encryption\Crypt::symmetricDecryptFileContent( $encryptedPrivateKey, $this->pass );
+
+
+ // Get keyfile
+ $encryptedKeyfile = Encryption\Keymanager::getFileKey( $this->view, $this->userId, $filename );
+
+ $decryptedKeyfile = Encryption\Crypt::keyDecrypt( $encryptedKeyfile, $decryptedPrivateKey );
+
+
+ // Manually decrypt
+ $manualDecrypt = Encryption\Crypt::symmetricBlockDecryptFileContent( $retreivedCryptedFile, $decryptedKeyfile );
+
+ // Check that decrypted data matches
+ $this->assertEquals( $this->dataShort, $manualDecrypt );
+
+ }
+
+ /**
+ * @brief Test that data that is written by the crypto stream wrapper
+ * @note Encrypted data is manually prepared and decrypted here to avoid dependency on success of stream_read
+ * @note If this test fails with truncate content, check that enough array slices are being rejoined to form $e, as the crypt.php file may have gotten longer and broken the manual
+ * reassembly of its data
+ */
+ function testSymmetricStreamEncryptLongFileContent() {
+
+ // Generate a a random filename
+ $filename = 'tmp-'.time();
+
+ // Save long data as encrypted file using stream wrapper
+ $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataLong.$this->dataLong );
+
+ // Test that data was successfully written
+ $this->assertTrue( is_int( $cryptedFile ) );
+
+ // Get file contents without using any wrapper to get it's actual contents on disk
+ $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename );
+
+// echo "\n\n\$retreivedCryptedFile = $retreivedCryptedFile\n\n";
+
+ // Check that the file was encrypted before being written to disk
+ $this->assertNotEquals( $this->dataLong.$this->dataLong, $retreivedCryptedFile );
+
+ // Manuallly split saved file into separate IVs and encrypted chunks
+ $r = preg_split('/(00iv00.{16,18})/', $retreivedCryptedFile, NULL, PREG_SPLIT_DELIM_CAPTURE);
+
+ //print_r($r);
+
+ // Join IVs and their respective data chunks
+ $e = array( $r[0].$r[1], $r[2].$r[3], $r[4].$r[5], $r[6].$r[7], $r[8].$r[9], $r[10].$r[11], $r[12].$r[13] );//.$r[11], $r[12].$r[13], $r[14] );
+
+ //print_r($e);
+
+
+ // Get private key
+ $encryptedPrivateKey = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId );
+
+ $decryptedPrivateKey = Encryption\Crypt::symmetricDecryptFileContent( $encryptedPrivateKey, $this->pass );
+
+
+ // Get keyfile
+ $encryptedKeyfile = Encryption\Keymanager::getFileKey( $this->view, $this->userId, $filename );
+
+ $decryptedKeyfile = Encryption\Crypt::keyDecrypt( $encryptedKeyfile, $decryptedPrivateKey );
+
+
+ // Set var for reassembling decrypted content
+ $decrypt = '';
+
+ // Manually decrypt chunk
+ foreach ($e as $e) {
+
+// echo "\n\$e = $e";
+
+ $chunkDecrypt = Encryption\Crypt::symmetricDecryptFileContent( $e, $decryptedKeyfile );
+
+ // Assemble decrypted chunks
+ $decrypt .= $chunkDecrypt;
+
+// echo "\n\$chunkDecrypt = $chunkDecrypt";
+
+ }
+
+// echo "\n\$decrypt = $decrypt";
+
+ $this->assertEquals( $this->dataLong.$this->dataLong, $decrypt );
+
+ // Teardown
+
+ $this->view->unlink( $filename );
+
+ Encryption\Keymanager::deleteFileKey( $filename );
+
+ }
+
+ /**
+ * @brief Test that data that is read by the crypto stream wrapper
+ */
+ function testSymmetricStreamDecryptShortFileContent() {
+
+ $filename = 'tmp-'.time();
+
+ // Save long data as encrypted file using stream wrapper
+ $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataShort );
+
+ // Test that data was successfully written
+ $this->assertTrue( is_int( $cryptedFile ) );
+
+
+ // Get file contents without using any wrapper to get it's actual contents on disk
+ $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename );
+
+ $decrypt = file_get_contents( 'crypt://' . $filename );
+
+ $this->assertEquals( $this->dataShort, $decrypt );
+
+ }
+
+ function testSymmetricStreamDecryptLongFileContent() {
+
+ $filename = 'tmp-'.time();
+
+ // Save long data as encrypted file using stream wrapper
+ $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataLong );
+
+ // Test that data was successfully written
+ $this->assertTrue( is_int( $cryptedFile ) );
+
+
+ // Get file contents without using any wrapper to get it's actual contents on disk
+ $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename );
+
+ $decrypt = file_get_contents( 'crypt://' . $filename );
+
+ $this->assertEquals( $this->dataLong, $decrypt );
+
+ }
+
+ // Is this test still necessary?
+// function testSymmetricBlockStreamDecryptFileContent() {
+//
+// \OC_User::setUserId( 'admin' );
+//
+// // Disable encryption proxy to prevent unwanted en/decryption
+// \OC_FileProxy::$enabled = false;
+//
+// $cryptedFile = file_put_contents( 'crypt://' . '/blockEncrypt', $this->dataUrl );
+//
+// // Disable encryption proxy to prevent unwanted en/decryption
+// \OC_FileProxy::$enabled = false;
+//
+// echo "\n\n\$cryptedFile = " . $this->view->file_get_contents( '/blockEncrypt' );
+//
+// $retreivedCryptedFile = file_get_contents( 'crypt://' . '/blockEncrypt' );
+//
+// $this->assertEquals( $this->dataUrl, $retreivedCryptedFile );
+//
+// \OC_FileProxy::$enabled = false;
+//
+// }
+
+ function testSymmetricEncryptFileContentKeyfile() {
+
+ # TODO: search in keyfile for actual content as IV will ensure this test always passes
+
+ $crypted = Encryption\Crypt::symmetricEncryptFileContentKeyfile( $this->dataUrl );
+
+ $this->assertNotEquals( $this->dataUrl, $crypted['encrypted'] );
+
+
+ $decrypt = Encryption\Crypt::symmetricDecryptFileContent( $crypted['encrypted'], $crypted['key'] );
+
+ $this->assertEquals( $this->dataUrl, $decrypt );
+
+ }
+
+ function testIsEncryptedContent() {
+
+ $this->assertFalse( Encryption\Crypt::isEncryptedContent( $this->dataUrl ) );
+
+ $this->assertFalse( Encryption\Crypt::isEncryptedContent( $this->legacyEncryptedData ) );
+
+ $keyfileContent = Encryption\Crypt::symmetricEncryptFileContent( $this->dataUrl, 'hat' );
+
+ $this->assertTrue( Encryption\Crypt::isEncryptedContent( $keyfileContent ) );
+
+ }
+
+ function testMultiKeyEncrypt() {
+
+ # TODO: search in keyfile for actual content as IV will ensure this test always passes
+
+ $pair1 = Encryption\Crypt::createKeypair();
+
+ $this->assertEquals( 2, count( $pair1 ) );
+
+ $this->assertTrue( strlen( $pair1['publicKey'] ) > 1 );
+
+ $this->assertTrue( strlen( $pair1['privateKey'] ) > 1 );
+
+
+ $crypted = Encryption\Crypt::multiKeyEncrypt( $this->dataUrl, array( $pair1['publicKey'] ) );
+
+ $this->assertNotEquals( $this->dataUrl, $crypted['encrypted'] );
+
+
+ $decrypt = Encryption\Crypt::multiKeyDecrypt( $crypted['encrypted'], $crypted['keys'][0], $pair1['privateKey'] );
+
+ $this->assertEquals( $this->dataUrl, $decrypt );
+
+ }
+
+ function testKeyEncrypt() {
+
+ // Generate keypair
+ $pair1 = Encryption\Crypt::createKeypair();
+
+ // Encrypt data
+ $crypted = Encryption\Crypt::keyEncrypt( $this->dataUrl, $pair1['publicKey'] );
+
+ $this->assertNotEquals( $this->dataUrl, $crypted );
+
+ // Decrypt data
+ $decrypt = Encryption\Crypt::keyDecrypt( $crypted, $pair1['privateKey'] );
+
+ $this->assertEquals( $this->dataUrl, $decrypt );
+
+ }
+
+ // What is the point of this test? It doesn't use keyEncryptKeyfile()
+ function testKeyEncryptKeyfile() {
+
+ # TODO: Don't repeat encryption from previous tests, use PHPUnit test interdependency instead
+
+ // Generate keypair
+ $pair1 = Encryption\Crypt::createKeypair();
+
+ // Encrypt plain data, generate keyfile & encrypted file
+ $cryptedData = Encryption\Crypt::symmetricEncryptFileContentKeyfile( $this->dataUrl );
+
+ // Encrypt keyfile
+ $cryptedKey = Encryption\Crypt::keyEncrypt( $cryptedData['key'], $pair1['publicKey'] );
+
+ // Decrypt keyfile
+ $decryptKey = Encryption\Crypt::keyDecrypt( $cryptedKey, $pair1['privateKey'] );
+
+ // Decrypt encrypted file
+ $decryptData = Encryption\Crypt::symmetricDecryptFileContent( $cryptedData['encrypted'], $decryptKey );
+
+ $this->assertEquals( $this->dataUrl, $decryptData );
+
+ }
+
+ /**
+ * @brief test functionality of keyEncryptKeyfile() and
+ * keyDecryptKeyfile()
+ */
+ function testKeyDecryptKeyfile() {
+
+ $encrypted = Encryption\Crypt::keyEncryptKeyfile( $this->dataShort, $this->genPublicKey );
+
+ $this->assertNotEquals( $encrypted['data'], $this->dataShort );
+
+ $decrypted = Encryption\Crypt::keyDecryptKeyfile( $encrypted['data'], $encrypted['key'], $this->genPrivateKey );
+
+ $this->assertEquals( $decrypted, $this->dataShort );
+
+ }
+
+
+ /**
+ * @brief test encryption using legacy blowfish method
+ */
+ function testLegacyEncryptShort() {
+
+ $crypted = Encryption\Crypt::legacyEncrypt( $this->dataShort, $this->pass );
+
+ $this->assertNotEquals( $this->dataShort, $crypted );
+
+ # TODO: search inencrypted text for actual content to ensure it
+ # genuine transformation
+
+ return $crypted;
+
+ }
+
+ /**
+ * @brief test decryption using legacy blowfish method
+ * @depends testLegacyEncryptShort
+ */
+ function testLegacyDecryptShort( $crypted ) {
+
+ $decrypted = Encryption\Crypt::legacyDecrypt( $crypted, $this->pass );
+
+ $this->assertEquals( $this->dataShort, $decrypted );
+
+ }
+
+ /**
+ * @brief test encryption using legacy blowfish method
+ */
+ function testLegacyEncryptLong() {
+
+ $crypted = Encryption\Crypt::legacyEncrypt( $this->dataLong, $this->pass );
+
+ $this->assertNotEquals( $this->dataLong, $crypted );
+
+ # TODO: search inencrypted text for actual content to ensure it
+ # genuine transformation
+
+ return $crypted;
+
+ }
+
+ /**
+ * @brief test decryption using legacy blowfish method
+ * @depends testLegacyEncryptLong
+ */
+ function testLegacyDecryptLong( $crypted ) {
+
+ $decrypted = Encryption\Crypt::legacyDecrypt( $crypted, $this->pass );
+
+ $this->assertEquals( $this->dataLong, $decrypted );
+
+ }
+
+ /**
+ * @brief test generation of legacy encryption key
+ * @depends testLegacyDecryptShort
+ */
+ function testLegacyCreateKey() {
+
+ // Create encrypted key
+ $encKey = Encryption\Crypt::legacyCreateKey( $this->pass );
+
+ // Decrypt key
+ $key = Encryption\Crypt::legacyDecrypt( $encKey, $this->pass );
+
+ $this->assertTrue( is_numeric( $key ) );
+
+ // Check that key is correct length
+ $this->assertEquals( 20, strlen( $key ) );
+
+ }
+
+ /**
+ * @brief test decryption using legacy blowfish method
+ * @depends testLegacyEncryptLong
+ */
+ function testLegacyKeyRecryptKeyfileEncrypt( $crypted ) {
+
+ $recrypted = Encryption\Crypt::LegacyKeyRecryptKeyfile( $crypted, $this->pass, $this->genPublicKey, $this->pass );
+
+ $this->assertNotEquals( $this->dataLong, $recrypted['data'] );
+
+ return $recrypted;
+
+ # TODO: search inencrypted text for actual content to ensure it
+ # genuine transformation
+
+ }
+
+// function testEncryption(){
+//
+// $key=uniqid();
+// $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
+// $source=file_get_contents($file); //nice large text file
+// $encrypted=OC_Encryption\Crypt::encrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
+// $decrypted=rtrim($decrypted, "\0");
+// $this->assertNotEquals($encrypted,$source);
+// $this->assertEqual($decrypted,$source);
+//
+// $chunk=substr($source,0,8192);
+// $encrypted=OC_Encryption\Crypt::encrypt($chunk,$key);
+// $this->assertEqual(strlen($chunk),strlen($encrypted));
+// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
+// $decrypted=rtrim($decrypted, "\0");
+// $this->assertEqual($decrypted,$chunk);
+//
+// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key);
+// $this->assertNotEquals($encrypted,$source);
+// $this->assertEqual($decrypted,$source);
+//
+// $tmpFileEncrypted=OCP\Files::tmpFile();
+// OC_Encryption\Crypt::encryptfile($file,$tmpFileEncrypted,$key);
+// $encrypted=file_get_contents($tmpFileEncrypted);
+// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key);
+// $this->assertNotEquals($encrypted,$source);
+// $this->assertEqual($decrypted,$source);
+//
+// $tmpFileDecrypted=OCP\Files::tmpFile();
+// OC_Encryption\Crypt::decryptfile($tmpFileEncrypted,$tmpFileDecrypted,$key);
+// $decrypted=file_get_contents($tmpFileDecrypted);
+// $this->assertEqual($decrypted,$source);
+//
+// $file=OC::$SERVERROOT.'/core/img/weather-clear.png';
+// $source=file_get_contents($file); //binary file
+// $encrypted=OC_Encryption\Crypt::encrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
+// $decrypted=rtrim($decrypted, "\0");
+// $this->assertEqual($decrypted,$source);
+//
+// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key);
+// $this->assertEqual($decrypted,$source);
+//
+// }
+//
+// function testBinary(){
+// $key=uniqid();
+//
+// $file=__DIR__.'/binary';
+// $source=file_get_contents($file); //binary file
+// $encrypted=OC_Encryption\Crypt::encrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
+//
+// $decrypted=rtrim($decrypted, "\0");
+// $this->assertEqual($decrypted,$source);
+//
+// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key,strlen($source));
+// $this->assertEqual($decrypted,$source);
+// }
+
+}
diff --git a/apps/files_encryption/test/keymanager.php b/apps/files_encryption/test/keymanager.php
new file mode 100644
index 00000000000..f02d6eb5f7a
--- /dev/null
+++ b/apps/files_encryption/test/keymanager.php
@@ -0,0 +1,132 @@
+<?php
+/**
+ * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+//require_once "PHPUnit/Framework/TestCase.php";
+require_once realpath( dirname(__FILE__).'/../../../lib/base.php' );
+require_once realpath( dirname(__FILE__).'/../lib/crypt.php' );
+require_once realpath( dirname(__FILE__).'/../lib/keymanager.php' );
+require_once realpath( dirname(__FILE__).'/../lib/proxy.php' );
+require_once realpath( dirname(__FILE__).'/../lib/stream.php' );
+require_once realpath( dirname(__FILE__).'/../lib/util.php' );
+require_once realpath( dirname(__FILE__).'/../appinfo/app.php' );
+
+use OCA\Encryption;
+
+// This has to go here because otherwise session errors arise, and the private
+// encryption key needs to be saved in the session
+\OC_User::login( 'admin', 'admin' );
+
+class Test_Keymanager extends \PHPUnit_Framework_TestCase {
+
+ function setUp() {
+
+ \OC_FileProxy::$enabled = false;
+
+ // set content for encrypting / decrypting in tests
+ $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) );
+ $this->dataShort = 'hats';
+ $this->dataUrl = realpath( dirname(__FILE__).'/../lib/crypt.php' );
+ $this->legacyData = realpath( dirname(__FILE__).'/legacy-text.txt' );
+ $this->legacyEncryptedData = realpath( dirname(__FILE__).'/legacy-encrypted-text.txt' );
+ $this->randomKey = Encryption\Crypt::generateKey();
+
+ $keypair = Encryption\Crypt::createKeypair();
+ $this->genPublicKey = $keypair['publicKey'];
+ $this->genPrivateKey = $keypair['privateKey'];
+
+ $this->view = new \OC_FilesystemView( '/' );
+
+ \OC_User::setUserId( 'admin' );
+ $this->userId = 'admin';
+ $this->pass = 'admin';
+
+ \OC_Filesystem::init( '/' );
+ \OC_Filesystem::mount( 'OC_Filestorage_Local', array('datadir' => \OC_User::getHome($this->userId)), '/' );
+
+ }
+
+ function tearDown(){
+
+ \OC_FileProxy::$enabled = true;
+
+ }
+
+ function testGetPrivateKey() {
+
+ $key = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId );
+
+ // Will this length vary? Perhaps we should use a range instead
+ $this->assertEquals( 2296, strlen( $key ) );
+
+ }
+
+ function testGetPublicKey() {
+
+ $key = Encryption\Keymanager::getPublicKey( $this->view, $this->userId );
+
+ $this->assertEquals( 451, strlen( $key ) );
+
+ $this->assertEquals( '-----BEGIN PUBLIC KEY-----', substr( $key, 0, 26 ) );
+ }
+
+ function testSetFileKey() {
+
+ # NOTE: This cannot be tested until we are able to break out
+ # of the FileSystemView data directory root
+
+// $key = Crypt::symmetricEncryptFileContentKeyfile( $this->data, 'hat' );
+//
+// $tmpPath = sys_get_temp_dir(). '/' . 'testSetFileKey';
+//
+// $view = new \OC_FilesystemView( '/tmp/' );
+//
+// //$view = new \OC_FilesystemView( '/' . $this->userId . '/files_encryption/keyfiles' );
+//
+// Encryption\Keymanager::setFileKey( $tmpPath, $key['key'], $view );
+
+ }
+
+// /**
+// * @depends testGetPrivateKey
+// */
+// function testGetPrivateKey_decrypt() {
+//
+// $key = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId );
+//
+// # TODO: replace call to Crypt with a mock object?
+// $decrypted = Encryption\Crypt::symmetricDecryptFileContent( $key, $this->passphrase );
+//
+// $this->assertEquals( 1704, strlen( $decrypted ) );
+//
+// $this->assertEquals( '-----BEGIN PRIVATE KEY-----', substr( $decrypted, 0, 27 ) );
+//
+// }
+
+ function testGetUserKeys() {
+
+ $keys = Encryption\Keymanager::getUserKeys( $this->view, $this->userId );
+
+ $this->assertEquals( 451, strlen( $keys['publicKey'] ) );
+ $this->assertEquals( '-----BEGIN PUBLIC KEY-----', substr( $keys['publicKey'], 0, 26 ) );
+ $this->assertEquals( 2296, strlen( $keys['privateKey'] ) );
+
+ }
+
+ function testGetPublicKeys() {
+
+ # TODO: write me
+
+ }
+
+ function testGetFileKey() {
+
+// Encryption\Keymanager::getFileKey( $this->view, $this->userId, $this->filePath );
+
+ }
+
+}
diff --git a/apps/files_encryption/test/legacy-encrypted-text.txt b/apps/files_encryption/test/legacy-encrypted-text.txt
new file mode 100644
index 00000000000..cb5bf50550d
--- /dev/null
+++ b/apps/files_encryption/test/legacy-encrypted-text.txt
Binary files differ
diff --git a/apps/files_encryption/test/proxy.php b/apps/files_encryption/test/proxy.php
new file mode 100644
index 00000000000..51e77100baa
--- /dev/null
+++ b/apps/files_encryption/test/proxy.php
@@ -0,0 +1,220 @@
+<?php
+/**
+ * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>,
+ * and Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+// require_once "PHPUnit/Framework/TestCase.php";
+// require_once realpath( dirname(__FILE__).'/../../../lib/base.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Generator.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/MockInterface.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Mock.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Container.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Configuration.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/CompositeExpectation.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/ExpectationDirector.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Expectation.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Exception.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/CountValidator/CountValidatorAbstract.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/CountValidator/Exception.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/CountValidator/Exact.php' );
+//
+// use \Mockery as m;
+// use OCA\Encryption;
+
+// class Test_Util extends \PHPUnit_Framework_TestCase {
+//
+// public function setUp() {
+//
+// $this->proxy = new Encryption\Proxy();
+//
+// $this->tmpFileName = "tmpFile-".time();
+//
+// $this->privateKey = file_get_contents( realpath( dirname(__FILE__).'/data/admin.public.key' ) );
+// $this->publicKey = file_get_contents( realpath( dirname(__FILE__).'/data/admin.private.key' ) );
+// $this->encDataShort = file_get_contents( realpath( dirname(__FILE__).'/data/yoga-manchester-enc' ) );
+// $this->encDataShortKey = file_get_contents( realpath( dirname(__FILE__).'/data/yoga-manchester.key' ) );
+//
+// $this->dataShort = file_get_contents( realpath( dirname(__FILE__).'/data/yoga-manchester' ) );
+// $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) );
+// $this->longDataPath = realpath( dirname(__FILE__).'/../lib/crypt.php' );
+//
+// $this->data1 = file_get_contents( realpath( dirname(__FILE__).'/../../../data/admin/files/enc-test.txt' ) );
+//
+// \OC_FileProxy::$enabled = false;
+// $this->Encdata1 = file_get_contents( realpath( dirname(__FILE__).'/../../../data/admin/files/enc-test.txt' ) );
+// \OC_FileProxy::$enabled = true;
+//
+// $this->userId = 'admin';
+// $this->pass = 'admin';
+//
+// $this->session = new Encryption\Session();
+//
+// $this->session->setPrivateKey(
+// '-----BEGIN PRIVATE KEY-----
+// MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDiH3EA4EpFA7Fx
+// s2dyyfL5jwXeYXrTqQJ6DqKgGn8VsbT3eu8R9KzM2XitVwZe8c8L52DvJ06o5vg0
+// GqPYxilFdOFJe/ggac5Tq8UmJiZS4EqYEMwxBIfIyWTxeGV06/0HOwnVAkqHMcBz
+// 64qldtgi5O8kZMEM2/gKBgU0kMLJzM+8oEWhL1+gsUWQhxd8cKLXypS6iWgqFJrz
+// f/X0hJsJR+gyYxNpahtnjzd/LxLAETrOMsl2tue+BAxmjbAM0aG0NEM0div+b59s
+// 2uz/iWbxImp5pOdYVKcVW89D4XBMyGegR40trV2VwiuX1blKCfdjMsJhiaL9pymp
+// ug1wzyQFAgMBAAECggEAK6c+PZkPPXuVCgpEcliiW6NM0r2m5K3AGKgypQ34csu3
+// z/8foCvIIFPrhCtEw5eTDQ1CHWlNOjY8vHJYJ0U6Onpx86nHIRrMBkMm8FJ1G5LJ
+// U8oKYXwqaozWu/cuPwA//OFc6I5krOzh5n8WaRMkbrgbor8AtebRX74By0AXGrXe
+// cswJI7zR96oFn4Dm7Pgvpg5Zhk1vFJ+w6QtH+4DDJ6PBvlZsRkGxYBLGVd/3qhAI
+// sBAyjFlSzuP4eCRhHOhHC/e4gmAH9evFVXB88jFyRZm3K+jQ5W5CwrVRBCV2lph6
+// 2B6P7CBJN+IjGKMhy+75y13UvvKPv9IwH8Fzl2x1gQKBgQD8qQOr7a6KhSj16wQE
+// jim2xqt9gQ2jH5No405NrKs/PFQQZnzD4YseQsiK//NUjOJiUhaT+L5jhIpzINHt
+// RJpt3bGkEZmLyjdjgTpB3GwZdXa28DNK9VdXZ19qIl/ZH0qAjKmJCRahUDASMnVi
+// M4Pkk9yx9ZIKkri4TcuMWqc0DQKBgQDlHKBTITZq/arYPD6Nl3NsoOdqVRqJrGay
+// 0TjXAVbBXe46+z5lnMsqwXb79nx14hdmSEsZULrw/3f+MnQbdjMTYLFP24visZg9
+// MN8vAiALiiiR1a+Crz+DTA1Q8sGOMVCMqMDmD7QBys3ZuWxuapm0txAiIYUtsjJZ
+// XN76T4nZ2QKBgQCHaT3igzwsWTmesxowJtEMeGWomeXpKx8h89EfqA8PkRGsyIDN
+// qq+YxEoe1RZgljEuaLhZDdNcGsjo8woPk9kAUPTH7fbRCMuutK+4ZJ469s1tNkcH
+// QX5SBcEJbOrZvv967ehe3VQXmJZq6kgnHVzuwKBjcC2ZJRGDFY6l5l/+cQKBgCqh
+// +Adf/8NK7paMJ0urqfPFwSodKfICXZ3apswDWMRkmSbqh4La+Uc8dsqN5Dz/VEFZ
+// JHhSeGbN8uMfOlG93eU2MehdPxtw1pZUWMNjjtj23XO9ooob2CKzbSrp8TBnZsi1
+// widNNr66oTFpeo7VUUK6acsgF6sYJJxSVr+XO1yJAoGAEhvitq8shNKcEY0xCipS
+// k1kbgyS7KKB7opVxI5+ChEqyUDijS3Y9FZixrRIWE6i2uGu86UG+v2lbKvSbM4Qm
+// xvbOcX9OVMnlRb7n8woOP10UMY+ZE2x+YEUXQTLtPYq7F66e1OfxltstMxLQA+3d
+// Y1d5piFV8PXK3Fg2F+Cj5qg=
+// -----END PRIVATE KEY-----
+// '
+// , $this->userId
+// );
+//
+// \OC_User::setUserId( $this->userId );
+//
+// }
+//
+// public function testpreFile_get_contents() {
+//
+// // This won't work for now because mocking of the static keymanager class isn't working :(
+//
+// // $mock = m::mock( 'alias:OCA\Encryption\Keymanager' );
+// //
+// // $mock->shouldReceive( 'getFileKey' )->times(2)->andReturn( $this->encDataShort );
+// //
+// // $encrypted = $this->proxy->postFile_get_contents( 'data/'.$this->tmpFileName, $this->encDataShortKey );
+// //
+// // $this->assertNotEquals( $this->dataShort, $encrypted );
+//
+// $decrypted = $this->proxy->postFile_get_contents( 'data/admin/files/enc-test.txt', $this->data1 );
+//
+// }
+//
+// }
+
+// class Test_CryptProxy extends UnitTestCase {
+// private $oldConfig;
+// private $oldKey;
+//
+// public function setUp(){
+// $user=OC_User::getUser();
+//
+// $this->oldConfig=OCP\Config::getAppValue('files_encryption','enable_encryption','true');
+// OCP\Config::setAppValue('files_encryption','enable_encryption','true');
+// $this->oldKey=isset($_SESSION['privateKey'])?$_SESSION['privateKey']:null;
+//
+//
+// //set testing key
+// $_SESSION['privateKey']=md5(time());
+//
+// //clear all proxies and hooks so we can do clean testing
+// OC_FileProxy::clearProxies();
+// OC_Hook::clear('OC_Filesystem');
+//
+// //enable only the encryption hook
+// OC_FileProxy::register(new OC_FileProxy_Encryption());
+//
+// //set up temporary storage
+// OC_Filesystem::clearMounts();
+// OC_Filesystem::mount('OC_Filestorage_Temporary',array(),'/');
+//
+// OC_Filesystem::init('/'.$user.'/files');
+//
+// //set up the users home folder in the temp storage
+// $rootView=new OC_FilesystemView('');
+// $rootView->mkdir('/'.$user);
+// $rootView->mkdir('/'.$user.'/files');
+// }
+//
+// public function tearDown(){
+// OCP\Config::setAppValue('files_encryption','enable_encryption',$this->oldConfig);
+// if(!is_null($this->oldKey)){
+// $_SESSION['privateKey']=$this->oldKey;
+// }
+// }
+//
+// public function testSimple(){
+// $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
+// $original=file_get_contents($file);
+//
+// OC_Filesystem::file_put_contents('/file',$original);
+//
+// OC_FileProxy::$enabled=false;
+// $stored=OC_Filesystem::file_get_contents('/file');
+// OC_FileProxy::$enabled=true;
+//
+// $fromFile=OC_Filesystem::file_get_contents('/file');
+// $this->assertNotEqual($original,$stored);
+// $this->assertEqual(strlen($original),strlen($fromFile));
+// $this->assertEqual($original,$fromFile);
+//
+// }
+//
+// public function testView(){
+// $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
+// $original=file_get_contents($file);
+//
+// $rootView=new OC_FilesystemView('');
+// $view=new OC_FilesystemView('/'.OC_User::getUser());
+// $userDir='/'.OC_User::getUser().'/files';
+//
+// $rootView->file_put_contents($userDir.'/file',$original);
+//
+// OC_FileProxy::$enabled=false;
+// $stored=$rootView->file_get_contents($userDir.'/file');
+// OC_FileProxy::$enabled=true;
+//
+// $this->assertNotEqual($original,$stored);
+// $fromFile=$rootView->file_get_contents($userDir.'/file');
+// $this->assertEqual($original,$fromFile);
+//
+// $fromFile=$view->file_get_contents('files/file');
+// $this->assertEqual($original,$fromFile);
+// }
+//
+// public function testBinary(){
+// $file=__DIR__.'/binary';
+// $original=file_get_contents($file);
+//
+// OC_Filesystem::file_put_contents('/file',$original);
+//
+// OC_FileProxy::$enabled=false;
+// $stored=OC_Filesystem::file_get_contents('/file');
+// OC_FileProxy::$enabled=true;
+//
+// $fromFile=OC_Filesystem::file_get_contents('/file');
+// $this->assertNotEqual($original,$stored);
+// $this->assertEqual(strlen($original),strlen($fromFile));
+// $this->assertEqual($original,$fromFile);
+//
+// $file=__DIR__.'/zeros';
+// $original=file_get_contents($file);
+//
+// OC_Filesystem::file_put_contents('/file',$original);
+//
+// OC_FileProxy::$enabled=false;
+// $stored=OC_Filesystem::file_get_contents('/file');
+// OC_FileProxy::$enabled=true;
+//
+// $fromFile=OC_Filesystem::file_get_contents('/file');
+// $this->assertNotEqual($original,$stored);
+// $this->assertEqual(strlen($original),strlen($fromFile));
+// }
+// }
diff --git a/apps/files_encryption/test/stream.php b/apps/files_encryption/test/stream.php
new file mode 100644
index 00000000000..4211cab3104
--- /dev/null
+++ b/apps/files_encryption/test/stream.php
@@ -0,0 +1,226 @@
+// <?php
+// /**
+// * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
+// * This file is licensed under the Affero General Public License version 3 or
+// * later.
+// * See the COPYING-README file.
+// */
+//
+// namespace OCA\Encryption;
+//
+// class Test_Stream extends \PHPUnit_Framework_TestCase {
+//
+// function setUp() {
+//
+// \OC_Filesystem::mount( 'OC_Filestorage_Local', array(), '/' );
+//
+// $this->empty = '';
+//
+// $this->stream = new Stream();
+//
+// $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) );
+// $this->dataShort = 'hats';
+//
+// $this->emptyTmpFilePath = \OCP\Files::tmpFile();
+//
+// $this->dataTmpFilePath = \OCP\Files::tmpFile();
+//
+// file_put_contents( $this->dataTmpFilePath, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est." );
+//
+// }
+//
+// function testStreamOpen() {
+//
+// $stream1 = new Stream();
+//
+// $handle1 = $stream1->stream_open( $this->emptyTmpFilePath, 'wb', array(), $this->empty );
+//
+// // Test that resource was returned successfully
+// $this->assertTrue( $handle1 );
+//
+// // Test that file has correct size
+// $this->assertEquals( 0, $stream1->size );
+//
+// // Test that path is correct
+// $this->assertEquals( $this->emptyTmpFilePath, $stream1->rawPath );
+//
+// $stream2 = new Stream();
+//
+// $handle2 = $stream2->stream_open( 'crypt://' . $this->emptyTmpFilePath, 'wb', array(), $this->empty );
+//
+// // Test that protocol identifier is removed from path
+// $this->assertEquals( $this->emptyTmpFilePath, $stream2->rawPath );
+//
+// // "Stat failed error" prevents this test from executing
+// // $stream3 = new Stream();
+// //
+// // $handle3 = $stream3->stream_open( $this->dataTmpFilePath, 'r', array(), $this->empty );
+// //
+// // $this->assertEquals( 0, $stream3->size );
+//
+// }
+//
+// function testStreamWrite() {
+//
+// $stream1 = new Stream();
+//
+// $handle1 = $stream1->stream_open( $this->emptyTmpFilePath, 'r+b', array(), $this->empty );
+//
+// # what about the keymanager? there is no key for the newly created temporary file!
+//
+// $stream1->stream_write( $this->dataShort );
+//
+// }
+//
+// // function getStream( $id, $mode, $size ) {
+// //
+// // if ( $id === '' ) {
+// //
+// // $id = uniqid();
+// // }
+// //
+// //
+// // if ( !isset( $this->tmpFiles[$id] ) ) {
+// //
+// // // If tempfile with given name does not already exist, create it
+// //
+// // $file = OCP\Files::tmpFile();
+// //
+// // $this->tmpFiles[$id] = $file;
+// //
+// // } else {
+// //
+// // $file = $this->tmpFiles[$id];
+// //
+// // }
+// //
+// // $stream = fopen( $file, $mode );
+// //
+// // Stream::$sourceStreams[$id] = array( 'path' => 'dummy' . $id, 'stream' => $stream, 'size' => $size );
+// //
+// // return fopen( 'crypt://streams/'.$id, $mode );
+// //
+// // }
+// //
+// // function testStream( ){
+// //
+// // $stream = $this->getStream( 'test1', 'w', strlen( 'foobar' ) );
+// //
+// // fwrite( $stream, 'foobar' );
+// //
+// // fclose( $stream );
+// //
+// //
+// // $stream = $this->getStream( 'test1', 'r', strlen( 'foobar' ) );
+// //
+// // $data = fread( $stream, 6 );
+// //
+// // fclose( $stream );
+// //
+// // $this->assertEqual( 'foobar', $data );
+// //
+// //
+// // $file = OC::$SERVERROOT.'/3rdparty/MDB2.php';
+// //
+// // $source = fopen( $file, 'r' );
+// //
+// // $target = $this->getStream( 'test2', 'w', 0 );
+// //
+// // OCP\Files::streamCopy( $source, $target );
+// //
+// // fclose( $target );
+// //
+// // fclose( $source );
+// //
+// //
+// // $stream = $this->getStream( 'test2', 'r', filesize( $file ) );
+// //
+// // $data = stream_get_contents( $stream );
+// //
+// // $original = file_get_contents( $file );
+// //
+// // $this->assertEqual( strlen( $original ), strlen( $data ) );
+// //
+// // $this->assertEqual( $original, $data );
+// //
+// // }
+//
+// }
+//
+// // class Test_CryptStream extends UnitTestCase {
+// // private $tmpFiles=array();
+// //
+// // function testStream(){
+// // $stream=$this->getStream('test1','w',strlen('foobar'));
+// // fwrite($stream,'foobar');
+// // fclose($stream);
+// //
+// // $stream=$this->getStream('test1','r',strlen('foobar'));
+// // $data=fread($stream,6);
+// // fclose($stream);
+// // $this->assertEqual('foobar',$data);
+// //
+// // $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
+// // $source=fopen($file,'r');
+// // $target=$this->getStream('test2','w',0);
+// // OCP\Files::streamCopy($source,$target);
+// // fclose($target);
+// // fclose($source);
+// //
+// // $stream=$this->getStream('test2','r',filesize($file));
+// // $data=stream_get_contents($stream);
+// // $original=file_get_contents($file);
+// // $this->assertEqual(strlen($original),strlen($data));
+// // $this->assertEqual($original,$data);
+// // }
+// //
+// // /**
+// // * get a cryptstream to a temporary file
+// // * @param string $id
+// // * @param string $mode
+// // * @param int size
+// // * @return resource
+// // */
+// // function getStream($id,$mode,$size){
+// // if($id===''){
+// // $id=uniqid();
+// // }
+// // if(!isset($this->tmpFiles[$id])){
+// // $file=OCP\Files::tmpFile();
+// // $this->tmpFiles[$id]=$file;
+// // }else{
+// // $file=$this->tmpFiles[$id];
+// // }
+// // $stream=fopen($file,$mode);
+// // OC_CryptStream::$sourceStreams[$id]=array('path'=>'dummy'.$id,'stream'=>$stream,'size'=>$size);
+// // return fopen('crypt://streams/'.$id,$mode);
+// // }
+// //
+// // function testBinary(){
+// // $file=__DIR__.'/binary';
+// // $source=file_get_contents($file);
+// //
+// // $stream=$this->getStream('test','w',strlen($source));
+// // fwrite($stream,$source);
+// // fclose($stream);
+// //
+// // $stream=$this->getStream('test','r',strlen($source));
+// // $data=stream_get_contents($stream);
+// // fclose($stream);
+// // $this->assertEqual(strlen($data),strlen($source));
+// // $this->assertEqual($source,$data);
+// //
+// // $file=__DIR__.'/zeros';
+// // $source=file_get_contents($file);
+// //
+// // $stream=$this->getStream('test2','w',strlen($source));
+// // fwrite($stream,$source);
+// // fclose($stream);
+// //
+// // $stream=$this->getStream('test2','r',strlen($source));
+// // $data=stream_get_contents($stream);
+// // fclose($stream);
+// // $this->assertEqual(strlen($data),strlen($source));
+// // $this->assertEqual($source,$data);
+// // }
+// // }
diff --git a/apps/files_encryption/test/util.php b/apps/files_encryption/test/util.php
new file mode 100755
index 00000000000..016787fbfba
--- /dev/null
+++ b/apps/files_encryption/test/util.php
@@ -0,0 +1,210 @@
+<?php
+/**
+ * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+//require_once "PHPUnit/Framework/TestCase.php";
+require_once realpath( dirname(__FILE__).'/../../../lib/base.php' );
+require_once realpath( dirname(__FILE__).'/../lib/crypt.php' );
+require_once realpath( dirname(__FILE__).'/../lib/keymanager.php' );
+require_once realpath( dirname(__FILE__).'/../lib/proxy.php' );
+require_once realpath( dirname(__FILE__).'/../lib/stream.php' );
+require_once realpath( dirname(__FILE__).'/../lib/util.php' );
+require_once realpath( dirname(__FILE__).'/../appinfo/app.php' );
+
+// Load mockery files
+require_once 'Mockery/Loader.php';
+require_once 'Hamcrest/Hamcrest.php';
+$loader = new \Mockery\Loader;
+$loader->register();
+
+use \Mockery as m;
+use OCA\Encryption;
+
+class Test_Enc_Util extends \PHPUnit_Framework_TestCase {
+
+ function setUp() {
+
+ \OC_Filesystem::mount( 'OC_Filestorage_Local', array(), '/' );
+
+ // set content for encrypting / decrypting in tests
+ $this->dataUrl = realpath( dirname(__FILE__).'/../lib/crypt.php' );
+ $this->dataShort = 'hats';
+ $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) );
+ $this->legacyData = realpath( dirname(__FILE__).'/legacy-text.txt' );
+ $this->legacyEncryptedData = realpath( dirname(__FILE__).'/legacy-encrypted-text.txt' );
+
+ $this->userId = 'admin';
+ $this->pass = 'admin';
+
+ $keypair = Encryption\Crypt::createKeypair();
+
+ $this->genPublicKey = $keypair['publicKey'];
+ $this->genPrivateKey = $keypair['privateKey'];
+
+ $this->publicKeyDir = '/' . 'public-keys';
+ $this->encryptionDir = '/' . $this->userId . '/' . 'files_encryption';
+ $this->keyfilesPath = $this->encryptionDir . '/' . 'keyfiles';
+ $this->publicKeyPath = $this->publicKeyDir . '/' . $this->userId . '.public.key'; // e.g. data/public-keys/admin.public.key
+ $this->privateKeyPath = $this->encryptionDir . '/' . $this->userId . '.private.key'; // e.g. data/admin/admin.private.key
+
+ $this->view = new OC_FilesystemView( '/admin' );
+
+ $this->mockView = m::mock('OC_FilesystemView');
+ $this->util = new Encryption\Util( $this->mockView, $this->userId );
+
+ }
+
+ function tearDown(){
+
+ m::close();
+
+ }
+
+ /**
+ * @brief test that paths set during User construction are correct
+ */
+ function testKeyPaths() {
+
+ $mockView = m::mock('OC_FilesystemView');
+
+ $util = new Encryption\Util( $mockView, $this->userId );
+
+ $this->assertEquals( $this->publicKeyDir, $util->getPath( 'publicKeyDir' ) );
+ $this->assertEquals( $this->encryptionDir, $util->getPath( 'encryptionDir' ) );
+ $this->assertEquals( $this->keyfilesPath, $util->getPath( 'keyfilesPath' ) );
+ $this->assertEquals( $this->publicKeyPath, $util->getPath( 'publicKeyPath' ) );
+ $this->assertEquals( $this->privateKeyPath, $util->getPath( 'privateKeyPath' ) );
+
+ }
+
+ /**
+ * @brief test setup of encryption directories when they don't yet exist
+ */
+ function testSetupServerSideNotSetup() {
+
+ $mockView = m::mock('OC_FilesystemView');
+
+ $mockView->shouldReceive( 'file_exists' )->times(4)->andReturn( false );
+ $mockView->shouldReceive( 'mkdir' )->times(3)->andReturn( true );
+ $mockView->shouldReceive( 'file_put_contents' )->withAnyArgs();
+
+ $util = new Encryption\Util( $mockView, $this->userId );
+
+ $this->assertEquals( true, $util->setupServerSide( $this->pass ) );
+
+ }
+
+ /**
+ * @brief test setup of encryption directories when they already exist
+ */
+ function testSetupServerSideIsSetup() {
+
+ $mockView = m::mock('OC_FilesystemView');
+
+ $mockView->shouldReceive( 'file_exists' )->times(5)->andReturn( true );
+ $mockView->shouldReceive( 'file_put_contents' )->withAnyArgs();
+
+ $util = new Encryption\Util( $mockView, $this->userId );
+
+ $this->assertEquals( true, $util->setupServerSide( $this->pass ) );
+
+ }
+
+ /**
+ * @brief test checking whether account is ready for encryption, when it isn't ready
+ */
+ function testReadyNotReady() {
+
+ $mockView = m::mock('OC_FilesystemView');
+
+ $mockView->shouldReceive( 'file_exists' )->times(1)->andReturn( false );
+
+ $util = new Encryption\Util( $mockView, $this->userId );
+
+ $this->assertEquals( false, $util->ready() );
+
+ # TODO: Add more tests here to check that if any of the dirs are
+ # then false will be returned. Use strict ordering?
+
+ }
+
+ /**
+ * @brief test checking whether account is ready for encryption, when it is ready
+ */
+ function testReadyIsReady() {
+
+ $mockView = m::mock('OC_FilesystemView');
+
+ $mockView->shouldReceive( 'file_exists' )->times(3)->andReturn( true );
+
+ $util = new Encryption\Util( $mockView, $this->userId );
+
+ $this->assertEquals( true, $util->ready() );
+
+ # TODO: Add more tests here to check that if any of the dirs are
+ # then false will be returned. Use strict ordering?
+
+ }
+
+// /**
+// * @brief test decryption using legacy blowfish method
+// * @depends testLegacyEncryptLong
+// */
+// function testLegacyKeyRecryptKeyfileDecrypt( $recrypted ) {
+//
+// $decrypted = Encryption\Crypt::keyDecryptKeyfile( $recrypted['data'], $recrypted['key'], $this->genPrivateKey );
+//
+// $this->assertEquals( $this->dataLong, $decrypted );
+//
+// }
+
+// // Cannot use this test for now due to hidden dependencies in OC_FileCache
+// function testIsLegacyEncryptedContent() {
+//
+// $keyfileContent = OCA\Encryption\Crypt::symmetricEncryptFileContent( $this->legacyEncryptedData, 'hat' );
+//
+// $this->assertFalse( OCA\Encryption\Crypt::isLegacyEncryptedContent( $keyfileContent, '/files/admin/test.txt' ) );
+//
+// OC_FileCache::put( '/admin/files/legacy-encrypted-test.txt', $this->legacyEncryptedData );
+//
+// $this->assertTrue( OCA\Encryption\Crypt::isLegacyEncryptedContent( $this->legacyEncryptedData, '/files/admin/test.txt' ) );
+//
+// }
+
+// // Cannot use this test for now due to need for different root in OC_Filesystem_view class
+// function testGetLegacyKey() {
+//
+// $c = new \OCA\Encryption\Util( $view, false );
+//
+// $bool = $c->getLegacyKey( 'admin' );
+//
+// $this->assertTrue( $bool );
+//
+// $this->assertTrue( $c->legacyKey );
+//
+// $this->assertTrue( is_int( $c->legacyKey ) );
+//
+// $this->assertTrue( strlen( $c->legacyKey ) == 20 );
+//
+// }
+
+// // Cannot use this test for now due to need for different root in OC_Filesystem_view class
+// function testLegacyDecrypt() {
+//
+// $c = new OCA\Encryption\Util( $this->view, false );
+//
+// $bool = $c->getLegacyKey( 'admin' );
+//
+// $encrypted = $c->legacyEncrypt( $this->data, $c->legacyKey );
+//
+// $decrypted = $c->legacyDecrypt( $encrypted, $c->legacyKey );
+//
+// $this->assertEqual( $decrypted, $this->data );
+//
+// }
+
+} \ No newline at end of file
diff --git a/apps/files_encryption/tests/zeros b/apps/files_encryption/test/zeros
index ff982acf423..ff982acf423 100644
--- a/apps/files_encryption/tests/zeros
+++ b/apps/files_encryption/test/zeros
Binary files differ
diff --git a/apps/files_encryption/tests/encryption.php b/apps/files_encryption/tests/encryption.php
deleted file mode 100644
index 0e119f55bea..00000000000
--- a/apps/files_encryption/tests/encryption.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-class Test_Encryption extends UnitTestCase {
- function testEncryption() {
- $key=uniqid();
- $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
- $source=file_get_contents($file); //nice large text file
- $encrypted=OC_Crypt::encrypt($source, $key);
- $decrypted=OC_Crypt::decrypt($encrypted, $key);
- $decrypted=rtrim($decrypted, "\0");
- $this->assertNotEqual($encrypted, $source);
- $this->assertEqual($decrypted, $source);
-
- $chunk=substr($source, 0, 8192);
- $encrypted=OC_Crypt::encrypt($chunk, $key);
- $this->assertEqual(strlen($chunk), strlen($encrypted));
- $decrypted=OC_Crypt::decrypt($encrypted, $key);
- $decrypted=rtrim($decrypted, "\0");
- $this->assertEqual($decrypted, $chunk);
-
- $encrypted=OC_Crypt::blockEncrypt($source, $key);
- $decrypted=OC_Crypt::blockDecrypt($encrypted, $key);
- $this->assertNotEqual($encrypted, $source);
- $this->assertEqual($decrypted, $source);
-
- $tmpFileEncrypted=OCP\Files::tmpFile();
- OC_Crypt::encryptfile($file, $tmpFileEncrypted, $key);
- $encrypted=file_get_contents($tmpFileEncrypted);
- $decrypted=OC_Crypt::blockDecrypt($encrypted, $key);
- $this->assertNotEqual($encrypted, $source);
- $this->assertEqual($decrypted, $source);
-
- $tmpFileDecrypted=OCP\Files::tmpFile();
- OC_Crypt::decryptfile($tmpFileEncrypted, $tmpFileDecrypted, $key);
- $decrypted=file_get_contents($tmpFileDecrypted);
- $this->assertEqual($decrypted, $source);
-
- $file=OC::$SERVERROOT.'/core/img/weather-clear.png';
- $source=file_get_contents($file); //binary file
- $encrypted=OC_Crypt::encrypt($source, $key);
- $decrypted=OC_Crypt::decrypt($encrypted, $key);
- $decrypted=rtrim($decrypted, "\0");
- $this->assertEqual($decrypted, $source);
-
- $encrypted=OC_Crypt::blockEncrypt($source, $key);
- $decrypted=OC_Crypt::blockDecrypt($encrypted, $key);
- $this->assertEqual($decrypted, $source);
-
- }
-
- function testBinary() {
- $key=uniqid();
-
- $file=__DIR__.'/binary';
- $source=file_get_contents($file); //binary file
- $encrypted=OC_Crypt::encrypt($source, $key);
- $decrypted=OC_Crypt::decrypt($encrypted, $key);
-
- $decrypted=rtrim($decrypted, "\0");
- $this->assertEqual($decrypted, $source);
-
- $encrypted=OC_Crypt::blockEncrypt($source, $key);
- $decrypted=OC_Crypt::blockDecrypt($encrypted, $key, strlen($source));
- $this->assertEqual($decrypted, $source);
- }
-}
diff --git a/apps/files_encryption/tests/proxy.php b/apps/files_encryption/tests/proxy.php
deleted file mode 100644
index 5aa617e7472..00000000000
--- a/apps/files_encryption/tests/proxy.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-class Test_CryptProxy extends UnitTestCase {
- private $oldConfig;
- private $oldKey;
-
- public function setUp() {
- $user=OC_User::getUser();
-
- $this->oldConfig=OCP\Config::getAppValue('files_encryption','enable_encryption', 'true');
- OCP\Config::setAppValue('files_encryption', 'enable_encryption', 'true');
- $this->oldKey=isset($_SESSION['enckey'])?$_SESSION['enckey']:null;
-
-
- //set testing key
- $_SESSION['enckey']=md5(time());
-
- //clear all proxies and hooks so we can do clean testing
- OC_FileProxy::clearProxies();
- OC_Hook::clear('OC_Filesystem');
-
- //enable only the encryption hook
- OC_FileProxy::register(new OC_FileProxy_Encryption());
-
- //set up temporary storage
- OC_Filesystem::clearMounts();
- OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/');
-
- OC_Filesystem::init('/'.$user.'/files');
-
- //set up the users home folder in the temp storage
- $rootView=new OC_FilesystemView('');
- $rootView->mkdir('/'.$user);
- $rootView->mkdir('/'.$user.'/files');
- }
-
- public function tearDown() {
- OCP\Config::setAppValue('files_encryption', 'enable_encryption', $this->oldConfig);
- if ( ! is_null($this->oldKey)) {
- $_SESSION['enckey']=$this->oldKey;
- }
- }
-
- public function testSimple() {
- $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
- $original=file_get_contents($file);
-
- OC_Filesystem::file_put_contents('/file', $original);
-
- OC_FileProxy::$enabled=false;
- $stored=OC_Filesystem::file_get_contents('/file');
- OC_FileProxy::$enabled=true;
-
- $fromFile=OC_Filesystem::file_get_contents('/file');
- $this->assertNotEqual($original, $stored);
- $this->assertEqual(strlen($original), strlen($fromFile));
- $this->assertEqual($original, $fromFile);
-
- }
-
- public function testView() {
- $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
- $original=file_get_contents($file);
-
- $rootView=new OC_FilesystemView('');
- $view=new OC_FilesystemView('/'.OC_User::getUser());
- $userDir='/'.OC_User::getUser().'/files';
-
- $rootView->file_put_contents($userDir.'/file', $original);
-
- OC_FileProxy::$enabled=false;
- $stored=$rootView->file_get_contents($userDir.'/file');
- OC_FileProxy::$enabled=true;
-
- $this->assertNotEqual($original, $stored);
- $fromFile=$rootView->file_get_contents($userDir.'/file');
- $this->assertEqual($original, $fromFile);
-
- $fromFile=$view->file_get_contents('files/file');
- $this->assertEqual($original, $fromFile);
- }
-
- public function testBinary() {
- $file=__DIR__.'/binary';
- $original=file_get_contents($file);
-
- OC_Filesystem::file_put_contents('/file', $original);
-
- OC_FileProxy::$enabled=false;
- $stored=OC_Filesystem::file_get_contents('/file');
- OC_FileProxy::$enabled=true;
-
- $fromFile=OC_Filesystem::file_get_contents('/file');
- $this->assertNotEqual($original, $stored);
- $this->assertEqual(strlen($original), strlen($fromFile));
- $this->assertEqual($original, $fromFile);
-
- $file=__DIR__.'/zeros';
- $original=file_get_contents($file);
-
- OC_Filesystem::file_put_contents('/file', $original);
-
- OC_FileProxy::$enabled=false;
- $stored=OC_Filesystem::file_get_contents('/file');
- OC_FileProxy::$enabled=true;
-
- $fromFile=OC_Filesystem::file_get_contents('/file');
- $this->assertNotEqual($original, $stored);
- $this->assertEqual(strlen($original), strlen($fromFile));
- }
-}
diff --git a/apps/files_encryption/tests/stream.php b/apps/files_encryption/tests/stream.php
deleted file mode 100644
index e4af17d47b5..00000000000
--- a/apps/files_encryption/tests/stream.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-class Test_CryptStream extends UnitTestCase {
- private $tmpFiles=array();
-
- function testStream() {
- $stream=$this->getStream('test1', 'w', strlen('foobar'));
- fwrite($stream, 'foobar');
- fclose($stream);
-
- $stream=$this->getStream('test1', 'r', strlen('foobar'));
- $data=fread($stream, 6);
- fclose($stream);
- $this->assertEqual('foobar', $data);
-
- $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
- $source=fopen($file, 'r');
- $target=$this->getStream('test2', 'w', 0);
- OCP\Files::streamCopy($source, $target);
- fclose($target);
- fclose($source);
-
- $stream=$this->getStream('test2', 'r', filesize($file));
- $data=stream_get_contents($stream);
- $original=file_get_contents($file);
- $this->assertEqual(strlen($original), strlen($data));
- $this->assertEqual($original, $data);
- }
-
- /**
- * get a cryptstream to a temporary file
- * @param string $id
- * @param string $mode
- * @param int size
- * @return resource
- */
- function getStream($id, $mode, $size) {
- if ($id==='') {
- $id=uniqid();
- }
- if ( ! isset($this->tmpFiles[$id])) {
- $file=OCP\Files::tmpFile();
- $this->tmpFiles[$id]=$file;
- } else {
- $file=$this->tmpFiles[$id];
- }
- $stream=fopen($file, $mode);
- OC_CryptStream::$sourceStreams[$id]=array('path'=>'dummy'.$id, 'stream'=>$stream, 'size'=>$size);
- return fopen('crypt://streams/'.$id, $mode);
- }
-
- function testBinary() {
- $file=__DIR__.'/binary';
- $source=file_get_contents($file);
-
- $stream=$this->getStream('test', 'w', strlen($source));
- fwrite($stream, $source);
- fclose($stream);
-
- $stream=$this->getStream('test', 'r', strlen($source));
- $data=stream_get_contents($stream);
- fclose($stream);
- $this->assertEqual(strlen($data), strlen($source));
- $this->assertEqual($source, $data);
-
- $file=__DIR__.'/zeros';
- $source=file_get_contents($file);
-
- $stream=$this->getStream('test2', 'w', strlen($source));
- fwrite($stream, $source);
- fclose($stream);
-
- $stream=$this->getStream('test2', 'r', strlen($source));
- $data=stream_get_contents($stream);
- fclose($stream);
- $this->assertEqual(strlen($data), strlen($source));
- $this->assertEqual($source, $data);
- }
-}
diff --git a/apps/files_external/l10n/th_TH.php b/apps/files_external/l10n/th_TH.php
index 70ab8d33485..870995c8e7a 100644
--- a/apps/files_external/l10n/th_TH.php
+++ b/apps/files_external/l10n/th_TH.php
@@ -5,6 +5,8 @@
"Fill out all required fields" => "กรอกข้อมูลในช่องข้อมูลที่จำเป็นต้องกรอกทั้งหมด",
"Please provide a valid Dropbox app key and secret." => "กรุณากรอกรหัส app key ของ Dropbox และรหัสลับ",
"Error configuring Google Drive storage" => "เกิดข้อผิดพลาดในการกำหนดค่าการจัดเก็บข้อมูลในพื้นที่ของ Google Drive",
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>คำเตือน:</b> \"smbclient\" ยังไม่ได้ถูกติดตั้ง. การชี้ CIFS/SMB เพื่อแชร์ข้อมูลไม่สามารถกระทำได้ กรุณาสอบถามข้อมูลเพิ่มเติมจากผู้ดูแลระบบเพื่อติดตั้ง.",
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>คำเตือน:</b> การสนับสนุนการใช้งาน FTP ในภาษา PHP ยังไม่ได้ถูกเปิดใช้งานหรือถูกติดตั้ง. การชี้ FTP เพื่อแชร์ข้อมูลไม่สามารถดำเนินการได้ กรุณาสอบถามข้อมูลเพิ่มเติมจากผู้ดูแลระบบเพื่อติดตั้ง",
"External Storage" => "พื้นทีจัดเก็บข้อมูลจากภายนอก",
"Mount point" => "จุดชี้ตำแหน่ง",
"Backend" => "ด้านหลังระบบ",
diff --git a/apps/files_sharing/l10n/sr.php b/apps/files_sharing/l10n/sr.php
new file mode 100644
index 00000000000..7a922b89002
--- /dev/null
+++ b/apps/files_sharing/l10n/sr.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Submit" => "Пошаљи"
+);
diff --git a/apps/user_ldap/l10n/sv.php b/apps/user_ldap/l10n/sv.php
index 1e36ff91bab..25abfdd7ddb 100644
--- a/apps/user_ldap/l10n/sv.php
+++ b/apps/user_ldap/l10n/sv.php
@@ -1,8 +1,10 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Varning:</b> Apps user_ldap och user_webdavauth är inkompatibla. Oväntade problem kan uppstå. Be din systemadministratör att inaktivera en av dom.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Varning:</b> PHP LDAP - modulen är inte installerad, serversidan kommer inte att fungera. Kontakta din systemadministratör för installation.",
"Host" => "Server",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Du behöver inte ange protokoll förutom om du använder SSL. Starta då med ldaps://",
"Base DN" => "Start DN",
+"One Base DN per line" => "Ett Start DN per rad",
"You can specify Base DN for users and groups in the Advanced tab" => "Du kan ange start DN för användare och grupper under fliken Avancerat",
"User DN" => "Användare DN",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "DN för användaren som skall användas, t.ex. uid=agent, dc=example, dc=com. För anonym åtkomst, lämna DN och lösenord tomt.",
@@ -19,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "utan platshållare, t.ex. \"objectClass=posixGroup\".",
"Port" => "Port",
"Base User Tree" => "Bas för användare i katalogtjänst",
+"One User Base DN per line" => "En Användare start DN per rad",
"Base Group Tree" => "Bas för grupper i katalogtjänst",
+"One Group Base DN per line" => "En Grupp start DN per rad",
"Group-Member association" => "Attribut för gruppmedlemmar",
"Use TLS" => "Använd TLS",
"Do not use it for SSL connections, it will fail." => "Använd inte för SSL-anslutningar, det kommer inte att fungera.",
diff --git a/apps/user_ldap/l10n/th_TH.php b/apps/user_ldap/l10n/th_TH.php
index acc7a4936bc..e3a941c4244 100644
--- a/apps/user_ldap/l10n/th_TH.php
+++ b/apps/user_ldap/l10n/th_TH.php
@@ -1,7 +1,10 @@
<?php $TRANSLATIONS = array(
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>คำเตือน:</b> แอปฯ user_ldap และ user_webdavauth ไม่สามารถใช้งานร่วมกันได้. คุณอาจประสพปัญหาที่ไม่คาดคิดจากเหตุการณ์ดังกล่าว กรุณาติดต่อผู้ดูแลระบบของคุณเพื่อระงับการใช้งานแอปฯ ตัวใดตัวหนึ่งข้างต้น",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>คำเตือน:</b> โมดูล PHP LDAP ยังไม่ได้ถูกติดตั้ง, ระบบด้านหลังจะไม่สามารถทำงานได้ กรุณาติดต่อผู้ดูแลระบบของคุณเพื่อทำการติดตั้งโมดูลดังกล่าว",
"Host" => "โฮสต์",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "คุณสามารถปล่อยช่องโปรโตคอลเว้นไว้ได้, ยกเว้นกรณีที่คุณต้องการใช้ SSL จากนั้นเริ่มต้นด้วย ldaps://",
"Base DN" => "DN ฐาน",
+"One Base DN per line" => "หนึ่ง Base DN ต่อบรรทัด",
"You can specify Base DN for users and groups in the Advanced tab" => "คุณสามารถระบุ DN หลักสำหรับผู้ใช้งานและกลุ่มต่างๆในแท็บขั้นสูงได้",
"User DN" => "DN ของผู้ใช้งาน",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "DN ของผู้ใช้งานที่เป็นลูกค้าอะไรก็ตามที่ผูกอยู่ด้วย เช่น uid=agent, dc=example, dc=com, สำหรับการเข้าถึงโดยบุคคลนิรนาม, ให้เว้นว่าง DN และ รหัสผ่านเอาไว้",
@@ -18,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "โดยไม่ต้องมีตัวยึดใดๆ, เช่น \"objectClass=posixGroup\",",
"Port" => "พอร์ต",
"Base User Tree" => "รายการผู้ใช้งานหลักแบบ Tree",
+"One User Base DN per line" => "หนึ่ง User Base DN ต่อบรรทัด",
"Base Group Tree" => "รายการกลุ่มหลักแบบ Tree",
+"One Group Base DN per line" => "หนึ่ง Group Base DN ต่อบรรทัด",
"Group-Member association" => "ความสัมพันธ์ของสมาชิกในกลุ่ม",
"Use TLS" => "ใช้ TLS",
"Do not use it for SSL connections, it will fail." => "กรุณาอย่าใช้การเชื่อมต่อแบบ SSL การเชื่อมต่อจะเกิดการล้มเหลว",
diff --git a/apps/user_webdavauth/l10n/sv.php b/apps/user_webdavauth/l10n/sv.php
index 245a5101341..c79b35c27cd 100644
--- a/apps/user_webdavauth/l10n/sv.php
+++ b/apps/user_webdavauth/l10n/sv.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"URL: http://" => "URL: http://"
+"WebDAV Authentication" => "WebDAV Autentisering",
+"URL: http://" => "URL: http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud kommer skicka användaruppgifterna till denna URL. Denna plugin kontrollerar svaret och tolkar HTTP-statuskoderna 401 och 403 som felaktiga uppgifter, och alla andra svar som giltiga uppgifter."
);
diff --git a/apps/user_webdavauth/l10n/th_TH.php b/apps/user_webdavauth/l10n/th_TH.php
index 9bd32954b05..2bd1f685e65 100644
--- a/apps/user_webdavauth/l10n/th_TH.php
+++ b/apps/user_webdavauth/l10n/th_TH.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "WebDAV URL: http://"
+"WebDAV Authentication" => "WebDAV Authentication",
+"URL: http://" => "URL: http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud จะส่งข้อมูลการเข้าใช้งานของผู้ใช้งานไปยังที่อยู่ URL ดังกล่าวนี้ ปลั๊กอินดังกล่าวจะทำการตรวจสอบข้อมูลที่โต้ตอบกลับมาและจะทำการแปลรหัส HTTP statuscodes 401 และ 403 ให้เป็นข้อมูลการเข้าใช้งานที่ไม่สามารถใช้งานได้ ส่วนข้อมูลอื่นๆที่เหลือทั้งหมดจะเป็นข้อมูลการเข้าใช้งานที่สามารถใช้งานได้"
);
diff --git a/apps/user_webdavauth/l10n/zh_CN.php b/apps/user_webdavauth/l10n/zh_CN.php
index 5b06409b42e..72d2a0c11df 100644
--- a/apps/user_webdavauth/l10n/zh_CN.php
+++ b/apps/user_webdavauth/l10n/zh_CN.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"URL: http://" => "URL:http://"
+"WebDAV Authentication" => "WebDAV 认证",
+"URL: http://" => "URL:http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud 将会发送用户的身份到此 URL。这个插件检查返回值并且将 HTTP 状态编码 401 和 403 解释为非法身份,其他所有返回值为合法身份。"
);
diff --git a/core/js/js.js b/core/js/js.js
index 23ace89f4e3..6241036b1b8 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -88,7 +88,7 @@ var OC={
PERMISSION_DELETE:8,
PERMISSION_SHARE:16,
webroot:oc_webroot,
- appswebroots:oc_appswebroots,
+ appswebroots:(typeof oc_appswebroots !== 'undefined') ? oc_appswebroots:false,
currentUser:(typeof oc_current_user!=='undefined')?oc_current_user:false,
coreApps:['', 'admin','log','search','settings','core','3rdparty'],
/**
diff --git a/core/l10n/fa.php b/core/l10n/fa.php
index a7c3c9ab2e5..ad5bafeb1a2 100644
--- a/core/l10n/fa.php
+++ b/core/l10n/fa.php
@@ -17,6 +17,7 @@
"Ok" => "قبول",
"Error" => "خطا",
"Password" => "گذرواژه",
+"Unshare" => "لغو اشتراک",
"create" => "ایجاد",
"ownCloud password reset" => "پسورد ابرهای شما تغییرکرد",
"Use the following link to reset your password: {link}" => "از لینک زیر جهت دوباره سازی پسورد استفاده کنید :\n{link}",
diff --git a/core/l10n/sr.php b/core/l10n/sr.php
index 6b64d1957e7..e55ad9250ab 100644
--- a/core/l10n/sr.php
+++ b/core/l10n/sr.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "Корисник %s дели са вама датотеку",
+"User %s shared a folder with you" => "Корисник %s дели са вама директоријум",
"Category type not provided." => "Врста категорије није унет.",
"No category to add?" => "Додати још неку категорију?",
"This category already exists: " => "Категорија већ постоји:",
@@ -39,6 +41,7 @@
"Share with link" => "Подели линк",
"Password protect" => "Заштићено лозинком",
"Password" => "Лозинка",
+"Send" => "Пошаљи",
"Set expiration date" => "Постави датум истека",
"Expiration date" => "Датум истека",
"Share via email:" => "Подели поштом:",
@@ -55,6 +58,8 @@
"Password protected" => "Заштићено лозинком",
"Error unsetting expiration date" => "Грешка код поништавања датума истека",
"Error setting expiration date" => "Грешка код постављања датума истека",
+"Sending ..." => "Шаљем...",
+"Email sent" => "Порука је послата",
"ownCloud password reset" => "Поништавање лозинке за ownCloud",
"Use the following link to reset your password: {link}" => "Овом везом ресетујте своју лозинку: {link}",
"You will receive a link to reset your password via Email." => "Добићете везу за ресетовање лозинке путем е-поште.",
@@ -118,5 +123,6 @@
"remember" => "упамти",
"Log in" => "Пријава",
"prev" => "претходно",
-"next" => "следеће"
+"next" => "следеће",
+"Updating ownCloud to version %s, this may take a while." => "Надоградња ownCloud-а на верзију %s, сачекајте тренутак."
);
diff --git a/core/l10n/th_TH.php b/core/l10n/th_TH.php
index 183997e4c94..bcbd70d03e6 100644
--- a/core/l10n/th_TH.php
+++ b/core/l10n/th_TH.php
@@ -1,4 +1,8 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "ผู้ใช้งาน %s ได้แชร์ไฟล์ให้กับคุณ",
+"User %s shared a folder with you" => "ผู้ใช้งาน %s ได้แชร์โฟลเดอร์ให้กับคุณ",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "ผู้ใช้งาน %s ได้แชร์ไฟล์ \"%s\" ให้กับคุณ และคุณสามารถสามารถดาวน์โหลดไฟล์ดังกล่าวได้จากที่นี่: %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "ผู้ใช้งาน %s ได้แชร์โฟลเดอร์ \"%s\" ให้กับคุณ และคุณสามารถดาวน์โหลดโฟลเดอร์ดังกล่าวได้จากที่นี่: %s",
"Category type not provided." => "ยังไม่ได้ระบุชนิดของหมวดหมู่",
"No category to add?" => "ไม่มีหมวดหมู่ที่ต้องการเพิ่ม?",
"This category already exists: " => "หมวดหมู่นี้มีอยู่แล้ว: ",
@@ -39,6 +43,8 @@
"Share with link" => "แชร์ด้วยลิงก์",
"Password protect" => "ใส่รหัสผ่านไว้",
"Password" => "รหัสผ่าน",
+"Email link to person" => "ส่งลิงก์ให้ทางอีเมล",
+"Send" => "ส่ง",
"Set expiration date" => "กำหนดวันที่หมดอายุ",
"Expiration date" => "วันที่หมดอายุ",
"Share via email:" => "แชร์ผ่านทางอีเมล",
@@ -55,6 +61,8 @@
"Password protected" => "ใส่รหัสผ่านไว้",
"Error unsetting expiration date" => "เกิดข้อผิดพลาดในการยกเลิกการตั้งค่าวันที่หมดอายุ",
"Error setting expiration date" => "เกิดข้อผิดพลาดในการตั้งค่าวันที่หมดอายุ",
+"Sending ..." => "กำลังส่ง...",
+"Email sent" => "ส่งอีเมล์แล้ว",
"ownCloud password reset" => "รีเซ็ตรหัสผ่าน ownCloud",
"Use the following link to reset your password: {link}" => "ใช้ลิงค์ต่อไปนี้เพื่อเปลี่ยนรหัสผ่านของคุณใหม่: {link}",
"You will receive a link to reset your password via Email." => "คุณจะได้รับลิงค์เพื่อกำหนดรหัสผ่านใหม่ทางอีเมล์",
@@ -118,5 +126,6 @@
"remember" => "จำรหัสผ่าน",
"Log in" => "เข้าสู่ระบบ",
"prev" => "ก่อนหน้า",
-"next" => "ถัดไป"
+"next" => "ถัดไป",
+"Updating ownCloud to version %s, this may take a while." => "กำลังอัพเดท ownCloud ไปเป็นรุ่น %s, กรุณารอสักครู่"
);
diff --git a/core/l10n/tr.php b/core/l10n/tr.php
index 284a4d97130..58e28a9b3b9 100644
--- a/core/l10n/tr.php
+++ b/core/l10n/tr.php
@@ -1,9 +1,16 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "%s kullanıcısı sizinle bir dosyayı paylaştı",
+"User %s shared a folder with you" => "%s kullanıcısı sizinle bir dizini paylaştı",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "%s kullanıcısı \"%s\" dosyasını sizinle paylaştı. %s adresinden indirilebilir",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "%s kullanıcısı \"%s\" dizinini sizinle paylaştı. %s adresinden indirilebilir",
"Category type not provided." => "Kategori türü desteklenmemektedir.",
"No category to add?" => "Eklenecek kategori yok?",
"This category already exists: " => "Bu kategori zaten mevcut: ",
"Object type not provided." => "Nesne türü desteklenmemektedir.",
+"%s ID not provided." => "%s ID belirtilmedi.",
+"Error adding %s to favorites." => "%s favorilere eklenirken hata oluştu",
"No categories selected for deletion." => "Silmek için bir kategori seçilmedi",
+"Error removing %s from favorites." => "%s favorilere çıkarılırken hata oluştu",
"Settings" => "Ayarlar",
"seconds ago" => "saniye önce",
"1 minute ago" => "1 dakika önce",
@@ -25,18 +32,25 @@
"Ok" => "Tamam",
"The object type is not specified." => "Nesne türü belirtilmemiş.",
"Error" => "Hata",
+"The app name is not specified." => "uygulama adı belirtilmedi.",
+"The required file {file} is not installed!" => "İhtiyaç duyulan {file} dosyası kurulu değil.",
"Error while sharing" => "Paylaşım sırasında hata ",
+"Error while unsharing" => "Paylaşım iptal ediliyorken hata",
"Error while changing permissions" => "İzinleri değiştirirken hata oluştu",
+"Shared with you and the group {group} by {owner}" => " {owner} tarafından sizinle ve {group} ile paylaştırılmış",
+"Shared with you by {owner}" => "{owner} trafından sizinle paylaştırıldı",
"Share with" => "ile Paylaş",
"Share with link" => "Bağlantı ile paylaş",
"Password protect" => "Şifre korunması",
"Password" => "Parola",
+"Email link to person" => "Kişiye e-posta linki",
"Send" => "Gönder",
"Set expiration date" => "Son kullanma tarihini ayarla",
"Expiration date" => "Son kullanım tarihi",
"Share via email:" => "Eposta ile paylaş",
"No people found" => "Kişi bulunamadı",
"Resharing is not allowed" => "Tekrar paylaşmaya izin verilmiyor",
+"Shared in {item} with {user}" => " {item} içinde {user} ile paylaşılanlarlar",
"Unshare" => "Paylaşılmayan",
"can edit" => "düzenleyebilir",
"access control" => "erişim kontrolü",
@@ -45,6 +59,8 @@
"delete" => "sil",
"share" => "paylaş",
"Password protected" => "Paralo korumalı",
+"Error unsetting expiration date" => "Geçerlilik tarihi tanımlama kaldırma hatası",
+"Error setting expiration date" => "Geçerlilik tarihi tanımlama hatası",
"Sending ..." => "Gönderiliyor...",
"Email sent" => "Eposta gönderildi",
"ownCloud password reset" => "ownCloud parola sıfırlama",
@@ -68,6 +84,9 @@
"Edit categories" => "Kategorileri düzenle",
"Add" => "Ekle",
"Security Warning" => "Güvenlik Uyarisi",
+"No secure random number generator is available, please enable the PHP OpenSSL extension." => "Güvenli rasgele sayı üreticisi bulunamadı. Lütfen PHP OpenSSL eklentisini etkinleştirin.",
+"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Güvenli rasgele sayı üreticisi olmadan saldırganlar parola sıfırlama simgelerini tahmin edip hesabınızı ele geçirebilir.",
+"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "data dizininiz ve dosyalarınız büyük ihtimalle internet üzerinden erişilebilir. Owncloud tarafından sağlanan .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak data dizinine erişimi kapatmanızı veya data dizinini web sunucu döküman dizini dışına almanızı şiddetle tavsiye ederiz.",
"Create an <strong>admin account</strong>" => "Bir <strong>yönetici hesabı</strong> oluşturun",
"Advanced" => "Gelişmiş",
"Data folder" => "Veri klasörü",
@@ -101,9 +120,12 @@
"web services under your control" => "kontrolünüzdeki web servisleri",
"Log out" => "Çıkış yap",
"Automatic logon rejected!" => "Otomatik oturum açma reddedildi!",
+"If you did not change your password recently, your account may be compromised!" => "Yakın zamanda parolanızı değiştirmedi iseniz hesabınız riske girebilir.",
+"Please change your password to secure your account again." => "Hesabınızı korumak için lütfen parolanızı değiştirin.",
"Lost your password?" => "Parolanızı mı unuttunuz?",
"remember" => "hatırla",
"Log in" => "Giriş yap",
"prev" => "önceki",
-"next" => "sonraki"
+"next" => "sonraki",
+"Updating ownCloud to version %s, this may take a while." => "Owncloud %s versiyonuna güncelleniyor. Biraz zaman alabilir."
);
diff --git a/core/templates/layout.base.php b/core/templates/layout.base.php
index 47f4b423b3e..cb2f9773839 100644
--- a/core/templates/layout.base.php
+++ b/core/templates/layout.base.php
@@ -10,7 +10,6 @@
<script type="text/javascript">
var oc_debug = <?php echo (defined('DEBUG') && DEBUG) ? 'true' : 'false'; ?>;
var oc_webroot = '<?php echo OC::$WEBROOT; ?>';
- var oc_appswebroots = <?php echo $_['apps_paths'] ?>;
var oc_requesttoken = '<?php echo $_['requesttoken']; ?>';
</script>
<?php foreach ($_['jsfiles'] as $jsfile): ?>
diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php
index 8395426e4e4..5b39503474d 100644
--- a/core/templates/layout.guest.php
+++ b/core/templates/layout.guest.php
@@ -10,7 +10,6 @@
<script type="text/javascript">
var oc_debug = <?php echo (defined('DEBUG') && DEBUG) ? 'true' : 'false'; ?>;
var oc_webroot = '<?php echo OC::$WEBROOT; ?>';
- var oc_appswebroots = <?php echo $_['apps_paths'] ?>;
var oc_requesttoken = '<?php echo $_['requesttoken']; ?>';
var datepickerFormatDate = <?php echo json_encode($l->l('jsdate', 'jsdate')) ?>;
var dayNames = <?php echo json_encode(array((string)$l->t('Sunday'), (string)$l->t('Monday'), (string)$l->t('Tuesday'), (string)$l->t('Wednesday'), (string)$l->t('Thursday'), (string)$l->t('Friday'), (string)$l->t('Saturday'))) ?>;
diff --git a/l10n/ar/files_encryption.po b/l10n/ar/files_encryption.po
index 1d2de3d76f2..a3c4ed89318 100644
--- a/l10n/ar/files_encryption.po
+++ b/l10n/ar/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-13 00:05+0100\n"
-"PO-Revision-Date: 2012-11-12 13:20+0000\n"
-"Last-Translator: TYMAH <hussein-atef@hotmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "التشفير"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "استبعد أنواع الملفات التالية من التشفير"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "لا شيء"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "تفعيل التشفير"
diff --git a/l10n/bg_BG/files_encryption.po b/l10n/bg_BG/files_encryption.po
index c5aca629edc..8e5aeda0842 100644
--- a/l10n/bg_BG/files_encryption.po
+++ b/l10n/bg_BG/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-10 00:04+0100\n"
-"PO-Revision-Date: 2013-01-09 20:51+0000\n"
-"Last-Translator: Stefan Ilivanov <ilivanov@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: bg_BG\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Криптиране"
-#: templates/settings.php:6
-msgid "Enable Encryption"
-msgstr "Включване на криптирането"
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "Изключване на следните файлови типове от криптирането"
-#: templates/settings.php:7
+#: templates/settings.php:71
msgid "None"
msgstr "Няма"
-
-#: templates/settings.php:12
-msgid "Exclude the following file types from encryption"
-msgstr "Изключване на следните файлови типове от криптирането"
diff --git a/l10n/bn_BD/files_encryption.po b/l10n/bn_BD/files_encryption.po
index 8c13e55a14a..4be08a9e00f 100644
--- a/l10n/bn_BD/files_encryption.po
+++ b/l10n/bn_BD/files_encryption.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-11 00:05+0100\n"
-"PO-Revision-Date: 2013-01-10 10:15+0000\n"
-"Last-Translator: Shubhra Paul <paul_shubhra@yahoo.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,18 +17,66 @@ msgstr ""
"Language: bn_BD\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "সংকেতায়ন"
-#: templates/settings.php:6
-msgid "Enable Encryption"
-msgstr "সংকেতায়ন সক্রিয় কর"
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "সংকেতায়ন থেকে নিম্নোক্ত ধরণসমূহ বাদ দাও"
-#: templates/settings.php:7
+#: templates/settings.php:71
msgid "None"
msgstr "কোনটিই নয়"
-
-#: templates/settings.php:12
-msgid "Exclude the following file types from encryption"
-msgstr "সংকেতায়ন থেকে নিম্নোক্ত ধরণসমূহ বাদ দাও"
diff --git a/l10n/ca/files.po b/l10n/ca/files.po
index ba79bb72cd9..68ecfef29bc 100644
--- a/l10n/ca/files.po
+++ b/l10n/ca/files.po
@@ -7,15 +7,16 @@
# <joan@montane.cat>, 2012.
# <josep_tomas@hotmail.com>, 2012.
# Josep Tomàs <jtomas.binsoft@gmail.com>, 2012.
+# <rcalvoi@yahoo.com>, 2013.
# <rcalvoi@yahoo.com>, 2011-2013.
# <sacoo2@hotmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 08:39+0000\n"
+"Last-Translator: rogerc <rcalvoi@yahoo.com>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -155,7 +156,7 @@ msgstr "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "S'està preparant la baixada. Pot trigar una estona si els fitxers són grans."
#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
diff --git a/l10n/ca/files_encryption.po b/l10n/ca/files_encryption.po
index 98571697a6a..e76e21e1e5b 100644
--- a/l10n/ca/files_encryption.po
+++ b/l10n/ca/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-13 18:30+0000\n"
-"Last-Translator: rogerc <rcalvoi@yahoo.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ca\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Encriptatge"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Exclou els tipus de fitxers següents de l'encriptatge"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Cap"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Activa l'encriptatge"
diff --git a/l10n/cs_CZ/files_encryption.po b/l10n/cs_CZ/files_encryption.po
index 96298cc2205..c26a7ff0125 100644
--- a/l10n/cs_CZ/files_encryption.po
+++ b/l10n/cs_CZ/files_encryption.po
@@ -4,13 +4,13 @@
#
# Translators:
# Martin <fireball@atlas.cz>, 2012.
-# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012.
+# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-06 02:01+0200\n"
-"PO-Revision-Date: 2012-09-05 13:37+0000\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 20:21+0000\n"
"Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
@@ -19,18 +19,66 @@ msgstr ""
"Language: cs_CZ\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "Prosím přejděte na svého klienta ownCloud a nastavte šifrovací heslo pro dokončení konverze."
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "přepnuto na šifrování na straně klienta"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "Změnit šifrovací heslo na přihlašovací"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "Zkontrolujte, prosím, své heslo a zkuste to znovu."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "Nelze změnit šifrovací heslo na přihlašovací."
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Vyberte režim šifrování:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "Šifrování na straně klienta (nejbezpečnější ale neumožňuje vám přistupovat k souborům z webového rozhraní)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "Šifrování na straně serveru (umožňuje vám přistupovat k souborům pomocí webového rozhraní i aplikací)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "Žádný (vůbec žádné šifrování)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "Důležité: jak si jednou vyberete režim šifrování nelze jej opětovně změnit"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "Definován uživatelem (umožní uživateli si vybrat)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Šifrování"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Při šifrování vynechat následující typy souborů"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Žádné"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Povolit šifrování"
diff --git a/l10n/da/files_encryption.po b/l10n/da/files_encryption.po
index bd1c9864514..14b94d9d7ae 100644
--- a/l10n/da/files_encryption.po
+++ b/l10n/da/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-14 02:01+0200\n"
-"PO-Revision-Date: 2012-09-13 09:42+0000\n"
-"Last-Translator: osos <osos@openeyes.dk>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Kryptering"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Ekskluder følgende filtyper fra kryptering"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ingen"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Aktivér kryptering"
diff --git a/l10n/de/files_encryption.po b/l10n/de/files_encryption.po
index 2231e6ffdf9..ba08625264e 100644
--- a/l10n/de/files_encryption.po
+++ b/l10n/de/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-02 23:16+0200\n"
-"PO-Revision-Date: 2012-10-02 09:06+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Verschlüsselung"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Die folgenden Dateitypen von der Verschlüsselung ausnehmen"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Keine"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Verschlüsselung aktivieren"
diff --git a/l10n/de_DE/files_encryption.po b/l10n/de_DE/files_encryption.po
index 52f9f34a774..749067c3bbc 100644
--- a/l10n/de_DE/files_encryption.po
+++ b/l10n/de_DE/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-20 02:02+0200\n"
-"PO-Revision-Date: 2012-10-19 21:33+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Verschlüsselung"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Die folgenden Dateitypen von der Verschlüsselung ausnehmen"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Keine"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Verschlüsselung aktivieren"
diff --git a/l10n/el/files.po b/l10n/el/files.po
index 607ae91bec7..d98fff41fb7 100644
--- a/l10n/el/files.po
+++ b/l10n/el/files.po
@@ -5,6 +5,7 @@
# Translators:
# Dimitris M. <monopatis@gmail.com>, 2012.
# Efstathios Iosifidis <diamond_gr@freemail.gr>, 2012-2013.
+# Efstathios Iosifidis <iefstathios@gmail.com>, 2013.
# Efstathios Iosifidis <iosifidis@opensuse.org>, 2012.
# Konstantinos Tzanidis <tzanidis@gmail.com>, 2012.
# Marios Bekatoros <>, 2012.
@@ -14,9 +15,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 12:10+0000\n"
+"Last-Translator: Efstathios Iosifidis <iefstathios@gmail.com>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -156,7 +157,7 @@ msgstr "Μη έγκυρο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?'
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "Η λήψη προετοιμάζεται. Αυτό μπορεί να πάρει ώρα εάν τα αρχεία έχουν μεγάλο μέγεθος."
#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
diff --git a/l10n/el/files_encryption.po b/l10n/el/files_encryption.po
index 6d54cf8abcf..db198521dc8 100644
--- a/l10n/el/files_encryption.po
+++ b/l10n/el/files_encryption.po
@@ -4,32 +4,81 @@
#
# Translators:
# Efstathios Iosifidis <diamond_gr@freemail.gr>, 2012.
+# Efstathios Iosifidis <iefstathios@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-24 02:02+0200\n"
-"PO-Revision-Date: 2012-08-23 13:34+0000\n"
-"Last-Translator: Efstathios Iosifidis <diamond_gr@freemail.gr>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-22 23:23+0000\n"
+"Last-Translator: Efstathios Iosifidis <iefstathios@gmail.com>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: el\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "Παρακαλώ ελέγξτε το συνθηματικό σας και προσπαθήστε ξανά."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Επιλογή κατάστασης κρυπτογράφησης:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Κρυπτογράφηση"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Εξαίρεση των παρακάτω τύπων αρχείων από την κρυπτογράφηση"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Καμία"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Ενεργοποίηση Κρυπτογράφησης"
diff --git a/l10n/eo/files_encryption.po b/l10n/eo/files_encryption.po
index dbcedb1a56a..ee8d61876c1 100644
--- a/l10n/eo/files_encryption.po
+++ b/l10n/eo/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-16 02:04+0200\n"
-"PO-Revision-Date: 2012-08-15 19:41+0000\n"
-"Last-Translator: Mariano <mstreet@kde.org.ar>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eo\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Ĉifrado"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Malinkluzivigi la jenajn dosiertipojn el ĉifrado"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nenio"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Kapabligi ĉifradon"
diff --git a/l10n/es/files_encryption.po b/l10n/es/files_encryption.po
index 9b75acf31d7..c58884a970d 100644
--- a/l10n/es/files_encryption.po
+++ b/l10n/es/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-28 02:01+0200\n"
-"PO-Revision-Date: 2012-08-27 05:27+0000\n"
-"Last-Translator: juanman <juanma@kde.org.ar>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Cifrado"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Excluir del cifrado los siguientes tipos de archivo"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ninguno"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Habilitar cifrado"
diff --git a/l10n/es_AR/files_encryption.po b/l10n/es_AR/files_encryption.po
index 16b134f329d..63c4ec00584 100644
--- a/l10n/es_AR/files_encryption.po
+++ b/l10n/es_AR/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-25 02:02+0200\n"
-"PO-Revision-Date: 2012-09-24 04:41+0000\n"
-"Last-Translator: cjtess <claudio.tessone@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: es_AR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Encriptación"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Exceptuar de la encriptación los siguientes tipos de archivo"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ninguno"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Habilitar encriptación"
diff --git a/l10n/et_EE/files_encryption.po b/l10n/et_EE/files_encryption.po
index 8a0593fa337..eb1004d7bef 100644
--- a/l10n/et_EE/files_encryption.po
+++ b/l10n/et_EE/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-19 02:02+0200\n"
-"PO-Revision-Date: 2012-08-18 06:39+0000\n"
-"Last-Translator: Rivo Zängov <eraser@eraser.ee>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: et_EE\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Krüpteerimine"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Järgnevaid failitüüpe ära krüpteeri"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Pole"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Luba krüpteerimine"
diff --git a/l10n/eu/files_encryption.po b/l10n/eu/files_encryption.po
index cd97e58a497..deacd189bf8 100644
--- a/l10n/eu/files_encryption.po
+++ b/l10n/eu/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-28 02:01+0200\n"
-"PO-Revision-Date: 2012-08-27 09:08+0000\n"
-"Last-Translator: asieriko <asieriko@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Enkriptazioa"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Ez enkriptatu hurrengo fitxategi motak"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Bat ere ez"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Gaitu enkriptazioa"
diff --git a/l10n/fa/core.po b/l10n/fa/core.po
index 2e9ba760477..363c28a30ab 100644
--- a/l10n/fa/core.po
+++ b/l10n/fa/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 08:21+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n"
"MIME-Version: 1.0\n"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr "تنظیمات"
-#: js/js.js:711
+#: js/js.js:706
msgid "seconds ago"
msgstr "ثانیه‌ها پیش"
-#: js/js.js:712
+#: js/js.js:707
msgid "1 minute ago"
msgstr "1 دقیقه پیش"
-#: js/js.js:713
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:709
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:711
msgid "today"
msgstr "امروز"
-#: js/js.js:717
+#: js/js.js:712
msgid "yesterday"
msgstr "دیروز"
-#: js/js.js:718
+#: js/js.js:713
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:714
msgid "last month"
msgstr "ماه قبل"
-#: js/js.js:720
+#: js/js.js:715
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:716
msgid "months ago"
msgstr "ماه‌های قبل"
-#: js/js.js:722
+#: js/js.js:717
msgid "last year"
msgstr "سال قبل"
-#: js/js.js:723
+#: js/js.js:718
msgid "years ago"
msgstr "سال‌های قبل"
@@ -245,7 +245,7 @@ msgstr ""
#: js/share.js:296
msgid "Unshare"
-msgstr ""
+msgstr "لغو اشتراک"
#: js/share.js:308
msgid "can edit"
@@ -442,83 +442,83 @@ msgstr "هاست پایگاه داده"
msgid "Finish setup"
msgstr "اتمام نصب"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Sunday"
msgstr "یکشنبه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Monday"
msgstr "دوشنبه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Tuesday"
msgstr "سه شنبه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Wednesday"
msgstr "چهارشنبه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Thursday"
msgstr "پنجشنبه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Friday"
msgstr "جمعه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Saturday"
msgstr "شنبه"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "January"
msgstr "ژانویه"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "February"
msgstr "فبریه"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "March"
msgstr "مارس"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "April"
msgstr "آوریل"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "May"
msgstr "می"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "June"
msgstr "ژوئن"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "July"
msgstr "جولای"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "August"
msgstr "آگوست"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "September"
msgstr "سپتامبر"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "October"
msgstr "اکتبر"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "November"
msgstr "نوامبر"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "December"
msgstr "دسامبر"
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:41
msgid "web services under your control"
msgstr "سرویس وب تحت کنترل شما"
diff --git a/l10n/fa/files.po b/l10n/fa/files.po
index 73ae7c1ed1d..287637e3398 100644
--- a/l10n/fa/files.po
+++ b/l10n/fa/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 08:21+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n"
"MIME-Version: 1.0\n"
@@ -88,7 +88,7 @@ msgstr "فایل ها"
#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
-msgstr ""
+msgstr "لغو اشتراک"
#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
diff --git a/l10n/fa/files_encryption.po b/l10n/fa/files_encryption.po
index 74f153d436e..b5ac04c90a9 100644
--- a/l10n/fa/files_encryption.po
+++ b/l10n/fa/files_encryption.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-15 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 08:31+0000\n"
-"Last-Translator: basir <basir.jafarzadeh@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,66 @@ msgstr ""
"Language: fa\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "رمزگذاری"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "نادیده گرفتن فایل های زیر برای رمز گذاری"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "هیچ‌کدام"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "فعال کردن رمزگذاری"
diff --git a/l10n/fi_FI/files_encryption.po b/l10n/fi_FI/files_encryption.po
index 89ad916e382..5f635937590 100644
--- a/l10n/fi_FI/files_encryption.po
+++ b/l10n/fi_FI/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-17 00:44+0200\n"
-"PO-Revision-Date: 2012-08-16 10:56+0000\n"
-"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fi_FI\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Salaus"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Jätä seuraavat tiedostotyypit salaamatta"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ei mitään"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Käytä salausta"
diff --git a/l10n/fr/files_encryption.po b/l10n/fr/files_encryption.po
index cbad09601fc..8c8754a7a81 100644
--- a/l10n/fr/files_encryption.po
+++ b/l10n/fr/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-15 02:02+0200\n"
-"PO-Revision-Date: 2012-08-14 16:26+0000\n"
-"Last-Translator: Romain DEP. <rom1dep@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Chiffrement"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Ne pas chiffrer les fichiers dont les types sont les suivants"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Aucun"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Activer le chiffrement"
diff --git a/l10n/gl/files_encryption.po b/l10n/gl/files_encryption.po
index 367cd2cd063..ba0a8e899da 100644
--- a/l10n/gl/files_encryption.po
+++ b/l10n/gl/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-21 00:01+0100\n"
-"PO-Revision-Date: 2012-11-20 22:19+0000\n"
-"Last-Translator: Miguel Branco <mgl.branco@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Cifrado"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Excluír os seguintes tipos de ficheiro do cifrado"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nada"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Activar o cifrado"
diff --git a/l10n/gl/lib.po b/l10n/gl/lib.po
index 21150b035b8..c6fc161311a 100644
--- a/l10n/gl/lib.po
+++ b/l10n/gl/lib.po
@@ -5,14 +5,14 @@
# Translators:
# <mbouzada@gmail.com>, 2012.
# Miguel Branco <mgl.branco@gmail.com>, 2012.
-# Xosé M. Lamas <correo.xmgz@gmail.com>, 2012.
+# Xosé M. Lamas <correo.xmgz@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-17 00:26+0100\n"
-"PO-Revision-Date: 2013-01-16 23:26+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 06:11+0000\n"
+"Last-Translator: Xosé M. Lamas <correo.xmgz@gmail.com>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -60,9 +60,9 @@ msgstr "Volver aos ficheiros"
msgid "Selected files too large to generate zip file."
msgstr "Os ficheiros seleccionados son demasiado grandes como para xerar un ficheiro zip."
-#: helper.php:228
+#: helper.php:229
msgid "couldn't be determined"
-msgstr ""
+msgstr "non puido ser determinado"
#: json.php:28
msgid "Application is not enabled"
diff --git a/l10n/he/files_encryption.po b/l10n/he/files_encryption.po
index 860989631c4..cd62f06daf7 100644
--- a/l10n/he/files_encryption.po
+++ b/l10n/he/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-27 00:04+0100\n"
-"PO-Revision-Date: 2012-12-26 17:21+0000\n"
-"Last-Translator: Gilad Naaman <gilad.doom@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: he\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "הצפנה"
-#: templates/settings.php:6
-msgid "Enable Encryption"
-msgstr "הפעל הצפנה"
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "הוצא את סוגי הקבצים הבאים מהצפנה"
-#: templates/settings.php:7
+#: templates/settings.php:71
msgid "None"
msgstr "כלום"
-
-#: templates/settings.php:12
-msgid "Exclude the following file types from encryption"
-msgstr "הוצא את סוגי הקבצים הבאים מהצפנה"
diff --git a/l10n/hi/files_encryption.po b/l10n/hi/files_encryption.po
index e6ff91a68b5..83154bdbcbf 100644
--- a/l10n/hi/files_encryption.po
+++ b/l10n/hi/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-29 02:01+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hi\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/hr/files_encryption.po b/l10n/hr/files_encryption.po
index d2734fd9fd2..d284b962472 100644
--- a/l10n/hr/files_encryption.po
+++ b/l10n/hr/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hr\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/hu_HU/files.po b/l10n/hu_HU/files.po
index 99731539f86..98235f04ca2 100644
--- a/l10n/hu_HU/files.po
+++ b/l10n/hu_HU/files.po
@@ -6,15 +6,16 @@
# Adam Toth <adazlord@gmail.com>, 2012.
# <gyonkibendeguz@gmail.com>, 2013.
# <gyonkibendeguz@gmail.com>, 2013.
+# Laszlo Tornoci <torlasz@gmail.com>, 2013.
# <mail@tamas-nagy.net>, 2011.
# Peter Borsa <peter.borsa@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 21:24+0000\n"
+"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -154,7 +155,7 @@ msgstr "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "Készül a letöltendő állomány. Ez eltarthat egy ideig, ha nagyok a fájlok."
#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
diff --git a/l10n/hu_HU/files_encryption.po b/l10n/hu_HU/files_encryption.po
index 896e96e2c73..4aea6abf217 100644
--- a/l10n/hu_HU/files_encryption.po
+++ b/l10n/hu_HU/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-31 00:04+0100\n"
-"PO-Revision-Date: 2012-12-30 17:43+0000\n"
-"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: hu_HU\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Titkosítás"
-#: templates/settings.php:6
-msgid "Enable Encryption"
-msgstr "A titkosítás engedélyezése"
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "A következő fájltípusok kizárása a titkosításból"
-#: templates/settings.php:7
+#: templates/settings.php:71
msgid "None"
msgstr "Egyik sem"
-
-#: templates/settings.php:12
-msgid "Exclude the following file types from encryption"
-msgstr "A következő fájltípusok kizárása a titkosításból"
diff --git a/l10n/ia/files_encryption.po b/l10n/ia/files_encryption.po
index 8b85b14f5c1..bd7a38a6b19 100644
--- a/l10n/ia/files_encryption.po
+++ b/l10n/ia/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ia\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/id/files_encryption.po b/l10n/id/files_encryption.po
index 5ab924354cb..d6d66e61e07 100644
--- a/l10n/id/files_encryption.po
+++ b/l10n/id/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-21 02:03+0200\n"
-"PO-Revision-Date: 2012-10-20 23:08+0000\n"
-"Last-Translator: elmakong <mr.pige_ina@yahoo.co.id>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "enkripsi"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "pengecualian untuk tipe file berikut dari enkripsi"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "tidak ada"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "aktifkan enkripsi"
diff --git a/l10n/is/files_encryption.po b/l10n/is/files_encryption.po
index 3dfd91e61ab..b46b5ff3c18 100644
--- a/l10n/is/files_encryption.po
+++ b/l10n/is/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-31 00:04+0100\n"
-"PO-Revision-Date: 2012-12-30 19:56+0000\n"
-"Last-Translator: sveinn <sveinng@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Dulkóðun"
-#: templates/settings.php:6
-msgid "Enable Encryption"
-msgstr "Virkja dulkóðun"
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "Undanskilja eftirfarandi skráartegundir frá dulkóðun"
-#: templates/settings.php:7
+#: templates/settings.php:71
msgid "None"
msgstr "Ekkert"
-
-#: templates/settings.php:12
-msgid "Exclude the following file types from encryption"
-msgstr "Undanskilja eftirfarandi skráartegundir frá dulkóðun"
diff --git a/l10n/it/files_encryption.po b/l10n/it/files_encryption.po
index 573a32a14a5..98ad3bf4627 100644
--- a/l10n/it/files_encryption.po
+++ b/l10n/it/files_encryption.po
@@ -3,33 +3,81 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Vincenzo Reale <vinx.reale@gmail.com>, 2012.
+# Vincenzo Reale <vinx.reale@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-15 02:02+0200\n"
-"PO-Revision-Date: 2012-08-14 11:49+0000\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 14:21+0000\n"
"Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "Passa al tuo client ownCloud e cambia la password di cifratura per completare la conversione."
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "passato alla cifratura lato client"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "Controlla la password e prova ancora."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Scegli la modalità di cifratura."
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "Cifratura lato client (più sicura ma rende impossibile accedere ai propri dati dall'interfaccia web)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "Cifratura lato server (ti consente di accedere ai tuoi file dall'interfaccia web e dal client desktop)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "Nessuna (senza alcuna cifratura)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "Importante: una volta selezionata la modalità di cifratura non sarà possibile tornare indietro"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "Specificato dall'utente (lascia decidere all'utente)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Cifratura"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Escludi i seguenti tipi di file dalla cifratura"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nessuna"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Abilita cifratura"
diff --git a/l10n/ja_JP/files.po b/l10n/ja_JP/files.po
index 9ec5741e01d..d94cd87e309 100644
--- a/l10n/ja_JP/files.po
+++ b/l10n/ja_JP/files.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 00:25+0000\n"
+"Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -153,7 +153,7 @@ msgstr "無効な名前、'\\', '/', '<', '>', ':', '\"', '|', '?', '*' は使
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "ダウンロードの準備中です。ファイルサイズが大きい場合は少し時間がかかるかもしれません。"
#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
diff --git a/l10n/ja_JP/files_encryption.po b/l10n/ja_JP/files_encryption.po
index c9941a81c9c..2c42c902059 100644
--- a/l10n/ja_JP/files_encryption.po
+++ b/l10n/ja_JP/files_encryption.po
@@ -4,32 +4,81 @@
#
# Translators:
# Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>, 2012.
+# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-16 02:04+0200\n"
-"PO-Revision-Date: 2012-08-15 02:43+0000\n"
-"Last-Translator: Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 03:07+0000\n"
+"Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja_JP\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "変換を完了するために、ownCloud クライアントに切り替えて、暗号化パスワードを変更してください。"
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "クライアントサイドの暗号化に切り替えました"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "暗号化パスワードをログインパスワードに変更"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "パスワードを確認してもう一度行なってください。"
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "ファイル暗号化パスワードをログインパスワードに変更できませんでした。"
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "暗号化モードを選択:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "クライアントサイドの暗号化(最もセキュアですが、WEBインターフェースからデータにアクセスできなくなります)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "サーバサイド暗号化(WEBインターフェースおよびデスクトップクライアントからファイルにアクセスすることができます)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "暗号化無し(何も暗号化しません)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "重要: 一度暗号化を選択してしまうと、もとに戻す方法はありません"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "ユーザ指定(ユーザが選べるようにする)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "暗号化"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "暗号化から除外するファイルタイプ"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "なし"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "暗号化を有効にする"
diff --git a/l10n/ka_GE/files_encryption.po b/l10n/ka_GE/files_encryption.po
index 3cdf3ae4e91..f0cc786850b 100644
--- a/l10n/ka_GE/files_encryption.po
+++ b/l10n/ka_GE/files_encryption.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-22 02:02+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,18 +17,66 @@ msgstr ""
"Language: ka_GE\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/ko/files_encryption.po b/l10n/ko/files_encryption.po
index 7317bd55f1d..441ba8cec4b 100644
--- a/l10n/ko/files_encryption.po
+++ b/l10n/ko/files_encryption.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-10 00:11+0100\n"
-"PO-Revision-Date: 2012-12-09 06:13+0000\n"
-"Last-Translator: Shinjo Park <kde@peremen.name>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,66 @@ msgstr ""
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "암호화"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "다음 파일 형식은 암호화하지 않음"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "없음"
-
-#: templates/settings.php:12
-msgid "Enable Encryption"
-msgstr "암호화 사용"
diff --git a/l10n/ku_IQ/files_encryption.po b/l10n/ku_IQ/files_encryption.po
index ebb1c844374..d372d58b033 100644
--- a/l10n/ku_IQ/files_encryption.po
+++ b/l10n/ku_IQ/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-08 02:02+0200\n"
-"PO-Revision-Date: 2012-10-07 00:06+0000\n"
-"Last-Translator: Hozha Koyi <hozhan@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: ku_IQ\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "نهێنیکردن"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "به‌ربه‌ست کردنی ئه‌م جۆره‌ په‌ڕگانه له‌ نهێنیکردن"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "هیچ"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "چالاکردنی نهێنیکردن"
diff --git a/l10n/lb/files_encryption.po b/l10n/lb/files_encryption.po
index 5446d2366b4..f88e884164b 100644
--- a/l10n/lb/files_encryption.po
+++ b/l10n/lb/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lb\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/lt_LT/files_encryption.po b/l10n/lt_LT/files_encryption.po
index 41529366d31..152f3677f83 100644
--- a/l10n/lt_LT/files_encryption.po
+++ b/l10n/lt_LT/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-23 02:03+0200\n"
-"PO-Revision-Date: 2012-08-22 12:29+0000\n"
-"Last-Translator: Dr. ROX <to.dr.rox@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lt_LT\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Šifravimas"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Nešifruoti pasirinkto tipo failų"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nieko"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Įjungti šifravimą"
diff --git a/l10n/lv/files_encryption.po b/l10n/lv/files_encryption.po
index 6b2dc7673d7..9ceadebe30c 100644
--- a/l10n/lv/files_encryption.po
+++ b/l10n/lv/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lv\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/mk/files_encryption.po b/l10n/mk/files_encryption.po
index 2b4f5dfb57a..b34192fc864 100644
--- a/l10n/mk/files_encryption.po
+++ b/l10n/mk/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 13:14+0000\n"
-"Last-Translator: Georgi Stanojevski <glisha@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Енкрипција"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Исклучи ги следните типови на датотеки од енкрипција"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ништо"
-
-#: templates/settings.php:12
-msgid "Enable Encryption"
-msgstr "Овозможи енкрипција"
diff --git a/l10n/ms_MY/files_encryption.po b/l10n/ms_MY/files_encryption.po
index 33de1d365d7..65777823e5b 100644
--- a/l10n/ms_MY/files_encryption.po
+++ b/l10n/ms_MY/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ms_MY\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/nb_NO/files_encryption.po b/l10n/nb_NO/files_encryption.po
index a74d1bacc7e..5e2f1a4cf99 100644
--- a/l10n/nb_NO/files_encryption.po
+++ b/l10n/nb_NO/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-24 02:02+0200\n"
-"PO-Revision-Date: 2012-08-23 17:13+0000\n"
-"Last-Translator: Arvid Nornes <arvid.nornes@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nb_NO\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Kryptering"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Ekskluder følgende filer fra kryptering"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ingen"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Slå på kryptering"
diff --git a/l10n/nl/files_encryption.po b/l10n/nl/files_encryption.po
index bd80bdcae78..b1ef07dc13e 100644
--- a/l10n/nl/files_encryption.po
+++ b/l10n/nl/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-25 02:04+0200\n"
-"PO-Revision-Date: 2012-08-24 19:11+0000\n"
-"Last-Translator: Richard Bos <radoeka@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nl\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Versleuteling"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Versleutel de volgende bestand types niet"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Geen"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Zet versleuteling aan"
diff --git a/l10n/nn_NO/files_encryption.po b/l10n/nn_NO/files_encryption.po
index 8ad39e5cbfb..f821638fbcd 100644
--- a/l10n/nn_NO/files_encryption.po
+++ b/l10n/nn_NO/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nn_NO\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/oc/files_encryption.po b/l10n/oc/files_encryption.po
index d6e0c7a83be..91f6f906aae 100644
--- a/l10n/oc/files_encryption.po
+++ b/l10n/oc/files_encryption.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-08 02:01+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,18 +17,66 @@ msgstr ""
"Language: oc\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/pl/files_encryption.po b/l10n/pl/files_encryption.po
index fbb12dbe1fb..21fa364ff19 100644
--- a/l10n/pl/files_encryption.po
+++ b/l10n/pl/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-13 12:15+0000\n"
-"Last-Translator: Cyryl Sochacki <>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Szyfrowanie"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Wyłącz następujące typy plików z szyfrowania"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Brak"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Włącz szyfrowanie"
diff --git a/l10n/pl_PL/files_encryption.po b/l10n/pl_PL/files_encryption.po
index 6512705ecbc..ce8f0779cae 100644
--- a/l10n/pl_PL/files_encryption.po
+++ b/l10n/pl_PL/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-31 02:02+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl_PL\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/pt_BR/files_encryption.po b/l10n/pt_BR/files_encryption.po
index 250fed658f3..ee24c51910d 100644
--- a/l10n/pt_BR/files_encryption.po
+++ b/l10n/pt_BR/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-24 02:01+0200\n"
-"PO-Revision-Date: 2012-09-23 16:57+0000\n"
-"Last-Translator: sedir <philippi.sedir@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Criptografia"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Excluir os seguintes tipos de arquivo da criptografia"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nenhuma"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Habilitar Criptografia"
diff --git a/l10n/pt_PT/files.po b/l10n/pt_PT/files.po
index 8ea6fe5d6eb..1ba8520b85c 100644
--- a/l10n/pt_PT/files.po
+++ b/l10n/pt_PT/files.po
@@ -4,6 +4,7 @@
#
# Translators:
# <daniel@mouxy.net>, 2012-2013.
+# Daniel Pinto <daniel@mouxy.net>, 2013.
# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012.
# <geral@ricardolameiro.pt>, 2012.
# Helder Meneses <helder.meneses@gmail.com>, 2012.
@@ -12,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 12:23+0000\n"
+"Last-Translator: Mouxy <daniel@mouxy.net>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -154,7 +155,7 @@ msgstr "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "O seu download está a ser preparado. Este processo pode demorar algum tempo se os ficheiros forem grandes."
#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
diff --git a/l10n/pt_PT/files_encryption.po b/l10n/pt_PT/files_encryption.po
index 803037caf42..0ae4844da6f 100644
--- a/l10n/pt_PT/files_encryption.po
+++ b/l10n/pt_PT/files_encryption.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Daniel Pinto <daniel@mouxy.net>, 2013.
# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-27 02:01+0200\n"
-"PO-Revision-Date: 2012-09-26 13:24+0000\n"
-"Last-Translator: Duarte Velez Grilo <duartegrilo@gmail.com>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 01:09+0000\n"
+"Last-Translator: Mouxy <daniel@mouxy.net>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +19,66 @@ msgstr ""
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "Por favor, use o seu cliente de sincronização do ownCloud e altere a sua password de encriptação para concluír a conversão."
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "Alterado para encriptação do lado do cliente"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "Alterar a password de encriptação para a password de login"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "Por favor verifique as suas paswords e tente de novo."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "Não foi possível alterar a password de encriptação de ficheiros para a sua password de login"
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Escolha o método de encriptação"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "Encriptação do lado do cliente (mais seguro mas torna possível o acesso aos dados através do interface web)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "Encriptação do lado do servidor (permite o acesso aos seus ficheiros através do interface web e do cliente de sincronização)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "Nenhuma (sem encriptação)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "Importante: Uma vez escolhido o modo de encriptação, não existe maneira de o alterar!"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "Escolhido pelo utilizador"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Encriptação"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Excluir da encriptação os seguintes tipo de ficheiros"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nenhum"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Activar Encriptação"
diff --git a/l10n/ro/files_encryption.po b/l10n/ro/files_encryption.po
index 2c3a3ed30b0..701aea30fb9 100644
--- a/l10n/ro/files_encryption.po
+++ b/l10n/ro/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-19 02:02+0200\n"
-"PO-Revision-Date: 2012-09-18 11:31+0000\n"
-"Last-Translator: g.ciprian <g.ciprian@osn.ro>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Încriptare"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Exclude următoarele tipuri de fișiere de la încriptare"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Niciuna"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Activare încriptare"
diff --git a/l10n/ru/files_encryption.po b/l10n/ru/files_encryption.po
index 5ae5f485223..9a2315aa144 100644
--- a/l10n/ru/files_encryption.po
+++ b/l10n/ru/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-25 02:04+0200\n"
-"PO-Revision-Date: 2012-08-24 07:47+0000\n"
-"Last-Translator: Denis <reg.transifex.net@demitel.ru>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ru\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Шифрование"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Исключить шифрование следующих типов файлов"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ничего"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Включить шифрование"
diff --git a/l10n/ru_RU/files_encryption.po b/l10n/ru_RU/files_encryption.po
index 11a61701141..b27f0a2def2 100644
--- a/l10n/ru_RU/files_encryption.po
+++ b/l10n/ru_RU/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-20 02:05+0200\n"
-"PO-Revision-Date: 2012-09-19 12:14+0000\n"
-"Last-Translator: AnnaSch <cdewqazxsqwe@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: ru_RU\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Шифрование"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Исключите следующие типы файлов из шифрования"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ни один"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Включить шифрование"
diff --git a/l10n/si_LK/files_encryption.po b/l10n/si_LK/files_encryption.po
index 7e40f2c3ea7..8f8475ed596 100644
--- a/l10n/si_LK/files_encryption.po
+++ b/l10n/si_LK/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-20 02:02+0200\n"
-"PO-Revision-Date: 2012-10-19 11:00+0000\n"
-"Last-Translator: Anushke Guneratne <anushke@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: si_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "ගුප්ත කේතනය"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "මෙම ගොනු වර්ග ගුප්ත කේතනය කිරීමෙන් බැහැරව තබන්න"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "කිසිවක් නැත"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "ගුප්ත කේතනය සක්‍රිය කරන්න"
diff --git a/l10n/sk_SK/files_encryption.po b/l10n/sk_SK/files_encryption.po
index a698624cb5d..813c05deb37 100644
--- a/l10n/sk_SK/files_encryption.po
+++ b/l10n/sk_SK/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-06 02:01+0200\n"
-"PO-Revision-Date: 2012-09-05 17:32+0000\n"
-"Last-Translator: intense <intense.feel@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: sk_SK\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Šifrovanie"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Vynechať nasledujúce súbory pri šifrovaní"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Žiadne"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Zapnúť šifrovanie"
diff --git a/l10n/sl/files_encryption.po b/l10n/sl/files_encryption.po
index ee5f5c6ec05..934903b3bc5 100644
--- a/l10n/sl/files_encryption.po
+++ b/l10n/sl/files_encryption.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-23 02:02+0200\n"
-"PO-Revision-Date: 2012-10-22 16:57+0000\n"
-"Last-Translator: mateju <>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,66 @@ msgstr ""
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Šifriranje"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Navedene vrste datotek naj ne bodo šifrirane"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Brez"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Omogoči šifriranje"
diff --git a/l10n/sr/core.po b/l10n/sr/core.po
index b40e7317a48..720d77429fd 100644
--- a/l10n/sr/core.po
+++ b/l10n/sr/core.po
@@ -3,16 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Ivan Petrović <ivan@ipplusstudio.com>, 2012.
+# Ivan Petrović <ivan@ipplusstudio.com>, 2012-2013.
# <marko@evizo.com>, 2012.
# Slobodan Terzić <githzerai06@gmail.com>, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 08:26+0000\n"
+"Last-Translator: Ivan Petrović <ivan@ipplusstudio.com>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,12 +23,12 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "Корисник %s дели са вама датотеку"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "Корисник %s дели са вама директоријум"
#: ajax/share.php:88
#, php-format
@@ -86,55 +86,55 @@ msgstr "Грешка приликом уклањања %s из омиљених"
msgid "Settings"
msgstr "Подешавања"
-#: js/js.js:711
+#: js/js.js:706
msgid "seconds ago"
msgstr "пре неколико секунди"
-#: js/js.js:712
+#: js/js.js:707
msgid "1 minute ago"
msgstr "пре 1 минут"
-#: js/js.js:713
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr "пре {minutes} минута"
-#: js/js.js:714
+#: js/js.js:709
msgid "1 hour ago"
msgstr "Пре једног сата"
-#: js/js.js:715
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr "Пре {hours} сата (сати)"
-#: js/js.js:716
+#: js/js.js:711
msgid "today"
msgstr "данас"
-#: js/js.js:717
+#: js/js.js:712
msgid "yesterday"
msgstr "јуче"
-#: js/js.js:718
+#: js/js.js:713
msgid "{days} days ago"
msgstr "пре {days} дана"
-#: js/js.js:719
+#: js/js.js:714
msgid "last month"
msgstr "прошлог месеца"
-#: js/js.js:720
+#: js/js.js:715
msgid "{months} months ago"
msgstr "Пре {months} месеца (месеци)"
-#: js/js.js:721
+#: js/js.js:716
msgid "months ago"
msgstr "месеци раније"
-#: js/js.js:722
+#: js/js.js:717
msgid "last year"
msgstr "прошле године"
-#: js/js.js:723
+#: js/js.js:718
msgid "years ago"
msgstr "година раније"
@@ -219,7 +219,7 @@ msgstr ""
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "Пошаљи"
#: js/share.js:177
msgid "Set expiration date"
@@ -287,11 +287,11 @@ msgstr "Грешка код постављања датума истека"
#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "Шаљем..."
#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "Порука је послата"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -444,83 +444,83 @@ msgstr "Домаћин базе"
msgid "Finish setup"
msgstr "Заврши подешавање"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Sunday"
msgstr "Недеља"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Monday"
msgstr "Понедељак"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Tuesday"
msgstr "Уторак"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Wednesday"
msgstr "Среда"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Thursday"
msgstr "Четвртак"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Friday"
msgstr "Петак"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Saturday"
msgstr "Субота"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "January"
msgstr "Јануар"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "February"
msgstr "Фебруар"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "March"
msgstr "Март"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "April"
msgstr "Април"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "May"
msgstr "Мај"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "June"
msgstr "Јун"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "July"
msgstr "Јул"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "August"
msgstr "Август"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "September"
msgstr "Септембар"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "October"
msgstr "Октобар"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "November"
msgstr "Новембар"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "December"
msgstr "Децембар"
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:41
msgid "web services under your control"
msgstr "веб сервиси под контролом"
@@ -565,4 +565,4 @@ msgstr "следеће"
#: templates/update.php:3
#, php-format
msgid "Updating ownCloud to version %s, this may take a while."
-msgstr ""
+msgstr "Надоградња ownCloud-а на верзију %s, сачекајте тренутак."
diff --git a/l10n/sr/files_encryption.po b/l10n/sr/files_encryption.po
index a0a21dd2c84..7765fc06e6c 100644
--- a/l10n/sr/files_encryption.po
+++ b/l10n/sr/files_encryption.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-05 00:04+0100\n"
-"PO-Revision-Date: 2012-12-04 15:06+0000\n"
-"Last-Translator: Kostic <marko@evizo.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,66 @@ msgstr ""
"Language: sr\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Шифровање"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Не шифруј следеће типове датотека"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ништа"
-
-#: templates/settings.php:12
-msgid "Enable Encryption"
-msgstr "Омогући шифровање"
diff --git a/l10n/sr/files_sharing.po b/l10n/sr/files_sharing.po
index 36c9d0ac467..345fb947c11 100644
--- a/l10n/sr/files_sharing.po
+++ b/l10n/sr/files_sharing.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 08:30+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,26 +23,26 @@ msgstr ""
#: templates/authenticate.php:6
msgid "Submit"
-msgstr ""
+msgstr "Пошаљи"
-#: templates/public.php:9
+#: templates/public.php:17
#, php-format
msgid "%s shared the folder %s with you"
msgstr ""
-#: templates/public.php:11
+#: templates/public.php:19
#, php-format
msgid "%s shared the file %s with you"
msgstr ""
-#: templates/public.php:14 templates/public.php:30
+#: templates/public.php:22 templates/public.php:38
msgid "Download"
msgstr ""
-#: templates/public.php:29
+#: templates/public.php:37
msgid "No preview available for"
msgstr ""
-#: templates/public.php:37
+#: templates/public.php:43
msgid "web services under your control"
msgstr ""
diff --git a/l10n/sr/lib.po b/l10n/sr/lib.po
index d6456f9db16..3b899eb0222 100644
--- a/l10n/sr/lib.po
+++ b/l10n/sr/lib.po
@@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Ivan Petrović <ivan@ipplusstudio.com>, 2012.
+# Ivan Petrović <ivan@ipplusstudio.com>, 2012-2013.
# <theranchcowboy@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-17 00:26+0100\n"
-"PO-Revision-Date: 2013-01-16 23:26+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 08:24+0000\n"
+"Last-Translator: Ivan Petrović <ivan@ipplusstudio.com>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -59,9 +59,9 @@ msgstr "Назад на датотеке"
msgid "Selected files too large to generate zip file."
msgstr "Изабране датотеке су превелике да бисте направили ZIP датотеку."
-#: helper.php:228
+#: helper.php:229
msgid "couldn't be determined"
-msgstr ""
+msgstr "није одређено"
#: json.php:28
msgid "Application is not enabled"
diff --git a/l10n/sr@latin/files_encryption.po b/l10n/sr@latin/files_encryption.po
index c6f3f5b636c..39f12cfb59b 100644
--- a/l10n/sr@latin/files_encryption.po
+++ b/l10n/sr@latin/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sr@latin\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/sv/files.po b/l10n/sv/files.po
index 9be1edb50f0..4dc201683ef 100644
--- a/l10n/sv/files.po
+++ b/l10n/sv/files.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 14:36+0000\n"
+"Last-Translator: Magnus Höglund <magnus@linux.com>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -31,16 +31,16 @@ msgstr "Ladda upp"
#: ajax/move.php:17
#, php-format
msgid "Could not move %s - File with this name already exists"
-msgstr ""
+msgstr "Kunde inte flytta %s - Det finns redan en fil med detta namn"
#: ajax/move.php:24
#, php-format
msgid "Could not move %s"
-msgstr ""
+msgstr "Kan inte flytta %s"
#: ajax/rename.php:19
msgid "Unable to rename file"
-msgstr ""
+msgstr "Kan inte byta namn på filen"
#: ajax/upload.php:20
msgid "No file was uploaded. Unknown error"
@@ -155,7 +155,7 @@ msgstr "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "Din nedladdning förbereds. Det kan ta tid om det är stora filer."
#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
diff --git a/l10n/sv/files_encryption.po b/l10n/sv/files_encryption.po
index 42165069483..946f272acca 100644
--- a/l10n/sv/files_encryption.po
+++ b/l10n/sv/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-13 10:20+0000\n"
-"Last-Translator: Magnus Höglund <magnus@linux.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sv\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Kryptering"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Exkludera följande filtyper från kryptering"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ingen"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Aktivera kryptering"
diff --git a/l10n/sv/lib.po b/l10n/sv/lib.po
index e7015f915b5..3fea987f13f 100644
--- a/l10n/sv/lib.po
+++ b/l10n/sv/lib.po
@@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Magnus Höglund <magnus@linux.com>, 2012.
+# Magnus Höglund <magnus@linux.com>, 2012-2013.
# <magnus@linux.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-17 00:26+0100\n"
-"PO-Revision-Date: 2013-01-16 23:26+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 14:32+0000\n"
+"Last-Translator: Magnus Höglund <magnus@linux.com>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -59,9 +59,9 @@ msgstr "Tillbaka till Filer"
msgid "Selected files too large to generate zip file."
msgstr "Valda filer är för stora för att skapa zip-fil."
-#: helper.php:228
+#: helper.php:229
msgid "couldn't be determined"
-msgstr ""
+msgstr "kunde inte bestämmas"
#: json.php:28
msgid "Application is not enabled"
diff --git a/l10n/sv/user_ldap.po b/l10n/sv/user_ldap.po
index a86fd7f318a..4455df0fb2f 100644
--- a/l10n/sv/user_ldap.po
+++ b/l10n/sv/user_ldap.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Magnus Höglund <magnus@linux.com>, 2012.
+# Magnus Höglund <magnus@linux.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-16 00:19+0100\n"
-"PO-Revision-Date: 2013-01-15 23:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 15:10+0000\n"
+"Last-Translator: Magnus Höglund <magnus@linux.com>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,7 +29,7 @@ msgstr "<b>Varning:</b> Apps user_ldap och user_webdavauth är inkompatibla. Ov
msgid ""
"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
"work. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>Varning:</b> PHP LDAP - modulen är inte installerad, serversidan kommer inte att fungera. Kontakta din systemadministratör för installation."
#: templates/settings.php:15
msgid "Host"
@@ -46,7 +46,7 @@ msgstr "Start DN"
#: templates/settings.php:16
msgid "One Base DN per line"
-msgstr ""
+msgstr "Ett Start DN per rad"
#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
@@ -121,7 +121,7 @@ msgstr "Bas för användare i katalogtjänst"
#: templates/settings.php:25
msgid "One User Base DN per line"
-msgstr ""
+msgstr "En Användare start DN per rad"
#: templates/settings.php:26
msgid "Base Group Tree"
@@ -129,7 +129,7 @@ msgstr "Bas för grupper i katalogtjänst"
#: templates/settings.php:26
msgid "One Group Base DN per line"
-msgstr ""
+msgstr "En Grupp start DN per rad"
#: templates/settings.php:27
msgid "Group-Member association"
diff --git a/l10n/sv/user_webdavauth.po b/l10n/sv/user_webdavauth.po
index f85d57aca3e..98475a8bd97 100644
--- a/l10n/sv/user_webdavauth.po
+++ b/l10n/sv/user_webdavauth.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Magnus Höglund <magnus@linux.com>, 2012.
+# Magnus Höglund <magnus@linux.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:04+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 15:25+0000\n"
+"Last-Translator: Magnus Höglund <magnus@linux.com>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,7 +20,7 @@ msgstr ""
#: templates/settings.php:3
msgid "WebDAV Authentication"
-msgstr ""
+msgstr "WebDAV Autentisering"
#: templates/settings.php:4
msgid "URL: http://"
@@ -31,4 +31,4 @@ msgid ""
"ownCloud will send the user credentials to this URL. This plugin checks the "
"response and will interpret the HTTP statuscodes 401 and 403 as invalid "
"credentials, and all other responses as valid credentials."
-msgstr ""
+msgstr "ownCloud kommer skicka användaruppgifterna till denna URL. Denna plugin kontrollerar svaret och tolkar HTTP-statuskoderna 401 och 403 som felaktiga uppgifter, och alla andra svar som giltiga uppgifter."
diff --git a/l10n/ta_LK/files_encryption.po b/l10n/ta_LK/files_encryption.po
index 2eee3be9df2..82cfd11914c 100644
--- a/l10n/ta_LK/files_encryption.po
+++ b/l10n/ta_LK/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-18 00:01+0100\n"
-"PO-Revision-Date: 2012-11-17 05:33+0000\n"
-"Last-Translator: suganthi <suganthi@nic.lk>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: ta_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "மறைக்குறியீடு"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "மறைக்குறியாக்கலில் பின்வரும் கோப்பு வகைகளை நீக்கவும்"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "ஒன்றுமில்லை"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "மறைக்குறியாக்கலை இயலுமைப்படுத்துக"
diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot
index bc536ce226f..972ace2da74 100644
--- a/l10n/templates/core.pot
+++ b/l10n/templates/core.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -441,83 +441,83 @@ msgstr ""
msgid "Finish setup"
msgstr ""
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Sunday"
msgstr ""
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Monday"
msgstr ""
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Tuesday"
msgstr ""
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Wednesday"
msgstr ""
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Thursday"
msgstr ""
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Friday"
msgstr ""
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Saturday"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "January"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "February"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "March"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "April"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "May"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "June"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "July"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "August"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "September"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "October"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "November"
msgstr ""
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "December"
msgstr ""
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:41
msgid "web services under your control"
msgstr ""
diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot
index 8a06303e8fe..4e2eb926731 100644
--- a/l10n/templates/files.pot
+++ b/l10n/templates/files.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot
index c35af47ba76..43ecb33b162 100644
--- a/l10n/templates/files_encryption.pot
+++ b/l10n/templates/files_encryption.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,18 +17,66 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to "
+"complete the conversion."
msgstr ""
-#: templates/settings.php:6
-msgid "Enable Encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:7
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it "
+"back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
msgstr ""
-#: templates/settings.php:12
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
+msgstr ""
diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot
index 2c56292b249..fadf6a450a0 100644
--- a/l10n/templates/files_external.pot
+++ b/l10n/templates/files_external.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_sharing.pot b/l10n/templates/files_sharing.pot
index 0a5d77fa0ba..a6236dbce75 100644
--- a/l10n/templates/files_sharing.pot
+++ b/l10n/templates/files_sharing.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot
index dece38d4306..2b8a051d313 100644
--- a/l10n/templates/files_versions.pot
+++ b/l10n/templates/files_versions.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot
index ac3a56175f3..829f4a30b7b 100644
--- a/l10n/templates/lib.pot
+++ b/l10n/templates/lib.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot
index d76adc8562b..893a5ea2193 100644
--- a/l10n/templates/settings.pot
+++ b/l10n/templates/settings.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot
index 85414ccc8df..a6b7c1cae5d 100644
--- a/l10n/templates/user_ldap.pot
+++ b/l10n/templates/user_ldap.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot
index 871470c64df..82fcbf1276e 100644
--- a/l10n/templates/user_webdavauth.pot
+++ b/l10n/templates/user_webdavauth.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/th_TH/core.po b/l10n/th_TH/core.po
index 895eb8a3443..e9fe1ca9c9e 100644
--- a/l10n/th_TH/core.po
+++ b/l10n/th_TH/core.po
@@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
# AriesAnywhere Anywhere <ariesanywherer@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 01:02+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,26 +22,26 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "ผู้ใช้งาน %s ได้แชร์ไฟล์ให้กับคุณ"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "ผู้ใช้งาน %s ได้แชร์โฟลเดอร์ให้กับคุณ"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "ผู้ใช้งาน %s ได้แชร์ไฟล์ \"%s\" ให้กับคุณ และคุณสามารถสามารถดาวน์โหลดไฟล์ดังกล่าวได้จากที่นี่: %s"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "ผู้ใช้งาน %s ได้แชร์โฟลเดอร์ \"%s\" ให้กับคุณ และคุณสามารถดาวน์โหลดโฟลเดอร์ดังกล่าวได้จากที่นี่: %s"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -85,55 +85,55 @@ msgstr "เกิดข้อผิดพลาดในการลบ %s อ
msgid "Settings"
msgstr "ตั้งค่า"
-#: js/js.js:711
+#: js/js.js:706
msgid "seconds ago"
msgstr "วินาที ก่อนหน้านี้"
-#: js/js.js:712
+#: js/js.js:707
msgid "1 minute ago"
msgstr "1 นาทีก่อนหน้านี้"
-#: js/js.js:713
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr "{minutes} นาทีก่อนหน้านี้"
-#: js/js.js:714
+#: js/js.js:709
msgid "1 hour ago"
msgstr "1 ชั่วโมงก่อนหน้านี้"
-#: js/js.js:715
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr "{hours} ชั่วโมงก่อนหน้านี้"
-#: js/js.js:716
+#: js/js.js:711
msgid "today"
msgstr "วันนี้"
-#: js/js.js:717
+#: js/js.js:712
msgid "yesterday"
msgstr "เมื่อวานนี้"
-#: js/js.js:718
+#: js/js.js:713
msgid "{days} days ago"
msgstr "{day} วันก่อนหน้านี้"
-#: js/js.js:719
+#: js/js.js:714
msgid "last month"
msgstr "เดือนที่แล้ว"
-#: js/js.js:720
+#: js/js.js:715
msgid "{months} months ago"
msgstr "{months} เดือนก่อนหน้านี้"
-#: js/js.js:721
+#: js/js.js:716
msgid "months ago"
msgstr "เดือน ที่ผ่านมา"
-#: js/js.js:722
+#: js/js.js:717
msgid "last year"
msgstr "ปีที่แล้ว"
-#: js/js.js:723
+#: js/js.js:718
msgid "years ago"
msgstr "ปี ที่ผ่านมา"
@@ -214,11 +214,11 @@ msgstr "รหัสผ่าน"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "ส่งลิงก์ให้ทางอีเมล"
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "ส่ง"
#: js/share.js:177
msgid "Set expiration date"
@@ -286,11 +286,11 @@ msgstr "เกิดข้อผิดพลาดในการตั้งค
#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "กำลังส่ง..."
#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "ส่งอีเมล์แล้ว"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -443,83 +443,83 @@ msgstr "Database host"
msgid "Finish setup"
msgstr "ติดตั้งเรียบร้อยแล้ว"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Sunday"
msgstr "วันอาทิตย์"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Monday"
msgstr "วันจันทร์"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Tuesday"
msgstr "วันอังคาร"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Wednesday"
msgstr "วันพุธ"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Thursday"
msgstr "วันพฤหัสบดี"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Friday"
msgstr "วันศุกร์"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Saturday"
msgstr "วันเสาร์"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "January"
msgstr "มกราคม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "February"
msgstr "กุมภาพันธ์"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "March"
msgstr "มีนาคม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "April"
msgstr "เมษายน"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "May"
msgstr "พฤษภาคม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "June"
msgstr "มิถุนายน"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "July"
msgstr "กรกฏาคม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "August"
msgstr "สิงหาคม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "September"
msgstr "กันยายน"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "October"
msgstr "ตุลาคม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "November"
msgstr "พฤศจิกายน"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "December"
msgstr "ธันวาคม"
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:41
msgid "web services under your control"
msgstr "web services under your control"
@@ -564,4 +564,4 @@ msgstr "ถัดไป"
#: templates/update.php:3
#, php-format
msgid "Updating ownCloud to version %s, this may take a while."
-msgstr ""
+msgstr "กำลังอัพเดท ownCloud ไปเป็นรุ่น %s, กรุณารอสักครู่"
diff --git a/l10n/th_TH/files.po b/l10n/th_TH/files.po
index 44f9070ded8..691310546f2 100644
--- a/l10n/th_TH/files.po
+++ b/l10n/th_TH/files.po
@@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
# AriesAnywhere Anywhere <ariesanywherer@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 01:13+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,16 +27,16 @@ msgstr "อัพโหลด"
#: ajax/move.php:17
#, php-format
msgid "Could not move %s - File with this name already exists"
-msgstr ""
+msgstr "ไม่สามารถย้าย %s ได้ - ไฟล์ที่ใช้ชื่อนี้มีอยู่แล้ว"
#: ajax/move.php:24
#, php-format
msgid "Could not move %s"
-msgstr ""
+msgstr "ไม่สามารถย้าย %s ได้"
#: ajax/rename.php:19
msgid "Unable to rename file"
-msgstr ""
+msgstr "ไม่สามารถเปลี่ยนชื่อไฟล์ได้"
#: ajax/upload.php:20
msgid "No file was uploaded. Unknown error"
@@ -75,11 +75,11 @@ msgstr "เขียนข้อมูลลงแผ่นดิสก์ล้
#: ajax/upload.php:57
msgid "Not enough space available"
-msgstr ""
+msgstr "มีพื้นที่เหลือไม่เพียงพอ"
#: ajax/upload.php:91
msgid "Invalid directory."
-msgstr ""
+msgstr "ไดเร็กทอรี่ไม่ถูกต้อง"
#: appinfo/app.php:10
msgid "Files"
@@ -135,11 +135,11 @@ msgstr "ลบไฟล์แล้ว {files} ไฟล์"
#: js/files.js:48
msgid "'.' is an invalid file name."
-msgstr ""
+msgstr "'.' เป็นชื่อไฟล์ที่ไม่ถูกต้อง"
#: js/files.js:53
msgid "File name cannot be empty."
-msgstr ""
+msgstr "ชื่อไฟล์ไม่สามารถเว้นว่างได้"
#: js/files.js:62
msgid ""
@@ -151,7 +151,7 @@ msgstr "ชื่อที่ใช้ไม่ถูกต้อง, '\\', '/',
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "กำลังเตรียมดาวน์โหลดข้อมูล หากไฟล์มีขนาดใหญ่ อาจใช้เวลาสักครู่"
#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
@@ -192,7 +192,7 @@ msgstr "URL ไม่สามารถเว้นว่างได้"
#: js/files.js:565
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
-msgstr ""
+msgstr "ชื่อโฟลเดอร์ไม่ถูกต้อง การใช้งาน 'แชร์' สงวนไว้สำหรับ Owncloud เท่านั้น"
#: js/files.js:775
msgid "{count} files scanned"
diff --git a/l10n/th_TH/files_encryption.po b/l10n/th_TH/files_encryption.po
index f396eed4dab..e76ad6347f8 100644
--- a/l10n/th_TH/files_encryption.po
+++ b/l10n/th_TH/files_encryption.po
@@ -3,33 +3,81 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-15 02:02+0200\n"
-"PO-Revision-Date: 2012-08-14 13:12+0000\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 15:03+0000\n"
"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: th_TH\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "กรุณาสลับไปที่โปรแกรมไคลเอนต์ ownCloud ของคุณ แล้วเปลี่ยนรหัสผ่านสำหรับการเข้ารหัสเพื่อแปลงข้อมูลให้เสร็จสมบูรณ์"
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "สลับไปใช้การเข้ารหัสจากโปรแกรมไคลเอนต์"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "เปลี่ยนรหัสผ่านสำหรับเข้ารหัสไปเป็นรหัสผ่านสำหรับการเข้าสู่ระบบ"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "กรุณาตรวจสอบรหัสผ่านของคุณแล้วลองใหม่อีกครั้ง"
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "ไม่สามารถเปลี่ยนรหัสผ่านสำหรับการเข้ารหัสไฟล์ของคุณไปเป็นรหัสผ่านสำหรับการเข้าสู่ระบบของคุณได้"
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "เลือกรูปแบบการเข้ารหัส:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "การเข้ารหัสด้วยโปรแกรมไคลเอนต์ (ปลอดภัยที่สุด แต่จะทำให้คุณไม่สามารถเข้าถึงข้อมูลต่างๆจากหน้าจอเว็บไซต์ได้)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "การเข้ารหัสจากทางฝั่งเซิร์ฟเวอร์ (อนุญาตให้คุณเข้าถึงไฟล์ของคุณจากหน้าจอเว็บไซต์ และโปรแกรมไคลเอนต์จากเครื่องเดสก์ท็อปได้)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "ไม่ต้อง (ไม่มีการเข้ารหัสเลย)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "ข้อความสำคัญ: หลังจากที่คุณได้เลือกรูปแบบการเข้ารหัสแล้ว จะไม่สามารถเปลี่ยนกลับมาใหม่ได้อีก"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "ให้ผู้ใช้งานเลือกเอง (ปล่อยให้ผู้ใช้งานตัดสินใจเอง)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "การเข้ารหัส"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "ไม่ต้องรวมชนิดของไฟล์ดังต่อไปนี้จากการเข้ารหัส"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "ไม่ต้อง"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "เปิดใช้งานการเข้ารหัส"
diff --git a/l10n/th_TH/files_external.po b/l10n/th_TH/files_external.po
index efca59c6be0..6d58bbeaf81 100644
--- a/l10n/th_TH/files_external.po
+++ b/l10n/th_TH/files_external.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-11 23:22+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 00:50+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -46,14 +46,14 @@ msgstr "เกิดข้อผิดพลาดในการกำหนด
msgid ""
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
"is not possible. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>คำเตือน:</b> \"smbclient\" ยังไม่ได้ถูกติดตั้ง. การชี้ CIFS/SMB เพื่อแชร์ข้อมูลไม่สามารถกระทำได้ กรุณาสอบถามข้อมูลเพิ่มเติมจากผู้ดูแลระบบเพื่อติดตั้ง."
#: lib/config.php:435
msgid ""
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
" of FTP shares is not possible. Please ask your system administrator to "
"install it."
-msgstr ""
+msgstr "<b>คำเตือน:</b> การสนับสนุนการใช้งาน FTP ในภาษา PHP ยังไม่ได้ถูกเปิดใช้งานหรือถูกติดตั้ง. การชี้ FTP เพื่อแชร์ข้อมูลไม่สามารถดำเนินการได้ กรุณาสอบถามข้อมูลเพิ่มเติมจากผู้ดูแลระบบเพื่อติดตั้ง"
#: templates/settings.php:3
msgid "External Storage"
@@ -100,7 +100,7 @@ msgid "Users"
msgstr "ผู้ใช้งาน"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
msgstr "ลบ"
@@ -112,10 +112,10 @@ msgstr "เปิดให้มีการใช้พื้นที่จั
msgid "Allow users to mount their own external storage"
msgstr "อนุญาตให้ผู้ใช้งานสามารถชี้ตำแหน่งไปที่พื้นที่จัดเก็บข้อมูลภายนอกของตนเองได้"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
msgstr "ใบรับรองความปลอดภัยด้วยระบบ SSL จาก Root"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
msgstr "นำเข้าข้อมูลใบรับรองความปลอดภัยจาก Root"
diff --git a/l10n/th_TH/lib.po b/l10n/th_TH/lib.po
index 71618495c44..ab2e3132762 100644
--- a/l10n/th_TH/lib.po
+++ b/l10n/th_TH/lib.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-17 00:26+0100\n"
-"PO-Revision-Date: 2013-01-16 23:26+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 00:44+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -58,9 +58,9 @@ msgstr "กลับไปที่ไฟล์"
msgid "Selected files too large to generate zip file."
msgstr "ไฟล์ที่เลือกมีขนาดใหญ่เกินกว่าที่จะสร้างเป็นไฟล์ zip"
-#: helper.php:228
+#: helper.php:229
msgid "couldn't be determined"
-msgstr ""
+msgstr "ไม่สามารถกำหนดได้"
#: json.php:28
msgid "Application is not enabled"
diff --git a/l10n/th_TH/settings.po b/l10n/th_TH/settings.po
index a024b5901ae..9e7676e802b 100644
--- a/l10n/th_TH/settings.po
+++ b/l10n/th_TH/settings.po
@@ -3,16 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
# AriesAnywhere Anywhere <ariesanywherer@gmail.com>, 2012.
# <icewind1991@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-12 00:09+0100\n"
-"PO-Revision-Date: 2013-01-11 23:09+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 00:59+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -66,7 +66,7 @@ msgstr "คำร้องขอไม่ถูกต้อง"
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
-msgstr ""
+msgstr "ผู้ดูแลระบบไม่สามารถลบตัวเองออกจากกลุ่มผู้ดูแลได้"
#: ajax/togglegroups.php:28
#, php-format
@@ -116,27 +116,27 @@ msgstr "<span class=\"licence\"></span>-ลิขสิทธิ์การใ
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "เอกสารคู่มือการใช้งานสำหรับผู้ใช้งาน"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "เอกสารคู่มือการใช้งานสำหรับผู้ดูแลระบบ"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "เอกสารคู่มือการใช้งานออนไลน์"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "กระดานสนทนา"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Bugtracker"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "บริการลูกค้าแบบเสียค่าใช้จ่าย"
#: templates/personal.php:8
#, php-format
@@ -149,15 +149,15 @@ msgstr "ลูกค้า"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "ดาวน์โหลดโปรแกรมไคลเอนต์สำหรับเครื่องเดสก์ท็อป"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "ดาวน์โหลดโปรแกรมไคลเอนต์สำหรับแอนดรอยด์"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "ดาวน์โหลดโปรแกรมไคลเอนต์สำหรับ iOS"
#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
@@ -209,15 +209,15 @@ msgstr "ช่วยกันแปล"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "ใช้ที่อยู่นี้เพื่อเชื่อมต่อกับ ownCloud ในโปรแกรมจัดการไฟล์ของคุณ"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "รุ่น"
#: templates/personal.php:65
msgid ""
@@ -243,11 +243,11 @@ msgstr "สร้าง"
#: templates/users.php:35
msgid "Default Storage"
-msgstr ""
+msgstr "พื้นที่จำกัดข้อมูลเริ่มต้น"
#: templates/users.php:42 templates/users.php:138
msgid "Unlimited"
-msgstr ""
+msgstr "ไม่จำกัดจำนวน"
#: templates/users.php:60 templates/users.php:153
msgid "Other"
@@ -259,11 +259,11 @@ msgstr "ผู้ดูแลกลุ่ม"
#: templates/users.php:87
msgid "Storage"
-msgstr ""
+msgstr "พื้นที่จัดเก็บข้อมูล"
#: templates/users.php:133
msgid "Default"
-msgstr ""
+msgstr "ค่าเริ่มต้น"
#: templates/users.php:161
msgid "Delete"
diff --git a/l10n/th_TH/user_ldap.po b/l10n/th_TH/user_ldap.po
index c770828e2aa..bb0c9b64412 100644
--- a/l10n/th_TH/user_ldap.po
+++ b/l10n/th_TH/user_ldap.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-16 00:19+0100\n"
-"PO-Revision-Date: 2013-01-15 23:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 01:21+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,13 +23,13 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behaviour. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>คำเตือน:</b> แอปฯ user_ldap และ user_webdavauth ไม่สามารถใช้งานร่วมกันได้. คุณอาจประสพปัญหาที่ไม่คาดคิดจากเหตุการณ์ดังกล่าว กรุณาติดต่อผู้ดูแลระบบของคุณเพื่อระงับการใช้งานแอปฯ ตัวใดตัวหนึ่งข้างต้น"
#: templates/settings.php:11
msgid ""
"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
"work. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>คำเตือน:</b> โมดูล PHP LDAP ยังไม่ได้ถูกติดตั้ง, ระบบด้านหลังจะไม่สามารถทำงานได้ กรุณาติดต่อผู้ดูแลระบบของคุณเพื่อทำการติดตั้งโมดูลดังกล่าว"
#: templates/settings.php:15
msgid "Host"
@@ -46,7 +46,7 @@ msgstr "DN ฐาน"
#: templates/settings.php:16
msgid "One Base DN per line"
-msgstr ""
+msgstr "หนึ่ง Base DN ต่อบรรทัด"
#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
@@ -121,7 +121,7 @@ msgstr "รายการผู้ใช้งานหลักแบบ Tree"
#: templates/settings.php:25
msgid "One User Base DN per line"
-msgstr ""
+msgstr "หนึ่ง User Base DN ต่อบรรทัด"
#: templates/settings.php:26
msgid "Base Group Tree"
@@ -129,7 +129,7 @@ msgstr "รายการกลุ่มหลักแบบ Tree"
#: templates/settings.php:26
msgid "One Group Base DN per line"
-msgstr ""
+msgstr "หนึ่ง Group Base DN ต่อบรรทัด"
#: templates/settings.php:27
msgid "Group-Member association"
diff --git a/l10n/th_TH/user_webdavauth.po b/l10n/th_TH/user_webdavauth.po
index 12c2efcc210..3493831b2c1 100644
--- a/l10n/th_TH/user_webdavauth.po
+++ b/l10n/th_TH/user_webdavauth.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:04+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 00:54+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,15 +20,15 @@ msgstr ""
#: templates/settings.php:3
msgid "WebDAV Authentication"
-msgstr ""
+msgstr "WebDAV Authentication"
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
"ownCloud will send the user credentials to this URL. This plugin checks the "
"response and will interpret the HTTP statuscodes 401 and 403 as invalid "
"credentials, and all other responses as valid credentials."
-msgstr ""
+msgstr "ownCloud จะส่งข้อมูลการเข้าใช้งานของผู้ใช้งานไปยังที่อยู่ URL ดังกล่าวนี้ ปลั๊กอินดังกล่าวจะทำการตรวจสอบข้อมูลที่โต้ตอบกลับมาและจะทำการแปลรหัส HTTP statuscodes 401 และ 403 ให้เป็นข้อมูลการเข้าใช้งานที่ไม่สามารถใช้งานได้ ส่วนข้อมูลอื่นๆที่เหลือทั้งหมดจะเป็นข้อมูลการเข้าใช้งานที่สามารถใช้งานได้"
diff --git a/l10n/tr/core.po b/l10n/tr/core.po
index 12efc8d5b59..b35d17c7b5d 100644
--- a/l10n/tr/core.po
+++ b/l10n/tr/core.po
@@ -6,14 +6,15 @@
# Aranel Surion <aranel@aranelsurion.org>, 2011, 2012.
# Caner Başaran <basaran.caner@gmail.com>, 2012.
# <info@beyboo.de>, 2012.
+# ismail yenigul <ismail.yenigul@surgate.com>, 2013.
# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:04+0000\n"
+"Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,26 +25,26 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "%s kullanıcısı sizinle bir dosyayı paylaştı"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "%s kullanıcısı sizinle bir dizini paylaştı"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "%s kullanıcısı \"%s\" dosyasını sizinle paylaştı. %s adresinden indirilebilir"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "%s kullanıcısı \"%s\" dizinini sizinle paylaştı. %s adresinden indirilebilir"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -67,12 +68,12 @@ msgstr "Nesne türü desteklenmemektedir."
#: ajax/vcategories/removeFromFavorites.php:30
#, php-format
msgid "%s ID not provided."
-msgstr ""
+msgstr "%s ID belirtilmedi."
#: ajax/vcategories/addToFavorites.php:35
#, php-format
msgid "Error adding %s to favorites."
-msgstr ""
+msgstr "%s favorilere eklenirken hata oluştu"
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
msgid "No categories selected for deletion."
@@ -81,61 +82,61 @@ msgstr "Silmek için bir kategori seçilmedi"
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
msgid "Error removing %s from favorites."
-msgstr ""
+msgstr "%s favorilere çıkarılırken hata oluştu"
#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
msgid "Settings"
msgstr "Ayarlar"
-#: js/js.js:711
+#: js/js.js:706
msgid "seconds ago"
msgstr "saniye önce"
-#: js/js.js:712
+#: js/js.js:707
msgid "1 minute ago"
msgstr "1 dakika önce"
-#: js/js.js:713
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr "{minutes} dakika önce"
-#: js/js.js:714
+#: js/js.js:709
msgid "1 hour ago"
msgstr "1 saat önce"
-#: js/js.js:715
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr "{hours} saat önce"
-#: js/js.js:716
+#: js/js.js:711
msgid "today"
msgstr "bugün"
-#: js/js.js:717
+#: js/js.js:712
msgid "yesterday"
msgstr "dün"
-#: js/js.js:718
+#: js/js.js:713
msgid "{days} days ago"
msgstr "{days} gün önce"
-#: js/js.js:719
+#: js/js.js:714
msgid "last month"
msgstr "geçen ay"
-#: js/js.js:720
+#: js/js.js:715
msgid "{months} months ago"
msgstr "{months} ay önce"
-#: js/js.js:721
+#: js/js.js:716
msgid "months ago"
msgstr "ay önce"
-#: js/js.js:722
+#: js/js.js:717
msgid "last year"
msgstr "geçen yıl"
-#: js/js.js:723
+#: js/js.js:718
msgid "years ago"
msgstr "yıl önce"
@@ -172,11 +173,11 @@ msgstr "Hata"
#: js/oc-vcategories.js:179
msgid "The app name is not specified."
-msgstr ""
+msgstr "uygulama adı belirtilmedi."
#: js/oc-vcategories.js:194
msgid "The required file {file} is not installed!"
-msgstr ""
+msgstr "İhtiyaç duyulan {file} dosyası kurulu değil."
#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
@@ -184,7 +185,7 @@ msgstr "Paylaşım sırasında hata "
#: js/share.js:135
msgid "Error while unsharing"
-msgstr ""
+msgstr "Paylaşım iptal ediliyorken hata"
#: js/share.js:142
msgid "Error while changing permissions"
@@ -192,11 +193,11 @@ msgstr "İzinleri değiştirirken hata oluştu"
#: js/share.js:151
msgid "Shared with you and the group {group} by {owner}"
-msgstr ""
+msgstr " {owner} tarafından sizinle ve {group} ile paylaştırılmış"
#: js/share.js:153
msgid "Shared with you by {owner}"
-msgstr ""
+msgstr "{owner} trafından sizinle paylaştırıldı"
#: js/share.js:158
msgid "Share with"
@@ -216,7 +217,7 @@ msgstr "Parola"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "Kişiye e-posta linki"
#: js/share.js:173
msgid "Send"
@@ -244,7 +245,7 @@ msgstr "Tekrar paylaşmaya izin verilmiyor"
#: js/share.js:275
msgid "Shared in {item} with {user}"
-msgstr ""
+msgstr " {item} içinde {user} ile paylaşılanlarlar"
#: js/share.js:296
msgid "Unshare"
@@ -280,11 +281,11 @@ msgstr "Paralo korumalı"
#: js/share.js:554
msgid "Error unsetting expiration date"
-msgstr ""
+msgstr "Geçerlilik tarihi tanımlama kaldırma hatası"
#: js/share.js:566
msgid "Error setting expiration date"
-msgstr ""
+msgstr "Geçerlilik tarihi tanımlama hatası"
#: js/share.js:581
msgid "Sending ..."
@@ -383,13 +384,13 @@ msgstr "Güvenlik Uyarisi"
msgid ""
"No secure random number generator is available, please enable the PHP "
"OpenSSL extension."
-msgstr ""
+msgstr "Güvenli rasgele sayı üreticisi bulunamadı. Lütfen PHP OpenSSL eklentisini etkinleştirin."
#: templates/installation.php:26
msgid ""
"Without a secure random number generator an attacker may be able to predict "
"password reset tokens and take over your account."
-msgstr ""
+msgstr "Güvenli rasgele sayı üreticisi olmadan saldırganlar parola sıfırlama simgelerini tahmin edip hesabınızı ele geçirebilir."
#: templates/installation.php:32
msgid ""
@@ -398,7 +399,7 @@ msgid ""
"strongly suggest that you configure your webserver in a way that the data "
"directory is no longer accessible or you move the data directory outside the"
" webserver document root."
-msgstr ""
+msgstr "data dizininiz ve dosyalarınız büyük ihtimalle internet üzerinden erişilebilir. Owncloud tarafından sağlanan .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak data dizinine erişimi kapatmanızı veya data dizinini web sunucu döküman dizini dışına almanızı şiddetle tavsiye ederiz."
#: templates/installation.php:36
msgid "Create an <strong>admin account</strong>"
@@ -445,83 +446,83 @@ msgstr "Veritabanı sunucusu"
msgid "Finish setup"
msgstr "Kurulumu tamamla"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Sunday"
msgstr "Pazar"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Monday"
msgstr "Pazartesi"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Tuesday"
msgstr "Salı"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Wednesday"
msgstr "Çarşamba"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Thursday"
msgstr "Perşembe"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Friday"
msgstr "Cuma"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Saturday"
msgstr "Cumartesi"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "January"
msgstr "Ocak"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "February"
msgstr "Şubat"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "March"
msgstr "Mart"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "April"
msgstr "Nisan"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "May"
msgstr "Mayıs"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "June"
msgstr "Haziran"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "July"
msgstr "Temmuz"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "August"
msgstr "Ağustos"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "September"
msgstr "Eylül"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "October"
msgstr "Ekim"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "November"
msgstr "Kasım"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "December"
msgstr "Aralık"
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:41
msgid "web services under your control"
msgstr "kontrolünüzdeki web servisleri"
@@ -537,11 +538,11 @@ msgstr "Otomatik oturum açma reddedildi!"
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
-msgstr ""
+msgstr "Yakın zamanda parolanızı değiştirmedi iseniz hesabınız riske girebilir."
#: templates/login.php:13
msgid "Please change your password to secure your account again."
-msgstr ""
+msgstr "Hesabınızı korumak için lütfen parolanızı değiştirin."
#: templates/login.php:19
msgid "Lost your password?"
@@ -566,4 +567,4 @@ msgstr "sonraki"
#: templates/update.php:3
#, php-format
msgid "Updating ownCloud to version %s, this may take a while."
-msgstr ""
+msgstr "Owncloud %s versiyonuna güncelleniyor. Biraz zaman alabilir."
diff --git a/l10n/tr/files.po b/l10n/tr/files.po
index b42bad885bc..6a8b2bf601b 100644
--- a/l10n/tr/files.po
+++ b/l10n/tr/files.po
@@ -7,14 +7,15 @@
# Caner Başaran <basaran.caner@gmail.com>, 2012.
# Emre <emresaracoglu@live.com>, 2012.
# <info@beyboo.de>, 2012.
+# ismail yenigul <ismail.yenigul@surgate.com>, 2013.
# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 21:35+0000\n"
+"Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -30,16 +31,16 @@ msgstr "Yükle"
#: ajax/move.php:17
#, php-format
msgid "Could not move %s - File with this name already exists"
-msgstr ""
+msgstr "%s taşınamadı. Bu isimde dosya zaten var."
#: ajax/move.php:24
#, php-format
msgid "Could not move %s"
-msgstr ""
+msgstr "%s taşınamadı"
#: ajax/rename.php:19
msgid "Unable to rename file"
-msgstr ""
+msgstr "Dosya adı değiştirilemedi"
#: ajax/upload.php:20
msgid "No file was uploaded. Unknown error"
@@ -78,11 +79,11 @@ msgstr "Diske yazılamadı"
#: ajax/upload.php:57
msgid "Not enough space available"
-msgstr ""
+msgstr "Yeterli disk alanı yok"
#: ajax/upload.php:91
msgid "Invalid directory."
-msgstr ""
+msgstr "Geçersiz dizin."
#: appinfo/app.php:10
msgid "Files"
@@ -138,11 +139,11 @@ msgstr "silinen {files}"
#: js/files.js:48
msgid "'.' is an invalid file name."
-msgstr ""
+msgstr "'.' geçersiz dosya adı."
#: js/files.js:53
msgid "File name cannot be empty."
-msgstr ""
+msgstr "Dosya adı boş olamaz."
#: js/files.js:62
msgid ""
@@ -154,7 +155,7 @@ msgstr "Geçersiz isim, '\\', '/', '<', '>', ':', '\"', '|', '?' ve '*' karakter
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "İndirmeniz hazırlanıyor. Dosya büyük ise biraz zaman alabilir."
#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
@@ -195,7 +196,7 @@ msgstr "URL boş olamaz."
#: js/files.js:565
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
-msgstr ""
+msgstr "Geçersiz dizin adı. Shared isminin kullanımı Owncloud tarafından rezerver edilmiştir."
#: js/files.js:775
msgid "{count} files scanned"
diff --git a/l10n/tr/files_encryption.po b/l10n/tr/files_encryption.po
index c48e3908ae6..e95281ce029 100644
--- a/l10n/tr/files_encryption.po
+++ b/l10n/tr/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-28 00:20+0100\n"
-"PO-Revision-Date: 2012-12-27 10:35+0000\n"
-"Last-Translator: Necdet Yücel <necdetyucel@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: tr\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Şifreleme"
-#: templates/settings.php:6
-msgid "Enable Encryption"
-msgstr "Şifrelemeyi Etkinleştir"
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "Aşağıdaki dosya tiplerini şifrelemeye dahil etme"
-#: templates/settings.php:7
+#: templates/settings.php:71
msgid "None"
msgstr "Hiçbiri"
-
-#: templates/settings.php:12
-msgid "Exclude the following file types from encryption"
-msgstr "Aşağıdaki dosya tiplerini şifrelemeye dahil etme"
diff --git a/l10n/tr/lib.po b/l10n/tr/lib.po
index 1b796458afd..fadb1957cfb 100644
--- a/l10n/tr/lib.po
+++ b/l10n/tr/lib.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# ismail yenigul <ismail.yenigul@surgate.com>, 2013.
# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-17 00:26+0100\n"
-"PO-Revision-Date: 2013-01-16 23:26+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 09:28+0000\n"
+"Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -58,9 +59,9 @@ msgstr "Dosyalara dön"
msgid "Selected files too large to generate zip file."
msgstr "Seçilen dosyalar bir zip dosyası oluşturmak için fazla büyüktür."
-#: helper.php:228
+#: helper.php:229
msgid "couldn't be determined"
-msgstr ""
+msgstr "tespit edilemedi"
#: json.php:28
msgid "Application is not enabled"
diff --git a/l10n/uk/files_encryption.po b/l10n/uk/files_encryption.po
index 9b00d3b7a30..884db2f7afa 100644
--- a/l10n/uk/files_encryption.po
+++ b/l10n/uk/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-23 02:02+0200\n"
-"PO-Revision-Date: 2012-10-22 12:05+0000\n"
-"Last-Translator: skoptev <skoptev@ukr.net>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: uk\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Шифрування"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Не шифрувати файли наступних типів"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Жоден"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Включити шифрування"
diff --git a/l10n/vi/files_encryption.po b/l10n/vi/files_encryption.po
index 0ac3a53087c..a6019e03022 100644
--- a/l10n/vi/files_encryption.po
+++ b/l10n/vi/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-21 00:01+0100\n"
-"PO-Revision-Date: 2012-11-20 05:48+0000\n"
-"Last-Translator: Sơn Nguyễn <sonnghit@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Mã hóa"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Loại trừ các loại tập tin sau đây từ mã hóa"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Không có gì hết"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "BẬT mã hóa"
diff --git a/l10n/zh_CN.GB2312/files_encryption.po b/l10n/zh_CN.GB2312/files_encryption.po
index eb4ddd9c548..f85989afca2 100644
--- a/l10n/zh_CN.GB2312/files_encryption.po
+++ b/l10n/zh_CN.GB2312/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-18 02:01+0200\n"
-"PO-Revision-Date: 2012-09-17 10:51+0000\n"
-"Last-Translator: marguerite su <i@marguerite.su>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: zh_CN.GB2312\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "加密"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "从加密中排除如下文件类型"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "无"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "启用加密"
diff --git a/l10n/zh_CN/files.po b/l10n/zh_CN/files.po
index 95316b1a41b..c5a96d20133 100644
--- a/l10n/zh_CN/files.po
+++ b/l10n/zh_CN/files.po
@@ -8,14 +8,15 @@
# marguerite su <i@marguerite.su>, 2013.
# <rainofchaos@gmail.com>, 2012.
# <suiy02@gmail.com>, 2012.
+# <wengxt@gmail.com>, 2013.
# <wengxt@gmail.com>, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 23:17+0000\n"
+"Last-Translator: Xuetian Weng <wengxt@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -155,7 +156,7 @@ msgstr "无效名称,'\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 不被
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "下载正在准备中。如果文件较大可能会花费一些时间。"
#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
diff --git a/l10n/zh_CN/files_encryption.po b/l10n/zh_CN/files_encryption.po
index 502f4e08a6f..5395d6734d1 100644
--- a/l10n/zh_CN/files_encryption.po
+++ b/l10n/zh_CN/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-08 02:01+0200\n"
-"PO-Revision-Date: 2012-09-07 09:38+0000\n"
-"Last-Translator: hanfeng <appweb.cn@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "加密"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "从加密中排除列出的文件类型"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "None"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "开启加密"
diff --git a/l10n/zh_CN/user_webdavauth.po b/l10n/zh_CN/user_webdavauth.po
index 507b60d8a07..a642c9b21d8 100644
--- a/l10n/zh_CN/user_webdavauth.po
+++ b/l10n/zh_CN/user_webdavauth.po
@@ -6,13 +6,14 @@
# <appweb.cn@gmail.com>, 2012.
# Dianjin Wang <1132321739qq@gmail.com>, 2012.
# marguerite su <i@marguerite.su>, 2013.
+# <wengxt@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:04+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 23:23+0000\n"
+"Last-Translator: Xuetian Weng <wengxt@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,7 +23,7 @@ msgstr ""
#: templates/settings.php:3
msgid "WebDAV Authentication"
-msgstr ""
+msgstr "WebDAV 认证"
#: templates/settings.php:4
msgid "URL: http://"
@@ -33,4 +34,4 @@ msgid ""
"ownCloud will send the user credentials to this URL. This plugin checks the "
"response and will interpret the HTTP statuscodes 401 and 403 as invalid "
"credentials, and all other responses as valid credentials."
-msgstr ""
+msgstr "ownCloud 将会发送用户的身份到此 URL。这个插件检查返回值并且将 HTTP 状态编码 401 和 403 解释为非法身份,其他所有返回值为合法身份。"
diff --git a/l10n/zh_HK/files_encryption.po b/l10n/zh_HK/files_encryption.po
index 52a31f20bac..adf957c6ee4 100644
--- a/l10n/zh_HK/files_encryption.po
+++ b/l10n/zh_HK/files_encryption.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-19 00:01+0100\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,18 +17,66 @@ msgstr ""
"Language: zh_HK\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/zh_TW/files.po b/l10n/zh_TW/files.po
index baa21b71fbf..e4122552c2f 100644
--- a/l10n/zh_TW/files.po
+++ b/l10n/zh_TW/files.po
@@ -7,14 +7,15 @@
# <dw4dev@gmail.com>, 2012.
# Eddy Chang <taiwanmambo@gmail.com>, 2012.
# <nfsmwlin@gmail.com>, 2013.
+# Pellaeon Lin <nfsmwlin@gmail.com>, 2013.
# ywang <ywang1007@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 10:05+0000\n"
+"Last-Translator: pellaeon <nfsmwlin@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -154,7 +155,7 @@ msgstr "檔名不合法,不允許 '\\', '/', '<', '>', ':', '\"', '|', '?' 和
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "正在準備您的下載,若您的檔案較大,將會需要更多時間。"
#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
diff --git a/l10n/zh_TW/files_encryption.po b/l10n/zh_TW/files_encryption.po
index 1da95b438b9..08bcf01b0d2 100644
--- a/l10n/zh_TW/files_encryption.po
+++ b/l10n/zh_TW/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-02 02:01+0200\n"
-"PO-Revision-Date: 2012-09-01 14:48+0000\n"
-"Last-Translator: ywang <ywang1007@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_TW\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "加密"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "下列的檔案類型不加密"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "無"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "啟用加密"
diff --git a/l10n/zh_TW/lib.po b/l10n/zh_TW/lib.po
index 3e708c8a280..8a76773c076 100644
--- a/l10n/zh_TW/lib.po
+++ b/l10n/zh_TW/lib.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Pellaeon Lin <nfsmwlin@gmail.com>, 2013.
# <sofia168@livemail.tw>, 2012.
# <ywang1007+transifex@gmail.com>, 2012.
# ywang <ywang1007@gmail.com>, 2012.
@@ -10,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-17 00:26+0100\n"
-"PO-Revision-Date: 2013-01-16 23:26+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 10:07+0000\n"
+"Last-Translator: pellaeon <nfsmwlin@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -60,9 +61,9 @@ msgstr "回到檔案列表"
msgid "Selected files too large to generate zip file."
msgstr "選擇的檔案太大以致於無法產生壓縮檔"
-#: helper.php:228
+#: helper.php:229
msgid "couldn't be determined"
-msgstr ""
+msgstr "無法判斷"
#: json.php:28
msgid "Application is not enabled"
@@ -74,7 +75,7 @@ msgstr "認證錯誤"
#: json.php:51
msgid "Token expired. Please reload page."
-msgstr "Token 過期. 請重新整理頁面"
+msgstr "Token 過期,請重新整理頁面。"
#: search/provider/file.php:17 search/provider/file.php:35
msgid "Files"
@@ -103,12 +104,12 @@ msgstr "%d 分鐘前"
#: template.php:116
msgid "1 hour ago"
-msgstr "1小時之前"
+msgstr "1 小時之前"
#: template.php:117
#, php-format
msgid "%d hours ago"
-msgstr "%d小時之前"
+msgstr "%d 小時之前"
#: template.php:118
msgid "today"
@@ -130,7 +131,7 @@ msgstr "上個月"
#: template.php:122
#, php-format
msgid "%d months ago"
-msgstr "%d個月之前"
+msgstr "%d 個月之前"
#: template.php:123
msgid "last year"
@@ -143,7 +144,7 @@ msgstr "幾年前"
#: updater.php:75
#, php-format
msgid "%s is available. Get <a href=\"%s\">more information</a>"
-msgstr "%s 已經可用. 取得 <a href=\"%s\">更多資訊</a>"
+msgstr "%s 已經可用。取得 <a href=\"%s\">更多資訊</a>"
#: updater.php:77
msgid "up to date"
@@ -156,4 +157,4 @@ msgstr "檢查更新已停用"
#: vcategories.php:188 vcategories.php:249
#, php-format
msgid "Could not find category \"%s\""
-msgstr "找不到分類-\"%s\""
+msgstr "找不到分類:\"%s\""
diff --git a/lib/db.php b/lib/db.php
index 7cc65673d10..51f7c7679d4 100644
--- a/lib/db.php
+++ b/lib/db.php
@@ -184,7 +184,14 @@ class OC_DB {
try{
self::$PDO=new PDO($dsn, $user, $pass, $opts);
}catch(PDOException $e) {
- OC_Template::printErrorPage( 'can not connect to database, using '.$type.'. ('.$e->getMessage().')' );
+ OC_Log::write('core', $e->getMessage(), OC_Log::FATAL);
+ OC_User::setUserId(null);
+
+ // send http status 503
+ header('HTTP/1.1 503 Service Temporarily Unavailable');
+ header('Status: 503 Service Temporarily Unavailable');
+ OC_Template::printErrorPage('Failed to connect to database');
+ die();
}
// We always, really always want associative arrays
self::$PDO->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
@@ -281,7 +288,13 @@ class OC_DB {
if( PEAR::isError( self::$MDB2 )) {
OC_Log::write('core', self::$MDB2->getUserInfo(), OC_Log::FATAL);
OC_Log::write('core', self::$MDB2->getMessage(), OC_Log::FATAL);
- OC_Template::printErrorPage( 'can not connect to database, using '.$type.'. ('.self::$MDB2->getUserInfo().')' );
+ OC_User::setUserId(null);
+
+ // send http status 503
+ header('HTTP/1.1 503 Service Temporarily Unavailable');
+ header('Status: 503 Service Temporarily Unavailable');
+ OC_Template::printErrorPage('Failed to connect to database');
+ die();
}
// We always, really always want associative arrays
diff --git a/lib/filecache.php b/lib/filecache.php
index 2f4a6daf216..7764890ef1a 100644
--- a/lib/filecache.php
+++ b/lib/filecache.php
@@ -23,9 +23,14 @@
* provide caching for filesystem info in the database
*
* not used by OC_Filesystem for reading filesystem info,
- * instread apps should use OC_FileCache::get where possible
+ * instead apps should use OC_FileCache::get where possible
+ *
+ * It will try to keep the data up to date but changes from outside
+ * ownCloud can invalidate the cache
+ *
+ * Methods that take $path and $root params expect $path to be relative, like
+ * /admin/files/file.txt, if $root is false
*
- * It will try to keep the data up to date but changes from outside ownCloud can invalidate the cache
*/
class OC_FileCache{
diff --git a/lib/filestorage/local.php b/lib/filestorage/local.php
index 910b3fa039d..4a4019a3224 100644
--- a/lib/filestorage/local.php
+++ b/lib/filestorage/local.php
@@ -92,7 +92,7 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{
public function file_get_contents($path) {
return file_get_contents($this->datadir.$path);
}
- public function file_put_contents($path, $data) {
+ public function file_put_contents($path, $data) {//trigger_error("$path = ".var_export($path, 1));
return file_put_contents($this->datadir.$path, $data);
}
public function unlink($path) {
diff --git a/lib/filesystemview.php b/lib/filesystemview.php
index ea9cbecee0e..1fc8e83d68f 100644
--- a/lib/filesystemview.php
+++ b/lib/filesystemview.php
@@ -36,8 +36,12 @@
*
* Filesystem functions are not called directly; they are passed to the correct
* OC_Filestorage object
+ *
+ * @note default root (if $root is empty or '/') is /data/[user]/
+ * @note If you don't include a leading slash, you may encounter problems.
+ * e.g. use $v = new \OC_FilesystemView( '/' . $params['uid'] ); not
+ * $v = new \OC_FilesystemView( $params['uid'] );
*/
-
class OC_FilesystemView {
private $fakeRoot='';
private $internal_path_cache=array();
diff --git a/lib/l10n/gl.php b/lib/l10n/gl.php
index 1e897959e41..532b3443b44 100644
--- a/lib/l10n/gl.php
+++ b/lib/l10n/gl.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Os ficheiros necesitan seren descargados de un en un.",
"Back to Files" => "Volver aos ficheiros",
"Selected files too large to generate zip file." => "Os ficheiros seleccionados son demasiado grandes como para xerar un ficheiro zip.",
+"couldn't be determined" => "non puido ser determinado",
"Application is not enabled" => "O aplicativo non está activado",
"Authentication error" => "Produciuse un erro na autenticación",
"Token expired. Please reload page." => "Testemuña caducada. Recargue a páxina.",
diff --git a/lib/l10n/sr.php b/lib/l10n/sr.php
index 2ae7400ba79..34ae89a6219 100644
--- a/lib/l10n/sr.php
+++ b/lib/l10n/sr.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Датотеке морате преузимати једну по једну.",
"Back to Files" => "Назад на датотеке",
"Selected files too large to generate zip file." => "Изабране датотеке су превелике да бисте направили ZIP датотеку.",
+"couldn't be determined" => "није одређено",
"Application is not enabled" => "Апликација није омогућена",
"Authentication error" => "Грешка при провери идентитета",
"Token expired. Please reload page." => "Жетон је истекао. Поново учитајте страницу.",
diff --git a/lib/l10n/sv.php b/lib/l10n/sv.php
index 5799e2dd1a8..36f00636b2b 100644
--- a/lib/l10n/sv.php
+++ b/lib/l10n/sv.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Filer laddas ner en åt gången.",
"Back to Files" => "Tillbaka till Filer",
"Selected files too large to generate zip file." => "Valda filer är för stora för att skapa zip-fil.",
+"couldn't be determined" => "kunde inte bestämmas",
"Application is not enabled" => "Applikationen är inte aktiverad",
"Authentication error" => "Fel vid autentisering",
"Token expired. Please reload page." => "Ogiltig token. Ladda om sidan.",
diff --git a/lib/l10n/th_TH.php b/lib/l10n/th_TH.php
index 75fa02f84b0..0da607a0589 100644
--- a/lib/l10n/th_TH.php
+++ b/lib/l10n/th_TH.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "ไฟล์สามารถดาวน์โหลดได้ทีละครั้งเท่านั้น",
"Back to Files" => "กลับไปที่ไฟล์",
"Selected files too large to generate zip file." => "ไฟล์ที่เลือกมีขนาดใหญ่เกินกว่าที่จะสร้างเป็นไฟล์ zip",
+"couldn't be determined" => "ไม่สามารถกำหนดได้",
"Application is not enabled" => "แอพพลิเคชั่นดังกล่าวยังไม่ได้เปิดใช้งาน",
"Authentication error" => "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน",
"Token expired. Please reload page." => "รหัสยืนยันความถูกต้องหมดอายุแล้ว กรุณาโหลดหน้าเว็บใหม่อีกครั้ง",
diff --git a/lib/l10n/tr.php b/lib/l10n/tr.php
index 9b7f1815fa3..e55caa15972 100644
--- a/lib/l10n/tr.php
+++ b/lib/l10n/tr.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Dosyaların birer birer indirilmesi gerekmektedir.",
"Back to Files" => "Dosyalara dön",
"Selected files too large to generate zip file." => "Seçilen dosyalar bir zip dosyası oluşturmak için fazla büyüktür.",
+"couldn't be determined" => "tespit edilemedi",
"Application is not enabled" => "Uygulama etkinleştirilmedi",
"Authentication error" => "Kimlik doğrulama hatası",
"Token expired. Please reload page." => "Jetonun süresi geçti. Lütfen sayfayı yenileyin.",
diff --git a/lib/l10n/zh_TW.php b/lib/l10n/zh_TW.php
index 4dbf89c2e0e..62ab8fedd52 100644
--- a/lib/l10n/zh_TW.php
+++ b/lib/l10n/zh_TW.php
@@ -9,26 +9,27 @@
"Files need to be downloaded one by one." => "檔案需要逐一下載",
"Back to Files" => "回到檔案列表",
"Selected files too large to generate zip file." => "選擇的檔案太大以致於無法產生壓縮檔",
+"couldn't be determined" => "無法判斷",
"Application is not enabled" => "應用程式未啟用",
"Authentication error" => "認證錯誤",
-"Token expired. Please reload page." => "Token 過期. 請重新整理頁面",
+"Token expired. Please reload page." => "Token 過期,請重新整理頁面。",
"Files" => "檔案",
"Text" => "文字",
"Images" => "圖片",
"seconds ago" => "幾秒前",
"1 minute ago" => "1 分鐘前",
"%d minutes ago" => "%d 分鐘前",
-"1 hour ago" => "1小時之前",
-"%d hours ago" => "%d小時之前",
+"1 hour ago" => "1 小時之前",
+"%d hours ago" => "%d 小時之前",
"today" => "今天",
"yesterday" => "昨天",
"%d days ago" => "%d 天前",
"last month" => "上個月",
-"%d months ago" => "%d個月之前",
+"%d months ago" => "%d 個月之前",
"last year" => "去年",
"years ago" => "幾年前",
-"%s is available. Get <a href=\"%s\">more information</a>" => "%s 已經可用. 取得 <a href=\"%s\">更多資訊</a>",
+"%s is available. Get <a href=\"%s\">more information</a>" => "%s 已經可用。取得 <a href=\"%s\">更多資訊</a>",
"up to date" => "最新的",
"updates check is disabled" => "檢查更新已停用",
-"Could not find category \"%s\"" => "找不到分類-\"%s\""
+"Could not find category \"%s\"" => "找不到分類:\"%s\""
);
diff --git a/lib/mimetypes.list.php b/lib/mimetypes.list.php
index 77b97917583..fc87d011ecd 100644
--- a/lib/mimetypes.list.php
+++ b/lib/mimetypes.list.php
@@ -95,4 +95,6 @@ return array(
'cdr' => 'application/coreldraw',
'impress' => 'text/impress',
'ai' => 'application/illustrator',
+ 'epub' => 'application/epub+zip',
+ 'mobi' => 'application/x-mobipocket-ebook',
);
diff --git a/lib/setup.php b/lib/setup.php
index 28882b6bede..4dd190b99fb 100644
--- a/lib/setup.php
+++ b/lib/setup.php
@@ -165,7 +165,9 @@ class OC_Setup {
if(count($error) == 0) {
OC_Appconfig::setValue('core', 'installedat', microtime(true));
OC_Appconfig::setValue('core', 'lastupdatedat', microtime(true));
-
+ OC_AppConfig::setValue('core', 'remote_core.css', '/core/minimizer.php');
+ OC_AppConfig::setValue('core', 'remote_core.js', '/core/minimizer.php');
+
OC_Group::createGroup('admin');
OC_Group::addToGroup($username, 'admin');
OC_User::login($username, $password);
diff --git a/lib/templatelayout.php b/lib/templatelayout.php
index 4173e008ba7..83d36199986 100644
--- a/lib/templatelayout.php
+++ b/lib/templatelayout.php
@@ -28,23 +28,16 @@ class OC_TemplateLayout extends OC_Template {
break;
}
}
+ $apps_paths = array();
+ foreach(OC_App::getEnabledApps() as $app) {
+ $apps_paths[$app] = OC_App::getAppWebPath($app);
+ }
+ $this->assign( 'apps_paths', str_replace('\\/', '/', json_encode($apps_paths)), false ); // Ugly unescape slashes waiting for better solution
} else if ($renderas == 'guest') {
parent::__construct('core', 'layout.guest');
} else {
parent::__construct('core', 'layout.base');
}
-
- $apps_paths = array();
- foreach(OC_App::getEnabledApps() as $app) {
- $apps_paths[$app] = OC_App::getAppWebPath($app);
- }
- $this->assign( 'apps_paths', str_replace('\\/', '/', json_encode($apps_paths)), false ); // Ugly unescape slashes waiting for better solution
-
- if (OC_Config::getValue('installed', false) && !OC_AppConfig::getValue('core', 'remote_core.css', false)) {
- OC_AppConfig::setValue('core', 'remote_core.css', '/core/minimizer.php');
- OC_AppConfig::setValue('core', 'remote_core.js', '/core/minimizer.php');
- }
-
// Add the js files
$jsfiles = self::findJavascriptFiles(OC_Util::$scripts);
$this->assign('jsfiles', array(), false);
diff --git a/settings/l10n/th_TH.php b/settings/l10n/th_TH.php
index f4e6398ae21..c0c606662e5 100644
--- a/settings/l10n/th_TH.php
+++ b/settings/l10n/th_TH.php
@@ -10,6 +10,7 @@
"Unable to delete user" => "ไม่สามารถลบผู้ใช้งานได้",
"Language changed" => "เปลี่ยนภาษาเรียบร้อยแล้ว",
"Invalid request" => "คำร้องขอไม่ถูกต้อง",
+"Admins can't remove themself from the admin group" => "ผู้ดูแลระบบไม่สามารถลบตัวเองออกจากกลุ่มผู้ดูแลได้",
"Unable to add user to group %s" => "ไม่สามารถเพิ่มผู้ใช้งานเข้าไปที่กลุ่ม %s ได้",
"Unable to remove user from group %s" => "ไม่สามารถลบผู้ใช้งานออกจากกลุ่ม %s ได้",
"Disable" => "ปิดใช้งาน",
@@ -21,8 +22,17 @@
"Select an App" => "เลือก App",
"See application page at apps.owncloud.com" => "ดูหน้าแอพพลิเคชั่นที่ apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-ลิขสิทธิ์การใช้งานโดย <span class=\"author\"></span>",
+"User Documentation" => "เอกสารคู่มือการใช้งานสำหรับผู้ใช้งาน",
+"Administrator Documentation" => "เอกสารคู่มือการใช้งานสำหรับผู้ดูแลระบบ",
+"Online Documentation" => "เอกสารคู่มือการใช้งานออนไลน์",
+"Forum" => "กระดานสนทนา",
+"Bugtracker" => "Bugtracker",
+"Commercial Support" => "บริการลูกค้าแบบเสียค่าใช้จ่าย",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "คุณได้ใช้งานไปแล้ว <strong>%s</strong> จากจำนวนที่สามารถใช้ได้ <strong>%s</strong>",
"Clients" => "ลูกค้า",
+"Download Desktop Clients" => "ดาวน์โหลดโปรแกรมไคลเอนต์สำหรับเครื่องเดสก์ท็อป",
+"Download Android Client" => "ดาวน์โหลดโปรแกรมไคลเอนต์สำหรับแอนดรอยด์",
+"Download iOS Client" => "ดาวน์โหลดโปรแกรมไคลเอนต์สำหรับ iOS",
"Password" => "รหัสผ่าน",
"Your password was changed" => "รหัสผ่านของคุณถูกเปลี่ยนแล้ว",
"Unable to change your password" => "ไม่สามารถเปลี่ยนรหัสผ่านของคุณได้",
@@ -35,11 +45,18 @@
"Fill in an email address to enable password recovery" => "กรอกที่อยู่อีเมล์ของคุณเพื่อเปิดให้มีการกู้คืนรหัสผ่านได้",
"Language" => "ภาษา",
"Help translate" => "ช่วยกันแปล",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "ใช้ที่อยู่นี้เพื่อเชื่อมต่อกับ ownCloud ในโปรแกรมจัดการไฟล์ของคุณ",
+"Version" => "รุ่น",
"Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." => "พัฒนาโดย the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ชุมชนผู้ใช้งาน ownCloud</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">ซอร์สโค้ด</a>อยู่ภายใต้สัญญาอนุญาตของ <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"Name" => "ชื่อ",
"Groups" => "กลุ่ม",
"Create" => "สร้าง",
+"Default Storage" => "พื้นที่จำกัดข้อมูลเริ่มต้น",
+"Unlimited" => "ไม่จำกัดจำนวน",
"Other" => "อื่นๆ",
"Group Admin" => "ผู้ดูแลกลุ่ม",
+"Storage" => "พื้นที่จัดเก็บข้อมูล",
+"Default" => "ค่าเริ่มต้น",
"Delete" => "ลบ"
);
diff --git a/tests/lib/template.php b/tests/lib/template.php
index 736bc95255c..2899c3512b2 100644
--- a/tests/lib/template.php
+++ b/tests/lib/template.php
@@ -30,7 +30,6 @@ class Test_TemplateFunctions extends UnitTestCase {
ob_start();
p($htmlString);
$result = ob_get_clean();
- ob_end_clean();
$this->assertEqual("&lt;script&gt;alert(&#039;xss&#039;);&lt;/script&gt;", $result);
}
@@ -40,7 +39,6 @@ class Test_TemplateFunctions extends UnitTestCase {
ob_start();
p($normalString);
$result = ob_get_clean();
- ob_end_clean();
$this->assertEqual("This is a good string!", $result);
}
@@ -52,7 +50,6 @@ class Test_TemplateFunctions extends UnitTestCase {
ob_start();
print_unescaped($htmlString);
$result = ob_get_clean();
- ob_end_clean();
$this->assertEqual($htmlString, $result);
}
@@ -62,7 +59,6 @@ class Test_TemplateFunctions extends UnitTestCase {
ob_start();
print_unescaped($normalString);
$result = ob_get_clean();
- ob_end_clean();
$this->assertEqual("This is a good string!", $result);
}