summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/admin_dependencies_chk/l10n/.gitkeep0
-rw-r--r--apps/admin_dependencies_chk/l10n/ca.php14
-rw-r--r--apps/admin_dependencies_chk/l10n/sv.php14
-rw-r--r--apps/admin_migrate/l10n/.gitkeep0
-rw-r--r--apps/admin_migrate/l10n/ca.php5
-rw-r--r--apps/admin_migrate/l10n/es.php5
-rw-r--r--apps/admin_migrate/l10n/gl.php5
-rw-r--r--apps/admin_migrate/l10n/pl.php5
-rw-r--r--apps/admin_migrate/l10n/sv.php5
-rw-r--r--apps/calendar/appinfo/remote.php10
-rw-r--r--apps/calendar/css/style.css2
-rw-r--r--apps/calendar/index.php1
-rw-r--r--apps/calendar/l10n/ar.php16
-rw-r--r--apps/calendar/l10n/bg_BG.php4
-rw-r--r--apps/calendar/l10n/ca.php12
-rw-r--r--apps/calendar/l10n/cs_CZ.php20
-rw-r--r--apps/calendar/l10n/da.php43
-rw-r--r--apps/calendar/l10n/de.php15
-rw-r--r--apps/calendar/l10n/el.php6
-rw-r--r--apps/calendar/l10n/eo.php56
-rw-r--r--apps/calendar/l10n/es.php56
-rw-r--r--apps/calendar/l10n/et_EE.php20
-rw-r--r--apps/calendar/l10n/eu.php50
-rw-r--r--apps/calendar/l10n/fa.php20
-rw-r--r--apps/calendar/l10n/fi_FI.php6
-rw-r--r--apps/calendar/l10n/fr.php6
-rw-r--r--apps/calendar/l10n/gl.php20
-rw-r--r--apps/calendar/l10n/he.php20
-rw-r--r--apps/calendar/l10n/hr.php15
-rw-r--r--apps/calendar/l10n/hu_HU.php20
-rw-r--r--apps/calendar/l10n/ia.php9
-rw-r--r--apps/calendar/l10n/id.php3
-rw-r--r--apps/calendar/l10n/it.php12
-rw-r--r--apps/calendar/l10n/ja_JP.php97
-rw-r--r--apps/calendar/l10n/ko.php21
-rw-r--r--apps/calendar/l10n/lb.php15
-rw-r--r--apps/calendar/l10n/lt_LT.php15
-rw-r--r--apps/calendar/l10n/mk.php20
-rw-r--r--apps/calendar/l10n/ms_MY.php45
-rw-r--r--apps/calendar/l10n/nb_NO.php16
-rw-r--r--apps/calendar/l10n/nl.php22
-rw-r--r--apps/calendar/l10n/nn_NO.php16
-rw-r--r--apps/calendar/l10n/pl.php46
-rw-r--r--apps/calendar/l10n/pt_BR.php20
-rw-r--r--apps/calendar/l10n/pt_PT.php20
-rw-r--r--apps/calendar/l10n/ro.php15
-rw-r--r--apps/calendar/l10n/ru.php6
-rw-r--r--apps/calendar/l10n/sk_SK.php20
-rw-r--r--apps/calendar/l10n/sl.php20
-rw-r--r--apps/calendar/l10n/sr.php6
-rw-r--r--apps/calendar/l10n/sr@latin.php6
-rw-r--r--apps/calendar/l10n/sv.php6
-rw-r--r--apps/calendar/l10n/th_TH.php20
-rw-r--r--apps/calendar/l10n/tr.php6
-rw-r--r--apps/calendar/l10n/uk.php25
-rw-r--r--apps/calendar/l10n/vi.php4
-rw-r--r--apps/calendar/l10n/zh_CN.GB2312.php121
-rw-r--r--apps/calendar/l10n/zh_CN.php16
-rw-r--r--apps/calendar/l10n/zh_TW.php15
-rw-r--r--apps/calendar/templates/calendar.php2
-rw-r--r--apps/calendar/templates/share.dropdown.php4
-rw-r--r--apps/contacts/ajax/contact/addproperty.php2
-rw-r--r--apps/contacts/ajax/contact/deleteproperty.php2
-rw-r--r--apps/contacts/ajax/contact/saveproperty.php6
-rw-r--r--apps/contacts/appinfo/remote.php9
-rw-r--r--apps/contacts/js/contacts.js2
-rw-r--r--apps/contacts/l10n/ca.php3
-rw-r--r--apps/contacts/l10n/de.php29
-rw-r--r--apps/contacts/l10n/eo.php8
-rw-r--r--apps/contacts/l10n/es.php29
-rw-r--r--apps/contacts/l10n/fi_FI.php7
-rw-r--r--apps/contacts/l10n/fr.php2
-rw-r--r--apps/contacts/l10n/it.php3
-rw-r--r--apps/contacts/l10n/ja_JP.php27
-rw-r--r--apps/contacts/l10n/ms_MY.php22
-rw-r--r--apps/contacts/templates/index.php8
-rw-r--r--apps/contacts/templates/part.selectaddressbook.php7
-rw-r--r--apps/files/l10n/zh_CN.GB2312.php52
-rw-r--r--apps/files_encryption/l10n/.gitkeep0
-rw-r--r--apps/files_encryption/l10n/ca.php6
-rw-r--r--apps/files_encryption/l10n/de.php6
-rw-r--r--apps/files_encryption/l10n/pl.php6
-rw-r--r--apps/files_encryption/l10n/sv.php6
-rw-r--r--apps/files_external/ajax/removeRootCertificate.php2
-rw-r--r--apps/files_external/css/settings.css2
-rw-r--r--apps/files_external/js/dropbox.js42
-rw-r--r--apps/files_external/js/google.js77
-rw-r--r--apps/files_external/js/settings.js31
-rw-r--r--apps/files_external/l10n/.gitkeep0
-rw-r--r--apps/files_external/l10n/ca.php18
-rw-r--r--apps/files_external/l10n/sv.php18
-rwxr-xr-xapps/files_external/lib/config.php530
-rwxr-xr-xapps/files_external/lib/dropbox.php20
-rw-r--r--apps/files_external/lib/google.php18
-rw-r--r--apps/files_external/templates/settings.php2
-rw-r--r--apps/files_sharing/l10n/.gitkeep0
-rw-r--r--apps/files_sharing/l10n/ca.php11
-rw-r--r--apps/files_sharing/l10n/pl.php11
-rw-r--r--apps/files_sharing/l10n/sv.php11
-rw-r--r--apps/files_versions/history.php2
-rw-r--r--apps/files_versions/l10n/.gitkeep0
-rw-r--r--apps/files_versions/l10n/ca.php4
-rw-r--r--apps/files_versions/l10n/pl.php4
-rw-r--r--apps/files_versions/l10n/sv.php4
-rw-r--r--apps/files_versions/templates/settings-personal.php4
-rw-r--r--apps/gallery/sharing.php2
-rw-r--r--apps/gallery/templates/view_album.php47
-rw-r--r--apps/media/l10n/zh_CN.GB2312.php14
-rw-r--r--apps/remoteStorage/img/remoteStorage.png (renamed from apps/remoteStorage/remoteStorage.png)bin1273 -> 1273 bytes
-rw-r--r--apps/remoteStorage/templates/settings.php28
-rw-r--r--apps/tasks/l10n/.gitkeep0
-rw-r--r--apps/tasks/l10n/ca.php24
-rw-r--r--apps/tasks/l10n/sv.php24
-rw-r--r--apps/user_ldap/group_ldap.php36
-rw-r--r--apps/user_ldap/js/settings.js1
-rw-r--r--apps/user_ldap/l10n/.gitkeep0
-rw-r--r--apps/user_ldap/l10n/ca.php36
-rw-r--r--apps/user_ldap/l10n/sv.php36
-rw-r--r--apps/user_ldap/user_ldap.php12
-rw-r--r--apps/user_migrate/l10n/.gitkeep0
-rw-r--r--apps/user_migrate/l10n/ca.php10
-rw-r--r--apps/user_migrate/l10n/sv.php10
-rw-r--r--apps/user_migrate/templates/settings.php2
-rw-r--r--apps/user_openid/l10n/.gitkeep0
-rw-r--r--apps/user_openid/l10n/ca.php11
-rw-r--r--apps/user_openid/l10n/sv.php11
-rw-r--r--apps/user_webfinger/host-meta.php3
-rw-r--r--apps/user_webfinger/webfinger.php6
128 files changed, 1574 insertions, 932 deletions
diff --git a/apps/admin_dependencies_chk/l10n/.gitkeep b/apps/admin_dependencies_chk/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/admin_dependencies_chk/l10n/.gitkeep
diff --git a/apps/admin_dependencies_chk/l10n/ca.php b/apps/admin_dependencies_chk/l10n/ca.php
new file mode 100644
index 00000000000..08f4ec80781
--- /dev/null
+++ b/apps/admin_dependencies_chk/l10n/ca.php
@@ -0,0 +1,14 @@
+<?php $TRANSLATIONS = array(
+"The php-json module is needed by the many applications for inter communications" => "El mòdul php-json és necessari per moltes aplicacions per comunicacions internes",
+"The php-curl modude is needed to fetch the page title when adding a bookmarks" => "El mòdul php-curl és necessari per mostrar el títol de la pàgina quan s'afegeixen adreces d'interès",
+"The php-gd module is needed to create thumbnails of your images" => "El mòdul php-gd és necessari per generar miniatures d'imatges",
+"The php-ldap module is needed connect to your ldap server" => "El mòdul php-ldap és necessari per connectar amb el servidor ldap",
+"The php-zip module is needed download multiple files at once" => "El mòdul php-zip és necessari per baixar múltiples fitxers de cop",
+"The php-mb_multibyte module is needed to manage correctly the encoding." => "El mòdul php-mb_multibyte és necessari per gestionar correctament la codificació.",
+"The php-ctype module is needed validate data." => "El mòdul php-ctype és necessari per validar dades.",
+"The php-xml module is needed to share files with webdav." => "El mòdul php-xml és necessari per compatir els fitxers amb webdav.",
+"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve knowledge base from OCS servers" => "La directiva allow_url_fopen de php.ini hauria d'establir-se en 1 per accedir a la base de coneixements dels servidors OCS",
+"The php-pdo module is needed to store owncloud data into a database." => "El mòdul php-pdo és necessari per desar les dades d'ownCloud en una base de dades.",
+"Dependencies status" => "Estat de dependències",
+"Used by :" => "Usat per:"
+);
diff --git a/apps/admin_dependencies_chk/l10n/sv.php b/apps/admin_dependencies_chk/l10n/sv.php
new file mode 100644
index 00000000000..07868f3c03c
--- /dev/null
+++ b/apps/admin_dependencies_chk/l10n/sv.php
@@ -0,0 +1,14 @@
+<?php $TRANSLATIONS = array(
+"The php-json module is needed by the many applications for inter communications" => "Modulen php-json behövs av många applikationer som interagerar.",
+"The php-curl modude is needed to fetch the page title when adding a bookmarks" => "Modulen php-curl behövs för att hämta sidans titel när du lägger till bokmärken.",
+"The php-gd module is needed to create thumbnails of your images" => "Modulen php-gd behövs för att skapa miniatyrer av dina bilder.",
+"The php-ldap module is needed connect to your ldap server" => "Modulen php-ldap behövs för att ansluta mot din ldapserver.",
+"The php-zip module is needed download multiple files at once" => "Modulen php-zip behövs för att kunna ladda ner flera filer på en gång.",
+"The php-mb_multibyte module is needed to manage correctly the encoding." => "Modulen php-mb_multibyte behövs för att hantera korrekt teckenkodning.",
+"The php-ctype module is needed validate data." => "Modulen php-ctype behövs för att validera data.",
+"The php-xml module is needed to share files with webdav." => "Modulen php-xml behövs för att kunna dela filer med webdav.",
+"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve knowledge base from OCS servers" => "Direktivet allow_url_fopen i php.ini bör sättas till 1 för att kunna hämta kunskapsbasen från OCS-servrar.",
+"The php-pdo module is needed to store owncloud data into a database." => "Modulen php-pdo behövs för att kunna lagra ownCloud data i en databas.",
+"Dependencies status" => "Beroenden status",
+"Used by :" => "Används av:"
+);
diff --git a/apps/admin_migrate/l10n/.gitkeep b/apps/admin_migrate/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/admin_migrate/l10n/.gitkeep
diff --git a/apps/admin_migrate/l10n/ca.php b/apps/admin_migrate/l10n/ca.php
new file mode 100644
index 00000000000..8743b397601
--- /dev/null
+++ b/apps/admin_migrate/l10n/ca.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Export this ownCloud instance" => "Exporta aquesta instància de ownCloud",
+"This will create a compressed file that contains the data of this owncloud instance.\n Please choose the export type:" => "Això crearà un fitxer comprimit amb les dades d'aquesta instància ownCloud.\n Escolliu el tipus d'exportació:",
+"Export" => "Exporta"
+);
diff --git a/apps/admin_migrate/l10n/es.php b/apps/admin_migrate/l10n/es.php
new file mode 100644
index 00000000000..cb6699b1d94
--- /dev/null
+++ b/apps/admin_migrate/l10n/es.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Export this ownCloud instance" => "Exportar esta instancia de ownCloud",
+"This will create a compressed file that contains the data of this owncloud instance.\n Please choose the export type:" => "Se creará un archivo comprimido que contendrá los datos de esta instancia de owncloud.\n Por favor elegir el tipo de exportación:",
+"Export" => "Exportar"
+);
diff --git a/apps/admin_migrate/l10n/gl.php b/apps/admin_migrate/l10n/gl.php
new file mode 100644
index 00000000000..9d18e134938
--- /dev/null
+++ b/apps/admin_migrate/l10n/gl.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Export this ownCloud instance" => "Exporta esta instancia de ownCloud",
+"This will create a compressed file that contains the data of this owncloud instance.\n Please choose the export type:" => "Esto creará un ficheiro comprimido que contén os datos de esta instancia de ownCloud.\nPor favor escolla o modo de exportación:",
+"Export" => "Exportar"
+);
diff --git a/apps/admin_migrate/l10n/pl.php b/apps/admin_migrate/l10n/pl.php
new file mode 100644
index 00000000000..292601daa2b
--- /dev/null
+++ b/apps/admin_migrate/l10n/pl.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Export this ownCloud instance" => "Eksportuj instancję ownCloud",
+"This will create a compressed file that contains the data of this owncloud instance.\n Please choose the export type:" => "Spowoduje to utworzenie pliku skompresowanego, który zawiera dane tej instancji ownCloud.⏎ proszę wybrać typ eksportu:",
+"Export" => "Eksport"
+);
diff --git a/apps/admin_migrate/l10n/sv.php b/apps/admin_migrate/l10n/sv.php
new file mode 100644
index 00000000000..57866e897e6
--- /dev/null
+++ b/apps/admin_migrate/l10n/sv.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Export this ownCloud instance" => "Exportera denna instans av ownCloud",
+"This will create a compressed file that contains the data of this owncloud instance.\n Please choose the export type:" => "Detta kommer att skapa en komprimerad fil som innehåller all data från denna instans av ownCloud.\n Välj exporttyp:",
+"Export" => "Exportera"
+);
diff --git a/apps/calendar/appinfo/remote.php b/apps/calendar/appinfo/remote.php
index e8f9e80c7a8..6669d7ce2c4 100644
--- a/apps/calendar/appinfo/remote.php
+++ b/apps/calendar/appinfo/remote.php
@@ -21,10 +21,13 @@ $principalBackend = new OC_Connector_Sabre_Principal();
$caldavBackend = new OC_Connector_Sabre_CalDAV();
// Root nodes
-$nodes = array(
- new Sabre_CalDAV_Principal_Collection($principalBackend),
+$collection = new Sabre_CalDAV_Principal_Collection($principalBackend);
+$collection->disableListing = true; // Disable listening
+
+$nodes = array(
+ $collection,
new Sabre_CalDAV_CalendarRootNode($principalBackend, $caldavBackend),
-);
+ );
// Fire up server
$server = new Sabre_DAV_Server($nodes);
@@ -35,5 +38,6 @@ $server->addPlugin(new Sabre_CalDAV_Plugin());
$server->addPlugin(new Sabre_DAVACL_Plugin());
$server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload
$server->addPlugin(new Sabre_CalDAV_ICSExportPlugin());
+
// And off we go!
$server->exec();
diff --git a/apps/calendar/css/style.css b/apps/calendar/css/style.css
index 5cda4b1beff..64a779b9a9f 100644
--- a/apps/calendar/css/style.css
+++ b/apps/calendar/css/style.css
@@ -40,8 +40,6 @@
.thisday{background: #FFFABC;}
.event {position:relative;}
.event.colored {border-bottom: 1px solid white;}
-.popup {display: none; position: absolute; z-index: 1000; background: #eeeeee; color: #000000; border: 1px solid #1a1a1a; font-size: 90%;}
-.event_popup {width: 280px; height: 40px; padding: 10px;}
input[type="button"].active {color: #6193CF}
#fromtime, #totime {
diff --git a/apps/calendar/index.php b/apps/calendar/index.php
index 352c295c437..a8ad4ab3356 100644
--- a/apps/calendar/index.php
+++ b/apps/calendar/index.php
@@ -5,7 +5,6 @@
* later.
* See the COPYING-README file.
*/
-DEFINE('DEBUG', TRUE);
OCP\User::checkLoggedIn();
OCP\App::checkAppEnabled('calendar');
diff --git a/apps/calendar/l10n/ar.php b/apps/calendar/l10n/ar.php
index 679f1102853..524def22f74 100644
--- a/apps/calendar/l10n/ar.php
+++ b/apps/calendar/l10n/ar.php
@@ -19,6 +19,7 @@
"Projects" => "مشاريع",
"Questions" => "اسئلة",
"Work" => "العمل",
+"New Calendar" => "جدول زمني جديد",
"Does not repeat" => "لا يعاد",
"Daily" => "يومي",
"Weekly" => "أسبوعي",
@@ -64,7 +65,6 @@
"Date" => "تاريخ",
"Cal." => "تقويم",
"All day" => "كل النهار",
-"New Calendar" => "جدول زمني جديد",
"Missing fields" => "خانات خالية من المعلومات",
"Title" => "عنوان",
"From Date" => "من تاريخ",
@@ -77,9 +77,6 @@
"Month" => "شهر",
"List" => "قائمة",
"Today" => "اليوم",
-"Calendars" => "الجداول الزمنية",
-"There was a fail, while parsing the file." => "لم يتم قراءة الملف بنجاح.",
-"Choose active calendars" => "إختر الجدول الزمني الرئيسي",
"CalDav Link" => "وصلة CalDav",
"Download" => "تحميل",
"Edit" => "تعديل",
@@ -116,20 +113,13 @@
"Interval" => "المده الفاصله",
"End" => "نهايه",
"occurrences" => "الاحداث",
-"Import a calendar file" => "أدخل ملف التقويم",
-"Please choose the calendar" => "الرجاء إختر الجدول الزمني",
"create a new calendar" => "انشاء جدول زمني جديد",
+"Import a calendar file" => "أدخل ملف التقويم",
"Name of new calendar" => "أسم الجدول الزمني الجديد",
"Import" => "إدخال",
-"Importing calendar" => "يتم ادخال الجدول الزمني",
-"Calendar imported successfully" => "تم ادخال الجدول الزمني بنجاح",
"Close Dialog" => "أغلق الحوار",
"Create a new event" => "إضافة حدث جديد",
-"Select category" => "اختر الفئة",
"Timezone" => "المنطقة الزمنية",
-"Check always for changes of the timezone" => "راقب دائما تغير التقويم الزمني",
-"Timeformat" => "شكل الوقت",
"24h" => "24 ساعة",
-"12h" => "12 ساعة",
-"Calendar CalDAV syncing address:" => "عنوان لتحديث ال CalDAV الجدول الزمني"
+"12h" => "12 ساعة"
);
diff --git a/apps/calendar/l10n/bg_BG.php b/apps/calendar/l10n/bg_BG.php
index 592502b2687..fc353ebef95 100644
--- a/apps/calendar/l10n/bg_BG.php
+++ b/apps/calendar/l10n/bg_BG.php
@@ -40,9 +40,6 @@
"Month" => "Месец",
"List" => "Списък",
"Today" => "Днес",
-"Calendars" => "Календари",
-"There was a fail, while parsing the file." => "Възникна проблем с разлистването на файла.",
-"Choose active calendars" => "Изберете активен календар",
"Your calendars" => "Вашите календари",
"Shared calendars" => "Споделени календари",
"No shared calendars" => "Няма споделени календари",
@@ -83,6 +80,5 @@
"View an event" => "Преглед на събитие",
"No categories selected" => "Няма избрани категории",
"Timezone" => "Часова зона",
-"First day of the week" => "Първи ден на седмицата",
"Groups" => "Групи"
);
diff --git a/apps/calendar/l10n/ca.php b/apps/calendar/l10n/ca.php
index d999eaf4739..9e267604e62 100644
--- a/apps/calendar/l10n/ca.php
+++ b/apps/calendar/l10n/ca.php
@@ -112,9 +112,7 @@
"Month" => "Mes",
"List" => "Llista",
"Today" => "Avui",
-"Calendars" => "Calendaris",
-"There was a fail, while parsing the file." => "S'ha produït un error en analitzar el fitxer.",
-"Choose active calendars" => "Seleccioneu calendaris actius",
+"Settings" => "Configuració",
"Your calendars" => "Els vostres calendaris",
"CalDav Link" => "Enllaç CalDav",
"Shared calendars" => "Calendaris compartits",
@@ -176,14 +174,16 @@
"No categories selected" => "No hi ha categories seleccionades",
"of" => "de",
"at" => "a",
+"General" => "General",
"Timezone" => "Zona horària",
-"Check always for changes of the timezone" => "Comprova sempre en els canvis de zona horària",
-"Timeformat" => "Format de temps",
+"Update timezone automatically" => "Actualitza la zona horària automàticament",
+"Time format" => "Format horari",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Primer dia de la setmana",
+"Start week on" => "Comença la setmana en ",
"Cache" => "Memòria de cau",
"Clear cache for repeating events" => "Neteja la memòria de cau pels esdeveniments amb repetició",
+"URLs" => "URLs",
"Calendar CalDAV syncing addresses" => "Adreça de sincronització del calendari CalDAV",
"more info" => "més informació",
"Primary address (Kontact et al)" => "Adreça primària (Kontact et al)",
diff --git a/apps/calendar/l10n/cs_CZ.php b/apps/calendar/l10n/cs_CZ.php
index 05d286d82c1..fcc31613c79 100644
--- a/apps/calendar/l10n/cs_CZ.php
+++ b/apps/calendar/l10n/cs_CZ.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Časová zóna byla změněna",
"Invalid request" => "Chybný požadavek",
"Calendar" => "Kalendář",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM rrrr",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d. MMM[ yyyy]{ '&#8212;' d.[ MMM] yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, rrrr",
"Birthday" => "Narozeniny",
"Business" => "Obchodní",
"Call" => "Hovor",
@@ -23,6 +28,7 @@
"Questions" => "Dotazy",
"Work" => "Pracovní",
"unnamed" => "nepojmenováno",
+"New Calendar" => "Nový kalendář",
"Does not repeat" => "Neopakuje se",
"Daily" => "Denně",
"Weekly" => "Týdně",
@@ -68,7 +74,6 @@
"Date" => "Datum",
"Cal." => "Kal.",
"All day" => "Celý den",
-"New Calendar" => "Nový kalendář",
"Missing fields" => "Chybějící pole",
"Title" => "Název",
"From Date" => "Od data",
@@ -81,9 +86,6 @@
"Month" => "měsíc",
"List" => "Seznam",
"Today" => "dnes",
-"Calendars" => "Kalendáře",
-"There was a fail, while parsing the file." => "Chyba při převodu souboru",
-"Choose active calendars" => "Vybrat aktivní kalendář",
"Your calendars" => "Vaše kalendáře",
"CalDav Link" => "CalDav odkaz",
"Shared calendars" => "Sdílené kalendáře",
@@ -132,27 +134,19 @@
"Interval" => "Interval",
"End" => "Konec",
"occurrences" => "výskyty",
-"Import a calendar file" => "Importovat soubor kalendáře",
-"Please choose the calendar" => "Zvolte prosím kalendář",
"create a new calendar" => "vytvořit nový kalendář",
+"Import a calendar file" => "Importovat soubor kalendáře",
"Name of new calendar" => "Název nového kalendáře",
"Import" => "Import",
-"Importing calendar" => "Kalendář se importuje",
-"Calendar imported successfully" => "Kalendář byl úspěšně importován",
"Close Dialog" => "Zavřít dialog",
"Create a new event" => "Vytvořit novou událost",
"View an event" => "Zobrazit událost",
"No categories selected" => "Žádné kategorie nevybrány",
-"Select category" => "Vyberte kategorii",
"of" => "z",
"at" => "v",
"Timezone" => "Časové pásmo",
-"Check always for changes of the timezone" => "Vždy kontrolavat, zda nedošlo ke změně časového pásma",
-"Timeformat" => "Formát času",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Týden začína v",
-"Calendar CalDAV syncing address:" => "Adresa pro synchronizaci kalendáře pomocí CalDAV:",
"Users" => "Uživatelé",
"select users" => "vybrat uživatele",
"Editable" => "Upravovatelné",
diff --git a/apps/calendar/l10n/da.php b/apps/calendar/l10n/da.php
index 36551a2a93a..789765fec43 100644
--- a/apps/calendar/l10n/da.php
+++ b/apps/calendar/l10n/da.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Tidszone ændret",
"Invalid request" => "Ugyldig forespørgsel",
"Calendar" => "Kalender",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM åååå",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ åååå]{ '&#8212;'[ MMM] d åååå}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, åååå",
"Birthday" => "Fødselsdag",
"Business" => "Forretning",
"Call" => "Ring",
@@ -22,7 +27,9 @@
"Projects" => "Projekter",
"Questions" => "Spørgsmål",
"Work" => "Arbejde",
+"by" => "af",
"unnamed" => "unavngivet",
+"New Calendar" => "Ny Kalender",
"Does not repeat" => "Gentages ikke",
"Daily" => "Daglig",
"Weekly" => "Ugentlig",
@@ -67,8 +74,26 @@
"by day and month" => "efter dag og måned",
"Date" => "Dato",
"Cal." => "Kal.",
+"Sun." => "Søn.",
+"Mon." => "Man.",
+"Tue." => "Tir.",
+"Wed." => "Ons.",
+"Thu." => "Tor.",
+"Fri." => "Fre.",
+"Sat." => "Lør.",
+"Jan." => "Jan.",
+"Feb." => "Feb.",
+"Mar." => "Mar.",
+"Apr." => "Apr.",
+"May." => "Maj",
+"Jun." => "Jun.",
+"Jul." => "Jul.",
+"Aug." => "Aug.",
+"Sep." => "Sep.",
+"Oct." => "Okt.",
+"Nov." => "Nov.",
+"Dec." => "Dec.",
"All day" => "Hele dagen",
-"New Calendar" => "Ny Kalender",
"Missing fields" => "Manglende felter",
"Title" => "Titel",
"From Date" => "Fra dato",
@@ -81,9 +106,6 @@
"Month" => "Måned",
"List" => "Liste",
"Today" => "I dag",
-"Calendars" => "Kalendere",
-"There was a fail, while parsing the file." => "Der opstod en fejl under gennemlæsning af filen.",
-"Choose active calendars" => "Vælg aktive kalendere",
"Your calendars" => "Dine kalendere",
"CalDav Link" => "CalDav-link",
"Shared calendars" => "Delte kalendere",
@@ -132,27 +154,22 @@
"Interval" => "Interval",
"End" => "Afslutning",
"occurrences" => "forekomster",
-"Import a calendar file" => "Importer en kalenderfil",
-"Please choose the calendar" => "Vælg venligst kalender",
"create a new calendar" => "opret en ny kalender",
+"Import a calendar file" => "Importer en kalenderfil",
+"Please choose a calendar" => "Vælg en kalender",
"Name of new calendar" => "Navn på ny kalender",
"Import" => "Importer",
-"Importing calendar" => "Importerer kalender",
-"Calendar imported successfully" => "Kalender importeret korrekt",
"Close Dialog" => "Luk dialog",
"Create a new event" => "Opret en ny begivenhed",
"View an event" => "Vis en begivenhed",
"No categories selected" => "Ingen categorier valgt",
-"Select category" => "Vælg kategori",
"of" => "fra",
"at" => "kl.",
"Timezone" => "Tidszone",
-"Check always for changes of the timezone" => "Check altid efter ændringer i tidszone",
-"Timeformat" => "Tidsformat",
"24h" => "24T",
"12h" => "12T",
-"First day of the week" => "Ugens første dag",
-"Calendar CalDAV syncing address:" => "Synkroniseringsadresse til CalDAV:",
+"more info" => "flere oplysninger",
+"iOS/OS X" => "iOS/OS X",
"Users" => "Brugere",
"select users" => "Vælg brugere",
"Editable" => "Redigerbar",
diff --git a/apps/calendar/l10n/de.php b/apps/calendar/l10n/de.php
index 8270b6785e4..4ff0d722042 100644
--- a/apps/calendar/l10n/de.php
+++ b/apps/calendar/l10n/de.php
@@ -112,9 +112,7 @@
"Month" => "Monat",
"List" => "Liste",
"Today" => "Heute",
-"Calendars" => "Kalender",
-"There was a fail, while parsing the file." => "Fehler beim Einlesen der Datei.",
-"Choose active calendars" => "Aktive Kalender wählen",
+"Settings" => "Einstellungen",
"Your calendars" => "Deine Kalender",
"CalDav Link" => "CalDAV-Link",
"Shared calendars" => "geteilte Kalender",
@@ -176,15 +174,16 @@
"No categories selected" => "Keine Kategorie ausgewählt",
"of" => "von",
"at" => "um",
+"General" => "Allgemein",
"Timezone" => "Zeitzone",
-"Check always for changes of the timezone" => "immer die Zeitzone überprüfen",
-"Timeformat" => "Zeitformat",
+"Update timezone automatically" => "Zeitzone automatisch aktualisieren",
+"Time format" => "Zeitformat",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "erster Wochentag",
+"Start week on" => "Erster Wochentag",
"Cache" => "Zwischenspeicher",
-"Clear cache for repeating events" => "Lösche den Zwischenspeicher für wiederholende Veranstaltungen.",
-"Calendar CalDAV syncing addresses" => "CalDAV-Kalender gleicht Adressen ab.",
+"Clear cache for repeating events" => "Lösche den Zwischenspeicher für wiederholende Veranstaltungen",
+"Calendar CalDAV syncing addresses" => "CalDAV-Kalender gleicht Adressen ab",
"more info" => "weitere Informationen",
"Primary address (Kontact et al)" => "Primäre Adresse (Kontakt u.a.)",
"iOS/OS X" => "iOS/OS X",
diff --git a/apps/calendar/l10n/el.php b/apps/calendar/l10n/el.php
index 46572138485..ad07d7b5855 100644
--- a/apps/calendar/l10n/el.php
+++ b/apps/calendar/l10n/el.php
@@ -112,9 +112,6 @@
"Month" => "Μήνας",
"List" => "Λίστα",
"Today" => "Σήμερα",
-"Calendars" => "Ημερολόγια",
-"There was a fail, while parsing the file." => "Υπήρξε μια αποτυχία, κατά την σάρωση του αρχείου.",
-"Choose active calendars" => "Επιλέξτε τα ενεργά ημερολόγια",
"Your calendars" => "Τα ημερολόγια σου",
"CalDav Link" => "Σύνδεση CalDAV",
"Shared calendars" => "Κοινόχρηστα ημερολόγια",
@@ -177,11 +174,8 @@
"of" => "του",
"at" => "στο",
"Timezone" => "Ζώνη ώρας",
-"Check always for changes of the timezone" => "Έλεγχος πάντα για τις αλλαγές της ζώνης ώρας",
-"Timeformat" => "Μορφή ώρας",
"24h" => "24ω",
"12h" => "12ω",
-"First day of the week" => "Πρώτη μέρα της εβδομάδας",
"Cache" => "Cache",
"Clear cache for repeating events" => "Εκκαθάριση λανθάνουσας μνήμης για επανάληψη γεγονότων",
"Calendar CalDAV syncing addresses" => "Διευθύνσεις συγχρονισμού ημερολογίου CalDAV",
diff --git a/apps/calendar/l10n/eo.php b/apps/calendar/l10n/eo.php
index b1127d59ca9..1a01bb713f9 100644
--- a/apps/calendar/l10n/eo.php
+++ b/apps/calendar/l10n/eo.php
@@ -1,12 +1,23 @@
<?php $TRANSLATIONS = array(
+"Not all calendars are completely cached" => "Ne ĉiuj kalendaroj estas tute kaŝmemorigitaj",
+"Everything seems to be completely cached" => "Ĉio ŝajnas tute kaŝmemorigita",
"No calendars found." => "Neniu kalendaro troviĝis.",
"No events found." => "Neniu okazaĵo troviĝis.",
"Wrong calendar" => "Malĝusta kalendaro",
+"The file contained either no events or all events are already saved in your calendar." => "Aŭ la dosiero enhavas neniun okazaĵon aŭ ĉiuj okazaĵoj jam estas konservitaj en via kalendaro.",
+"events has been saved in the new calendar" => "okazaĵoj estas konservitaj en la nova kalendaro",
+"Import failed" => "Enporto malsukcesis",
+"events has been saved in your calendar" => "okazaĵoj estas konservitaj en via kalendaro",
"New Timezone:" => "Nova horzono:",
"Timezone changed" => "La horozono estas ŝanĝita",
"Invalid request" => "Nevalida peto",
"Calendar" => "Kalendaro",
+"ddd" => "ddd",
+"ddd M/d" => "ddd d/M",
+"dddd M/d" => "dddd d/M",
+"MMMM yyyy" => "MMMM yyyy",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d MMM[ yyyy]{ '&#8212;'d[ MMM] yyyy}",
+"dddd, MMM d, yyyy" => "dddd, d-a de MMM yyyy",
"Birthday" => "Naskiĝotago",
"Business" => "Negoco",
"Call" => "Voko",
@@ -22,7 +33,9 @@
"Projects" => "Projektoj",
"Questions" => "Demandoj",
"Work" => "Laboro",
+"by" => "de",
"unnamed" => "nenomita",
+"New Calendar" => "Nova kalendaro",
"Does not repeat" => "Ĉi tio ne ripetiĝas",
"Daily" => "Tage",
"Weekly" => "Semajne",
@@ -67,8 +80,26 @@
"by day and month" => "laŭ tago kaj monato",
"Date" => "Dato",
"Cal." => "Kal.",
+"Sun." => "dim.",
+"Mon." => "lun.",
+"Tue." => "mar.",
+"Wed." => "mer.",
+"Thu." => "ĵaŭ.",
+"Fri." => "ven.",
+"Sat." => "sab.",
+"Jan." => "Jan.",
+"Feb." => "Feb.",
+"Mar." => "Mar.",
+"Apr." => "Apr.",
+"May." => "Maj.",
+"Jun." => "Jun.",
+"Jul." => "Jul.",
+"Aug." => "Aŭg.",
+"Sep." => "Sep.",
+"Oct." => "Okt.",
+"Nov." => "Nov.",
+"Dec." => "Dec.",
"All day" => "La tuta tago",
-"New Calendar" => "Nova kalendaro",
"Missing fields" => "Mankas iuj kampoj",
"Title" => "Titolo",
"From Date" => "ekde la dato",
@@ -81,9 +112,6 @@
"Month" => "Monato",
"List" => "Listo",
"Today" => "Hodiaŭ",
-"Calendars" => "Kalendaroj",
-"There was a fail, while parsing the file." => "Malsukceso okazis dum analizo de la dosiero.",
-"Choose active calendars" => "Elektu aktivajn kalendarojn",
"Your calendars" => "Viaj kalendaroj",
"CalDav Link" => "CalDav-a ligilo",
"Shared calendars" => "Kunhavigitaj kalendaroj",
@@ -132,27 +160,29 @@
"Interval" => "Intervalo",
"End" => "Fino",
"occurrences" => "aperoj",
-"Import a calendar file" => "Enporti kalendarodosieron",
-"Please choose the calendar" => "Bonvolu elekti kalendaron",
"create a new calendar" => "Krei novan kalendaron",
+"Import a calendar file" => "Enporti kalendarodosieron",
+"Please choose a calendar" => "Bonvolu elekti kalendaron",
"Name of new calendar" => "Nomo de la nova kalendaro",
+"Take an available name!" => "Prenu haveblan nomon!",
+"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Kalendaro kun ĉi tiu nomo jam ekzastas. Se vi malgraŭe daŭros, ĉi tiuj kalendaroj kunfandiĝos.",
"Import" => "Enporti",
-"Importing calendar" => "Kalendaro estas enportata",
-"Calendar imported successfully" => "La kalendaro enportiĝis sukcese",
"Close Dialog" => "Fermi la dialogon",
"Create a new event" => "Krei okazaĵon",
"View an event" => "Vidi okazaĵon",
"No categories selected" => "Neniu kategorio elektita",
-"Select category" => "Elekti kategorion",
"of" => "de",
"at" => "ĉe",
"Timezone" => "Horozono",
-"Check always for changes of the timezone" => "Ĉiam kontroli ĉu la horzono ŝanĝiĝis",
-"Timeformat" => "Tempoformo",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Unua tago de la semajno",
-"Calendar CalDAV syncing address:" => "Adreso de kalendarosinkronigo per CalDAV:",
+"Cache" => "Kaŝmemoro",
+"Clear cache for repeating events" => "Forviŝi kaŝmemoron por ripeto de okazaĵoj",
+"Calendar CalDAV syncing addresses" => "sinkronigaj adresoj por CalDAV-kalendaroj",
+"more info" => "pli da informo",
+"Primary address (Kontact et al)" => "Ĉefa adreso (Kontact kaj aliaj)",
+"iOS/OS X" => "iOS/OS X",
+"Read only iCalendar link(s)" => "Nurlegebla(j) iCalendar-ligilo(j)",
"Users" => "Uzantoj",
"select users" => "elekti uzantojn",
"Editable" => "Redaktebla",
diff --git a/apps/calendar/l10n/es.php b/apps/calendar/l10n/es.php
index 4cd9e3202bf..3ebcd2e9430 100644
--- a/apps/calendar/l10n/es.php
+++ b/apps/calendar/l10n/es.php
@@ -1,12 +1,23 @@
<?php $TRANSLATIONS = array(
+"Not all calendars are completely cached" => "Aún no se han guardado en caché todos los calendarios",
+"Everything seems to be completely cached" => "Parece que se ha guardado todo en caché",
"No calendars found." => "No se encontraron calendarios.",
"No events found." => "No se encontraron eventos.",
"Wrong calendar" => "Calendario incorrecto",
+"The file contained either no events or all events are already saved in your calendar." => "El archivo no contiene eventos o ya existen en tu calendario.",
+"events has been saved in the new calendar" => "Los eventos han sido guardados en el nuevo calendario",
+"Import failed" => "Fallo en la importación",
+"events has been saved in your calendar" => "eventos se han guardado en tu calendario",
"New Timezone:" => "Nueva zona horaria:",
"Timezone changed" => "Zona horaria cambiada",
"Invalid request" => "Petición no válida",
"Calendar" => "Calendario",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM yyyy",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
"Birthday" => "Cumpleaños",
"Business" => "Negocios",
"Call" => "Llamada",
@@ -22,7 +33,9 @@
"Projects" => "Proyectos",
"Questions" => "Preguntas",
"Work" => "Trabajo",
+"by" => "por",
"unnamed" => "Sin nombre",
+"New Calendar" => "Nuevo calendario",
"Does not repeat" => "No se repite",
"Daily" => "Diariamente",
"Weekly" => "Semanalmente",
@@ -67,8 +80,26 @@
"by day and month" => "por día y mes",
"Date" => "Fecha",
"Cal." => "Cal.",
+"Sun." => "Dom.",
+"Mon." => "Lun.",
+"Tue." => "Mar.",
+"Wed." => "Mier.",
+"Thu." => "Jue.",
+"Fri." => "Vie.",
+"Sat." => "Sab.",
+"Jan." => "Ene.",
+"Feb." => "Feb.",
+"Mar." => "Mar.",
+"Apr." => "Abr.",
+"May." => "May.",
+"Jun." => "Jun.",
+"Jul." => "Jul.",
+"Aug." => "Ago.",
+"Sep." => "Sep.",
+"Oct." => "Oct.",
+"Nov." => "Nov.",
+"Dec." => "Dic.",
"All day" => "Todo el día",
-"New Calendar" => "Nuevo calendario",
"Missing fields" => "Los campos que faltan",
"Title" => "Título",
"From Date" => "Desde la fecha",
@@ -81,9 +112,6 @@
"Month" => "Mes",
"List" => "Lista",
"Today" => "Hoy",
-"Calendars" => "Calendarios",
-"There was a fail, while parsing the file." => "Se ha producido un fallo al analizar el archivo.",
-"Choose active calendars" => "Elige los calendarios activos",
"Your calendars" => "Tus calendarios",
"CalDav Link" => "Enlace a CalDav",
"Shared calendars" => "Calendarios compartidos",
@@ -132,27 +160,29 @@
"Interval" => "Intervalo",
"End" => "Fin",
"occurrences" => "ocurrencias",
-"Import a calendar file" => "Importar un archivo de calendario",
-"Please choose the calendar" => "Por favor elige el calendario",
"create a new calendar" => "Crear un nuevo calendario",
+"Import a calendar file" => "Importar un archivo de calendario",
+"Please choose a calendar" => "Por favor, escoge un calendario",
"Name of new calendar" => "Nombre del nuevo calendario",
+"Take an available name!" => "¡Elige un nombre disponible!",
+"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Ya existe un calendario con este nombre. Si continúas, se combinarán los calendarios.",
"Import" => "Importar",
-"Importing calendar" => "Importando calendario",
-"Calendar imported successfully" => "Calendario importado exitosamente",
"Close Dialog" => "Cerrar diálogo",
"Create a new event" => "Crear un nuevo evento",
"View an event" => "Ver un evento",
"No categories selected" => "Ninguna categoría seleccionada",
-"Select category" => "Seleccionar categoría",
"of" => "de",
"at" => "a las",
"Timezone" => "Zona horaria",
-"Check always for changes of the timezone" => "Comprobar siempre por cambios en la zona horaria",
-"Timeformat" => "Formato de hora",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Primer día de la semana",
-"Calendar CalDAV syncing address:" => "Dirección de sincronización de calendario CalDAV:",
+"Cache" => "Caché",
+"Clear cache for repeating events" => "Limpiar caché de eventos recurrentes",
+"Calendar CalDAV syncing addresses" => "Direcciones de sincronización de calendario CalDAV:",
+"more info" => "Más información",
+"Primary address (Kontact et al)" => "Dirección principal (Kontact y otros)",
+"iOS/OS X" => "iOS/OS X",
+"Read only iCalendar link(s)" => "Enlace(s) iCalendar de sólo lectura",
"Users" => "Usuarios",
"select users" => "seleccionar usuarios",
"Editable" => "Editable",
diff --git a/apps/calendar/l10n/et_EE.php b/apps/calendar/l10n/et_EE.php
index 931ca56f5fd..59f494f8ab9 100644
--- a/apps/calendar/l10n/et_EE.php
+++ b/apps/calendar/l10n/et_EE.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Ajavöönd on muudetud",
"Invalid request" => "Vigane päring",
"Calendar" => "Kalender",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM yyyy",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
"Birthday" => "Sünnipäev",
"Business" => "Äri",
"Call" => "Helista",
@@ -23,6 +28,7 @@
"Questions" => "Küsimused",
"Work" => "Töö",
"unnamed" => "nimetu",
+"New Calendar" => "Uus kalender",
"Does not repeat" => "Ei kordu",
"Daily" => "Iga päev",
"Weekly" => "Iga nädal",
@@ -68,7 +74,6 @@
"Date" => "Kuupäev",
"Cal." => "Kal.",
"All day" => "Kogu päev",
-"New Calendar" => "Uus kalender",
"Missing fields" => "Puuduvad väljad",
"Title" => "Pealkiri",
"From Date" => "Alates kuupäevast",
@@ -81,9 +86,6 @@
"Month" => "Kuu",
"List" => "Nimekiri",
"Today" => "Täna",
-"Calendars" => "Kalendrid",
-"There was a fail, while parsing the file." => "Faili parsimisel tekkis viga.",
-"Choose active calendars" => "Vali aktiivsed kalendrid",
"Your calendars" => "Sinu kalendrid",
"CalDav Link" => "CalDav Link",
"Shared calendars" => "Jagatud kalendrid",
@@ -132,27 +134,19 @@
"Interval" => "Intervall",
"End" => "Lõpp",
"occurrences" => "toimumiskordi",
-"Import a calendar file" => "Impordi kalendrifail",
-"Please choose the calendar" => "Palun vali kalender",
"create a new calendar" => "loo uus kalender",
+"Import a calendar file" => "Impordi kalendrifail",
"Name of new calendar" => "Uue kalendri nimi",
"Import" => "Impordi",
-"Importing calendar" => "Kalendri importimine",
-"Calendar imported successfully" => "Kalender on imporditud",
"Close Dialog" => "Sulge dialoogiaken",
"Create a new event" => "Loo sündmus",
"View an event" => "Vaata üritust",
"No categories selected" => "Ühtegi kategooriat pole valitud",
-"Select category" => "Salvesta kategooria",
"of" => "/",
"at" => "kell",
"Timezone" => "Ajavöönd",
-"Check always for changes of the timezone" => "Kontrolli alati muudatusi ajavööndis",
-"Timeformat" => "Aja vorming",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Nädala esimene päev",
-"Calendar CalDAV syncing address:" => "Kalendri CalDAV sünkroniseerimise aadress:",
"Users" => "Kasutajad",
"select users" => "valitud kasutajad",
"Editable" => "Muudetav",
diff --git a/apps/calendar/l10n/eu.php b/apps/calendar/l10n/eu.php
index 9e1300032f8..5ebce09c58b 100644
--- a/apps/calendar/l10n/eu.php
+++ b/apps/calendar/l10n/eu.php
@@ -1,11 +1,18 @@
<?php $TRANSLATIONS = array(
+"Not all calendars are completely cached" => "Egutegi guztiak ez daude guztiz cacheatuta",
+"Everything seems to be completely cached" => "Dena guztiz cacheatuta dagoela dirudi",
"No calendars found." => "Ez da egutegirik aurkitu.",
"No events found." => "Ez da gertaerarik aurkitu.",
"Wrong calendar" => "Egutegi okerra",
+"The file contained either no events or all events are already saved in your calendar." => "Fitxategiak ez zuen gertaerarik edo gertaera guztiak dagoeneko egutegian gordeta zeuden.",
+"events has been saved in the new calendar" => "gertaerak egutegi berrian gorde dira",
+"Import failed" => "Inportazioak huts egin du",
+"events has been saved in your calendar" => "gertaerak zure egutegian gorde dira",
"New Timezone:" => "Ordu-zonalde berria",
"Timezone changed" => "Ordu-zonaldea aldatuta",
"Invalid request" => "Baliogabeko eskaera",
"Calendar" => "Egutegia",
+"MMMM yyyy" => "yyyy MMMM",
"Birthday" => "Jaioteguna",
"Business" => "Negozioa",
"Call" => "Deia",
@@ -22,6 +29,7 @@
"Questions" => "Galderak",
"Work" => "Lana",
"unnamed" => "izengabea",
+"New Calendar" => "Egutegi berria",
"Does not repeat" => "Ez da errepikatzen",
"Daily" => "Egunero",
"Weekly" => "Astero",
@@ -66,8 +74,26 @@
"by day and month" => "eguna eta hilabetearen arabera",
"Date" => "Data",
"Cal." => "Eg.",
+"Sun." => "ig.",
+"Mon." => "al.",
+"Tue." => "ar.",
+"Wed." => "az.",
+"Thu." => "og.",
+"Fri." => "ol.",
+"Sat." => "lr.",
+"Jan." => "urt.",
+"Feb." => "ots.",
+"Mar." => "mar.",
+"Apr." => "api.",
+"May." => "mai.",
+"Jun." => "eka.",
+"Jul." => "uzt.",
+"Aug." => "abu.",
+"Sep." => "ira.",
+"Oct." => "urr.",
+"Nov." => "aza.",
+"Dec." => "abe.",
"All day" => "Egun guztia",
-"New Calendar" => "Egutegi berria",
"Missing fields" => "Eremuak faltan",
"Title" => "Izenburua",
"From Date" => "Hasierako Data",
@@ -80,9 +106,6 @@
"Month" => "Hilabetea",
"List" => "Zerrenda",
"Today" => "Gaur",
-"Calendars" => "Egutegiak",
-"There was a fail, while parsing the file." => "Huts bat egon da, fitxategia aztertzen zen bitartea.",
-"Choose active calendars" => "Aukeratu egutegi aktiboak",
"Your calendars" => "Zure egutegiak",
"CalDav Link" => "CalDav lotura",
"Shared calendars" => "Elkarbanatutako egutegiak",
@@ -131,25 +154,26 @@
"Interval" => "Tartea",
"End" => "Amaiera",
"occurrences" => "errepikapenak",
-"Import a calendar file" => "Inportatu egutegi fitxategi bat",
-"Please choose the calendar" => "Mesedez aukeratu egutegia",
"create a new calendar" => "sortu egutegi berria",
+"Import a calendar file" => "Inportatu egutegi fitxategi bat",
+"Please choose a calendar" => "Mesedez aukeratu egutegi bat.",
"Name of new calendar" => "Egutegi berriaren izena",
+"Take an available name!" => "Hartu eskuragarri dagoen izen bat!",
+"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "Izen hau duen egutegi bat dagoeneko existitzen da. Hala ere jarraitzen baduzu, egutegi hauek elkartuko dira.",
"Import" => "Importatu",
-"Importing calendar" => "Egutegia inportatzen",
-"Calendar imported successfully" => "Egutegia ongi inportatu da",
"Close Dialog" => "Itxi lehioa",
"Create a new event" => "Sortu gertaera berria",
"View an event" => "Ikusi gertaera bat",
"No categories selected" => "Ez da kategoriarik hautatu",
-"Select category" => "Aukeratu kategoria",
"Timezone" => "Ordu-zonaldea",
-"Check always for changes of the timezone" => "Egiaztatu beti ordu-zonalde aldaketen bila",
-"Timeformat" => "Ordu formatua",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Asteko lehenego eguna",
-"Calendar CalDAV syncing address:" => "Egutegiaren CalDAV sinkronizazio helbidea",
+"Cache" => "Cache",
+"Clear cache for repeating events" => "Ezabatu gertaera errepikakorren cachea",
+"Calendar CalDAV syncing addresses" => "Egutegiaren CalDAV sinkronizazio helbideak",
+"more info" => "informazio gehiago",
+"Primary address (Kontact et al)" => "Helbide nagusia",
+"iOS/OS X" => "iOS/OS X",
"Users" => "Erabiltzaileak",
"select users" => "hautatutako erabiltzaileak",
"Editable" => "Editagarria",
diff --git a/apps/calendar/l10n/fa.php b/apps/calendar/l10n/fa.php
index cd2bb9c2e5a..9235460834b 100644
--- a/apps/calendar/l10n/fa.php
+++ b/apps/calendar/l10n/fa.php
@@ -6,7 +6,12 @@
"Timezone changed" => "زمان محلی تغییر یافت",
"Invalid request" => "درخواست نامعتبر",
"Calendar" => "تقویم",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM yyyy",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "DDD m[ yyyy]{ '&#8212;'[ DDD] m yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
"Birthday" => "روزتولد",
"Business" => "تجارت",
"Call" => "تماس گرفتن",
@@ -23,6 +28,7 @@
"Questions" => "سوالات",
"Work" => "کار",
"unnamed" => "نام گذاری نشده",
+"New Calendar" => "تقویم جدید",
"Does not repeat" => "تکرار نکنید",
"Daily" => "روزانه",
"Weekly" => "هفتهگی",
@@ -68,7 +74,6 @@
"Date" => "تاریخ",
"Cal." => "تقویم.",
"All day" => "هرروز",
-"New Calendar" => "تقویم جدید",
"Missing fields" => "فیلد های گم شده",
"Title" => "عنوان",
"From Date" => "از تاریخ",
@@ -81,9 +86,6 @@
"Month" => "ماه",
"List" => "فهرست",
"Today" => "امروز",
-"Calendars" => "تقویم ها",
-"There was a fail, while parsing the file." => "ناتوان در تجزیه پرونده",
-"Choose active calendars" => "تقویم فعال را انتخاب کنید",
"Your calendars" => "تقویم های شما",
"CalDav Link" => "CalDav Link",
"Shared calendars" => "تقویمهای به اشترک گذاری شده",
@@ -132,27 +134,19 @@
"Interval" => "فاصله",
"End" => "پایان",
"occurrences" => "ظهور",
-"Import a calendar file" => "یک پرونده حاوی تقویم وارد کنید",
-"Please choose the calendar" => "لطفا تقویم را انتخاب کنید",
"create a new calendar" => "یک تقویم جدید ایجاد کنید",
+"Import a calendar file" => "یک پرونده حاوی تقویم وارد کنید",
"Name of new calendar" => "نام تقویم جدید",
"Import" => "ورودی دادن",
-"Importing calendar" => "درحال افزودن تقویم",
-"Calendar imported successfully" => "افزودن تقویم موفقیت آمیز بود",
"Close Dialog" => "بستن دیالوگ",
"Create a new event" => "یک رویداد ایجاد کنید",
"View an event" => "دیدن یک رویداد",
"No categories selected" => "هیچ گروهی انتخاب نشده",
-"Select category" => "انتخاب گروه",
"of" => "از",
"at" => "در",
"Timezone" => "زمان محلی",
-"Check always for changes of the timezone" => "همیشه بررسی کنید برای تغییر زمان محلی",
-"Timeformat" => "نوع زمان",
"24h" => "24 ساعت",
"12h" => "12 ساعت",
-"First day of the week" => "یکمین روز هفته",
-"Calendar CalDAV syncing address:" => "Calendar CalDAV syncing address :",
"Users" => "کاربرها",
"select users" => "انتخاب شناسه ها",
"Editable" => "قابل ویرایش",
diff --git a/apps/calendar/l10n/fi_FI.php b/apps/calendar/l10n/fi_FI.php
index 23096d7365a..1faa161e658 100644
--- a/apps/calendar/l10n/fi_FI.php
+++ b/apps/calendar/l10n/fi_FI.php
@@ -87,9 +87,6 @@
"Month" => "Kuukausi",
"List" => "Lista",
"Today" => "Tänään",
-"Calendars" => "Kalenterit",
-"There was a fail, while parsing the file." => "Tiedostoa jäsennettäessä tapahtui virhe.",
-"Choose active calendars" => "Valitse aktiiviset kalenterit",
"Your calendars" => "Omat kalenterisi",
"CalDav Link" => "CalDav-linkki",
"Shared calendars" => "Jaetut kalenterit",
@@ -143,11 +140,8 @@
"View an event" => "Avaa tapahtuma",
"No categories selected" => "Luokkia ei ole valittu",
"Timezone" => "Aikavyöhyke",
-"Check always for changes of the timezone" => "Tarkista aina aikavyöhykkeen muutokset",
-"Timeformat" => "Ajan esitysmuoto",
"24h" => "24 tuntia",
"12h" => "12 tuntia",
-"First day of the week" => "Viikon ensimmäinen päivä",
"Calendar CalDAV syncing addresses" => "Kalenterin CalDAV-synkronointiosoitteet",
"iOS/OS X" => "iOS/OS X",
"Users" => "Käyttäjät",
diff --git a/apps/calendar/l10n/fr.php b/apps/calendar/l10n/fr.php
index c43b16631e4..90ba903b876 100644
--- a/apps/calendar/l10n/fr.php
+++ b/apps/calendar/l10n/fr.php
@@ -112,9 +112,6 @@
"Month" => "Mois",
"List" => "Liste",
"Today" => "Aujourd'hui",
-"Calendars" => "Calendriers",
-"There was a fail, while parsing the file." => "Une erreur est survenue pendant la lecture du fichier.",
-"Choose active calendars" => "Choix des calendriers actifs",
"Your calendars" => "Vos calendriers",
"CalDav Link" => "Lien CalDav",
"Shared calendars" => "Calendriers partagés",
@@ -177,11 +174,8 @@
"of" => "de",
"at" => "à",
"Timezone" => "Fuseau horaire",
-"Check always for changes of the timezone" => "Toujours vérifier d'éventuels changements de fuseau horaire",
-"Timeformat" => "Format de l'heure",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Premier jour de la semaine",
"Cache" => "Cache",
"Clear cache for repeating events" => "Nettoyer le cache des événements répétitifs",
"Calendar CalDAV syncing addresses" => "Adresses de synchronisation des calendriers CalDAV",
diff --git a/apps/calendar/l10n/gl.php b/apps/calendar/l10n/gl.php
index 3178b1819ec..ff7e4833ad1 100644
--- a/apps/calendar/l10n/gl.php
+++ b/apps/calendar/l10n/gl.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Fuso horario trocado",
"Invalid request" => "Petición non válida",
"Calendar" => "Calendario",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM yyyy",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d MMM[ yyyy]{ '&#8212;'d [ MMM] yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d,yyyy",
"Birthday" => "Aniversario",
"Business" => "Traballo",
"Call" => "Chamada",
@@ -23,6 +28,7 @@
"Questions" => "Preguntas",
"Work" => "Traballo",
"unnamed" => "sen nome",
+"New Calendar" => "Novo calendario",
"Does not repeat" => "Non se repite",
"Daily" => "A diario",
"Weekly" => "Semanalmente",
@@ -68,7 +74,6 @@
"Date" => "Data",
"Cal." => "Cal.",
"All day" => "Todo o dia",
-"New Calendar" => "Novo calendario",
"Missing fields" => "Faltan campos",
"Title" => "Título",
"From Date" => "Desde a data",
@@ -81,9 +86,6 @@
"Month" => "Mes",
"List" => "Lista",
"Today" => "Hoxe",
-"Calendars" => "Calendarios",
-"There was a fail, while parsing the file." => "Produciuse un erro ao procesar o ficheiro",
-"Choose active calendars" => "Escolla os calendarios activos",
"Your calendars" => "Os seus calendarios",
"CalDav Link" => "Ligazón CalDav",
"Shared calendars" => "Calendarios compartidos",
@@ -132,27 +134,19 @@
"Interval" => "Intervalo",
"End" => "Fin",
"occurrences" => "acontecementos",
-"Import a calendar file" => "Importar un ficheiro de calendario",
-"Please choose the calendar" => "Por favor, seleccione o calendario",
"create a new calendar" => "crear un novo calendario",
+"Import a calendar file" => "Importar un ficheiro de calendario",
"Name of new calendar" => "Nome do novo calendario",
"Import" => "Importar",
-"Importing calendar" => "Importar calendario",
-"Calendar imported successfully" => "Calendario importado correctamente",
"Close Dialog" => "Pechar diálogo",
"Create a new event" => "Crear un novo evento",
"View an event" => "Ver un evento",
"No categories selected" => "Non seleccionou as categorías",
-"Select category" => "Seleccionar categoría",
"of" => "de",
"at" => "a",
"Timezone" => "Fuso horario",
-"Check always for changes of the timezone" => "Comprobar sempre cambios de fuso horario",
-"Timeformat" => "Formato de hora",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Primeiro día da semana",
-"Calendar CalDAV syncing address:" => "Enderezo de sincronización do calendario CalDAV:",
"Users" => "Usuarios",
"select users" => "escoller usuarios",
"Editable" => "Editable",
diff --git a/apps/calendar/l10n/he.php b/apps/calendar/l10n/he.php
index c161d3be2ef..d5c0b2b2e53 100644
--- a/apps/calendar/l10n/he.php
+++ b/apps/calendar/l10n/he.php
@@ -6,7 +6,12 @@
"Timezone changed" => "אזור זמן השתנה",
"Invalid request" => "בקשה לא חוקית",
"Calendar" => "ח שנה",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM yyyy",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d MMM [ yyyy]{ '&#8212;'d[ MMM] yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
"Birthday" => "יום הולדת",
"Business" => "עסקים",
"Call" => "שיחה",
@@ -23,6 +28,7 @@
"Questions" => "שאלות",
"Work" => "עבודה",
"unnamed" => "ללא שם",
+"New Calendar" => "לוח שנה חדש",
"Does not repeat" => "ללא חזרה",
"Daily" => "יומי",
"Weekly" => "שבועי",
@@ -68,7 +74,6 @@
"Date" => "תאריך",
"Cal." => "לוח שנה",
"All day" => "היום",
-"New Calendar" => "לוח שנה חדש",
"Missing fields" => "שדות חסרים",
"Title" => "כותרת",
"From Date" => "מתאריך",
@@ -81,9 +86,6 @@
"Month" => "חודש",
"List" => "רשימה",
"Today" => "היום",
-"Calendars" => "לוחות שנה",
-"There was a fail, while parsing the file." => "אירעה שגיאה בעת פענוח הקובץ.",
-"Choose active calendars" => "בחר לוחות שנה פעילים",
"Your calendars" => "לוחות השנה שלך",
"CalDav Link" => "קישור CalDav",
"Shared calendars" => "לוחות שנה מושתפים",
@@ -132,27 +134,19 @@
"Interval" => "משך",
"End" => "סיום",
"occurrences" => "מופעים",
-"Import a calendar file" => "יבוא קובץ לוח שנה",
-"Please choose the calendar" => "נא לבחור את לוח השנה",
"create a new calendar" => "יצירת לוח שנה חדש",
+"Import a calendar file" => "יבוא קובץ לוח שנה",
"Name of new calendar" => "שם לוח השנה החדש",
"Import" => "יבוא",
-"Importing calendar" => "היומן מייובא",
-"Calendar imported successfully" => "היומן ייובא בהצלחה",
"Close Dialog" => "סגירת הדו־שיח",
"Create a new event" => "יצירת אירוע חדש",
"View an event" => "צפייה באירוע",
"No categories selected" => "לא נבחרו קטגוריות",
-"Select category" => "בחר קטגוריה",
"of" => "מתוך",
"at" => "בשנה",
"Timezone" => "אזור זמן",
-"Check always for changes of the timezone" => "יש לבדוק תמיד אם יש הבדלים באזורי הזמן",
-"Timeformat" => "מבנה התאריך",
"24h" => "24 שעות",
"12h" => "12 שעות",
-"First day of the week" => "היום הראשון בשבוע",
-"Calendar CalDAV syncing address:" => "כתובת הסנכרון ללוח שנה מסוג CalDAV:",
"Users" => "משתמשים",
"select users" => "נא לבחור במשתמשים",
"Editable" => "ניתן לעריכה",
diff --git a/apps/calendar/l10n/hr.php b/apps/calendar/l10n/hr.php
index 551bb4abbcb..4ab5b955186 100644
--- a/apps/calendar/l10n/hr.php
+++ b/apps/calendar/l10n/hr.php
@@ -23,6 +23,7 @@
"Questions" => "Pitanja",
"Work" => "Posao",
"unnamed" => "bezimeno",
+"New Calendar" => "Novi kalendar",
"Does not repeat" => "Ne ponavlja se",
"Daily" => "Dnevno",
"Weekly" => "Tjedno",
@@ -67,7 +68,6 @@
"Date" => "datum",
"Cal." => "Kal.",
"All day" => "Cijeli dan",
-"New Calendar" => "Novi kalendar",
"Missing fields" => "Nedostaju polja",
"Title" => "Naslov",
"From Date" => "Datum od",
@@ -80,9 +80,6 @@
"Month" => "Mjesec",
"List" => "Lista",
"Today" => "Danas",
-"Calendars" => "Kalendari",
-"There was a fail, while parsing the file." => "Pogreška pri čitanju datoteke.",
-"Choose active calendars" => "Odabir aktivnih kalendara",
"Your calendars" => "Vaši kalendari",
"CalDav Link" => "CalDav poveznica",
"Shared calendars" => "Podijeljeni kalendari",
@@ -128,27 +125,19 @@
"Interval" => "Interval",
"End" => "Kraj",
"occurrences" => "pojave",
-"Import a calendar file" => "Uvozite datoteku kalendara",
-"Please choose the calendar" => "Odaberi kalendar",
"create a new calendar" => "stvori novi kalendar",
+"Import a calendar file" => "Uvozite datoteku kalendara",
"Name of new calendar" => "Ime novog kalendara",
"Import" => "Uvoz",
-"Importing calendar" => "Uvoz kalendara",
-"Calendar imported successfully" => "Kalendar je uspješno uvezen",
"Close Dialog" => "Zatvori dijalog",
"Create a new event" => "Unesi novi događaj",
"View an event" => "Vidjeti događaj",
"No categories selected" => "Nema odabranih kategorija",
-"Select category" => "Odabir kategorije",
"of" => "od",
"at" => "na",
"Timezone" => "Vremenska zona",
-"Check always for changes of the timezone" => "Provjerite uvijek za promjene vremenske zone",
-"Timeformat" => "Format vremena",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Prvi dan tjedna",
-"Calendar CalDAV syncing address:" => "Adresa za CalDAV sinkronizaciju kalendara:",
"Users" => "Korisnici",
"select users" => "odaberi korisnike",
"Editable" => "Može se uređivati",
diff --git a/apps/calendar/l10n/hu_HU.php b/apps/calendar/l10n/hu_HU.php
index d97887aac7a..3ef4b9675be 100644
--- a/apps/calendar/l10n/hu_HU.php
+++ b/apps/calendar/l10n/hu_HU.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Időzóna megváltozott",
"Invalid request" => "Érvénytelen kérés",
"Calendar" => "Naptár",
+"ddd" => "nnn",
+"ddd M/d" => "nnn H/n",
+"dddd M/d" => "nnnn H/n",
+"MMMM yyyy" => "HHHH éééé",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "nnnn, HHH n, éééé",
"Birthday" => "Születésap",
"Business" => "Üzlet",
"Call" => "Hívás",
@@ -23,6 +28,7 @@
"Questions" => "Kérdések",
"Work" => "Munka",
"unnamed" => "névtelen",
+"New Calendar" => "Új naptár",
"Does not repeat" => "Nem ismétlődik",
"Daily" => "Napi",
"Weekly" => "Heti",
@@ -68,7 +74,6 @@
"Date" => "Dátum",
"Cal." => "Naptár",
"All day" => "Egész nap",
-"New Calendar" => "Új naptár",
"Missing fields" => "Hiányzó mezők",
"Title" => "Cím",
"From Date" => "Napjától",
@@ -81,9 +86,6 @@
"Month" => "Hónap",
"List" => "Lista",
"Today" => "Ma",
-"Calendars" => "Naptárak",
-"There was a fail, while parsing the file." => "Probléma volt a fájl elemzése közben.",
-"Choose active calendars" => "Aktív naptár kiválasztása",
"Your calendars" => "Naptárjaid",
"CalDav Link" => "CalDAV link",
"Shared calendars" => "Megosztott naptárak",
@@ -132,27 +134,19 @@
"Interval" => "Időköz",
"End" => "Vége",
"occurrences" => "előfordulások",
-"Import a calendar file" => "Naptár-fájl importálása",
-"Please choose the calendar" => "Válassz naptárat",
"create a new calendar" => "új naptár létrehozása",
+"Import a calendar file" => "Naptár-fájl importálása",
"Name of new calendar" => "Új naptár neve",
"Import" => "Importálás",
-"Importing calendar" => "Naptár importálása",
-"Calendar imported successfully" => "Naptár sikeresen importálva",
"Close Dialog" => "Párbeszédablak bezárása",
"Create a new event" => "Új esemény létrehozása",
"View an event" => "Esemény megtekintése",
"No categories selected" => "Nincs kiválasztott kategória",
-"Select category" => "Kategória kiválasztása",
"of" => ", tulaj ",
"at" => ", ",
"Timezone" => "Időzóna",
-"Check always for changes of the timezone" => "Mindig ellenőrizze az időzóna-változásokat",
-"Timeformat" => "Időformátum",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "A hét első napja",
-"Calendar CalDAV syncing address:" => "Naptár CalDAV szinkronizálási cím:",
"Users" => "Felhasználók",
"select users" => "válassz felhasználókat",
"Editable" => "Szerkeszthető",
diff --git a/apps/calendar/l10n/ia.php b/apps/calendar/l10n/ia.php
index a346e4de5b7..84c36536b95 100644
--- a/apps/calendar/l10n/ia.php
+++ b/apps/calendar/l10n/ia.php
@@ -16,6 +16,7 @@
"Questions" => "Demandas",
"Work" => "Travalio",
"unnamed" => "sin nomine",
+"New Calendar" => "Nove calendario",
"Does not repeat" => "Non repite",
"Daily" => "Quotidian",
"Weekly" => "Septimanal",
@@ -51,7 +52,6 @@
"by day and month" => "per dia e mense",
"Date" => "Data",
"All day" => "Omne die",
-"New Calendar" => "Nove calendario",
"Missing fields" => "Campos incomplete",
"Title" => "Titulo",
"From Date" => "Data de initio",
@@ -62,8 +62,6 @@
"Month" => "Mense",
"List" => "Lista",
"Today" => "Hodie",
-"Calendars" => "Calendarios",
-"Choose active calendars" => "Selectionar calendarios active",
"Your calendars" => "Tu calendarios",
"Download" => "Discarga",
"Edit" => "Modificar",
@@ -96,20 +94,17 @@
"Select weeks" => "Seliger septimanas",
"Interval" => "Intervallo",
"End" => "Fin",
-"Import a calendar file" => "Importar un file de calendario",
-"Please choose the calendar" => "Selige el calendario",
"create a new calendar" => "crear un nove calendario",
+"Import a calendar file" => "Importar un file de calendario",
"Name of new calendar" => "Nomine del calendario",
"Import" => "Importar",
"Close Dialog" => "Clauder dialogo",
"Create a new event" => "Crear un nove evento",
"View an event" => "Vide un evento",
"No categories selected" => "Nulle categorias seligite",
-"Select category" => "Selectionar categoria",
"of" => "de",
"at" => "in",
"Timezone" => "Fuso horari",
-"First day of the week" => "Prime die del septimana",
"Users" => "Usatores",
"Groups" => "Gruppos"
);
diff --git a/apps/calendar/l10n/id.php b/apps/calendar/l10n/id.php
index ac0734abba4..865c2118fac 100644
--- a/apps/calendar/l10n/id.php
+++ b/apps/calendar/l10n/id.php
@@ -14,9 +14,6 @@
"Week" => "Minggu",
"Month" => "Bulan",
"Today" => "Hari ini",
-"Calendars" => "Kalender",
-"There was a fail, while parsing the file." => "Terjadi kesalahan, saat mengurai berkas.",
-"Choose active calendars" => "Pilih kalender aktif",
"Download" => "Unduh",
"Edit" => "Sunting",
"Edit calendar" => "Sunting kalender",
diff --git a/apps/calendar/l10n/it.php b/apps/calendar/l10n/it.php
index 68f3e89dae1..04e10b582bf 100644
--- a/apps/calendar/l10n/it.php
+++ b/apps/calendar/l10n/it.php
@@ -112,9 +112,7 @@
"Month" => "Mese",
"List" => "Elenco",
"Today" => "Oggi",
-"Calendars" => "Calendari",
-"There was a fail, while parsing the file." => "Si è verificato un errore durante l'analisi del file.",
-"Choose active calendars" => "Scegli i calendari attivi",
+"Settings" => "Impostazioni",
"Your calendars" => "I tuoi calendari",
"CalDav Link" => "Collegamento CalDav",
"Shared calendars" => "Calendari condivisi",
@@ -176,14 +174,16 @@
"No categories selected" => "Nessuna categoria selezionata",
"of" => "di",
"at" => "alle",
+"General" => "Generale",
"Timezone" => "Fuso orario",
-"Check always for changes of the timezone" => "Controlla sempre i cambiamenti di fuso orario",
-"Timeformat" => "Formato orario",
+"Update timezone automatically" => "Aggiorna automaticamente il fuso orario",
+"Time format" => "Formato orario",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Primo giorno della settimana",
+"Start week on" => "La settimana inizia il",
"Cache" => "Cache",
"Clear cache for repeating events" => "Cancella gli eventi che si ripetono dalla cache",
+"URLs" => "URL",
"Calendar CalDAV syncing addresses" => "Indirizzi di sincronizzazione calendari CalDAV",
"more info" => "ulteriori informazioni",
"Primary address (Kontact et al)" => "Indirizzo principale (Kontact e altri)",
diff --git a/apps/calendar/l10n/ja_JP.php b/apps/calendar/l10n/ja_JP.php
index c533a9bd1a7..f49aef73d5a 100644
--- a/apps/calendar/l10n/ja_JP.php
+++ b/apps/calendar/l10n/ja_JP.php
@@ -1,12 +1,23 @@
<?php $TRANSLATIONS = array(
+"Not all calendars are completely cached" => "すべてのカレンダーは完全にキャッシュされていません",
+"Everything seems to be completely cached" => "すべて完全にキャッシュされていると思われます",
"No calendars found." => "カレンダーが見つかりませんでした。",
"No events found." => "イベントが見つかりませんでした。",
"Wrong calendar" => "誤ったカレンダーです",
+"The file contained either no events or all events are already saved in your calendar." => "イベントの無いもしくはすべてのイベントを含むファイルは既にあなたのカレンダーに保存されています。",
+"events has been saved in the new calendar" => "イベントは新しいカレンダーに保存されました",
+"Import failed" => "インポートに失敗",
+"events has been saved in your calendar" => "イベントはあなたのカレンダーに保存されました",
"New Timezone:" => "新しいタイムゾーン:",
"Timezone changed" => "タイムゾーンが変更されました",
"Invalid request" => "無効なリクエストです",
"Calendar" => "カレンダー",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"ddd" => "dddd",
+"ddd M/d" => "M月d日 (dddd)",
+"dddd M/d" => "M月d日 (dddd)",
+"MMMM yyyy" => "yyyy年M月",
+"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "yyyy年M月d日{ '~' [yyyy年][M月]d日}",
+"dddd, MMM d, yyyy" => "yyyy年M月d日 (dddd)",
"Birthday" => "誕生日",
"Business" => "ビジネス",
"Call" => "電話をかける",
@@ -22,6 +33,8 @@
"Projects" => "プロジェクト",
"Questions" => "質問事項",
"Work" => "週の始まり",
+"unnamed" => "無名",
+"New Calendar" => "新しくカレンダーを作成",
"Does not repeat" => "繰り返さない",
"Daily" => "毎日",
"Weekly" => "毎週",
@@ -34,13 +47,13 @@
"by date" => "日付で指定",
"by monthday" => "日にちで指定",
"by weekday" => "曜日で指定",
-"Monday" => "月曜",
-"Tuesday" => "火曜",
-"Wednesday" => "水曜",
-"Thursday" => "木曜",
-"Friday" => "金曜",
-"Saturday" => "土曜",
-"Sunday" => "日曜",
+"Monday" => "月",
+"Tuesday" => "火",
+"Wednesday" => "水",
+"Thursday" => "木",
+"Friday" => "金",
+"Saturday" => "土",
+"Sunday" => "日",
"events week of month" => "予定のある週を指定",
"first" => "1週目",
"second" => "2週目",
@@ -48,26 +61,44 @@
"fourth" => "4週目",
"fifth" => "5週目",
"last" => "最終週",
-"January" => "1月",
-"February" => "2月",
-"March" => "3月",
-"April" => "4月",
-"May" => "5月",
-"June" => "6月",
-"July" => "7月",
-"August" => "8月",
-"September" => "9月",
-"October" => "10月",
-"November" => "11月",
-"December" => "12月",
+"January" => "1月",
+"February" => "2月",
+"March" => "3月",
+"April" => "4月",
+"May" => "5月",
+"June" => "6月",
+"July" => "7月",
+"August" => "8月",
+"September" => "9月",
+"October" => "10月",
+"November" => "11月",
+"December" => "12月",
"by events date" => "日付で指定",
"by yearday(s)" => "日番号で指定",
"by weeknumber(s)" => "週番号で指定",
"by day and month" => "月と日で指定",
"Date" => "日付",
"Cal." => "カレンダー",
+"Sun." => "日",
+"Mon." => "月",
+"Tue." => "火",
+"Wed." => "水",
+"Thu." => "木",
+"Fri." => "金",
+"Sat." => "土",
+"Jan." => "1月",
+"Feb." => "2月",
+"Mar." => "3月",
+"Apr." => "4月",
+"May." => "5月",
+"Jun." => "6月",
+"Jul." => "7月",
+"Aug." => "8月",
+"Sep." => "9月",
+"Oct." => "10月",
+"Nov." => "11月",
+"Dec." => "12月",
"All day" => "終日",
-"New Calendar" => "新しくカレンダーを作成",
"Missing fields" => "項目がありません",
"Title" => "タイトル",
"From Date" => "開始日",
@@ -80,9 +111,6 @@
"Month" => "月",
"List" => "リスト",
"Today" => "今日",
-"Calendars" => "カレンダー",
-"There was a fail, while parsing the file." => "ファイルの構文解析に失敗しました。",
-"Choose active calendars" => "アクティブなカレンダーを選択",
"Your calendars" => "あなたのカレンダー",
"CalDav Link" => "CalDavへのリンク",
"Shared calendars" => "共有カレンダー",
@@ -91,6 +119,7 @@
"Download" => "ダウンロード",
"Edit" => "編集",
"Delete" => "削除",
+"shared with you by" => "共有者",
"New calendar" => "新しいカレンダー",
"Edit calendar" => "カレンダーを編集",
"Displayname" => "表示名",
@@ -130,27 +159,29 @@
"Interval" => "間隔",
"End" => "繰り返す期間",
"occurrences" => "回繰り返す",
-"Import a calendar file" => "カレンダーファイルをインポート",
-"Please choose the calendar" => "カレンダーを選択してください",
"create a new calendar" => "新規カレンダーの作成",
+"Import a calendar file" => "カレンダーファイルをインポート",
+"Please choose a calendar" => "カレンダーを選択してください",
"Name of new calendar" => "新規カレンダーの名称",
+"Take an available name!" => "利用可能な名前を指定してください!",
+"A Calendar with this name already exists. If you continue anyhow, these calendars will be merged." => "このカレンダー名はすでに使われています。もし続行する場合は、これらのカレンダーはマージされます。",
"Import" => "インポート",
-"Importing calendar" => "カレンダーを取り込み中",
-"Calendar imported successfully" => "カレンダーの取り込みに成功しました",
"Close Dialog" => "ダイアログを閉じる",
"Create a new event" => "新しいイベントを作成",
"View an event" => "イベントを閲覧",
"No categories selected" => "カテゴリが選択されていません",
-"Select category" => "カテゴリーを選択してください",
"of" => "of",
"at" => "at",
"Timezone" => "タイムゾーン",
-"Check always for changes of the timezone" => "タイムゾーンの変更を常に確認",
-"Timeformat" => "時刻のフォーマット",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "週の始まり",
-"Calendar CalDAV syncing address:" => "CalDAVカレンダーの同期アドレス:",
+"Cache" => "キャッシュ",
+"Clear cache for repeating events" => "イベントを繰り返すためにキャッシュをクリアしてください",
+"Calendar CalDAV syncing addresses" => "CalDAVカレンダーの同期用アドレス",
+"more info" => "さらに",
+"Primary address (Kontact et al)" => "プライマリアドレス(コンタクト等)",
+"iOS/OS X" => "iOS/OS X",
+"Read only iCalendar link(s)" => "読み取り専用のiCalendarリンク",
"Users" => "ユーザ",
"select users" => "ユーザを選択",
"Editable" => "編集可能",
diff --git a/apps/calendar/l10n/ko.php b/apps/calendar/l10n/ko.php
index 181bfa4378f..77e421d4aab 100644
--- a/apps/calendar/l10n/ko.php
+++ b/apps/calendar/l10n/ko.php
@@ -6,6 +6,12 @@
"Timezone changed" => "시간대 변경됨",
"Invalid request" => "잘못된 요청",
"Calendar" => "달력",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM yyyy",
+"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
"Birthday" => "생일",
"Business" => "사업",
"Call" => "통화",
@@ -22,6 +28,7 @@
"Questions" => "질문",
"Work" => "작업",
"unnamed" => "익명의",
+"New Calendar" => "새로운 달력",
"Does not repeat" => "반복 없음",
"Daily" => "매일",
"Weekly" => "매주",
@@ -67,7 +74,6 @@
"Date" => "날짜",
"Cal." => "달력",
"All day" => "매일",
-"New Calendar" => "새로운 달력",
"Missing fields" => "기입란이 비어있습니다",
"Title" => "제목",
"From Date" => "시작날짜",
@@ -80,9 +86,6 @@
"Month" => "달",
"List" => "목록",
"Today" => "오늘",
-"Calendars" => "달력",
-"There was a fail, while parsing the file." => "파일을 처리하는 중 오류가 발생하였습니다.",
-"Choose active calendars" => "활성 달력 선택",
"Your calendars" => "내 달력",
"CalDav Link" => "CalDav 링크",
"Shared calendars" => "공유 달력",
@@ -131,27 +134,19 @@
"Interval" => "간격",
"End" => "끝",
"occurrences" => "번 이후",
-"Import a calendar file" => "달력 파일 가져오기",
-"Please choose the calendar" => "달력을 선택해 주세요",
"create a new calendar" => "새 달력 만들기",
+"Import a calendar file" => "달력 파일 가져오기",
"Name of new calendar" => "새 달력 이름",
"Import" => "입력",
-"Importing calendar" => "달력 입력",
-"Calendar imported successfully" => "달력 입력을 성공적으로 마쳤습니다.",
"Close Dialog" => "대화 마침",
"Create a new event" => "새 이벤트 만들기",
"View an event" => "일정 보기",
"No categories selected" => "선택된 카테고리 없음",
-"Select category" => "선택 카테고리",
"of" => "의",
"at" => "에서",
"Timezone" => "시간대",
-"Check always for changes of the timezone" => "항상 시간대 변경 확인하기",
-"Timeformat" => "시간 형식 설정",
"24h" => "24시간",
"12h" => "12시간",
-"First day of the week" => "그 주의 첫째날",
-"Calendar CalDAV syncing address:" => "달력 CalDav 동기화 주소",
"Users" => "사용자",
"select users" => "사용자 선택",
"Editable" => "편집 가능",
diff --git a/apps/calendar/l10n/lb.php b/apps/calendar/l10n/lb.php
index b40f652cc50..1ef05b048c0 100644
--- a/apps/calendar/l10n/lb.php
+++ b/apps/calendar/l10n/lb.php
@@ -22,6 +22,7 @@
"Projects" => "Projeten",
"Questions" => "Froen",
"Work" => "Aarbecht",
+"New Calendar" => "Neien Kalenner",
"Does not repeat" => "Widderhëlt sech net",
"Daily" => "Deeglech",
"Weekly" => "All Woch",
@@ -62,7 +63,6 @@
"Date" => "Datum",
"Cal." => "Cal.",
"All day" => "All Dag",
-"New Calendar" => "Neien Kalenner",
"Missing fields" => "Felder déi feelen",
"Title" => "Titel",
"From Date" => "Vun Datum",
@@ -75,9 +75,6 @@
"Month" => "Mount",
"List" => "Lescht",
"Today" => "Haut",
-"Calendars" => "Kalenneren",
-"There was a fail, while parsing the file." => "Feeler beim lueden vum Fichier.",
-"Choose active calendars" => "Wiel aktiv Kalenneren aus",
"Your calendars" => "Deng Kalenneren",
"CalDav Link" => "CalDav Link",
"Shared calendars" => "Gedeelte Kalenneren",
@@ -114,19 +111,13 @@
"Interval" => "Intervall",
"End" => "Enn",
"occurrences" => "Virkommes",
-"Import a calendar file" => "E Kalenner Fichier importéieren",
-"Please choose the calendar" => "Wiel den Kalenner aus",
"create a new calendar" => "E neie Kalenner uleeën",
+"Import a calendar file" => "E Kalenner Fichier importéieren",
"Name of new calendar" => "Numm vum neie Kalenner",
"Import" => "Import",
-"Importing calendar" => "Importéiert Kalenner",
-"Calendar imported successfully" => "Kalenner erfollegräich importéiert",
"Close Dialog" => "Dialog zoumaachen",
"Create a new event" => "En Evenement maachen",
-"Select category" => "Kategorie auswielen",
"Timezone" => "Zäitzon",
-"Timeformat" => "Zäit Format",
"24h" => "24h",
-"12h" => "12h",
-"Calendar CalDAV syncing address:" => "CalDAV Kalenner Synchronisatioun's Adress:"
+"12h" => "12h"
);
diff --git a/apps/calendar/l10n/lt_LT.php b/apps/calendar/l10n/lt_LT.php
index d7e15fb438f..feb8618897c 100644
--- a/apps/calendar/l10n/lt_LT.php
+++ b/apps/calendar/l10n/lt_LT.php
@@ -23,6 +23,7 @@
"Questions" => "Klausimai",
"Work" => "Darbas",
"unnamed" => "be pavadinimo",
+"New Calendar" => "Naujas kalendorius",
"Does not repeat" => "Nekartoti",
"Daily" => "Kasdien",
"Weekly" => "Kiekvieną savaitę",
@@ -56,7 +57,6 @@
"Date" => "Data",
"Cal." => "Kal.",
"All day" => "Visa diena",
-"New Calendar" => "Naujas kalendorius",
"Missing fields" => "Trūkstami laukai",
"Title" => "Pavadinimas",
"From Date" => "Nuo datos",
@@ -69,9 +69,6 @@
"Month" => "Mėnuo",
"List" => "Sąrašas",
"Today" => "Šiandien",
-"Calendars" => "Kalendoriai",
-"There was a fail, while parsing the file." => "Apdorojant failą įvyko klaida.",
-"Choose active calendars" => "Pasirinkite naudojamus kalendorius",
"Your calendars" => "Jūsų kalendoriai",
"CalDav Link" => "CalDav adresas",
"Shared calendars" => "Bendri kalendoriai",
@@ -92,6 +89,7 @@
"Export" => "Eksportuoti",
"Eventinfo" => "Informacija",
"Repeating" => "Pasikartojantis",
+"Alarm" => "Priminimas",
"Attendees" => "Dalyviai",
"Share" => "Dalintis",
"Title of the Event" => "Įvykio pavadinimas",
@@ -113,24 +111,17 @@
"Select weeks" => "Pasirinkite savaites",
"Interval" => "Intervalas",
"End" => "Pabaiga",
-"Import a calendar file" => "Importuoti kalendoriaus failą",
-"Please choose the calendar" => "Pasirinkite kalendorių",
"create a new calendar" => "sukurti naują kalendorių",
+"Import a calendar file" => "Importuoti kalendoriaus failą",
"Name of new calendar" => "Naujo kalendoriaus pavadinimas",
"Import" => "Importuoti",
-"Importing calendar" => "Importuojamas kalendorius",
-"Calendar imported successfully" => "Kalendorius sėkmingai importuotas",
"Close Dialog" => "Uždaryti",
"Create a new event" => "Sukurti naują įvykį",
"View an event" => "Peržiūrėti įvykį",
"No categories selected" => "Nepasirinktos jokios katagorijos",
-"Select category" => "Pasirinkite kategoriją",
"Timezone" => "Laiko juosta",
-"Check always for changes of the timezone" => "Visada tikrinti laiko zonos pasikeitimus",
-"Timeformat" => "Laiko formatas",
"24h" => "24val",
"12h" => "12val",
-"Calendar CalDAV syncing address:" => "CalDAV kalendoriaus synchronizavimo adresas:",
"Users" => "Vartotojai",
"select users" => "pasirinkti vartotojus",
"Editable" => "Redaguojamas",
diff --git a/apps/calendar/l10n/mk.php b/apps/calendar/l10n/mk.php
index 41df376dfa6..1a03101fe51 100644
--- a/apps/calendar/l10n/mk.php
+++ b/apps/calendar/l10n/mk.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Временската зона е променета",
"Invalid request" => "Неправилно барање",
"Calendar" => "Календар",
+"ddd" => "ддд",
+"ddd M/d" => "ддд М/д",
+"dddd M/d" => "дддд М/д",
+"MMMM yyyy" => "ММММ гггг",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "дддд, МММ д, гггг",
"Birthday" => "Роденден",
"Business" => "Деловно",
"Call" => "Повикај",
@@ -23,6 +28,7 @@
"Questions" => "Прашања",
"Work" => "Работа",
"unnamed" => "неименувано",
+"New Calendar" => "Нов календар",
"Does not repeat" => "Не се повторува",
"Daily" => "Дневно",
"Weekly" => "Седмично",
@@ -68,7 +74,6 @@
"Date" => "Датум",
"Cal." => "Кал.",
"All day" => "Цел ден",
-"New Calendar" => "Нов календар",
"Missing fields" => "Полиња кои недостасуваат",
"Title" => "Наслов",
"From Date" => "Од датум",
@@ -81,9 +86,6 @@
"Month" => "Месец",
"List" => "Листа",
"Today" => "Денеска",
-"Calendars" => "Календари",
-"There was a fail, while parsing the file." => "Имаше проблем при парсирање на датотеката.",
-"Choose active calendars" => "Избери активни календари",
"Your calendars" => "Ваши календари",
"CalDav Link" => "Врска за CalDav",
"Shared calendars" => "Споделени календари",
@@ -132,27 +134,19 @@
"Interval" => "интервал",
"End" => "Крај",
"occurrences" => "повторувања",
-"Import a calendar file" => "Внеси календар од датотека ",
-"Please choose the calendar" => "Ве молам изберете го календарот",
"create a new calendar" => "создади нов календар",
+"Import a calendar file" => "Внеси календар од датотека ",
"Name of new calendar" => "Име на новиот календар",
"Import" => "Увези",
-"Importing calendar" => "Увезување на календар",
-"Calendar imported successfully" => "Календарот беше успешно увезен",
"Close Dialog" => "Затвори дијалог",
"Create a new event" => "Создади нов настан",
"View an event" => "Погледај настан",
"No categories selected" => "Нема избрано категории",
-"Select category" => "Избери категорија",
"of" => "од",
"at" => "на",
"Timezone" => "Временска зона",
-"Check always for changes of the timezone" => "Секогаш провери за промени на временската зона",
-"Timeformat" => "Формат на времето",
"24h" => "24ч",
"12h" => "12ч",
-"First day of the week" => "Прв ден од седмицата",
-"Calendar CalDAV syncing address:" => "CalDAV календар адресата за синхронизација:",
"Users" => "Корисници",
"select users" => "избери корисници",
"Editable" => "Изменливо",
diff --git a/apps/calendar/l10n/ms_MY.php b/apps/calendar/l10n/ms_MY.php
index 2cb3ac41c30..4be91a40194 100644
--- a/apps/calendar/l10n/ms_MY.php
+++ b/apps/calendar/l10n/ms_MY.php
@@ -1,9 +1,17 @@
<?php $TRANSLATIONS = array(
+"No calendars found." => "Tiada kalendar dijumpai.",
+"No events found." => "Tiada agenda dijumpai.",
"Wrong calendar" => "Silap kalendar",
"New Timezone:" => "Timezone Baru",
"Timezone changed" => "Zon waktu diubah",
"Invalid request" => "Permintaan tidak sah",
"Calendar" => "Kalendar",
+"ddd" => "ddd",
+"ddd M/d" => "dd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM yyyy",
+"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, yyy",
"Birthday" => "Hari lahir",
"Business" => "Perniagaan",
"Call" => "Panggilan",
@@ -19,6 +27,8 @@
"Projects" => "Projek",
"Questions" => "Soalan",
"Work" => "Kerja",
+"unnamed" => "tiada nama",
+"New Calendar" => "Kalendar baru",
"Does not repeat" => "Tidak berulang",
"Daily" => "Harian",
"Weekly" => "Mingguan",
@@ -64,7 +74,6 @@
"Date" => "Tarikh",
"Cal." => "Kalendar",
"All day" => "Sepanjang hari",
-"New Calendar" => "Kalendar baru",
"Missing fields" => "Ruangan tertinggal",
"Title" => "Tajuk",
"From Date" => "Dari tarikh",
@@ -77,13 +86,15 @@
"Month" => "Bulan",
"List" => "Senarai",
"Today" => "Hari ini",
-"Calendars" => "Kalendar",
-"There was a fail, while parsing the file." => "Berlaku kegagalan ketika penguraian fail. ",
-"Choose active calendars" => "Pilih kalendar yang aktif",
+"Your calendars" => "Kalendar anda",
"CalDav Link" => "Pautan CalDav",
+"Shared calendars" => "Kalendar Kongsian",
+"No shared calendars" => "Tiada kalendar kongsian",
+"Share Calendar" => "Kongsi Kalendar",
"Download" => "Muat turun",
"Edit" => "Edit",
"Delete" => "Hapus",
+"shared with you by" => "dikongsi dengan kamu oleh",
"New calendar" => "Kalendar baru",
"Edit calendar" => "Edit kalendar",
"Displayname" => "Paparan nama",
@@ -94,8 +105,15 @@
"Cancel" => "Batal",
"Edit an event" => "Edit agenda",
"Export" => "Export",
+"Eventinfo" => "Maklumat agenda",
+"Repeating" => "Pengulangan",
+"Alarm" => "Penggera",
+"Attendees" => "Jemputan",
+"Share" => "Berkongsi",
"Title of the Event" => "Tajuk agenda",
"Category" => "kategori",
+"Separate categories with commas" => "Asingkan kategori dengan koma",
+"Edit categories" => "Sunting Kategori",
"All Day Event" => "Agenda di sepanjang hari ",
"From" => "Dari",
"To" => "ke",
@@ -116,20 +134,23 @@
"Interval" => "Tempoh",
"End" => "Tamat",
"occurrences" => "Peristiwa",
-"Import a calendar file" => "Import fail kalendar",
-"Please choose the calendar" => "Sila pilih kalendar",
"create a new calendar" => "Cipta kalendar baru",
+"Import a calendar file" => "Import fail kalendar",
"Name of new calendar" => "Nama kalendar baru",
"Import" => "Import",
-"Importing calendar" => "Import kalendar",
-"Calendar imported successfully" => "Kalendar berjaya diimport",
"Close Dialog" => "Tutup dialog",
"Create a new event" => "Buat agenda baru",
-"Select category" => "Pilih kategori",
+"View an event" => "Papar peristiwa",
+"No categories selected" => "Tiada kategori dipilih",
+"of" => "dari",
+"at" => "di",
"Timezone" => "Zon waktu",
-"Check always for changes of the timezone" => "Sentiasa mengemaskini perubahan zon masa",
-"Timeformat" => "Timeformat",
"24h" => "24h",
"12h" => "12h",
-"Calendar CalDAV syncing address:" => "Kelendar CalDAV mengemaskini alamat:"
+"Users" => "Pengguna",
+"select users" => "Pilih pengguna",
+"Editable" => "Boleh disunting",
+"Groups" => "Kumpulan-kumpulan",
+"select groups" => "pilih kumpulan-kumpulan",
+"make public" => "jadikan tontonan awam"
);
diff --git a/apps/calendar/l10n/nb_NO.php b/apps/calendar/l10n/nb_NO.php
index 95ba5a9dba2..e4b859c7378 100644
--- a/apps/calendar/l10n/nb_NO.php
+++ b/apps/calendar/l10n/nb_NO.php
@@ -8,6 +8,7 @@
"Calendar" => "Kalender",
"Birthday" => "Bursdag",
"Business" => "Forretninger",
+"Call" => "Ring",
"Clients" => "Kunder",
"Holidays" => "Ferie",
"Ideas" => "Ideér",
@@ -20,6 +21,7 @@
"Questions" => "Spørsmål",
"Work" => "Arbeid",
"unnamed" => "uten navn",
+"New Calendar" => "Ny kalender",
"Does not repeat" => "Gjentas ikke",
"Daily" => "Daglig",
"Weekly" => "Ukentlig",
@@ -65,7 +67,6 @@
"Date" => "Dato",
"Cal." => "Kal.",
"All day" => "Hele dagen ",
-"New Calendar" => "Ny kalender",
"Missing fields" => "Manglende felt",
"Title" => "Tittel",
"From Date" => "Fra dato",
@@ -78,9 +79,6 @@
"Month" => "ned",
"List" => "Liste",
"Today" => "I dag",
-"Calendars" => "Kalendre",
-"There was a fail, while parsing the file." => "Det oppstod en feil under åpningen av filen.",
-"Choose active calendars" => "Velg en aktiv kalender",
"Your calendars" => "Dine kalendere",
"CalDav Link" => "CalDav-lenke",
"Shared calendars" => "Delte kalendere",
@@ -129,25 +127,17 @@
"Interval" => "Intervall",
"End" => "Slutt",
"occurrences" => "forekomster",
-"Import a calendar file" => "Importer en kalenderfil",
-"Please choose the calendar" => "Vennligst velg kalenderen",
"create a new calendar" => "Lag en ny kalender",
+"Import a calendar file" => "Importer en kalenderfil",
"Name of new calendar" => "Navn på ny kalender:",
"Import" => "Importer",
-"Importing calendar" => "Importerer kalender",
-"Calendar imported successfully" => "Kalenderen ble importert uten feil",
"Close Dialog" => "Lukk dialog",
"Create a new event" => "Opprett en ny hendelse",
"View an event" => "Se på hendelse",
"No categories selected" => "Ingen kategorier valgt",
-"Select category" => "Velg kategori",
"Timezone" => "Tidssone",
-"Check always for changes of the timezone" => "Se alltid etter endringer i tidssone",
-"Timeformat" => "Tidsformat:",
"24h" => "24 t",
"12h" => "12 t",
-"First day of the week" => "Ukens første dag",
-"Calendar CalDAV syncing address:" => "Synkroniseringsadresse fo kalender CalDAV:",
"Users" => "Brukere",
"select users" => "valgte brukere",
"Editable" => "Redigerbar",
diff --git a/apps/calendar/l10n/nl.php b/apps/calendar/l10n/nl.php
index d141a1cc08c..834c0ad9054 100644
--- a/apps/calendar/l10n/nl.php
+++ b/apps/calendar/l10n/nl.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Tijdzone is veranderd",
"Invalid request" => "Ongeldige aanvraag",
"Calendar" => "Kalender",
-"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d MMM[ yyyy]{ '&#8212;' d[ MMM] yyyy}",
+"ddd" => "ddd",
+"ddd M/d" => "ddd d.M",
+"dddd M/d" => "dddd d.M",
+"MMMM yyyy" => "MMMM yyyy",
+"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d[ MMM][ yyyy]{ '&#8212;' d MMM yyyy}",
+"dddd, MMM d, yyyy" => "dddd, d. MMM yyyy",
"Birthday" => "Verjaardag",
"Business" => "Zakelijk",
"Call" => "Bellen",
@@ -23,6 +28,7 @@
"Questions" => "Vragen",
"Work" => "Werk",
"unnamed" => "onbekend",
+"New Calendar" => "Nieuwe Kalender",
"Does not repeat" => "Wordt niet herhaald",
"Daily" => "Dagelijks",
"Weekly" => "Wekelijks",
@@ -68,7 +74,6 @@
"Date" => "Datum",
"Cal." => "Cal.",
"All day" => "Hele dag",
-"New Calendar" => "Nieuwe Kalender",
"Missing fields" => "missende velden",
"Title" => "Titel",
"From Date" => "Begindatum",
@@ -81,9 +86,6 @@
"Month" => "Maand",
"List" => "Lijst",
"Today" => "Vandaag",
-"Calendars" => "Kalenders",
-"There was a fail, while parsing the file." => "Er is een fout opgetreden bij het verwerken van het bestand.",
-"Choose active calendars" => "Kies actieve kalenders",
"Your calendars" => "Je kalenders",
"CalDav Link" => "CalDav Link",
"Shared calendars" => "Gedeelde kalenders",
@@ -132,27 +134,19 @@
"Interval" => "Interval",
"End" => "Einde",
"occurrences" => "gebeurtenissen",
-"Import a calendar file" => "Importeer een agenda bestand",
-"Please choose the calendar" => "Kies de kalender",
"create a new calendar" => "Maak een nieuw agenda",
+"Import a calendar file" => "Importeer een agenda bestand",
"Name of new calendar" => "Naam van de nieuwe agenda",
"Import" => "Importeer",
-"Importing calendar" => "Importeer agenda",
-"Calendar imported successfully" => "Agenda succesvol geïmporteerd",
"Close Dialog" => "Sluit venster",
"Create a new event" => "Maak een nieuwe afspraak",
"View an event" => "Bekijk een gebeurtenis",
"No categories selected" => "Geen categorieën geselecteerd",
-"Select category" => "Kies een categorie",
"of" => "van",
"at" => "op",
"Timezone" => "Tijdzone",
-"Check always for changes of the timezone" => "Controleer altijd op aanpassingen van de tijdszone",
-"Timeformat" => "Tijdformaat",
"24h" => "24uur",
"12h" => "12uur",
-"First day of the week" => "Eerste dag van de week",
-"Calendar CalDAV syncing address:" => "CalDAV kalender synchronisatie adres:",
"Users" => "Gebruikers",
"select users" => "kies gebruikers",
"Editable" => "Te wijzigen",
diff --git a/apps/calendar/l10n/nn_NO.php b/apps/calendar/l10n/nn_NO.php
index 79119e8100b..3330cc562bc 100644
--- a/apps/calendar/l10n/nn_NO.php
+++ b/apps/calendar/l10n/nn_NO.php
@@ -19,6 +19,7 @@
"Projects" => "Prosjekt",
"Questions" => "Spørsmål",
"Work" => "Arbeid",
+"New Calendar" => "Ny kalender",
"Does not repeat" => "Ikkje gjenta",
"Daily" => "Kvar dag",
"Weekly" => "Kvar veke",
@@ -64,7 +65,6 @@
"Date" => "Dato",
"Cal." => "Kal.",
"All day" => "Heile dagen",
-"New Calendar" => "Ny kalender",
"Missing fields" => "Manglande felt",
"Title" => "Tittel",
"From Date" => "Frå dato",
@@ -77,9 +77,6 @@
"Month" => "Månad",
"List" => "Liste",
"Today" => "I dag",
-"Calendars" => "Kalendarar",
-"There was a fail, while parsing the file." => "Feil ved tolking av fila.",
-"Choose active calendars" => "Vel aktive kalendarar",
"CalDav Link" => "CalDav-lenkje",
"Download" => "Last ned",
"Edit" => "Endra",
@@ -116,20 +113,13 @@
"Interval" => "Intervall",
"End" => "Ende",
"occurrences" => "førekomstar",
-"Import a calendar file" => "Importer ei kalenderfil",
-"Please choose the calendar" => "Venlegast vel kalenderen",
"create a new calendar" => "Lag ny kalender",
+"Import a calendar file" => "Importer ei kalenderfil",
"Name of new calendar" => "Namn for ny kalender",
"Import" => "Importer",
-"Importing calendar" => "Importerar kalender",
-"Calendar imported successfully" => "Kalender importert utan feil",
"Close Dialog" => "Steng dialog",
"Create a new event" => "Opprett ei ny hending",
-"Select category" => "Vel kategori",
"Timezone" => "Tidssone",
-"Check always for changes of the timezone" => "Sjekk alltid for endringar i tidssona",
-"Timeformat" => "Tidsformat",
"24h" => "24t",
-"12h" => "12t",
-"Calendar CalDAV syncing address:" => "Kalender CalDAV synkroniseringsadresse:"
+"12h" => "12t"
);
diff --git a/apps/calendar/l10n/pl.php b/apps/calendar/l10n/pl.php
index e582cdbb9b3..8fd1c3c2b4b 100644
--- a/apps/calendar/l10n/pl.php
+++ b/apps/calendar/l10n/pl.php
@@ -2,11 +2,18 @@
"No calendars found." => "Brak kalendarzy",
"No events found." => "Brak wydzarzeń",
"Wrong calendar" => "Nieprawidłowy kalendarz",
+"Import failed" => "Import nieudany",
+"events has been saved in your calendar" => "zdarzenie zostało zapisane w twoim kalendarzu",
"New Timezone:" => "Nowa strefa czasowa:",
"Timezone changed" => "Zmieniono strefę czasową",
"Invalid request" => "Nieprawidłowe żądanie",
"Calendar" => "Kalendarz",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM rrrr",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, rrrr",
"Birthday" => "Urodziny",
"Business" => "Interesy",
"Call" => "Rozmowy",
@@ -22,7 +29,9 @@
"Projects" => "Projekty",
"Questions" => "Pytania",
"Work" => "Zawodowe",
+"by" => "przez",
"unnamed" => "nienazwany",
+"New Calendar" => "Nowy kalendarz",
"Does not repeat" => "Brak",
"Daily" => "Codziennie",
"Weekly" => "Tygodniowo",
@@ -67,8 +76,26 @@
"by day and month" => "przez dzień i miesiąc",
"Date" => "Data",
"Cal." => "Kal.",
+"Sun." => "N.",
+"Mon." => "Pn.",
+"Tue." => "Wt.",
+"Wed." => "Śr.",
+"Thu." => "Cz.",
+"Fri." => "Pt.",
+"Sat." => "S.",
+"Jan." => "Sty.",
+"Feb." => "Lut.",
+"Mar." => "Mar.",
+"Apr." => "Kwi.",
+"May." => "Maj.",
+"Jun." => "Cze.",
+"Jul." => "Lip.",
+"Aug." => "Sie.",
+"Sep." => "Wrz.",
+"Oct." => "Paź.",
+"Nov." => "Lis.",
+"Dec." => "Gru.",
"All day" => "Cały dzień",
-"New Calendar" => "Nowy kalendarz",
"Missing fields" => "Brakujące pola",
"Title" => "Nazwa",
"From Date" => "Od daty",
@@ -81,9 +108,6 @@
"Month" => "Miesiąc",
"List" => "Lista",
"Today" => "Dzisiaj",
-"Calendars" => "Kalendarze",
-"There was a fail, while parsing the file." => "Nie udało się przetworzyć pliku.",
-"Choose active calendars" => "Wybór aktywnych kalendarzy",
"Your calendars" => "Twoje kalendarze",
"CalDav Link" => "Wyświetla odnośnik CalDAV",
"Shared calendars" => "Współdzielone kalendarze",
@@ -132,27 +156,23 @@
"Interval" => "Interwał",
"End" => "Koniec",
"occurrences" => "wystąpienia",
-"Import a calendar file" => "Zaimportuj plik kalendarza",
-"Please choose the calendar" => "Proszę wybrać kalendarz",
"create a new calendar" => "stwórz nowy kalendarz",
+"Import a calendar file" => "Zaimportuj plik kalendarza",
+"Please choose a calendar" => "Proszę wybierz kalendarz",
"Name of new calendar" => "Nazwa kalendarza",
"Import" => "Import",
-"Importing calendar" => "Importuje kalendarz",
-"Calendar imported successfully" => "Zaimportowano kalendarz",
"Close Dialog" => "Zamknij okno",
"Create a new event" => "Tworzenie nowego wydarzenia",
"View an event" => "Zobacz wydarzenie",
"No categories selected" => "nie zaznaczono kategorii",
-"Select category" => "Wybierz kategorię",
"of" => "z",
"at" => "w",
"Timezone" => "Strefa czasowa",
-"Check always for changes of the timezone" => "Zawsze sprawdzaj zmiany strefy czasowej",
-"Timeformat" => "Format czasu",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Pierwszy dzień tygodnia",
-"Calendar CalDAV syncing address:" => "Adres synchronizacji kalendarza CalDAV:",
+"more info" => "więcej informacji",
+"iOS/OS X" => "iOS/OS X",
+"Read only iCalendar link(s)" => "Odczytać tylko linki iCalendar",
"Users" => "Użytkownicy",
"select users" => "wybierz użytkowników",
"Editable" => "Edytowalne",
diff --git a/apps/calendar/l10n/pt_BR.php b/apps/calendar/l10n/pt_BR.php
index 95317eea0f7..b636c19bfe7 100644
--- a/apps/calendar/l10n/pt_BR.php
+++ b/apps/calendar/l10n/pt_BR.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Fuso horário alterado",
"Invalid request" => "Pedido inválido",
"Calendar" => "Calendário",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM yyyy",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
"Birthday" => "Aniversário",
"Business" => "Negócio",
"Call" => "Chamada",
@@ -23,6 +28,7 @@
"Questions" => "Perguntas",
"Work" => "Trabalho",
"unnamed" => "sem nome",
+"New Calendar" => "Novo Calendário",
"Does not repeat" => "Não repetir",
"Daily" => "Diariamente",
"Weekly" => "Semanal",
@@ -68,7 +74,6 @@
"Date" => "Data",
"Cal." => "Cal.",
"All day" => "Todo o dia",
-"New Calendar" => "Novo Calendário",
"Missing fields" => "Campos incompletos",
"Title" => "Título",
"From Date" => "Desde a Data",
@@ -81,9 +86,6 @@
"Month" => "Mês",
"List" => "Lista",
"Today" => "Hoje",
-"Calendars" => "Calendários",
-"There was a fail, while parsing the file." => "Houve uma falha, ao analisar o arquivo.",
-"Choose active calendars" => "Escolha calendários ativos",
"Your calendars" => "Meus Calendários",
"CalDav Link" => "Link para CalDav",
"Shared calendars" => "Calendários Compartilhados",
@@ -132,27 +134,19 @@
"Interval" => "Intervalo",
"End" => "Final",
"occurrences" => "ocorrências",
-"Import a calendar file" => "Importar um arquivo de calendário",
-"Please choose the calendar" => "Por favor, escolha o calendário",
"create a new calendar" => "criar um novo calendário",
+"Import a calendar file" => "Importar um arquivo de calendário",
"Name of new calendar" => "Nome do novo calendário",
"Import" => "Importar",
-"Importing calendar" => "Importar calendário",
-"Calendar imported successfully" => "Calendário importado com sucesso",
"Close Dialog" => "Fechar caixa de diálogo",
"Create a new event" => "Criar um novo evento",
"View an event" => "Visualizar evento",
"No categories selected" => "Nenhuma categoria selecionada",
-"Select category" => "Selecionar categoria",
"of" => "de",
"at" => "para",
"Timezone" => "Fuso horário",
-"Check always for changes of the timezone" => "Verificar sempre mudanças no fuso horário",
-"Timeformat" => "Formato da Hora",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Primeiro dia da semana",
-"Calendar CalDAV syncing address:" => "Sincronização de endereço do calendário CalDAV :",
"Users" => "Usuários",
"select users" => "Selecione usuários",
"Editable" => "Editável",
diff --git a/apps/calendar/l10n/pt_PT.php b/apps/calendar/l10n/pt_PT.php
index 33f85569cca..cf816d8b347 100644
--- a/apps/calendar/l10n/pt_PT.php
+++ b/apps/calendar/l10n/pt_PT.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Zona horária alterada",
"Invalid request" => "Pedido inválido",
"Calendar" => "Calendário",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM aaaa",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, aaaa",
"Birthday" => "Dia de anos",
"Business" => "Negócio",
"Call" => "Telefonar",
@@ -23,6 +28,7 @@
"Questions" => "Perguntas",
"Work" => "Trabalho",
"unnamed" => "não definido",
+"New Calendar" => "Novo calendário",
"Does not repeat" => "Não repete",
"Daily" => "Diário",
"Weekly" => "Semanal",
@@ -68,7 +74,6 @@
"Date" => "Data",
"Cal." => "Cal.",
"All day" => "Todo o dia",
-"New Calendar" => "Novo calendário",
"Missing fields" => "Falta campos",
"Title" => "Título",
"From Date" => "Da data",
@@ -81,9 +86,6 @@
"Month" => "Mês",
"List" => "Lista",
"Today" => "Hoje",
-"Calendars" => "Calendários",
-"There was a fail, while parsing the file." => "Houve uma falha durante a análise do ficheiro",
-"Choose active calendars" => "Escolhe calendários ativos",
"Your calendars" => "Os seus calendários",
"CalDav Link" => "Endereço CalDav",
"Shared calendars" => "Calendários partilhados",
@@ -132,27 +134,19 @@
"Interval" => "Intervalo",
"End" => "Fim",
"occurrences" => "ocorrências",
-"Import a calendar file" => "Importar um ficheiro de calendário",
-"Please choose the calendar" => "Por favor escolhe o calendário",
"create a new calendar" => "criar novo calendário",
+"Import a calendar file" => "Importar um ficheiro de calendário",
"Name of new calendar" => "Nome do novo calendário",
"Import" => "Importar",
-"Importing calendar" => "A importar calendário",
-"Calendar imported successfully" => "Calendário importado com sucesso",
"Close Dialog" => "Fechar diálogo",
"Create a new event" => "Criar novo evento",
"View an event" => "Ver um evento",
"No categories selected" => "Nenhuma categoria seleccionada",
-"Select category" => "Selecionar categoria",
"of" => "de",
"at" => "em",
"Timezone" => "Zona horária",
-"Check always for changes of the timezone" => "Verificar sempre por alterações na zona horária",
-"Timeformat" => "Formato da hora",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Primeiro dia da semana",
-"Calendar CalDAV syncing address:" => "Endereço de sincronização CalDav do calendário",
"Users" => "Utilizadores",
"select users" => "Selecione utilizadores",
"Editable" => "Editavel",
diff --git a/apps/calendar/l10n/ro.php b/apps/calendar/l10n/ro.php
index 550afcd102f..528d9ae108f 100644
--- a/apps/calendar/l10n/ro.php
+++ b/apps/calendar/l10n/ro.php
@@ -23,6 +23,7 @@
"Questions" => "Întrebări",
"Work" => "Servici",
"unnamed" => "fără nume",
+"New Calendar" => "Calendar nou",
"Does not repeat" => "Nerepetabil",
"Daily" => "Zilnic",
"Weekly" => "Săptămânal",
@@ -68,7 +69,6 @@
"Date" => "Data",
"Cal." => "Cal.",
"All day" => "Toată ziua",
-"New Calendar" => "Calendar nou",
"Missing fields" => "Câmpuri lipsă",
"Title" => "Titlu",
"From Date" => "Începând cu",
@@ -81,9 +81,6 @@
"Month" => "Luna",
"List" => "Listă",
"Today" => "Astăzi",
-"Calendars" => "Calendare",
-"There was a fail, while parsing the file." => "A fost întâmpinată o eroare în procesarea fișierului",
-"Choose active calendars" => "Alege calendarele active",
"Your calendars" => "Calendarele tale",
"CalDav Link" => "Legătură CalDav",
"Shared calendars" => "Calendare partajate",
@@ -132,27 +129,19 @@
"Interval" => "Interval",
"End" => "Sfârșit",
"occurrences" => "repetiții",
-"Import a calendar file" => "Importă un calendar",
-"Please choose the calendar" => "Alegeți calendarul",
"create a new calendar" => "crează un calendar nou",
+"Import a calendar file" => "Importă un calendar",
"Name of new calendar" => "Numele noului calendar",
"Import" => "Importă",
-"Importing calendar" => "Importă calendar",
-"Calendar imported successfully" => "Calendarul a fost importat cu succes",
"Close Dialog" => "Închide",
"Create a new event" => "Crează un eveniment nou",
"View an event" => "Vizualizează un eveniment",
"No categories selected" => "Nici o categorie selectată",
-"Select category" => "Selecteză categoria",
"of" => "din",
"at" => "la",
"Timezone" => "Fus orar",
-"Check always for changes of the timezone" => "Verifică mereu pentru schimbări ale fusului orar",
-"Timeformat" => "Forma de afișare a orei",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Prima zi a săptămînii",
-"Calendar CalDAV syncing address:" => "Adresa pentru sincronizarea calendarului CalDAV",
"Users" => "Utilizatori",
"select users" => "utilizatori selectați",
"Editable" => "Editabil",
diff --git a/apps/calendar/l10n/ru.php b/apps/calendar/l10n/ru.php
index 934e2c4840a..9c27d367daf 100644
--- a/apps/calendar/l10n/ru.php
+++ b/apps/calendar/l10n/ru.php
@@ -111,9 +111,6 @@
"Month" => "Месяц",
"List" => "Список",
"Today" => "Сегодня",
-"Calendars" => "Календари",
-"There was a fail, while parsing the file." => "Не удалось обработать файл.",
-"Choose active calendars" => "Выберите активные календари",
"Your calendars" => "Ваши календари",
"CalDav Link" => "Ссылка для CalDav",
"Shared calendars" => "Общие календари",
@@ -174,11 +171,8 @@
"of" => "из",
"at" => "на",
"Timezone" => "Часовой пояс",
-"Check always for changes of the timezone" => "Всегда проверяйте изменение часового пояса",
-"Timeformat" => "Формат времени",
"24h" => "24ч",
"12h" => "12ч",
-"First day of the week" => "Первый день недели",
"more info" => "подробнее",
"Users" => "Пользователи",
"select users" => "выбрать пользователей",
diff --git a/apps/calendar/l10n/sk_SK.php b/apps/calendar/l10n/sk_SK.php
index e182a9d3ea4..65400c496d7 100644
--- a/apps/calendar/l10n/sk_SK.php
+++ b/apps/calendar/l10n/sk_SK.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Časové pásmo zmenené",
"Invalid request" => "Neplatná požiadavka",
"Calendar" => "Kalendár",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM rrrr",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "d. MMM[ yyyy]{ '&#8212;' d.[ MMM] yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, rrrr",
"Birthday" => "Narodeniny",
"Business" => "Podnikanie",
"Call" => "Hovor",
@@ -23,6 +28,7 @@
"Questions" => "Otázky",
"Work" => "Práca",
"unnamed" => "nepomenovaný",
+"New Calendar" => "Nový kalendár",
"Does not repeat" => "Neopakovať",
"Daily" => "Denne",
"Weekly" => "Týždenne",
@@ -68,7 +74,6 @@
"Date" => "Dátum",
"Cal." => "Kal.",
"All day" => "Celý deň",
-"New Calendar" => "Nový kalendár",
"Missing fields" => "Nevyplnené položky",
"Title" => "Nadpis",
"From Date" => "Od dátumu",
@@ -81,9 +86,6 @@
"Month" => "Mesiac",
"List" => "Zoznam",
"Today" => "Dnes",
-"Calendars" => "Kalendáre",
-"There was a fail, while parsing the file." => "Nastala chyba počas parsovania súboru.",
-"Choose active calendars" => "Zvoľte aktívne kalendáre",
"Your calendars" => "Vaše kalendáre",
"CalDav Link" => "CalDav odkaz",
"Shared calendars" => "Zdielané kalendáre",
@@ -132,27 +134,19 @@
"Interval" => "Interval",
"End" => "Koniec",
"occurrences" => "výskyty",
-"Import a calendar file" => "Importovať súbor kalendára",
-"Please choose the calendar" => "Prosím zvoľte kalendár",
"create a new calendar" => "vytvoriť nový kalendár",
+"Import a calendar file" => "Importovať súbor kalendára",
"Name of new calendar" => "Meno nového kalendára",
"Import" => "Importovať",
-"Importing calendar" => "Importujem kalendár",
-"Calendar imported successfully" => "Kalendár úspešne importovaný",
"Close Dialog" => "Zatvoriť dialóg",
"Create a new event" => "Vytvoriť udalosť",
"View an event" => "Zobraziť udalosť",
"No categories selected" => "Žiadne vybraté kategórie",
-"Select category" => "Vybrať kategóriu",
"of" => "z",
"at" => "v",
"Timezone" => "Časová zóna",
-"Check always for changes of the timezone" => "Vždy kontroluj zmeny časového pásma",
-"Timeformat" => "Formát času",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Prvý deň v týždni",
-"Calendar CalDAV syncing address:" => "Synchronizačná adresa kalendára CalDAV: ",
"Users" => "Používatelia",
"select users" => "vybrať používateľov",
"Editable" => "Upravovateľné",
diff --git a/apps/calendar/l10n/sl.php b/apps/calendar/l10n/sl.php
index 3bf03ede127..7a488751c4f 100644
--- a/apps/calendar/l10n/sl.php
+++ b/apps/calendar/l10n/sl.php
@@ -6,7 +6,12 @@
"Timezone changed" => "Časovni pas je bil spremenjen",
"Invalid request" => "Neveljaven zahtevek",
"Calendar" => "Koledar",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM yyyy",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
"Birthday" => "Rojstni dan",
"Business" => "Poslovno",
"Call" => "Pokliči",
@@ -23,6 +28,7 @@
"Questions" => "Vprašanja",
"Work" => "Delo",
"unnamed" => "neimenovan",
+"New Calendar" => "Nov koledar",
"Does not repeat" => "Se ne ponavlja",
"Daily" => "Dnevno",
"Weekly" => "Tedensko",
@@ -68,7 +74,6 @@
"Date" => "Datum",
"Cal." => "Kol.",
"All day" => "Cel dan",
-"New Calendar" => "Nov koledar",
"Missing fields" => "Mankajoča polja",
"Title" => "Naslov",
"From Date" => "od Datum",
@@ -81,9 +86,6 @@
"Month" => "Mesec",
"List" => "Seznam",
"Today" => "Danes",
-"Calendars" => "Koledarji",
-"There was a fail, while parsing the file." => "Pri razčlenjevanju datoteke je prišlo do napake.",
-"Choose active calendars" => "Izberite aktivne koledarje",
"Your calendars" => "Vaši koledarji",
"CalDav Link" => "CalDav povezava",
"Shared calendars" => "Koledarji v souporabi",
@@ -132,27 +134,19 @@
"Interval" => "Časovni razmik",
"End" => "Konec",
"occurrences" => "ponovitev",
-"Import a calendar file" => "Uvozi datoteko koledarja",
-"Please choose the calendar" => "Izberi koledar",
"create a new calendar" => "Ustvari nov koledar",
+"Import a calendar file" => "Uvozi datoteko koledarja",
"Name of new calendar" => "Ime novega koledarja",
"Import" => "Uvozi",
-"Importing calendar" => "Uvažam koledar",
-"Calendar imported successfully" => "Koledar je bil uspešno uvožen",
"Close Dialog" => "Zapri dialog",
"Create a new event" => "Ustvari nov dogodek",
"View an event" => "Poglej dogodek",
"No categories selected" => "Nobena kategorija ni izbrana",
-"Select category" => "Izberi kategorijo",
"of" => "od",
"at" => "pri",
"Timezone" => "Časovni pas",
-"Check always for changes of the timezone" => "Vedno preveri za spremembe časovnega pasu",
-"Timeformat" => "Zapis časa",
"24h" => "24ur",
"12h" => "12ur",
-"First day of the week" => "Prvi dan v tednu",
-"Calendar CalDAV syncing address:" => "CalDAV sinhronizacijski naslov koledarja:",
"Users" => "Uporabniki",
"select users" => "izberite uporabnike",
"Editable" => "Možno urejanje",
diff --git a/apps/calendar/l10n/sr.php b/apps/calendar/l10n/sr.php
index 5798c66e0ab..4ec60e20cbe 100644
--- a/apps/calendar/l10n/sr.php
+++ b/apps/calendar/l10n/sr.php
@@ -18,6 +18,7 @@
"Projects" => "Пројекти",
"Questions" => "Питања",
"Work" => "Посао",
+"New Calendar" => "Нови календар",
"Does not repeat" => "Не понавља се",
"Daily" => "дневно",
"Weekly" => "недељно",
@@ -26,15 +27,11 @@
"Monthly" => "месечно",
"Yearly" => "годишње",
"All day" => "Цео дан",
-"New Calendar" => "Нови календар",
"Title" => "Наслов",
"Week" => "Недеља",
"Month" => "Месец",
"List" => "Списак",
"Today" => "Данас",
-"Calendars" => "Календари",
-"There was a fail, while parsing the file." => "дошло је до грешке при расчлањивању фајла.",
-"Choose active calendars" => "Изаберите активне календаре",
"CalDav Link" => "КалДав веза",
"Download" => "Преузми",
"Edit" => "Уреди",
@@ -59,6 +56,5 @@
"Description of the Event" => "Опис догађаја",
"Repeat" => "Понављај",
"Create a new event" => "Направи нови догађај",
-"Select category" => "Изаберите категорију",
"Timezone" => "Временска зона"
);
diff --git a/apps/calendar/l10n/sr@latin.php b/apps/calendar/l10n/sr@latin.php
index c261f903f76..4ceabcbae59 100644
--- a/apps/calendar/l10n/sr@latin.php
+++ b/apps/calendar/l10n/sr@latin.php
@@ -18,6 +18,7 @@
"Projects" => "Projekti",
"Questions" => "Pitanja",
"Work" => "Posao",
+"New Calendar" => "Novi kalendar",
"Does not repeat" => "Ne ponavlja se",
"Daily" => "dnevno",
"Weekly" => "nedeljno",
@@ -26,15 +27,11 @@
"Monthly" => "mesečno",
"Yearly" => "godišnje",
"All day" => "Ceo dan",
-"New Calendar" => "Novi kalendar",
"Title" => "Naslov",
"Week" => "Nedelja",
"Month" => "Mesec",
"List" => "Spisak",
"Today" => "Danas",
-"Calendars" => "Kalendari",
-"There was a fail, while parsing the file." => "došlo je do greške pri rasčlanjivanju fajla.",
-"Choose active calendars" => "Izaberite aktivne kalendare",
"CalDav Link" => "KalDav veza",
"Download" => "Preuzmi",
"Edit" => "Uredi",
@@ -59,6 +56,5 @@
"Description of the Event" => "Opis događaja",
"Repeat" => "Ponavljaj",
"Create a new event" => "Napravi novi događaj",
-"Select category" => "Izaberite kategoriju",
"Timezone" => "Vremenska zona"
);
diff --git a/apps/calendar/l10n/sv.php b/apps/calendar/l10n/sv.php
index e29e96b4631..7baa0309a64 100644
--- a/apps/calendar/l10n/sv.php
+++ b/apps/calendar/l10n/sv.php
@@ -112,9 +112,6 @@
"Month" => "Månad",
"List" => "Lista",
"Today" => "Idag",
-"Calendars" => "Kalendrar",
-"There was a fail, while parsing the file." => "Det blev ett fel medan filen analyserades.",
-"Choose active calendars" => "Välj aktiva kalendrar",
"Your calendars" => "Dina kalendrar",
"CalDav Link" => "CalDAV-länk",
"Shared calendars" => "Delade kalendrar",
@@ -177,11 +174,8 @@
"of" => "av",
"at" => "på",
"Timezone" => "Tidszon",
-"Check always for changes of the timezone" => "Kontrollera alltid ändringar i tidszon.",
-"Timeformat" => "Tidsformat",
"24h" => "24h",
"12h" => "12h",
-"First day of the week" => "Första dagen av veckan",
"Cache" => "Cache",
"Clear cache for repeating events" => "Töm cache för upprepade händelser",
"Calendar CalDAV syncing addresses" => "Kalender CalDAV synkroniserar adresser",
diff --git a/apps/calendar/l10n/th_TH.php b/apps/calendar/l10n/th_TH.php
index 8aaa7ae756a..8d09fa162dc 100644
--- a/apps/calendar/l10n/th_TH.php
+++ b/apps/calendar/l10n/th_TH.php
@@ -6,7 +6,12 @@
"Timezone changed" => "โซนเวลาถูกเปลี่ยนแล้ว",
"Invalid request" => "คำร้องขอไม่ถูกต้อง",
"Calendar" => "ปฏิทิน",
+"ddd" => "ddd",
+"ddd M/d" => "ddd M/d",
+"dddd M/d" => "dddd M/d",
+"MMMM yyyy" => "MMMM yyyy",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
+"dddd, MMM d, yyyy" => "dddd, MMM d, yyyy",
"Birthday" => "วันเกิด",
"Business" => "ธุรกิจ",
"Call" => "โทรติดต่อ",
@@ -23,6 +28,7 @@
"Questions" => "คำถาม",
"Work" => "งาน",
"unnamed" => "ไม่มีชื่อ",
+"New Calendar" => "สร้างปฏิทินใหม่",
"Does not repeat" => "ไม่ต้องทำซ้ำ",
"Daily" => "รายวัน",
"Weekly" => "รายสัปดาห์",
@@ -68,7 +74,6 @@
"Date" => "วันที่",
"Cal." => "คำนวณ",
"All day" => "ทั้งวัน",
-"New Calendar" => "สร้างปฏิทินใหม่",
"Missing fields" => "ช่องฟิลด์เกิดการสูญหาย",
"Title" => "ชื่อกิจกรรม",
"From Date" => "จากวันที่",
@@ -81,9 +86,6 @@
"Month" => "เดือน",
"List" => "รายการ",
"Today" => "วันนี้",
-"Calendars" => "ปฏิทิน",
-"There was a fail, while parsing the file." => "เกิดความล้มเหลวในการแยกไฟล์",
-"Choose active calendars" => "เลือกปฏิทินที่ต้องการใช้งาน",
"Your calendars" => "ปฏิทินของคุณ",
"CalDav Link" => "ลิงค์ CalDav",
"Shared calendars" => "ปฏิทินที่เปิดแชร์",
@@ -132,27 +134,19 @@
"Interval" => "ช่วงเวลา",
"End" => "สิ้นสุด",
"occurrences" => "จำนวนที่ปรากฏ",
-"Import a calendar file" => "นำเข้าไฟล์ปฏิทิน",
-"Please choose the calendar" => "กรณาเลือกปฏิทิน",
"create a new calendar" => "สร้างปฏิทินใหม่",
+"Import a calendar file" => "นำเข้าไฟล์ปฏิทิน",
"Name of new calendar" => "ชื่อของปฏิทิน",
"Import" => "นำเข้าข้อมูล",
-"Importing calendar" => "นำเข้าข้อมูลปฏิทิน",
-"Calendar imported successfully" => "ปฏิทินถูกนำเข้าข้อมูลเรียบร้อยแล้ว",
"Close Dialog" => "ปิดกล่องข้อความโต้ตอบ",
"Create a new event" => "สร้างกิจกรรมใหม่",
"View an event" => "ดูกิจกรรม",
"No categories selected" => "ยังไม่ได้เลือกหมวดหมู่",
-"Select category" => "เลือกหมวดหมู่",
"of" => "ของ",
"at" => "ที่",
"Timezone" => "โซนเวลา",
-"Check always for changes of the timezone" => "ตรวจสอบการเปลี่ยนแปลงโซนเวลาอยู่เสมอ",
-"Timeformat" => "รูปแบบการแสดงเวลา",
"24h" => "24 ช.ม.",
"12h" => "12 ช.ม.",
-"First day of the week" => "วันแรกของสัปดาห์",
-"Calendar CalDAV syncing address:" => "ที่อยู่ในการเชื่อมข้อมูลกับปฏิทิน CalDav:",
"Users" => "ผู้ใช้งาน",
"select users" => "เลือกผู้ใช้งาน",
"Editable" => "สามารถแก้ไขได้",
diff --git a/apps/calendar/l10n/tr.php b/apps/calendar/l10n/tr.php
index 912228dc72a..b9256eb619e 100644
--- a/apps/calendar/l10n/tr.php
+++ b/apps/calendar/l10n/tr.php
@@ -112,9 +112,6 @@
"Month" => "Ay",
"List" => "Liste",
"Today" => "Bugün",
-"Calendars" => "Takvimler",
-"There was a fail, while parsing the file." => "Dosya okunurken başarısızlık oldu.",
-"Choose active calendars" => "Aktif takvimleri seçin",
"Your calendars" => "Takvimleriniz",
"CalDav Link" => "CalDav Bağlantısı",
"Shared calendars" => "Paylaşılan",
@@ -177,11 +174,8 @@
"of" => "nın",
"at" => "üzerinde",
"Timezone" => "Zaman dilimi",
-"Check always for changes of the timezone" => "Sürekli zaman dilimi değişikliklerini kontrol et",
-"Timeformat" => "Saat biçimi",
"24h" => "24s",
"12h" => "12s",
-"First day of the week" => "Haftanın ilk günü",
"Cache" => "Önbellek",
"Clear cache for repeating events" => "Tekrar eden etkinlikler için ön belleği temizle.",
"Calendar CalDAV syncing addresses" => "CalDAV takvimi adresleri senkronize ediyor.",
diff --git a/apps/calendar/l10n/uk.php b/apps/calendar/l10n/uk.php
index 892896742da..2911307e588 100644
--- a/apps/calendar/l10n/uk.php
+++ b/apps/calendar/l10n/uk.php
@@ -16,6 +16,7 @@
"Projects" => "Проекти",
"Questions" => "Запитання",
"Work" => "Робота",
+"New Calendar" => "новий Календар",
"Does not repeat" => "Не повторювати",
"Daily" => "Щоденно",
"Weekly" => "Щотижня",
@@ -52,21 +53,29 @@
"Date" => "Дата",
"Cal." => "Кал.",
"All day" => "Увесь день",
-"New Calendar" => "новий Календар",
+"Missing fields" => "Пропущені поля",
"Title" => "Назва",
+"From Date" => "Від Дати",
+"From Time" => "З Часу",
+"To Date" => "До Часу",
+"To Time" => "По Дату",
+"The event ends before it starts" => "Подія завершається до її початку",
+"There was a database fail" => "Сталася помилка бази даних",
"Week" => "Тиждень",
"Month" => "Місяць",
"List" => "Список",
"Today" => "Сьогодні",
-"Calendars" => "Календарі",
-"There was a fail, while parsing the file." => "Сталася помилка при обробці файлу",
-"Choose active calendars" => "Вибрати активні календарі",
+"Your calendars" => "Ваші календарі",
"Download" => "Завантажити",
"Edit" => "Редагувати",
+"Delete" => "Видалити",
"New calendar" => "Новий календар",
"Edit calendar" => "Редагувати календар",
"Active" => "Активний",
"Calendar color" => "Колір календаря",
+"Save" => "Зберегти",
+"Cancel" => "Відмінити",
+"Export" => "Експорт",
"Title of the Event" => "Назва події",
"Category" => "Категорія",
"From" => "З",
@@ -76,14 +85,14 @@
"Description" => "Опис",
"Description of the Event" => "Опис події",
"Repeat" => "Повторювати",
-"Import a calendar file" => "Імпортувати файл календаря",
"create a new calendar" => "створити новий календар",
+"Import a calendar file" => "Імпортувати файл календаря",
"Name of new calendar" => "Назва нового календаря",
-"Calendar imported successfully" => "Календар успішно імпортовано",
+"Import" => "Імпорт",
"Create a new event" => "Створити нову подію",
"Timezone" => "Часовий пояс",
-"Timeformat" => "Формат часу",
"24h" => "24г",
"12h" => "12г",
-"Calendar CalDAV syncing address:" => "Адреса синхронізації календаря CalDAV:"
+"Users" => "Користувачі",
+"Groups" => "Групи"
);
diff --git a/apps/calendar/l10n/vi.php b/apps/calendar/l10n/vi.php
index 059b89e1635..3594a095eba 100644
--- a/apps/calendar/l10n/vi.php
+++ b/apps/calendar/l10n/vi.php
@@ -79,9 +79,6 @@
"Month" => "Tháng",
"List" => "Danh sách",
"Today" => "Hôm nay",
-"Calendars" => "Lịch",
-"There was a fail, while parsing the file." => "Có một thất bại, trong khi phân tích các tập tin.",
-"Choose active calendars" => "Chọn lịch hoạt động",
"Your calendars" => "Lịch của bạn",
"CalDav Link" => "Liên kết CalDav ",
"Shared calendars" => "Chia sẻ lịch",
@@ -129,7 +126,6 @@
"of" => "của",
"at" => "tại",
"Timezone" => "Múi giờ",
-"Check always for changes of the timezone" => "Luôn kiểm tra múi giờ",
"24h" => "24h",
"12h" => "12h"
);
diff --git a/apps/calendar/l10n/zh_CN.GB2312.php b/apps/calendar/l10n/zh_CN.GB2312.php
new file mode 100644
index 00000000000..38f039e6611
--- /dev/null
+++ b/apps/calendar/l10n/zh_CN.GB2312.php
@@ -0,0 +1,121 @@
+<?php $TRANSLATIONS = array(
+"Wrong calendar" => "错误的日历",
+"New Timezone:" => "新时区",
+"Timezone changed" => "时区改变了",
+"Invalid request" => "非法请求",
+"Calendar" => "日历",
+"Birthday" => "生日",
+"Business" => "商务",
+"Call" => "呼叫",
+"Clients" => "客户端",
+"Deliverer" => "交付者",
+"Holidays" => "假期",
+"Ideas" => "灵感",
+"Journey" => "旅行",
+"Jubilee" => "五十年纪念",
+"Meeting" => "会面",
+"Other" => "其它",
+"Personal" => "个人的",
+"Projects" => "项目",
+"Questions" => "问题",
+"Work" => "工作",
+"New Calendar" => "新的日历",
+"Does not repeat" => "不要重复",
+"Daily" => "每天",
+"Weekly" => "每星期",
+"Every Weekday" => "每个周末",
+"Bi-Weekly" => "每两周",
+"Monthly" => "每个月",
+"Yearly" => "每年",
+"never" => "从不",
+"by occurrences" => "根据发生时",
+"by date" => "根据日期",
+"by monthday" => "根据月天",
+"by weekday" => "根据星期",
+"Monday" => "星期一",
+"Tuesday" => "星期二",
+"Wednesday" => "星期三",
+"Thursday" => "星期四",
+"Friday" => "星期五",
+"Saturday" => "星期六",
+"Sunday" => "星期天",
+"events week of month" => "时间每月发生的周数",
+"first" => "首先",
+"second" => "其次",
+"third" => "第三",
+"fourth" => "第四",
+"fifth" => "第五",
+"last" => "最后",
+"January" => "一月",
+"February" => "二月",
+"March" => "三月",
+"April" => "四月",
+"May" => "五月",
+"June" => "六月",
+"July" => "七月",
+"August" => "八月",
+"September" => "九月",
+"October" => "十月",
+"November" => "十一月",
+"December" => "十二月",
+"by events date" => "根据时间日期",
+"by yearday(s)" => "根据年数",
+"by weeknumber(s)" => "根据周数",
+"by day and month" => "根据天和月",
+"Date" => "日期",
+"Cal." => "Cal.",
+"All day" => "整天",
+"Missing fields" => "丢失的输入框",
+"Title" => "标题",
+"From Date" => "从日期",
+"From Time" => "从时间",
+"To Date" => "到日期",
+"To Time" => "到时间",
+"The event ends before it starts" => "在它开始前需要结束的事件",
+"There was a database fail" => "发生了一个数据库失败",
+"Week" => "星期",
+"Month" => "月",
+"List" => "列表",
+"Today" => "今天",
+"CalDav Link" => "CalDav 链接",
+"Download" => "下载",
+"Edit" => "编辑",
+"Delete" => "删除",
+"New calendar" => "新的日历",
+"Edit calendar" => "编辑日历",
+"Displayname" => "显示名称",
+"Active" => "活动",
+"Calendar color" => "日历颜色",
+"Save" => "保存",
+"Submit" => "提交",
+"Cancel" => " 取消",
+"Edit an event" => "编辑一个事件",
+"Export" => "导出",
+"Title of the Event" => "事件的标题",
+"Category" => "分类",
+"All Day Event" => "每天的事件",
+"From" => "从",
+"To" => "到",
+"Advanced options" => "进阶选项",
+"Location" => "地点",
+"Location of the Event" => "事件的地点",
+"Description" => "解释",
+"Description of the Event" => "事件描述",
+"Repeat" => "重复",
+"Advanced" => "进阶",
+"Select weekdays" => "选择星期",
+"Select days" => "选择日",
+"and the events day of year." => "选择每年时间发生天数",
+"and the events day of month." => "选择每个月事件发生的天",
+"Select months" => "选择月份",
+"Select weeks" => "选择星期",
+"and the events week of year." => "每年时间发生的星期",
+"Interval" => "间隔",
+"End" => "结束",
+"occurrences" => "发生",
+"Import" => "导入",
+"Create a new event" => "新建一个时间",
+"Timezone" => "时区",
+"24h" => "24小时",
+"12h" => "12小时"
+);
diff --git a/apps/calendar/l10n/zh_CN.php b/apps/calendar/l10n/zh_CN.php
index bb7e0a28724..48d00d02d5f 100644
--- a/apps/calendar/l10n/zh_CN.php
+++ b/apps/calendar/l10n/zh_CN.php
@@ -6,6 +6,7 @@
"Timezone changed" => "时区已修改",
"Invalid request" => "非法请求",
"Calendar" => "日历",
+"ddd" => "ddd",
"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}" => "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
"Birthday" => "生日",
"Business" => "商务",
@@ -23,6 +24,7 @@
"Questions" => "问题",
"Work" => "工作",
"unnamed" => "未命名",
+"New Calendar" => "新日历",
"Does not repeat" => "不重复",
"Daily" => "每天",
"Weekly" => "每周",
@@ -68,7 +70,6 @@
"Date" => "日期",
"Cal." => "日历",
"All day" => "全天",
-"New Calendar" => "新日历",
"Missing fields" => "缺少字段",
"Title" => "标题",
"From Date" => "从",
@@ -81,9 +82,6 @@
"Month" => "月",
"List" => "列表",
"Today" => "今天",
-"Calendars" => "日历",
-"There was a fail, while parsing the file." => "解析文件失败",
-"Choose active calendars" => "选择活动日历",
"Your calendars" => "您的日历",
"CalDav Link" => "CalDav 链接",
"Shared calendars" => "共享的日历",
@@ -132,27 +130,19 @@
"Interval" => "间隔",
"End" => "结束",
"occurrences" => "次",
-"Import a calendar file" => "导入日历文件",
-"Please choose the calendar" => "请选择日历",
"create a new calendar" => "创建新日历",
+"Import a calendar file" => "导入日历文件",
"Name of new calendar" => "新日历名称",
"Import" => "导入",
-"Importing calendar" => "导入日历",
-"Calendar imported successfully" => "导入日历成功",
"Close Dialog" => "关闭对话框",
"Create a new event" => "创建新事件",
"View an event" => "查看事件",
"No categories selected" => "无选中分类",
-"Select category" => "选择分类",
"of" => "在",
"at" => "在",
"Timezone" => "时区",
-"Check always for changes of the timezone" => "选中则总是按照时区变化",
-"Timeformat" => "时间格式",
"24h" => "24小时",
"12h" => "12小时",
-"First day of the week" => "每周的第一天",
-"Calendar CalDAV syncing address:" => "日历CalDAV 同步地址:",
"Users" => "用户",
"select users" => "选中用户",
"Editable" => "可编辑",
diff --git a/apps/calendar/l10n/zh_TW.php b/apps/calendar/l10n/zh_TW.php
index 746594462c4..c2c03a4d44e 100644
--- a/apps/calendar/l10n/zh_TW.php
+++ b/apps/calendar/l10n/zh_TW.php
@@ -23,6 +23,7 @@
"Questions" => "問題",
"Work" => "工作",
"unnamed" => "無名稱的",
+"New Calendar" => "新日曆",
"Does not repeat" => "不重覆",
"Daily" => "每日",
"Weekly" => "每週",
@@ -68,7 +69,6 @@
"Date" => "日期",
"Cal." => "行事曆",
"All day" => "整天",
-"New Calendar" => "新日曆",
"Missing fields" => "遺失欄位",
"Title" => "標題",
"From Date" => "自日期",
@@ -81,9 +81,6 @@
"Month" => "月",
"List" => "清單",
"Today" => "今日",
-"Calendars" => "日曆",
-"There was a fail, while parsing the file." => "解析檔案時失敗。",
-"Choose active calendars" => "選擇一個作用中的日曆",
"Your calendars" => "你的行事曆",
"CalDav Link" => "CalDav 聯結",
"Shared calendars" => "分享的行事曆",
@@ -132,27 +129,19 @@
"Interval" => "間隔",
"End" => "結束",
"occurrences" => "事件",
-"Import a calendar file" => "匯入日曆檔案",
-"Please choose the calendar" => "請選擇日曆",
"create a new calendar" => "建立新日曆",
+"Import a calendar file" => "匯入日曆檔案",
"Name of new calendar" => "新日曆名稱",
"Import" => "匯入",
-"Importing calendar" => "匯入日曆",
-"Calendar imported successfully" => "已成功匯入日曆",
"Close Dialog" => "關閉對話",
"Create a new event" => "建立一個新事件",
"View an event" => "觀看一個活動",
"No categories selected" => "沒有選擇分類",
-"Select category" => "選擇分類",
"of" => "於",
"at" => "於",
"Timezone" => "時區",
-"Check always for changes of the timezone" => "總是檢查是否變更了時區",
-"Timeformat" => "日期格式",
"24h" => "24小時制",
"12h" => "12小時制",
-"First day of the week" => "每週的第一天",
-"Calendar CalDAV syncing address:" => "CalDAV 的日曆同步地址:",
"Users" => "使用者",
"select users" => "選擇使用者",
"Editable" => "可編輯",
diff --git a/apps/calendar/templates/calendar.php b/apps/calendar/templates/calendar.php
index c94cc755ab3..15891aafd9e 100644
--- a/apps/calendar/templates/calendar.php
+++ b/apps/calendar/templates/calendar.php
@@ -44,7 +44,7 @@
<form id="choosecalendar">
<!--<input type="button" id="today_input" value="<?php echo $l->t("Today");?>"/>-->
<a class="settings calendarsettings" title="<?php echo $l->t('Settings'); ?>"><img class="svg" src="<?php echo OCP\Util::imagePath('calendar', 'icon.svg'); ?>" alt="<?php echo $l->t('Settings'); ?>" /></a>
- <a class="settings generalsettings" title="<?php echo $l->t('Settings'); ?>"><img class="svg" src="core/img/actions/settings.svg" alt="<?php echo $l->t('Settings'); ?>" /></a>
+ <a class="settings generalsettings" title="<?php echo $l->t('Settings'); ?>"><img class="svg" src="<?php echo OCP\Util::imagePath('core', 'actions/settings.svg'); ?>" alt="<?php echo $l->t('Settings'); ?>" /></a>
</form>
<form id="datecontrol">
<input type="button" value="&nbsp;&lt;&nbsp;" id="datecontrol_left"/>
diff --git a/apps/calendar/templates/share.dropdown.php b/apps/calendar/templates/share.dropdown.php
index 07b4c4bced5..391ae83765b 100644
--- a/apps/calendar/templates/share.dropdown.php
+++ b/apps/calendar/templates/share.dropdown.php
@@ -33,7 +33,7 @@ echo OCP\html_select_options($allusers, array());
</select><br>
<ul id="sharewithuser_list">
<?php foreach($users as $user): ?>
- <li id="sharewithuser_<?php echo $user['share']; ?>"><input type="checkbox" width="12px" <?php echo ($user['permissions']?'checked="checked"':'')?> style="visibility:hidden;" title="<?php echo $l->t('Editable'); ?>"><?php echo $user['share']; ?><img src="<?php echo OC::$WEBROOT; ?>/core/img/actions/delete.svg" class="svg action" style="display:none;float:right;"></li>
+ <li id="sharewithuser_<?php echo $user['share']; ?>"><input type="checkbox" width="12px" <?php echo ($user['permissions']?'checked="checked"':'')?> style="visibility:hidden;" title="<?php echo $l->t('Editable'); ?>"><?php echo $user['share']; ?><img src="<?php echo OCP\Util::imagePath('core', 'actions/delete.svg'); ?>" class="svg action" style="display:none;float:right;"></li>
<script>
$('#sharewithuser_<?php echo $user['share']; ?> > img').click(function(){
$('#share_user option[value="<?php echo $user['share']; ?>"]').removeAttr('disabled');
@@ -59,7 +59,7 @@ echo OCP\html_select_options($allgroups, array());
</select><br>
<ul id="sharewithgroup_list">
<?php foreach($groups as $group): ?>
- <li id="sharewithgroup_<?php echo $group['share']; ?>"><input type="checkbox" width="12px" <?php echo ($group['permissions']?'checked="checked"':'')?> style="visibility:hidden;" title="<?php echo $l->t('Editable'); ?>"><?php echo $group['share']; ?><img src="<?php echo OC::$WEBROOT; ?>/core/img/actions/delete.svg" class="svg action" style="display:none;float:right;"></li>
+ <li id="sharewithgroup_<?php echo $group['share']; ?>"><input type="checkbox" width="12px" <?php echo ($group['permissions']?'checked="checked"':'')?> style="visibility:hidden;" title="<?php echo $l->t('Editable'); ?>"><?php echo $group['share']; ?><img src="<?php echo OCP\Util::imagePath('core', 'actions/delete.svg'); ?>" class="svg action" style="display:none;float:right;"></li>
<script>
$('#sharewithgroup_<?php echo $group['share']; ?> > img').click(function(){
$('#share_group option[value="<?php echo $group['share']; ?>"]').removeAttr('disabled');
diff --git a/apps/contacts/ajax/contact/addproperty.php b/apps/contacts/ajax/contact/addproperty.php
index df064367ef1..1412cad1cbc 100644
--- a/apps/contacts/ajax/contact/addproperty.php
+++ b/apps/contacts/ajax/contact/addproperty.php
@@ -147,6 +147,6 @@ if(!OC_Contacts_VCard::edit($id, $vcard)) {
OCP\JSON::success(array(
'data' => array(
'checksum' => $checksum,
- 'lastmodified' => OC_Contacts_VCard::lastModified($vcard)->format('U'))
+ 'lastmodified' => OC_Contacts_App::lastModified($vcard)->format('U'))
)
);
diff --git a/apps/contacts/ajax/contact/deleteproperty.php b/apps/contacts/ajax/contact/deleteproperty.php
index d7545ff1fbf..b76eb19462c 100644
--- a/apps/contacts/ajax/contact/deleteproperty.php
+++ b/apps/contacts/ajax/contact/deleteproperty.php
@@ -47,6 +47,6 @@ if(!OC_Contacts_VCard::edit($id, $vcard)) {
OCP\JSON::success(array(
'data' => array(
'id' => $id,
- 'lastmodified' => OC_Contacts_VCard::lastModified($vcard)->format('U'),
+ 'lastmodified' => OC_Contacts_App::lastModified($vcard)->format('U'),
)
));
diff --git a/apps/contacts/ajax/contact/saveproperty.php b/apps/contacts/ajax/contact/saveproperty.php
index 799038b6f1d..fd541b7361e 100644
--- a/apps/contacts/ajax/contact/saveproperty.php
+++ b/apps/contacts/ajax/contact/saveproperty.php
@@ -148,6 +148,6 @@ if(!OC_Contacts_VCard::edit($id, $vcard)) {
OCP\JSON::success(array('data' => array(
'line' => $line,
'checksum' => $checksum,
- 'oldchecksum' => $_POST['checksum']
- 'lastmodified' => OC_Contacts_VCard::lastModified($vcard)->format('U')
-));
+ 'oldchecksum' => $_POST['checksum'],
+ 'lastmodified' => OC_Contacts_App::lastModified($vcard)->format('U'),
+)));
diff --git a/apps/contacts/appinfo/remote.php b/apps/contacts/appinfo/remote.php
index fd5604aec6f..9eee55583a4 100644
--- a/apps/contacts/appinfo/remote.php
+++ b/apps/contacts/appinfo/remote.php
@@ -36,10 +36,13 @@ $principalBackend = new OC_Connector_Sabre_Principal();
$carddavBackend = new OC_Connector_Sabre_CardDAV();
// Root nodes
-$nodes = array(
- new Sabre_CalDAV_Principal_Collection($principalBackend),
+$collection = new Sabre_CalDAV_Principal_Collection($principalBackend);
+$collection->disableListing = true; // Disable listening
+
+$nodes = array(
+ $collection,
new Sabre_CardDAV_AddressBookRoot($principalBackend, $carddavBackend),
-);
+ );
// Fire up server
$server = new Sabre_DAV_Server($nodes);
diff --git a/apps/contacts/js/contacts.js b/apps/contacts/js/contacts.js
index 67bfa9847ee..35637de050d 100644
--- a/apps/contacts/js/contacts.js
+++ b/apps/contacts/js/contacts.js
@@ -1220,7 +1220,7 @@ OC.Contacts={
},
loadPhoto:function(){
var self = this;
- var refreshstr = ''; //'&refresh='+Math.random();
+ var refreshstr = '&refresh='+Math.random();
$('#phototools li a').tipsy('hide');
var wrapper = $('#contacts_details_photo_wrapper');
wrapper.addClass('loading').addClass('wait');
diff --git a/apps/contacts/l10n/ca.php b/apps/contacts/l10n/ca.php
index 925d78b6844..72550522d5b 100644
--- a/apps/contacts/l10n/ca.php
+++ b/apps/contacts/l10n/ca.php
@@ -59,6 +59,7 @@
"Edit name" => "Edita el nom",
"No files selected for upload." => "No s'han seleccionat fitxers per a la pujada.",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "El fitxer que intenteu pujar excedeix la mida màxima de pujada en aquest servidor.",
+"Error loading profile picture." => "Error en carregar la imatge de perfil.",
"Select type" => "Seleccioneu un tipus",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Heu marcat eliminar alguns contactes, però encara no s'han eliminat. Espereu mentre s'esborren.",
"Result: " => "Resultat: ",
@@ -108,6 +109,8 @@
"Next contact in list" => "Següent contacte de la llista",
"Previous contact in list" => "Contacte anterior de la llista",
"Expand/collapse current addressbook" => "Expandeix/col·lapsa la llibreta d'adreces",
+"Next addressbook" => "Llibreta d'adreces següent",
+"Previous addressbook" => "Llibreta d'adreces anterior",
"Actions" => "Accions",
"Refresh contacts list" => "Carrega de nou la llista de contactes",
"Add new contact" => "Afegeix un contacte nou",
diff --git a/apps/contacts/l10n/de.php b/apps/contacts/l10n/de.php
index 5fa5bb4f9dd..a47b61d5075 100644
--- a/apps/contacts/l10n/de.php
+++ b/apps/contacts/l10n/de.php
@@ -2,13 +2,13 @@
"Error (de)activating addressbook." => "(De-)Aktivierung des Adressbuches fehlgeschlagen",
"id is not set." => "ID ist nicht angegeben.",
"Cannot update addressbook with an empty name." => "Adressbuch kann nicht mir leeren Namen aktualisiert werden.",
-"Error updating addressbook." => "Adressbuch aktualisieren fehlgeschlagen",
+"Error updating addressbook." => "Adressbuch aktualisieren fehlgeschlagen.",
"No ID provided" => "Keine ID angegeben",
"Error setting checksum." => "Fehler beim Setzen der Prüfsumme.",
"No categories selected for deletion." => "Keine Kategorien zum Löschen ausgewählt.",
"No address books found." => "Keine Adressbücher gefunden.",
"No contacts found." => "Keine Kontakte gefunden.",
-"There was an error adding the contact." => "Erstellen des Kontakts fehlgeschlagen",
+"There was an error adding the contact." => "Erstellen des Kontakts fehlgeschlagen.",
"element name is not set." => "Kein Name für das Element angegeben.",
"Could not parse contact: " => "Konnte folgenden Kontakt nicht verarbeiten:",
"Cannot add empty property." => "Feld darf nicht leer sein.",
@@ -16,7 +16,7 @@
"Trying to add duplicate property: " => "Versuche, doppelte Eigenschaft hinzuzufügen: ",
"Error adding contact property: " => "Fehler beim Hinzufügen der Kontakteigenschaft:",
"Information about vCard is incorrect. Please reload the page." => "Die Information der vCard ist fehlerhaft. Bitte aktualisiere die Seite.",
-"Error deleting contact property." => "Kontakteigenschaft löschen fehlgeschlagen",
+"Error deleting contact property." => "Kontakteigenschaft löschen fehlgeschlagen.",
"Missing ID" => "Fehlende ID",
"Error parsing VCard for ID: \"" => "Fehler beim Einlesen der VCard für die ID: \"",
"checksum is not set." => "Keine Prüfsumme angegeben.",
@@ -33,15 +33,15 @@
"Error loading image." => "Fehler beim Laden des Bildes.",
"Error getting contact object." => "Fehler beim Abruf des Kontakt-Objektes.",
"Error getting PHOTO property." => "Fehler beim Abrufen der PHOTO Eigenschaft.",
-"Error saving contact." => "Fehler beim Speichern des Kontaktes",
+"Error saving contact." => "Fehler beim Speichern des Kontaktes.",
"Error resizing image" => "Fehler bei der Größenänderung des Bildes",
"Error cropping image" => "Fehler beim Zuschneiden des Bildes",
"Error creating temporary image" => "Fehler beim erstellen des temporären Bildes",
"Error finding image: " => "Fehler beim Suchen des Bildes: ",
"Error uploading contacts to storage." => "Übertragen der Kontakte fehlgeschlagen",
"There is no error, the file uploaded with success" => "Alles bestens, Datei erfolgreich übertragen.",
-"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Datei größer als durch die upload_max_filesize Direktive in php.ini erlaubt",
-"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Datei größer als die MAX_FILE_SIZE Direktive erlaubt, die im HTML Formular spezifiziert ist",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Datei größer, als durch die upload_max_filesize Direktive in php.ini erlaubt",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Datei größer, als die MAX_FILE_SIZE Direktive erlaubt, die im HTML Formular spezifiziert ist",
"The uploaded file was only partially uploaded" => "Datei konnte nur teilweise übertragen werden",
"No file was uploaded" => "Keine Datei konnte übertragen werden.",
"Missing a temporary folder" => "Kein temporärer Ordner vorhanden",
@@ -50,17 +50,18 @@
"No file was uploaded. Unknown error" => "Keine Datei hochgeladen. Unbekannter Fehler",
"Contacts" => "Kontakte",
"Sorry, this functionality has not been implemented yet" => "Diese Funktion steht leider noch nicht zur Verfügung",
-"Not implemented" => "Nicht Verfügbar",
+"Not implemented" => "Nicht verfügbar",
"Couldn't get a valid address." => "Konnte keine gültige Adresse abrufen",
"Error" => "Fehler",
-"This property has to be non-empty." => "Dieses Feld darf nicht Leer sein.",
+"This property has to be non-empty." => "Dieses Feld darf nicht leer sein.",
"Couldn't serialize elements." => "Konnte Elemente nicht serialisieren",
-"'deleteProperty' called without type argument. Please report at bugs.owncloud.org" => "'deleteProperty' wurde ohne Argumente aufgerufen, bitte Melde dies auf bugs.owncloud.org",
+"'deleteProperty' called without type argument. Please report at bugs.owncloud.org" => "'deleteProperty' wurde ohne Argumente aufgerufen, bitte melde dies auf bugs.owncloud.org",
"Edit name" => "Name ändern",
"No files selected for upload." => "Keine Datei(en) zum Hochladen ausgewählt",
-"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei, die Sie versuchen hochzuladen, überschreitet die maximale Größe für Datei-Uploads auf diesem Server.",
+"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei, die du hochladen willst, überschreitet die maximale Größe für Datei-Uploads auf diesem Server.",
+"Error loading profile picture." => "Fehler beim Laden des Profilbildes.",
"Select type" => "Wähle Typ",
-"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Einige zum Löschen markiert Kontakte wurden noch nicht gelöscht. Bitte warten ...",
+"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Einige zum Löschen markiert Kontakte wurden noch nicht gelöscht. Bitte warten.",
"Result: " => "Ergebnis: ",
" imported, " => " importiert, ",
" failed." => " fehlgeschlagen.",
@@ -119,7 +120,7 @@
"Delete current photo" => "Derzeitiges Foto löschen",
"Edit current photo" => "Foto ändern",
"Upload new photo" => "Neues Foto hochladen",
-"Select photo from ownCloud" => "Foto aus ownCloud auswählen",
+"Select photo from ownCloud" => "Foto aus der ownCloud auswählen",
"Format custom, Short name, Full name, Reverse or Reverse with comma" => "Format benutzerdefiniert, Kurzname, Vollname, Rückwärts oder Rückwärts mit Komma",
"Edit name details" => "Name ändern",
"Delete" => "Löschen",
@@ -134,7 +135,7 @@
"Edit groups" => "Gruppen editieren",
"Preferred" => "Bevorzugt",
"Please specify a valid email address." => "Bitte eine gültige E-Mail-Adresse angeben.",
-"Enter email address" => "E-Mail-Adresse angeben.",
+"Enter email address" => "E-Mail-Adresse angeben",
"Mail to address" => "E-Mail an diese Adresse schreiben",
"Delete email address" => "E-Mail-Adresse löschen",
"Enter phone number" => "Telefonnummer angeben",
@@ -194,7 +195,7 @@
"Enter description" => "Beschreibung eingeben",
"CardDAV syncing addresses" => "CardDAV Sync-Adressen",
"more info" => "mehr Info",
-"Primary address (Kontact et al)" => "primäre Adresse (für Kontact o.ä. Programme)",
+"Primary address (Kontact et al)" => "primäre Adresse (für Kontakt o.ä. Programme)",
"iOS/OS X" => "iOS/OS X",
"Show CardDav link" => "CardDav-Link anzeigen",
"Show read-only VCF link" => "Schreibgeschützten VCF-Link anzeigen",
diff --git a/apps/contacts/l10n/eo.php b/apps/contacts/l10n/eo.php
index 29ac52b1fe7..33c0106d5a4 100644
--- a/apps/contacts/l10n/eo.php
+++ b/apps/contacts/l10n/eo.php
@@ -39,6 +39,8 @@
"Error finding image: " => "Eraro dum serĉo de bildo: ",
"Error uploading contacts to storage." => "Eraro dum alŝutiĝis kontaktoj al konservejo.",
"There is no error, the file uploaded with success" => "Ne estas eraro, la dosiero alŝutiĝis sukcese.",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "La alŝutita dosiero transpasas la preskribon upload_max_filesize en php.ini",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "La alŝutita dosiero transpasas la preskribon MAX_FILE_SIZE kiu specifiĝis en la HTML-formularo",
"The uploaded file was only partially uploaded" => "la alŝutita dosiero nur parte alŝutiĝis",
"No file was uploaded" => "Neniu dosiero alŝutiĝis.",
"Missing a temporary folder" => "Mankas provizora dosierujo.",
@@ -53,6 +55,7 @@
"This property has to be non-empty." => "Ĉi tiu propraĵo devas ne esti malplena.",
"Edit name" => "Redakti nomon",
"No files selected for upload." => "Neniu dosiero elektita por alŝuto.",
+"The file you are trying to upload exceed the maximum size for file uploads on this server." => "La dosiero, kiun vi provas alŝuti, transpasas la maksimuman grandon por dosieraj alŝutoj en ĉi tiu servilo.",
"Select type" => "Elektu tipon",
"Result: " => "Rezulto: ",
" imported, " => " enportoj, ",
@@ -76,7 +79,9 @@
"Internet" => "Interreto",
"Birthday" => "Naskiĝotago",
"Business" => "Negoco",
+"Call" => "Voko",
"Clients" => "Klientoj",
+"Holidays" => "Ferioj",
"Ideas" => "Ideoj",
"Meeting" => "Kunveno",
"Other" => "Alia",
@@ -94,7 +99,10 @@
"Navigation" => "Navigado",
"Next contact in list" => "Sekva kontakto en la listo",
"Previous contact in list" => "Malsekva kontakto en la listo",
+"Next addressbook" => "Sekva adresaro",
+"Previous addressbook" => "Malsekva adresaro",
"Actions" => "Agoj",
+"Refresh contacts list" => "Refreŝigi la kontaktoliston",
"Add new contact" => "Aldoni novan kontakton",
"Add new addressbook" => "Aldoni novan adresaron",
"Delete current contact" => "Forigi la nunan kontakton",
diff --git a/apps/contacts/l10n/es.php b/apps/contacts/l10n/es.php
index e9ee24d5297..ebc38dfb3ee 100644
--- a/apps/contacts/l10n/es.php
+++ b/apps/contacts/l10n/es.php
@@ -78,12 +78,32 @@
"Pager" => "Localizador",
"Internet" => "Internet",
"Birthday" => "Cumpleaños",
+"Business" => "Negocio",
+"Call" => "Llamada",
+"Clients" => "Clientes",
+"Holidays" => "Vacaciones",
+"Ideas" => "Ideas",
+"Journey" => "Jornada",
+"Meeting" => "Reunión",
+"Other" => "Otro",
+"Personal" => "Personal",
+"Projects" => "Proyectos",
+"Questions" => "Preguntas",
"{name}'s Birthday" => "Cumpleaños de {name}",
"Contact" => "Contacto",
"Add Contact" => "Añadir contacto",
"Import" => "Importar",
+"Settings" => "Configuración",
"Addressbooks" => "Libretas de direcciones",
"Close" => "Cierra.",
+"Keyboard shortcuts" => "Atajos de teclado",
+"Navigation" => "Navegación",
+"Next contact in list" => "Siguiente contacto en la lista",
+"Previous contact in list" => "Anterior contacto en la lista",
+"Actions" => "Acciones",
+"Refresh contacts list" => "Refrescar la lista de contactos",
+"Add new contact" => "Añadir un nuevo contacto",
+"Delete current contact" => "Eliminar contacto actual",
"Drop photo to upload" => "Suelta una foto para subirla",
"Delete current photo" => "Eliminar fotografía actual",
"Edit current photo" => "Editar fotografía actual",
@@ -94,6 +114,7 @@
"Delete" => "Borrar",
"Nickname" => "Alias",
"Enter nickname" => "Introduce un alias",
+"Web site" => "Sitio Web",
"dd-mm-yyyy" => "dd-mm-yyyy",
"Groups" => "Grupos",
"Separate groups with commas" => "Separa los grupos con comas",
@@ -121,6 +142,7 @@
"City" => "Ciudad",
"Region" => "Región",
"Zipcode" => "Código postal",
+"Postal code" => "Código postal",
"Country" => "País",
"Addressbook" => "Libreta de direcciones",
"Hon. prefixes" => "Prefijos honoríficos",
@@ -150,6 +172,8 @@
"You have no contacts in your addressbook." => "No hay contactos en tu agenda.",
"Add contact" => "Añadir contacto",
"Configure addressbooks" => "Configurar agenda",
+"Enter name" => "Introducir nombre",
+"Enter description" => "Introducir descripción",
"CardDAV syncing addresses" => "Sincronizando direcciones",
"more info" => "más información",
"Primary address (Kontact et al)" => "Dirección primaria (Kontact et al)",
@@ -157,6 +181,9 @@
"Download" => "Descargar",
"Edit" => "Editar",
"New Address Book" => "Nueva libreta de direcciones",
+"Name" => "Nombre",
+"Description" => "Descripción",
"Save" => "Guardar",
-"Cancel" => "Cancelar"
+"Cancel" => "Cancelar",
+"More..." => "Más..."
);
diff --git a/apps/contacts/l10n/fi_FI.php b/apps/contacts/l10n/fi_FI.php
index 6aab4ed3472..069b08144e5 100644
--- a/apps/contacts/l10n/fi_FI.php
+++ b/apps/contacts/l10n/fi_FI.php
@@ -1,5 +1,6 @@
<?php $TRANSLATIONS = array(
"Error updating addressbook." => "Virhe päivitettäessä osoitekirjaa.",
+"Error setting checksum." => "Virhe asettaessa tarkistussummaa.",
"No categories selected for deletion." => "Luokkia ei ole valittu poistettavaksi.",
"No address books found." => "Osoitekirjoja ei löytynyt.",
"No contacts found." => "Yhteystietoja ei löytynyt.",
@@ -11,6 +12,7 @@
"Error parsing VCard for ID: \"" => "Virhe jäsennettäessä vCardia tunnisteelle: \"",
"Error updating contact property." => "Virhe päivitettäessä yhteystiedon ominaisuutta.",
"Error saving temporary file." => "Virhe tallennettaessa tilapäistiedostoa.",
+"No photo path was submitted." => "Kuvan polkua ei annettu.",
"File doesn't exist:" => "Tiedostoa ei ole olemassa:",
"Error loading image." => "Virhe kuvaa ladatessa.",
"Error saving contact." => "Virhe yhteystietoa tallennettaessa.",
@@ -22,11 +24,14 @@
"The uploaded file was only partially uploaded" => "Lähetetty tiedosto lähetettiin vain osittain",
"No file was uploaded" => "Tiedostoa ei lähetetty",
"Missing a temporary folder" => "Tilapäiskansio puuttuu",
+"Couldn't save temporary image: " => "Väliaikaiskuvan tallennus epäonnistui:",
+"Couldn't load temporary image: " => "Väliaikaiskuvan lataus epäonnistui:",
"No file was uploaded. Unknown error" => "Tiedostoa ei lähetetty. Tuntematon virhe",
"Contacts" => "Yhteystiedot",
"Error" => "Virhe",
"Edit name" => "Muokkaa nimeä",
"No files selected for upload." => "Tiedostoja ei ole valittu lähetettäväksi.",
+"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Jotkin yhteystiedot on merkitty poistettaviksi, mutta niitä ei ole vielä poistettu. Odota hetki, että kyseiset yhteystiedot poistetaan.",
"Result: " => "Tulos: ",
" imported, " => " tuotu, ",
" failed." => " epäonnistui.",
@@ -61,6 +66,8 @@
"Keyboard shortcuts" => "Pikanäppäimet",
"Next contact in list" => "Seuraava yhteystieto luettelossa",
"Previous contact in list" => "Edellinen yhteystieto luettelossa",
+"Next addressbook" => "Seuraava osoitekirja",
+"Previous addressbook" => "Edellinen osoitekirja",
"Actions" => "Toiminnot",
"Refresh contacts list" => "Päivitä yhteystietoluettelo",
"Add new contact" => "Lisää uusi yhteystieto",
diff --git a/apps/contacts/l10n/fr.php b/apps/contacts/l10n/fr.php
index 9b4822bd976..93299380d22 100644
--- a/apps/contacts/l10n/fr.php
+++ b/apps/contacts/l10n/fr.php
@@ -60,6 +60,7 @@
"No files selected for upload." => "Aucun fichiers choisis pour être chargés",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Le fichier que vous tenter de charger dépasse la taille maximum de fichier autorisé sur ce serveur.",
"Select type" => "Sélectionner un type",
+"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Certains contacts sont marqués pour être supprimés mais sont encore présents, veuillez attendre que l'opération se termine.",
"Result: " => "Résultat :",
" imported, " => "importé,",
" failed." => "échoué.",
@@ -196,6 +197,7 @@
"Primary address (Kontact et al)" => "Adresse principale",
"iOS/OS X" => "iOS/OS X",
"Show CardDav link" => "Afficher le lien CardDav",
+"Show read-only VCF link" => "Afficher les liens VCF en lecture seule",
"Download" => "Télécharger",
"Edit" => "Modifier",
"New Address Book" => "Nouveau Carnet d'adresses",
diff --git a/apps/contacts/l10n/it.php b/apps/contacts/l10n/it.php
index 31f950ff80c..e1af39fe91a 100644
--- a/apps/contacts/l10n/it.php
+++ b/apps/contacts/l10n/it.php
@@ -59,6 +59,7 @@
"Edit name" => "Modifica il nome",
"No files selected for upload." => "Nessun file selezionato per l'invio",
"The file you are trying to upload exceed the maximum size for file uploads on this server." => "Il file che stai cercando di inviare supera la dimensione massima per l'invio dei file su questo server.",
+"Error loading profile picture." => "Errore durante il caricamento dell'immagine di profilo.",
"Select type" => "Seleziona il tipo",
"Some contacts are marked for deletion, but not deleted yet. Please wait for them to be deleted." => "Alcuni contatti sono marcati per l'eliminazione, ma non sono stati ancora rimossi. Attendi fino al completamento dell'operazione.",
"Result: " => "Risultato: ",
@@ -108,6 +109,8 @@
"Next contact in list" => "Contatto successivo in elenco",
"Previous contact in list" => "Contatto precedente in elenco",
"Expand/collapse current addressbook" => "Espandi/Contrai la rubrica corrente",
+"Next addressbook" => "Rubrica successiva",
+"Previous addressbook" => "Rubrica precedente",
"Actions" => "Azioni",
"Refresh contacts list" => "Aggiorna l'elenco dei contatti",
"Add new contact" => "Aggiungi un nuovo contatto",
diff --git a/apps/contacts/l10n/ja_JP.php b/apps/contacts/l10n/ja_JP.php
index 074a725b48b..4f7800e1dbc 100644
--- a/apps/contacts/l10n/ja_JP.php
+++ b/apps/contacts/l10n/ja_JP.php
@@ -10,15 +10,18 @@
"No contacts found." => "連絡先が見つかりません。",
"There was an error adding the contact." => "連絡先の追加でエラーが発生しました。",
"element name is not set." => "要素名が設定されていません。",
+"Could not parse contact: " => "連絡先を解析できませんでした:",
"Cannot add empty property." => "項目の新規追加に失敗しました。",
"At least one of the address fields has to be filled out." => "住所の項目のうち1つは入力して下さい。",
"Trying to add duplicate property: " => "重複する属性を追加: ",
"Error adding contact property: " => "コンタクト属性の追加エラー: ",
"Information about vCard is incorrect. Please reload the page." => "vCardの情報に誤りがあります。ページをリロードして下さい。",
"Error deleting contact property." => "連絡先の削除に失敗しました。",
+"Missing ID" => "IDが見つかりません",
"Error parsing VCard for ID: \"" => "VCardからIDの抽出エラー: \"",
"checksum is not set." => "チェックサムが設定されていません。",
"Information about vCard is incorrect. Please reload the page: " => "vCardの情報が正しくありません。ページを再読み込みしてください: ",
+"Something went FUBAR. " => "何かがFUBARへ移動しました。",
"Error updating contact property." => "連絡先の更新に失敗しました。",
"No contact ID was submitted." => "連絡先IDは登録されませんでした。",
"Error reading contact photo." => "連絡先写真の読み込みエラー。",
@@ -60,6 +63,8 @@
"Result: " => "結果: ",
" imported, " => " をインポート、 ",
" failed." => " は失敗しました。",
+"Displayname cannot be empty." => "表示名は空にできません。",
+"Addressbook not found: " => "連絡先が見つかりません:",
"This is not your addressbook." => "これはあなたの電話帳ではありません。",
"Contact could not be found." => "連絡先を見つける事ができません。",
"Address" => "住所",
@@ -78,6 +83,7 @@
"Internet" => "インターネット",
"Birthday" => "誕生日",
"Business" => "ビジネス",
+"Call" => "電話",
"Clients" => "顧客",
"Deliverer" => "運送会社",
"Holidays" => "休日",
@@ -100,6 +106,11 @@
"Navigation" => "ナビゲーション",
"Next contact in list" => "リスト内の次のコンタクト",
"Previous contact in list" => "リスト内の前のコンタクト",
+"Expand/collapse current addressbook" => "現在の連絡帳を展開する/折りたたむ",
+"Next addressbook" => "次の連絡先",
+"Previous addressbook" => "前の連絡先",
+"Actions" => "アクション",
+"Refresh contacts list" => "連絡先リストを再読込する",
"Add new contact" => "新しいコンタクトを追加",
"Add new addressbook" => "新しいアドレスブックを追加",
"Delete current contact" => "現在のコンタクトを削除",
@@ -114,6 +125,7 @@
"Enter nickname" => "ニックネームを入力",
"Web site" => "ウェブサイト",
"http://www.somesite.com" => "http://www.somesite.com",
+"Go to web site" => "Webサイトへ移動",
"dd-mm-yyyy" => "yyyy-mm-dd",
"Groups" => "グループ",
"Separate groups with commas" => "コンマでグループを分割",
@@ -137,9 +149,13 @@
"Edit address" => "住所を編集",
"Type" => "種類",
"PO Box" => "私書箱",
-"Extended" => "番地2",
+"Street address" => "住所1",
+"Street and number" => "番地",
+"Extended" => "住所2",
+"Apartment number etc." => "アパート名等",
"City" => "都市",
"Region" => "都道府県",
+"E.g. state or province" => "例:東京都、大阪府",
"Zipcode" => "郵便番号",
"Postal code" => "郵便番号",
"Country" => "国名",
@@ -170,14 +186,21 @@
"You have no contacts in your addressbook." => "アドレスブックに連絡先が登録されていません。",
"Add contact" => "連絡先を追加",
"Configure addressbooks" => "アドレス帳を設定",
+"Select Address Books" => "連絡先を洗濯してください",
"Enter name" => "名前を入力",
+"Enter description" => "説明を入力してください",
"CardDAV syncing addresses" => "CardDAV同期アドレス",
"more info" => "詳細情報",
"Primary address (Kontact et al)" => "プライマリアドレス(Kontact 他)",
"iOS/OS X" => "iOS/OS X",
+"Show CardDav link" => "CarDavリンクを表示",
+"Show read-only VCF link" => "読み取り専用のVCFリンクを表示",
"Download" => "ダウンロード",
"Edit" => "編集",
"New Address Book" => "新規電話帳",
+"Name" => "名前",
+"Description" => "説明",
"Save" => "保存",
-"Cancel" => "取り消し"
+"Cancel" => "取り消し",
+"More..." => "もっと..."
);
diff --git a/apps/contacts/l10n/ms_MY.php b/apps/contacts/l10n/ms_MY.php
index 2fd386f5a81..8153c4d9366 100644
--- a/apps/contacts/l10n/ms_MY.php
+++ b/apps/contacts/l10n/ms_MY.php
@@ -61,6 +61,7 @@
"Result: " => "Hasil: ",
" imported, " => " import, ",
" failed." => " gagal.",
+"Addressbook not found: " => "Buku alamat tidak ditemui:",
"This is not your addressbook." => "Ini bukan buku alamat anda.",
"Contact could not be found." => "Hubungan tidak dapat ditemui",
"Address" => "Alamat",
@@ -78,12 +79,25 @@
"Pager" => "Alat Kelui",
"Internet" => "Internet",
"Birthday" => "Hari lahir",
+"Business" => "Perniagaan",
+"Clients" => "klien",
+"Holidays" => "Hari kelepasan",
+"Ideas" => "Idea",
+"Journey" => "Perjalanan",
+"Jubilee" => "Jubli",
+"Meeting" => "Mesyuarat",
+"Other" => "Lain",
+"Personal" => "Peribadi",
+"Projects" => "Projek",
"{name}'s Birthday" => "Hari Lahir {name}",
"Contact" => "Hubungan",
"Add Contact" => "Tambah kenalan",
"Import" => "Import",
+"Settings" => "Tetapan",
"Addressbooks" => "Senarai Buku Alamat",
"Close" => "Tutup",
+"Next addressbook" => "Buku alamat seterusnya",
+"Previous addressbook" => "Buku alamat sebelumnya",
"Drop photo to upload" => "Letak foto disini untuk muatnaik",
"Delete current photo" => "Padam foto semasa",
"Edit current photo" => "Ubah foto semasa",
@@ -150,6 +164,9 @@
"You have no contacts in your addressbook." => "Anda tidak mempunyai sebarang kenalan didalam buku alamat.",
"Add contact" => "Letak kenalan",
"Configure addressbooks" => "Konfigurasi buku alamat",
+"Select Address Books" => "Pilih Buku Alamat",
+"Enter name" => "Masukkan nama",
+"Enter description" => "Masukkan keterangan",
"CardDAV syncing addresses" => "alamat selarian CardDAV",
"more info" => "maklumat lanjut",
"Primary address (Kontact et al)" => "Alamat utama",
@@ -157,6 +174,9 @@
"Download" => "Muat naik",
"Edit" => "Sunting",
"New Address Book" => "Buku Alamat Baru",
+"Name" => "Nama",
+"Description" => "Keterangan",
"Save" => "Simpan",
-"Cancel" => "Batal"
+"Cancel" => "Batal",
+"More..." => "Lagi..."
);
diff --git a/apps/contacts/templates/index.php b/apps/contacts/templates/index.php
index 024b1d150f8..744381026ab 100644
--- a/apps/contacts/templates/index.php
+++ b/apps/contacts/templates/index.php
@@ -13,9 +13,9 @@
<div id="bottomcontrols">
<button class="svg" id="contacts_newcontact" title="<?php echo $l->t('Add Contact'); ?>"><img class="svg" src="<?php echo OCP\Util::imagePath('contacts', 'contact-new.svg'); ?>" alt="<?php echo $l->t('Add Contact'); ?>" /></button>
<button class="svg import tip" title="<?php echo $l->t('Import'); ?>">
- <img class="svg" src="core/img/actions/upload.svg" alt="<?php echo $l->t('Import'); ?>" />
+ <img class="svg" src="<?php echo OCP\Util::imagePath('core', 'actions/upload.svg') ?>" alt="<?php echo $l->t('Import'); ?>" />
</button>
- <button class="svg settings tip" title="<?php echo $l->t('Settings'); ?>"><img class="svg" src="core/img/actions/settings.svg" alt="<?php echo $l->t('Addressbooks'); ?>" /></button>
+ <button class="svg settings tip" title="<?php echo $l->t('Settings'); ?>"><img class="svg" src="<?php echo OCP\Util::imagePath('core', 'actions/settings.svg') ?>" alt="<?php echo $l->t('Addressbooks'); ?>" /></button>
<form id="import_upload_form" action="<?php echo OCP\Util::linkTo('contacts', 'ajax/uploadimport.php'); ?>" method="post" enctype="multipart/form-data" target="import_upload_target">
<input class="float" id="import_upload_start" type="file" accept="text/directory,text/vcard,text/x-vcard" name="importfile" />
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $_['uploadMaxFilesize'] ?>" id="max_upload">
@@ -69,6 +69,6 @@
<div id="dialog_holder"></div>
<!-- End of Dialogs -->
<menu type="context" id="addressbookmenu">
- <menuitem label="Delete" icon="core/img/actions/delete.svg" onclick="alert('Really? ' + $(this).attr('data-id'))"></menuitem>
- <menuitem label="Rename" icon="core/img/actions/rename.svg" onclick="alert('Can\'t do that')"></menuitem>
+ <menuitem label="Delete" icon="<?php echo OCP\Util::imagePath('core', 'actions/delete.svg') ?>" onclick="alert('Really? ' + $(this).attr('data-id'))"></menuitem>
+ <menuitem label="Rename" icon="<?php echo OCP\Util::imagePath('core', 'actions/rename.svg') ?>" onclick="alert('Can\'t do that')"></menuitem>
</menu>
diff --git a/apps/contacts/templates/part.selectaddressbook.php b/apps/contacts/templates/part.selectaddressbook.php
index c54ddaf2e67..812a3b891ff 100644
--- a/apps/contacts/templates/part.selectaddressbook.php
+++ b/apps/contacts/templates/part.selectaddressbook.php
@@ -1,4 +1,11 @@
<div id="selectaddressbook_dialog" title="<?php echo $l->t("Select Address Books"); ?>">
+<script type="text/javascript">
+$(document).ready(function() {
+ $('input.name,input.desc').on('focus', function(e) {
+ $('#book_new').prop('checked', true);
+ });
+});
+</script>
<form>
<table style="width: 100%">
<?php foreach($_['addressbooks'] as $idx => $addressbook) { ?>
diff --git a/apps/files/l10n/zh_CN.GB2312.php b/apps/files/l10n/zh_CN.GB2312.php
new file mode 100644
index 00000000000..2026becc4db
--- /dev/null
+++ b/apps/files/l10n/zh_CN.GB2312.php
@@ -0,0 +1,52 @@
+<?php $TRANSLATIONS = array(
+"There is no error, the file uploaded with success" => "没有任何错误,文件上传成功了",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "上传的文件超过了php.ini指定的upload_max_filesize",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "上传的文件超过了HTML表单指定的MAX_FILE_SIZE",
+"The uploaded file was only partially uploaded" => "文件只有部分被上传",
+"No file was uploaded" => "没有上传完成的文件",
+"Missing a temporary folder" => "丢失了一个临时文件夹",
+"Failed to write to disk" => "写磁盘失败",
+"Files" => "文件",
+"Unshare" => "未分享的",
+"Delete" => "删除",
+"already exists" => "已经存在了",
+"replace" => "替换",
+"cancel" => "取消",
+"replaced" => "替换过了",
+"with" => "随着",
+"undo" => "撤销",
+"deleted" => "删除",
+"generating ZIP-file, it may take some time." => "正在生成ZIP文件,这可能需要点时间",
+"Unable to upload your file as it is a directory or has 0 bytes" => "不能上传你指定的文件,可能因为它是个文件夹或者大小为0",
+"Upload Error" => "上传错误",
+"Pending" => "Pending",
+"Upload cancelled." => "上传取消了",
+"Invalid name, '/' is not allowed." => "非法文件名,\"/\"是不被许可的",
+"Size" => "大小",
+"Modified" => "修改日期",
+"folder" => "文件夹",
+"folders" => "文件夹",
+"file" => "文件",
+"files" => "文件",
+"File handling" => "文件处理中",
+"Maximum upload size" => "最大上传大小",
+"max. possible: " => "最大可能",
+"Needed for multi-file and folder downloads." => "需要多文件和文件夹下载.",
+"Enable ZIP-download" => "支持ZIP下载",
+"0 is unlimited" => "0是无限的",
+"Maximum input size for ZIP files" => "最大的ZIP文件输入大小",
+"New" => "新建",
+"Text file" => "文本文档",
+"Folder" => "文件夹",
+"From url" => "从URL:",
+"Upload" => "上传",
+"Cancel upload" => "取消上传",
+"Nothing in here. Upload something!" => "这里没有东西.上传点什么!",
+"Name" => "名字",
+"Share" => "分享",
+"Download" => "下载",
+"Upload too large" => "上传的文件太大了",
+"The files you are trying to upload exceed the maximum size for file uploads on this server." => "你正在试图上传的文件超过了此服务器支持的最大的文件大小.",
+"Files are being scanned, please wait." => "正在扫描文件,请稍候.",
+"Current scanning" => "正在扫描"
+);
diff --git a/apps/files_encryption/l10n/.gitkeep b/apps/files_encryption/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/files_encryption/l10n/.gitkeep
diff --git a/apps/files_encryption/l10n/ca.php b/apps/files_encryption/l10n/ca.php
new file mode 100644
index 00000000000..8e087b34620
--- /dev/null
+++ b/apps/files_encryption/l10n/ca.php
@@ -0,0 +1,6 @@
+<?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"
+);
diff --git a/apps/files_encryption/l10n/de.php b/apps/files_encryption/l10n/de.php
new file mode 100644
index 00000000000..d486a82322b
--- /dev/null
+++ b/apps/files_encryption/l10n/de.php
@@ -0,0 +1,6 @@
+<?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"
+);
diff --git a/apps/files_encryption/l10n/pl.php b/apps/files_encryption/l10n/pl.php
new file mode 100644
index 00000000000..5cfc707450e
--- /dev/null
+++ b/apps/files_encryption/l10n/pl.php
@@ -0,0 +1,6 @@
+<?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"
+);
diff --git a/apps/files_encryption/l10n/sv.php b/apps/files_encryption/l10n/sv.php
new file mode 100644
index 00000000000..0a477f83460
--- /dev/null
+++ b/apps/files_encryption/l10n/sv.php
@@ -0,0 +1,6 @@
+<?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"
+);
diff --git a/apps/files_external/ajax/removeRootCertificate.php b/apps/files_external/ajax/removeRootCertificate.php
index a00922f4210..f78f85b8fe4 100644
--- a/apps/files_external/ajax/removeRootCertificate.php
+++ b/apps/files_external/ajax/removeRootCertificate.php
@@ -1,6 +1,8 @@
<?php
OCP\JSON::checkAppEnabled('files_external');
+OCP\JSON::checkLoggedIn();
+OCP\JSON::callCheck();
$view = \OCP\Files::getStorage("files_external");
$cert = $_POST['cert'];
diff --git a/apps/files_external/css/settings.css b/apps/files_external/css/settings.css
index d8575c49e34..ca4b1c3ba89 100644
--- a/apps/files_external/css/settings.css
+++ b/apps/files_external/css/settings.css
@@ -1,5 +1,7 @@
.error { color: #FF3B3B; }
td.mountPoint, td.backend { width:10em; }
+td.remove>img { visibility:hidden; padding-top:0.8em; }
+tr:hover>td.remove>img { visibility:visible; cursor:pointer; }
#addMountPoint>td { border:none; }
#addMountPoint>td.applicable { visibility:hidden; }
#selectBackend { margin-left:-10px; } \ No newline at end of file
diff --git a/apps/files_external/js/dropbox.js b/apps/files_external/js/dropbox.js
index 08796cbbdc9..92194792f42 100644
--- a/apps/files_external/js/dropbox.js
+++ b/apps/files_external/js/dropbox.js
@@ -1,12 +1,15 @@
$(document).ready(function() {
- $('#externalStorage tbody tr').each(function() {
- if ($(this).find('.backend').data('class') == 'OC_Filestorage_Dropbox') {
+ $('#externalStorage tbody tr.OC_Filestorage_Dropbox').each(function() {
+ var configured = $(this).find('[data-parameter="configured"]');
+ if ($(configured).val() == 'true') {
+ $(this).find('.configuration input').attr('disabled', 'disabled');
+ $(this).find('.configuration').append('<span id="access" style="padding-left:0.5em;">Access granted</span>');
+ } else {
var app_key = $(this).find('.configuration [data-parameter="app_key"]').val();
var app_secret = $(this).find('.configuration [data-parameter="app_secret"]').val();
- if (app_key == '' && app_secret == '') {
- $(this).find('.configuration').append('<a class="button dropbox">Grant access</a>');
- } else {
+ var config = $(this).find('.configuration');
+ if (app_key != '' && app_secret != '') {
var pos = window.location.search.indexOf('oauth_token') + 12
var token = $(this).find('.configuration [data-parameter="token"]');
if (pos != -1 && window.location.search.substr(pos, $(token).val().length) == $(token).val()) {
@@ -17,11 +20,31 @@ $(document).ready(function() {
$(token).val(result.access_token);
$(token_secret).val(result.access_token_secret);
OC.MountConfig.saveStorage(tr);
+ $(tr).find('.configuration input').attr('disabled', 'disabled');
+ $(tr).find('.configuration').append('<span id="access" style="padding-left:0.5em;">Access granted</span>');
} else {
OC.dialogs.alert(result.data.message, 'Error configuring Dropbox storage');
}
});
}
+ } else if ($(this).find('.mountPoint input').val() != '' && $(config).find('[data-parameter="app_key"]').val() != '' && $(config).find('[data-parameter="app_secret"]').val() != '' && $(this).find('.dropbox').length == 0) {
+ $(this).find('.configuration').append('<a class="button dropbox">Grant access</a>');
+ }
+ }
+ });
+
+ $('#externalStorage tbody tr input').live('keyup', function() {
+ var tr = $(this).parent().parent();
+ if ($(tr).hasClass('OC_Filestorage_Dropbox') && $(tr).find('[data-parameter="configured"]').val() != 'true') {
+ var config = $(tr).find('.configuration');
+ if ($(tr).find('.mountPoint input').val() != '' && $(config).find('[data-parameter="app_key"]').val() != '' && $(config).find('[data-parameter="app_secret"]').val() != '') {
+ if ($(tr).find('.dropbox').length == 0) {
+ $(config).append('<a class="button dropbox">Grant access</a>');
+ } else {
+ $(tr).find('.dropbox').show();
+ }
+ } else if ($(tr).find('.dropbox').length > 0) {
+ $(tr).find('.dropbox').hide();
}
}
});
@@ -32,14 +55,19 @@ $(document).ready(function() {
var app_secret = $(this).parent().find('[data-parameter="app_secret"]').val();
if (app_key != '' && app_secret != '') {
var tr = $(this).parent().parent();
+ var configured = $(this).parent().find('[data-parameter="configured"]');
var token = $(this).parent().find('[data-parameter="token"]');
var token_secret = $(this).parent().find('[data-parameter="token_secret"]');
$.post(OC.filePath('files_external', 'ajax', 'dropbox.php'), { step: 1, app_key: app_key, app_secret: app_secret, callback: window.location.href }, function(result) {
if (result && result.status == 'success') {
+ $(configured).val('false');
$(token).val(result.data.request_token);
$(token_secret).val(result.data.request_token_secret);
- OC.MountConfig.saveStorage(tr);
- window.location = result.data.url;
+ if (OC.MountConfig.saveStorage(tr)) {
+ window.location = result.data.url;
+ } else {
+ OC.dialogs.alert('Fill out all required fields', 'Error configuring Dropbox storage');
+ }
} else {
OC.dialogs.alert(result.data.message, 'Error configuring Dropbox storage');
}
diff --git a/apps/files_external/js/google.js b/apps/files_external/js/google.js
index 55042194c7d..7c62297df4d 100644
--- a/apps/files_external/js/google.js
+++ b/apps/files_external/js/google.js
@@ -1,47 +1,76 @@
$(document).ready(function() {
-
- $('#externalStorage tbody tr').each(function() {
- if ($(this).find('.backend').data('class') == 'OC_Filestorage_Google') {
+
+ $('#externalStorage tbody tr.OC_Filestorage_Google').each(function() {
+ var configured = $(this).find('[data-parameter="configured"]');
+ if ($(configured).val() == 'true') {
+ $(this).find('.configuration').append('<span id="access" style="padding-left:0.5em;">Access granted</span>');
+ } else {
var token = $(this).find('[data-parameter="token"]');
var token_secret = $(this).find('[data-parameter="token_secret"]');
- if ($(token).val() == '' && $(token).val() == '') {
- $(this).find('.configuration').append('<a class="button google">Grant access</a>');
- } else {
- var params = {};
- window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
- params[key] = value;
+ var params = {};
+ window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
+ params[key] = value;
+ });
+ if (params['oauth_token'] !== undefined && params['oauth_verifier'] !== undefined && decodeURIComponent(params['oauth_token']) == $(token).val()) {
+ var tr = $(this);
+ $.post(OC.filePath('files_external', 'ajax', 'google.php'), { step: 2, oauth_verifier: params['oauth_verifier'], request_token: $(token).val(), request_token_secret: $(token_secret).val() }, function(result) {
+ if (result && result.status == 'success') {
+ $(token).val(result.access_token);
+ $(token_secret).val(result.access_token_secret);
+ $(configured).val('true');
+ OC.MountConfig.saveStorage(tr);
+ $(tr).find('.configuration').append('<span id="access" style="padding-left:0.5em;">Access granted</span>');
+ } else {
+ OC.dialogs.alert(result.data.message, 'Error configuring Google Drive storage');
+ }
});
- if (params['oauth_token'] !== undefined && params['oauth_verifier'] !== undefined && decodeURIComponent(params['oauth_token']) == $(token).val()) {
- var tr = $(this);
- $.post(OC.filePath('files_external', 'ajax', 'google.php'), { step: 2, oauth_verifier: params['oauth_verifier'], request_token: $(token).val(), request_token_secret: $(token_secret).val() }, function(result) {
- if (result && result.status == 'success') {
- $(token).val(result.access_token);
- $(token_secret).val(result.access_token_secret);
- OC.MountConfig.saveStorage(tr);
- } else {
- OC.dialogs.alert(result.data.message, 'Error configuring Google Drive storage');
- }
- });
+ } else if ($(this).find('.google').length == 0) {
+ $(this).find('.configuration').append('<a class="button google">Grant access</a>');
+ }
+ }
+ });
+
+ $('#externalStorage tbody tr').live('change', function() {
+ if ($(this).hasClass('OC_Filestorage_Google') && $(this).find('[data-parameter="configured"]').val() != 'true') {
+ if ($(this).find('.mountPoint input').val() != '') {
+ if ($(this).find('.google').length == 0) {
+ $(this).find('.configuration').append('<a class="button google">Grant access</a>');
}
}
}
});
-
+
+ $('#externalStorage tbody tr .mountPoint input').live('keyup', function() {
+ var tr = $(this).parent().parent();
+ if ($(tr).hasClass('OC_Filestorage_Google') && $(tr).find('[data-parameter="configured"]').val() != 'true' && $(tr).find('.google').length > 0) {
+ if ($(this).val() != '') {
+ $(tr).find('.google').show();
+ } else {
+ $(tr).find('.google').hide();
+ }
+ }
+ });
+
$('.google').live('click', function(event) {
event.preventDefault();
var tr = $(this).parent().parent();
+ var configured = $(this).parent().find('[data-parameter="configured"]');
var token = $(this).parent().find('[data-parameter="token"]');
var token_secret = $(this).parent().find('[data-parameter="token_secret"]');
$.post(OC.filePath('files_external', 'ajax', 'google.php'), { step: 1, callback: window.location.href }, function(result) {
if (result && result.status == 'success') {
+ $(configured).val('false');
$(token).val(result.data.request_token);
$(token_secret).val(result.data.request_token_secret);
- OC.MountConfig.saveStorage(tr);
- window.location = result.data.url;
+ if (OC.MountConfig.saveStorage(tr)) {
+ window.location = result.data.url;
+ } else {
+ OC.dialogs.alert('Fill out all required fields', 'Error configuring Google Drive storage');
+ }
} else {
OC.dialogs.alert(result.data.message, 'Error configuring Google Drive storage');
}
});
});
-
+
});
diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js
index 0d942e7845b..23f02bbefcb 100644
--- a/apps/files_external/js/settings.js
+++ b/apps/files_external/js/settings.js
@@ -1,4 +1,4 @@
-OC.MountConfig={
+OC.MountConfig={
saveStorage:function(tr) {
var mountPoint = $(tr).find('.mountPoint input').val();
if (mountPoint == '') {
@@ -63,6 +63,7 @@ OC.MountConfig={
var applicable = OC.currentUser;
$.post(OC.filePath('files_external', 'ajax', 'addMountPoint.php'), { mountPoint: mountPoint, class: backendClass, classOptions: classOptions, mountType: mountType, applicable: applicable, isPersonal: isPersonal });
}
+ return true;
}
}
}
@@ -77,6 +78,10 @@ $(document).ready(function() {
var selected = $(this).find('option:selected').text();
var backendClass = $(this).val();
$(this).parent().text(selected);
+ if ($(tr).find('.mountPoint input').val() == '') {
+ $(tr).find('.mountPoint input').val(suggestMountPoint(selected.replace(/\s+/g, '')));
+ }
+ $(tr).addClass(backendClass);
$(tr).find('.backend').data('class', backendClass);
var configurations = $(this).data('configurations');
var td = $(tr).find('td.configuration');
@@ -95,7 +100,7 @@ $(document).ready(function() {
td.append('<input type="text" data-parameter="'+parameter+'" placeholder="'+placeholder+'" />');
}
});
- if (parameters['custom']) {
+ if (parameters['custom'] && $('#externalStorage tbody tr.'+backendClass).length == 1) {
OC.addScript('files_external', parameters['custom']);
}
return false;
@@ -108,6 +113,28 @@ $(document).ready(function() {
$(this).remove();
});
+ function suggestMountPoint(defaultMountPoint) {
+ var i = 1;
+ var append = '';
+ var match = true;
+ while (match && i < 20) {
+ match = false;
+ $('#externalStorage tbody td.mountPoint input').each(function(index, mountPoint) {
+ if ($(mountPoint).val() == defaultMountPoint+append) {
+ match = true;
+ return false;
+ }
+ });
+ if (match) {
+ append = i;
+ i++;
+ } else {
+ break;
+ }
+ }
+ return defaultMountPoint+append;
+ }
+
$('#externalStorage td').live('change', function() {
OC.MountConfig.saveStorage($(this).parent());
});
diff --git a/apps/files_external/l10n/.gitkeep b/apps/files_external/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/files_external/l10n/.gitkeep
diff --git a/apps/files_external/l10n/ca.php b/apps/files_external/l10n/ca.php
new file mode 100644
index 00000000000..aa93379c358
--- /dev/null
+++ b/apps/files_external/l10n/ca.php
@@ -0,0 +1,18 @@
+<?php $TRANSLATIONS = array(
+"External Storage" => "Emmagatzemament extern",
+"Mount point" => "Punt de muntatge",
+"Backend" => "Dorsal",
+"Configuration" => "Configuració",
+"Options" => "Options",
+"Applicable" => "Aplicable",
+"Add mount point" => "Afegeix punt de muntatge",
+"None set" => "Cap d'establert",
+"All Users" => "Tots els usuaris",
+"Groups" => "Grups",
+"Users" => "Usuaris",
+"Delete" => "Elimina",
+"SSL root certificates" => "Certificats SSL root",
+"Import Root Certificate" => "Importa certificat root",
+"Enable User External Storage" => "Habilita l'emmagatzemament extern d'usuari",
+"Allow users to mount their own external storage" => "Permet als usuaris muntar el seu emmagatzemament extern propi"
+);
diff --git a/apps/files_external/l10n/sv.php b/apps/files_external/l10n/sv.php
new file mode 100644
index 00000000000..0838df6a32b
--- /dev/null
+++ b/apps/files_external/l10n/sv.php
@@ -0,0 +1,18 @@
+<?php $TRANSLATIONS = array(
+"External Storage" => "Extern lagring",
+"Mount point" => "Monteringspunkt",
+"Backend" => "Källa",
+"Configuration" => "Konfiguration",
+"Options" => "Alternativ",
+"Applicable" => "Tillämplig",
+"Add mount point" => "Lägg till monteringspunkt",
+"None set" => "Ingen angiven",
+"All Users" => "Alla användare",
+"Groups" => "Grupper",
+"Users" => "Användare",
+"Delete" => "Radera",
+"SSL root certificates" => "SSL rotcertifikat",
+"Import Root Certificate" => "Importera rotcertifikat",
+"Enable User External Storage" => "Aktivera extern lagring för användare",
+"Allow users to mount their own external storage" => "Tillåt användare att montera egen extern lagring"
+);
diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php
index 5630df77a91..f1bc16e2537 100755
--- a/apps/files_external/lib/config.php
+++ b/apps/files_external/lib/config.php
@@ -1,263 +1,263 @@
-<?php
-/**
-* ownCloud
-*
-* @author Michael Gapczynski
-* @copyright 2012 Michael Gapczynski mtgap@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/>.
-*/
-
-/**
-* Class to configure the config/mount.php and data/$user/mount.php files
-*/
-class OC_Mount_Config {
-
- const MOUNT_TYPE_GLOBAL = 'global';
- const MOUNT_TYPE_GROUP = 'group';
- const MOUNT_TYPE_USER = 'user';
-
- /**
- * Get details on each of the external storage backends, used for the mount config UI
- * If a custom UI is needed, add the key 'custom' and a javascript file with that name will be loaded
- * If the configuration parameter should be secret, add a '*' to the beginning of the value
- * If the configuration parameter is a boolean, add a '!' to the beginning of the value
- * If the configuration parameter is optional, add a '&' to the beginning of the value
- * If the configuration parameter is hidden, add a '#' to the begining of the value
- * @return array
- */
- public static function getBackends() {
- return array(
- 'OC_Filestorage_Local' => array('backend' => 'Local', 'configuration' => array('datadir' => 'Location')),
- 'OC_Filestorage_AmazonS3' => array('backend' => 'Amazon S3', 'configuration' => array('key' => 'Key', 'secret' => '*Secret', 'bucket' => 'Bucket')),
- 'OC_Filestorage_Dropbox' => array('backend' => 'Dropbox', 'configuration' => array('app_key' => 'App key', 'app_secret' => 'App secret', 'token' => '#token', 'token_secret' => '#token_secret'), 'custom' => 'dropbox'),
- 'OC_Filestorage_FTP' => array('backend' => 'FTP', 'configuration' => array('host' => 'URL', 'user' => 'Username', 'password' => '*Password', 'root' => '&Root', 'secure' => '!Secure ftps://')),
- 'OC_Filestorage_Google' => array('backend' => 'Google Drive', 'configuration' => array('token' => '#token', 'token_secret' => '#token secret'), 'custom' => 'google'),
- 'OC_Filestorage_SWIFT' => array('backend' => 'OpenStack Swift', 'configuration' => array('host' => 'URL', 'user' => 'Username', 'token' => '*Token', 'root' => '&Root', 'secure' => '!Secure ftps://')),
- 'OC_Filestorage_SMB' => array('backend' => 'SMB', 'configuration' => array('host' => 'URL', 'user' => 'Username', 'password' => '*Password', 'share' => 'Share', 'root' => '&Root')),
- 'OC_Filestorage_DAV' => array('backend' => 'WebDAV', 'configuration' => array('host' => 'URL', 'user' => 'Username', 'password' => '*Password', 'root' => '&Root', 'secure' => '!Secure https://'))
- );
- }
-
- /**
- * Get the system mount points
- * The returned array is not in the same format as getUserMountPoints()
- * @return array
- */
- public static function getSystemMountPoints() {
- $mountPoints = self::readData(false);
- $backends = self::getBackends();
- $system = array();
- if (isset($mountPoints[self::MOUNT_TYPE_GROUP])) {
- foreach ($mountPoints[self::MOUNT_TYPE_GROUP] as $group => $mounts) {
- foreach ($mounts as $mountPoint => $mount) {
- // Remove '/$user/files/' from mount point
- $mountPoint = substr($mountPoint, 13);
- // Merge the mount point into the current mount points
- if (isset($system[$mountPoint]) && $system[$mountPoint]['configuration'] == $mount['options']) {
- $system[$mountPoint]['applicable']['groups'] = array_merge($system[$mountPoint]['applicable']['groups'], array($group));
- } else {
- $system[$mountPoint] = array('class' => $mount['class'], 'backend' => $backends[$mount['class']]['backend'], 'configuration' => $mount['options'], 'applicable' => array('groups' => array($group), 'users' => array()));
- }
- }
- }
- }
- if (isset($mountPoints[self::MOUNT_TYPE_USER])) {
- foreach ($mountPoints[self::MOUNT_TYPE_USER] as $user => $mounts) {
- foreach ($mounts as $mountPoint => $mount) {
- // Remove '/$user/files/' from mount point
- $mountPoint = substr($mountPoint, 13);
- // Merge the mount point into the current mount points
- if (isset($system[$mountPoint]) && $system[$mountPoint]['configuration'] == $mount['options']) {
- $system[$mountPoint]['applicable']['users'] = array_merge($system[$mountPoint]['applicable']['users'], array($user));
- } else {
- $system[$mountPoint] = array('class' => $mount['class'], 'backend' => $backends[$mount['class']]['backend'], 'configuration' => $mount['options'], 'applicable' => array('groups' => array(), 'users' => array($user)));
- }
- }
- }
- }
- return $system;
- }
-
- /**
- * Get the personal mount points of the current user
- * The returned array is not in the same format as getUserMountPoints()
- * @return array
- */
- public static function getPersonalMountPoints() {
- $mountPoints = self::readData(true);
- $backends = self::getBackends();
- $uid = OCP\User::getUser();
- $personal = array();
- if (isset($mountPoints[self::MOUNT_TYPE_USER][$uid])) {
- foreach ($mountPoints[self::MOUNT_TYPE_USER][$uid] as $mountPoint => $mount) {
- // Remove '/uid/files/' from mount point
- $personal[substr($mountPoint, strlen($uid) + 8)] = array('class' => $mount['class'], 'backend' => $backends[$mount['class']]['backend'], 'configuration' => $mount['options']);
- }
- }
- return $personal;
- }
-
-
- /**
- * Add a mount point to the filesystem
- * @param string Mount point
- * @param string Backend class
- * @param array Backend parameters for the class
- * @param string MOUNT_TYPE_GROUP | MOUNT_TYPE_USER
- * @param string User or group to apply mount to
- * @param bool Personal or system mount point i.e. is this being called from the personal or admin page
- * @return bool
- */
- public static function addMountPoint($mountPoint, $class, $classOptions, $mountType, $applicable, $isPersonal = false) {
- if ($isPersonal) {
- // Verify that the mount point applies for the current user
- // Prevent non-admin users from mounting local storage
- if ($applicable != OCP\User::getUser() || $class == 'OC_Filestorage_Local') {
- return false;
- }
- $mountPoint = '/'.$applicable.'/files/'.ltrim($mountPoint, '/');
- } else {
- $mountPoint = '/$user/files/'.ltrim($mountPoint, '/');
- }
- $mount = array($applicable => array($mountPoint => array('class' => $class, 'options' => $classOptions)));
- $mountPoints = self::readData($isPersonal);
- // Merge the new mount point into the current mount points
- if (isset($mountPoints[$mountType])) {
- if (isset($mountPoints[$mountType][$applicable])) {
- $mountPoints[$mountType][$applicable] = array_merge($mountPoints[$mountType][$applicable], $mount[$applicable]);
- } else {
- $mountPoints[$mountType] = array_merge($mountPoints[$mountType], $mount);
- }
- } else {
- $mountPoints[$mountType] = $mount;
- }
- self::writeData($isPersonal, $mountPoints);
- return true;
- }
-
- /**
- *
- * @param string Mount point
- * @param string MOUNT_TYPE_GROUP | MOUNT_TYPE_USER
- * @param string User or group to remove mount from
- * @param bool Personal or system mount point
- * @return bool
- */
- public static function removeMountPoint($mountPoint, $mountType, $applicable, $isPersonal = false) {
- // Verify that the mount point applies for the current user
- if ($isPersonal) {
- if ($applicable != OCP\User::getUser()) {
- return false;
- }
- $mountPoint = '/'.$applicable.'/files/'.ltrim($mountPoint, '/');
- } else {
- $mountPoint = '/$user/files/'.ltrim($mountPoint, '/');
- }
- $mountPoints = self::readData($isPersonal);
- // Remove mount point
- unset($mountPoints[$mountType][$applicable][$mountPoint]);
- // Unset parent arrays if empty
- if (empty($mountPoints[$mountType][$applicable])) {
- unset($mountPoints[$mountType][$applicable]);
- if (empty($mountPoints[$mountType])) {
- unset($mountPoints[$mountType]);
- }
- }
- self::writeData($isPersonal, $mountPoints);
- return true;
- }
-
- /**
- * Read the mount points in the config file into an array
- * @param bool Personal or system config file
- * @return array
- */
- private static function readData($isPersonal) {
- if ($isPersonal) {
- $file = OC::$SERVERROOT.'/data/'.OCP\User::getUser().'/mount.php';
- } else {
- $file = OC::$SERVERROOT.'/config/mount.php';
- }
- if (is_file($file)) {
- $mountPoints = include($file);
- if (is_array($mountPoints)) {
- return $mountPoints;
- }
- }
- return array();
- }
-
- /**
- * Write the mount points to the config file
- * @param bool Personal or system config file
- * @param array Mount points
- */
- private static function writeData($isPersonal, $data) {
- if ($isPersonal) {
- $file = OC::$SERVERROOT.'/data/'.OCP\User::getUser().'/mount.php';
- } else {
- $file = OC::$SERVERROOT.'/config/mount.php';
- }
- $content = "<?php return array (\n";
- if (isset($data[self::MOUNT_TYPE_GROUP])) {
- $content .= "\t'group' => array (\n";
- foreach ($data[self::MOUNT_TYPE_GROUP] as $group => $mounts) {
- $content .= "\t\t'".$group."' => array (\n";
- foreach ($mounts as $mountPoint => $mount) {
- $content .= "\t\t\t'".$mountPoint."' => ".str_replace("\n", '', var_export($mount, true)).",\n";
-
- }
- $content .= "\t\t),\n";
- }
- $content .= "\t),\n";
- }
- if (isset($data[self::MOUNT_TYPE_USER])) {
- $content .= "\t'user' => array (\n";
- foreach ($data[self::MOUNT_TYPE_USER] as $user => $mounts) {
- $content .= "\t\t'".$user."' => array (\n";
- foreach ($mounts as $mountPoint => $mount) {
- $content .= "\t\t\t'".$mountPoint."' => ".str_replace("\n", '', var_export($mount, true)).",\n";
- }
- $content .= "\t\t),\n";
- }
- $content .= "\t),\n";
- }
- $content .= ");\n?>";
- @file_put_contents($file, $content);
- }
-
+<?php
+/**
+* ownCloud
+*
+* @author Michael Gapczynski
+* @copyright 2012 Michael Gapczynski mtgap@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/>.
+*/
+
+/**
+* Class to configure the config/mount.php and data/$user/mount.php files
+*/
+class OC_Mount_Config {
+
+ const MOUNT_TYPE_GLOBAL = 'global';
+ const MOUNT_TYPE_GROUP = 'group';
+ const MOUNT_TYPE_USER = 'user';
+
+ /**
+ * Get details on each of the external storage backends, used for the mount config UI
+ * If a custom UI is needed, add the key 'custom' and a javascript file with that name will be loaded
+ * If the configuration parameter should be secret, add a '*' to the beginning of the value
+ * If the configuration parameter is a boolean, add a '!' to the beginning of the value
+ * If the configuration parameter is optional, add a '&' to the beginning of the value
+ * If the configuration parameter is hidden, add a '#' to the begining of the value
+ * @return array
+ */
+ public static function getBackends() {
+ return array(
+ 'OC_Filestorage_Local' => array('backend' => 'Local', 'configuration' => array('datadir' => 'Location')),
+ 'OC_Filestorage_AmazonS3' => array('backend' => 'Amazon S3', 'configuration' => array('key' => 'Key', 'secret' => '*Secret', 'bucket' => 'Bucket')),
+ 'OC_Filestorage_Dropbox' => array('backend' => 'Dropbox', 'configuration' => array('configured' => '#configured','app_key' => 'App key', 'app_secret' => 'App secret', 'token' => '#token', 'token_secret' => '#token_secret'), 'custom' => 'dropbox'),
+ 'OC_Filestorage_FTP' => array('backend' => 'FTP', 'configuration' => array('host' => 'URL', 'user' => 'Username', 'password' => '*Password', 'root' => '&Root', 'secure' => '!Secure ftps://')),
+ 'OC_Filestorage_Google' => array('backend' => 'Google Drive', 'configuration' => array('configured' => '#configured', 'token' => '#token', 'token_secret' => '#token secret'), 'custom' => 'google'),
+ 'OC_Filestorage_SWIFT' => array('backend' => 'OpenStack Swift', 'configuration' => array('host' => 'URL', 'user' => 'Username', 'token' => '*Token', 'root' => '&Root', 'secure' => '!Secure ftps://')),
+ 'OC_Filestorage_SMB' => array('backend' => 'SMB', 'configuration' => array('host' => 'URL', 'user' => 'Username', 'password' => '*Password', 'share' => 'Share', 'root' => '&Root')),
+ 'OC_Filestorage_DAV' => array('backend' => 'WebDAV', 'configuration' => array('host' => 'URL', 'user' => 'Username', 'password' => '*Password', 'root' => '&Root', 'secure' => '!Secure https://'))
+ );
+ }
+
+ /**
+ * Get the system mount points
+ * The returned array is not in the same format as getUserMountPoints()
+ * @return array
+ */
+ public static function getSystemMountPoints() {
+ $mountPoints = self::readData(false);
+ $backends = self::getBackends();
+ $system = array();
+ if (isset($mountPoints[self::MOUNT_TYPE_GROUP])) {
+ foreach ($mountPoints[self::MOUNT_TYPE_GROUP] as $group => $mounts) {
+ foreach ($mounts as $mountPoint => $mount) {
+ // Remove '/$user/files/' from mount point
+ $mountPoint = substr($mountPoint, 13);
+ // Merge the mount point into the current mount points
+ if (isset($system[$mountPoint]) && $system[$mountPoint]['configuration'] == $mount['options']) {
+ $system[$mountPoint]['applicable']['groups'] = array_merge($system[$mountPoint]['applicable']['groups'], array($group));
+ } else {
+ $system[$mountPoint] = array('class' => $mount['class'], 'backend' => $backends[$mount['class']]['backend'], 'configuration' => $mount['options'], 'applicable' => array('groups' => array($group), 'users' => array()));
+ }
+ }
+ }
+ }
+ if (isset($mountPoints[self::MOUNT_TYPE_USER])) {
+ foreach ($mountPoints[self::MOUNT_TYPE_USER] as $user => $mounts) {
+ foreach ($mounts as $mountPoint => $mount) {
+ // Remove '/$user/files/' from mount point
+ $mountPoint = substr($mountPoint, 13);
+ // Merge the mount point into the current mount points
+ if (isset($system[$mountPoint]) && $system[$mountPoint]['configuration'] == $mount['options']) {
+ $system[$mountPoint]['applicable']['users'] = array_merge($system[$mountPoint]['applicable']['users'], array($user));
+ } else {
+ $system[$mountPoint] = array('class' => $mount['class'], 'backend' => $backends[$mount['class']]['backend'], 'configuration' => $mount['options'], 'applicable' => array('groups' => array(), 'users' => array($user)));
+ }
+ }
+ }
+ }
+ return $system;
+ }
+
+ /**
+ * Get the personal mount points of the current user
+ * The returned array is not in the same format as getUserMountPoints()
+ * @return array
+ */
+ public static function getPersonalMountPoints() {
+ $mountPoints = self::readData(true);
+ $backends = self::getBackends();
+ $uid = OCP\User::getUser();
+ $personal = array();
+ if (isset($mountPoints[self::MOUNT_TYPE_USER][$uid])) {
+ foreach ($mountPoints[self::MOUNT_TYPE_USER][$uid] as $mountPoint => $mount) {
+ // Remove '/uid/files/' from mount point
+ $personal[substr($mountPoint, strlen($uid) + 8)] = array('class' => $mount['class'], 'backend' => $backends[$mount['class']]['backend'], 'configuration' => $mount['options']);
+ }
+ }
+ return $personal;
+ }
+
+
+ /**
+ * Add a mount point to the filesystem
+ * @param string Mount point
+ * @param string Backend class
+ * @param array Backend parameters for the class
+ * @param string MOUNT_TYPE_GROUP | MOUNT_TYPE_USER
+ * @param string User or group to apply mount to
+ * @param bool Personal or system mount point i.e. is this being called from the personal or admin page
+ * @return bool
+ */
+ public static function addMountPoint($mountPoint, $class, $classOptions, $mountType, $applicable, $isPersonal = false) {
+ if ($isPersonal) {
+ // Verify that the mount point applies for the current user
+ // Prevent non-admin users from mounting local storage
+ if ($applicable != OCP\User::getUser() || $class == 'OC_Filestorage_Local') {
+ return false;
+ }
+ $mountPoint = '/'.$applicable.'/files/'.ltrim($mountPoint, '/');
+ } else {
+ $mountPoint = '/$user/files/'.ltrim($mountPoint, '/');
+ }
+ $mount = array($applicable => array($mountPoint => array('class' => $class, 'options' => $classOptions)));
+ $mountPoints = self::readData($isPersonal);
+ // Merge the new mount point into the current mount points
+ if (isset($mountPoints[$mountType])) {
+ if (isset($mountPoints[$mountType][$applicable])) {
+ $mountPoints[$mountType][$applicable] = array_merge($mountPoints[$mountType][$applicable], $mount[$applicable]);
+ } else {
+ $mountPoints[$mountType] = array_merge($mountPoints[$mountType], $mount);
+ }
+ } else {
+ $mountPoints[$mountType] = $mount;
+ }
+ self::writeData($isPersonal, $mountPoints);
+ return true;
+ }
+
+ /**
+ *
+ * @param string Mount point
+ * @param string MOUNT_TYPE_GROUP | MOUNT_TYPE_USER
+ * @param string User or group to remove mount from
+ * @param bool Personal or system mount point
+ * @return bool
+ */
+ public static function removeMountPoint($mountPoint, $mountType, $applicable, $isPersonal = false) {
+ // Verify that the mount point applies for the current user
+ if ($isPersonal) {
+ if ($applicable != OCP\User::getUser()) {
+ return false;
+ }
+ $mountPoint = '/'.$applicable.'/files/'.ltrim($mountPoint, '/');
+ } else {
+ $mountPoint = '/$user/files/'.ltrim($mountPoint, '/');
+ }
+ $mountPoints = self::readData($isPersonal);
+ // Remove mount point
+ unset($mountPoints[$mountType][$applicable][$mountPoint]);
+ // Unset parent arrays if empty
+ if (empty($mountPoints[$mountType][$applicable])) {
+ unset($mountPoints[$mountType][$applicable]);
+ if (empty($mountPoints[$mountType])) {
+ unset($mountPoints[$mountType]);
+ }
+ }
+ self::writeData($isPersonal, $mountPoints);
+ return true;
+ }
+
+ /**
+ * Read the mount points in the config file into an array
+ * @param bool Personal or system config file
+ * @return array
+ */
+ private static function readData($isPersonal) {
+ if ($isPersonal) {
+ $file = OC::$SERVERROOT.'/data/'.OCP\User::getUser().'/mount.php';
+ } else {
+ $file = OC::$SERVERROOT.'/config/mount.php';
+ }
+ if (is_file($file)) {
+ $mountPoints = include($file);
+ if (is_array($mountPoints)) {
+ return $mountPoints;
+ }
+ }
+ return array();
+ }
+
+ /**
+ * Write the mount points to the config file
+ * @param bool Personal or system config file
+ * @param array Mount points
+ */
+ private static function writeData($isPersonal, $data) {
+ if ($isPersonal) {
+ $file = OC::$SERVERROOT.'/data/'.OCP\User::getUser().'/mount.php';
+ } else {
+ $file = OC::$SERVERROOT.'/config/mount.php';
+ }
+ $content = "<?php return array (\n";
+ if (isset($data[self::MOUNT_TYPE_GROUP])) {
+ $content .= "\t'group' => array (\n";
+ foreach ($data[self::MOUNT_TYPE_GROUP] as $group => $mounts) {
+ $content .= "\t\t'".$group."' => array (\n";
+ foreach ($mounts as $mountPoint => $mount) {
+ $content .= "\t\t\t'".$mountPoint."' => ".str_replace("\n", '', var_export($mount, true)).",\n";
+
+ }
+ $content .= "\t\t),\n";
+ }
+ $content .= "\t),\n";
+ }
+ if (isset($data[self::MOUNT_TYPE_USER])) {
+ $content .= "\t'user' => array (\n";
+ foreach ($data[self::MOUNT_TYPE_USER] as $user => $mounts) {
+ $content .= "\t\t'".$user."' => array (\n";
+ foreach ($mounts as $mountPoint => $mount) {
+ $content .= "\t\t\t'".$mountPoint."' => ".str_replace("\n", '', var_export($mount, true)).",\n";
+ }
+ $content .= "\t\t),\n";
+ }
+ $content .= "\t),\n";
+ }
+ $content .= ");\n?>";
+ @file_put_contents($file, $content);
+ }
+
/**
* Returns all user uploaded ssl root certificates
* @return array
*/
- public static function getCertificates() {
- $view = \OCP\Files::getStorage('files_external');
- $path=\OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath("").'uploads/';
- if (!is_dir($path)) mkdir($path);
- $result = array();
- $handle = opendir($path);
- while (false !== ($file = readdir($handle))) {
- if($file != '.' && $file != '..') $result[] = $file;
- }
- return $result;
- }
-
- /**
- * creates certificate bundle
- */
- public static function createCertificateBundle() {
+ public static function getCertificates() {
+ $view = \OCP\Files::getStorage('files_external');
+ $path=\OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath("").'uploads/';
+ if (!is_dir($path)) mkdir($path);
+ $result = array();
+ $handle = opendir($path);
+ while (false !== ($file = readdir($handle))) {
+ if($file != '.' && $file != '..') $result[] = $file;
+ }
+ return $result;
+ }
+
+ /**
+ * creates certificate bundle
+ */
+ public static function createCertificateBundle() {
$view = \OCP\Files::getStorage("files_external");
$path = \OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath("");
@@ -267,17 +267,17 @@ class OC_Mount_Config {
$file=$path.'/uploads/'.$cert;
$fh = fopen($file, "r");
$data = fread($fh, filesize($file));
- fclose($fh);
+ fclose($fh);
if (strpos($data, 'BEGIN CERTIFICATE')) {
- fwrite($fh_certs, $data);
+ fwrite($fh_certs, $data);
}
}
- fclose($fh_certs);
-
- return true;
- }
-
-}
-
+ fclose($fh_certs);
+
+ return true;
+ }
+
+}
+
?> \ No newline at end of file
diff --git a/apps/files_external/lib/dropbox.php b/apps/files_external/lib/dropbox.php
index 15446ff0bc3..b90563a5065 100755
--- a/apps/files_external/lib/dropbox.php
+++ b/apps/files_external/lib/dropbox.php
@@ -30,9 +30,13 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
private static $tempFiles = array();
public function __construct($params) {
- $oauth = new Dropbox_OAuth_Curl($params['app_key'], $params['app_secret']);
- $oauth->setToken($params['token'], $params['token_secret']);
- $this->dropbox = new Dropbox_API($oauth, 'dropbox');
+ if (isset($params['configured']) && $params['configured'] == 'true' && isset($params['app_key']) && isset($params['app_secret']) && isset($params['token']) && isset($params['token_secret'])) {
+ $oauth = new Dropbox_OAuth_Curl($params['app_key'], $params['app_secret']);
+ $oauth->setToken($params['token'], $params['token_secret']);
+ $this->dropbox = new Dropbox_API($oauth, 'dropbox');
+ } else {
+ throw new Exception('Creating OC_Filestorage_Dropbox storage failed');
+ }
}
private function getMetaData($path, $list = false) {
@@ -43,6 +47,7 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
try {
$response = $this->dropbox->getMetaData($path);
} catch (Exception $exception) {
+ OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
return false;
}
if ($response && isset($response['contents'])) {
@@ -63,6 +68,7 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
$this->metaData[$path] = $response;
return $response;
} catch (Exception $exception) {
+ OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
return false;
}
}
@@ -74,6 +80,7 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
$this->dropbox->createFolder($path);
return true;
} catch (Exception $exception) {
+ OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
return false;
}
}
@@ -141,6 +148,7 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
$this->dropbox->delete($path);
return true;
} catch (Exception $exception) {
+ OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
return false;
}
}
@@ -150,6 +158,7 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
$this->dropbox->move($path1, $path2);
return true;
} catch (Exception $exception) {
+ OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
return false;
}
}
@@ -159,6 +168,7 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
$this->dropbox->copy($path1, $path2);
return true;
} catch (Exception $exception) {
+ OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
return false;
}
}
@@ -173,6 +183,7 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
file_put_contents($tmpFile, $data);
return fopen($tmpFile, 'r');
} catch (Exception $exception) {
+ OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
return false;
}
case 'w':
@@ -211,7 +222,7 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
$this->dropbox->putFile(self::$tempFiles[$tmpFile], $handle);
unlink($tmpFile);
} catch (Exception $exception) {
-
+ OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
}
}
}
@@ -230,6 +241,7 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
$info = $this->dropbox->getAccountInfo();
return $info['quota_info']['quota'] - $info['quota_info']['normal'];
} catch (Exception $exception) {
+ OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
return false;
}
}
diff --git a/apps/files_external/lib/google.php b/apps/files_external/lib/google.php
index 02c52ffe04c..73317bbf714 100644
--- a/apps/files_external/lib/google.php
+++ b/apps/files_external/lib/google.php
@@ -31,13 +31,17 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
private static $tempFiles = array();
- public function __construct($arguments) {
- $consumer_key = isset($arguments['consumer_key']) ? $arguments['consumer_key'] : 'anonymous';
- $consumer_secret = isset($arguments['consumer_secret']) ? $arguments['consumer_secret'] : 'anonymous';
- $this->consumer = new OAuthConsumer($consumer_key, $consumer_secret);
- $this->oauth_token = new OAuthToken($arguments['token'], $arguments['token_secret']);
- $this->sig_method = new OAuthSignatureMethod_HMAC_SHA1();
- $this->entries = array();
+ public function __construct($params) {
+ if (isset($params['configured']) && $params['configured'] == 'true' && isset($params['token']) && isset($params['token_secret'])) {
+ $consumer_key = isset($params['consumer_key']) ? $params['consumer_key'] : 'anonymous';
+ $consumer_secret = isset($params['consumer_secret']) ? $params['consumer_secret'] : 'anonymous';
+ $this->consumer = new OAuthConsumer($consumer_key, $consumer_secret);
+ $this->oauth_token = new OAuthToken($params['token'], $params['token_secret']);
+ $this->sig_method = new OAuthSignatureMethod_HMAC_SHA1();
+ $this->entries = array();
+ } else {
+ throw new Exception('Creating OC_Filestorage_Google storage failed');
+ }
}
private function sendRequest($uri, $httpMethod, $postData = null, $extraHeaders = null, $isDownload = false, $returnHeaders = false, $isContentXML = true, $returnHTTPCode = false) {
diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php
index e8bc94790dc..397f0d951b0 100644
--- a/apps/files_external/templates/settings.php
+++ b/apps/files_external/templates/settings.php
@@ -15,7 +15,7 @@
<tbody width="100%">
<?php $_['mounts'] = array_merge($_['mounts'], array('' => array())); ?>
<?php foreach ($_['mounts'] as $mountPoint => $mount): ?>
- <tr <?php if ($mountPoint == '') echo 'id="addMountPoint"'; ?>>
+ <tr <?php echo ($mountPoint != '') ? 'class="'.$mount['class'].'"' : 'id="addMountPoint"'; ?>>
<td class="mountPoint"><input type="text" name="mountPoint" value="<?php echo $mountPoint; ?>" placeholder="<?php echo $l->t('Mount point'); ?>" /></td>
<?php if ($mountPoint == ''): ?>
<td class="backend">
diff --git a/apps/files_sharing/l10n/.gitkeep b/apps/files_sharing/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/files_sharing/l10n/.gitkeep
diff --git a/apps/files_sharing/l10n/ca.php b/apps/files_sharing/l10n/ca.php
new file mode 100644
index 00000000000..02d554c7f5d
--- /dev/null
+++ b/apps/files_sharing/l10n/ca.php
@@ -0,0 +1,11 @@
+<?php $TRANSLATIONS = array(
+"Your Shared Files" => "Els vostres fitxers compartits",
+"Item" => "Element",
+"Shared With" => "Compartit amb",
+"Permissions" => "Permisos",
+"Read" => "Llegeix",
+"Edit" => "Edita",
+"Delete" => "Elimina",
+"Enable Resharing" => "Permet compartir amb tercers",
+"Allow users to reshare files they don't own" => "Permet als usuaris compartir fitxers que no són seus"
+);
diff --git a/apps/files_sharing/l10n/pl.php b/apps/files_sharing/l10n/pl.php
new file mode 100644
index 00000000000..e087d4a293a
--- /dev/null
+++ b/apps/files_sharing/l10n/pl.php
@@ -0,0 +1,11 @@
+<?php $TRANSLATIONS = array(
+"Your Shared Files" => "Twoje udostępnione pliki",
+"Item" => "Element",
+"Shared With" => "Udostępnione dla",
+"Permissions" => "Uprawnienia",
+"Read" => "Odczyt",
+"Edit" => "Edycja",
+"Delete" => "Usuń",
+"Enable Resharing" => "Włącz ponowne udostępnianie",
+"Allow users to reshare files they don't own" => "Zezwalaj użytkownikom na ponowne udostępnienie plików, które są im udostępnione"
+);
diff --git a/apps/files_sharing/l10n/sv.php b/apps/files_sharing/l10n/sv.php
new file mode 100644
index 00000000000..8eb48c3b6de
--- /dev/null
+++ b/apps/files_sharing/l10n/sv.php
@@ -0,0 +1,11 @@
+<?php $TRANSLATIONS = array(
+"Your Shared Files" => "Dina delade filer",
+"Item" => "Objekt",
+"Shared With" => "Delad med",
+"Permissions" => "Rättigheter",
+"Read" => "Läsa",
+"Edit" => "Ändra",
+"Delete" => "Radera",
+"Enable Resharing" => "Aktivera dela vidare",
+"Allow users to reshare files they don't own" => "Tillåter användare att dela filer som dom inte äger"
+);
diff --git a/apps/files_versions/history.php b/apps/files_versions/history.php
index a34c92ee422..27dc8bfc382 100644
--- a/apps/files_versions/history.php
+++ b/apps/files_versions/history.php
@@ -28,7 +28,7 @@ $tmpl = new OCP\Template( 'files_versions', 'history', 'user' );
if ( isset( $_GET['path'] ) ) {
$path = $_GET['path'];
- $path = strip_tags( $path );
+ $path = $path;
$tmpl->assign( 'path', $path );
$versions = new OCA_Versions\Storage();
diff --git a/apps/files_versions/l10n/.gitkeep b/apps/files_versions/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/files_versions/l10n/.gitkeep
diff --git a/apps/files_versions/l10n/ca.php b/apps/files_versions/l10n/ca.php
new file mode 100644
index 00000000000..8388556bec6
--- /dev/null
+++ b/apps/files_versions/l10n/ca.php
@@ -0,0 +1,4 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "Expira totes les versions",
+"Enable Files Versioning" => "Habilita les versions de fitxers"
+);
diff --git a/apps/files_versions/l10n/pl.php b/apps/files_versions/l10n/pl.php
new file mode 100644
index 00000000000..faf2d39e709
--- /dev/null
+++ b/apps/files_versions/l10n/pl.php
@@ -0,0 +1,4 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "Wygasają wszystkie wersje",
+"Enable Files Versioning" => "Włącz wersjonowanie plików"
+);
diff --git a/apps/files_versions/l10n/sv.php b/apps/files_versions/l10n/sv.php
new file mode 100644
index 00000000000..03d4d54d0b9
--- /dev/null
+++ b/apps/files_versions/l10n/sv.php
@@ -0,0 +1,4 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "Upphör alla versioner",
+"Enable Files Versioning" => "Aktivera versionshantering"
+);
diff --git a/apps/files_versions/templates/settings-personal.php b/apps/files_versions/templates/settings-personal.php
index 7ff016b585e..fe9ba381e58 100644
--- a/apps/files_versions/templates/settings-personal.php
+++ b/apps/files_versions/templates/settings-personal.php
@@ -4,6 +4,6 @@
<strong>Versions</strong><!-- translate using echo $l->t('foo'); -->
</legend>
<p>This will delete all existing backup versions of your files</p><!-- translate using echo $l->t('foo'); -->
- <button id="expireAllBtn">Expire all versions<img style="display: none;" class="expireAllLoading" src="<?php echo OCP\Util::linkTo('core', 'img/loading.gif'); ?>" /></button>
+ <button id="expireAllBtn">Expire all versions<img style="display: none;" class="expireAllLoading" src="<?php echo OCP\Util::imagePath('core', 'loading.gif'); ?>" /></button>
</fieldset>
-</form> \ No newline at end of file
+</form>
diff --git a/apps/gallery/sharing.php b/apps/gallery/sharing.php
index 44fcd9c864b..af3e553e454 100644
--- a/apps/gallery/sharing.php
+++ b/apps/gallery/sharing.php
@@ -37,7 +37,7 @@ OCP\App::checkAppEnabled('gallery');
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="js/sharing.js" type="text/javascript"></script>
<script>
- var TOKEN = '<?php echo $_GET['token']; ?>';
+ var TOKEN = '<?php echo htmlentities($_GET['token']); ?>';
</script>
</head>
<body>
diff --git a/apps/gallery/templates/view_album.php b/apps/gallery/templates/view_album.php
deleted file mode 100644
index 00e891103f1..00000000000
--- a/apps/gallery/templates/view_album.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-OCP\Util::addStyle('gallery', 'styles');
-OCP\Util::addScript('gallery', 'albums');
-OCP\Util::addScript('gallery', 'album_cover');
-OCP\Util::addScript('files_imageviewer', 'jquery.mousewheel-3.0.4.pack');
-OCP\Util::addScript('files_imageviewer', 'jquery.fancybox-1.3.4.pack');
-OCP\Util::addStyle( 'files_imageviewer', 'jquery.fancybox-1.3.4' );
-$l = OC_L10N::get('gallery');
-?>
-<script type="text/javascript">
- $(document).ready(function() {
- $("a[rel=images]").fancybox({
- 'titlePosition': 'inside'
- });
- });
-</script>
-
-<div id="controls">
- <a href="?"><input type="button" value="<?php echo $l->t('Back');?>" /></a>
-<br/>
-</div>
-
-<div id="gallery_list" class="leftcontent">
-</div>
-
-<div id="gallery_images" class="rightcontent">
-<?php
-foreach ($_['photos'] as $a) {
-?>
-<a rel="images" href="../../files/download.php?file=<?php echo urlencode($a); ?>"><img src="ajax/thumbnail.php?img=<?php echo urlencode($a) ?>"></a>
-<?php
- }
-?>
-</div>
-
-<div id="dialog-confirm" title="<?php echo $l->t('Remove confirmation');?>" style="display: none">
- <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span><?php echo $l->t('Do you want to remove album');?> <span id="albumName"></span>?</p>
-</div>
-
-<div id="dialog-form" title="<?php echo $l->t('Change album name');?>" style="display:none">
- <form>
- <fieldset>
- <label for="name"><?php echo $l->t('New album name');?></label>
- <input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all" />
- </fieldset>
- </form>
-</div>
diff --git a/apps/media/l10n/zh_CN.GB2312.php b/apps/media/l10n/zh_CN.GB2312.php
new file mode 100644
index 00000000000..de7e98acd9e
--- /dev/null
+++ b/apps/media/l10n/zh_CN.GB2312.php
@@ -0,0 +1,14 @@
+<?php $TRANSLATIONS = array(
+"Music" => "音乐",
+"Add album to playlist" => "添加专辑到播放列表",
+"Play" => "播放",
+"Pause" => "暂停",
+"Previous" => "前面的",
+"Next" => "下一个",
+"Mute" => "静音",
+"Unmute" => "取消静音",
+"Rescan Collection" => "重新扫描收藏",
+"Artist" => "艺术家",
+"Album" => "专辑",
+"Title" => "标题"
+);
diff --git a/apps/remoteStorage/remoteStorage.png b/apps/remoteStorage/img/remoteStorage.png
index 6b751c09997..6b751c09997 100644
--- a/apps/remoteStorage/remoteStorage.png
+++ b/apps/remoteStorage/img/remoteStorage.png
Binary files differ
diff --git a/apps/remoteStorage/templates/settings.php b/apps/remoteStorage/templates/settings.php
index 147378dda39..1d2a188f527 100644
--- a/apps/remoteStorage/templates/settings.php
+++ b/apps/remoteStorage/templates/settings.php
@@ -1,10 +1,6 @@
<fieldset class="personalblock">
- <?php
- echo '<img src="../apps/remoteStorage/remoteStorage.png" style="width:16px"> '
- .'<strong>'.$l->t('remoteStorage').'</strong> user address: '
- .OCP\USER::getUser().'@'.$_SERVER['SERVER_NAME']
- .' (<a href="http://unhosted.org/">more info</a>)';
- ?>
+ <img src="<?php echo image_path('remoteStorage', 'remoteStorage.png') ?>" style="width:16px">
+ <strong><?php echo $l->t('remoteStorage') ?></strong> user address: <?php echo OCP\USER::getUser().'@'.$_SERVER['SERVER_NAME'] ?> (<a href="http://unhosted.org/">more info</a>)
<p><em>Apps that currently have access to your ownCloud:</em></p>
<script>
function revokeToken(token) {
@@ -14,15 +10,13 @@
}
</script>
<ul>
- <?php
- foreach(OC_remoteStorage::getAllTokens() as $token => $details) {
- echo '<li onmouseover="'
- .'document.getElementById(\'revoke_'.$token.'\').style.display=\'inline\';"'
- .'onmouseout="document.getElementById(\'revoke_'.$token.'\').style.display=\'none\';"'
- .'> <strong>'.$details['appUrl'].'</strong>: '.$details['categories']
- .' <a href="#" title="Revoke" class="action" style="display:none" id="revoke_'.$token.'" onclick="'
- .'revokeToken(\''.$token.'\');this.parentNode.style.display=\'none\';"'
- .'><img src="/core/img/actions/delete.svg"></a></li>'."\n";
- }
- ?></ul>
+ <?php foreach(OC_remoteStorage::getAllTokens() as $token => $details) { ?>
+ <li onmouseover="$('#revoke_<?php echo $token ?>').show();" onmouseout="$('#revoke_<?php echo $token ?>').hide();">
+ <strong><?php echo $details['appUrl'] ?></strong>: <?php echo $details['categories'] ?>
+ <a href="#" title="Revoke" class="action" style="display:none" id="revoke_<?php echo $token ?>" onclick="revokeToken('<?php echo $token ?>');$(this).hide();">
+ <img src="<?php echo OCP\Util::imagePath('core', 'actions/delete.svg') ?>">
+ </a>
+ </li>
+ <?php } ?>
+ </ul>
</fieldset>
diff --git a/apps/tasks/l10n/.gitkeep b/apps/tasks/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/tasks/l10n/.gitkeep
diff --git a/apps/tasks/l10n/ca.php b/apps/tasks/l10n/ca.php
new file mode 100644
index 00000000000..2608d8b9b17
--- /dev/null
+++ b/apps/tasks/l10n/ca.php
@@ -0,0 +1,24 @@
+<?php $TRANSLATIONS = array(
+"Invalid date/time" => "data/hora incorrecta",
+"Tasks" => "Tasques",
+"No category" => "Cap categoria",
+"Unspecified" => "Sense especificar",
+"1=highest" => "1=major",
+"5=medium" => "5=mitjana",
+"9=lowest" => "9=inferior",
+"Empty Summary" => "Elimina el resum",
+"Invalid percent complete" => "Percentatge completat no vàlid",
+"Invalid priority" => "Prioritat no vàlida",
+"Add Task" => "Afegeix una tasca",
+"Order Due" => "Ordena per",
+"Order List" => "Ordena per llista",
+"Order Complete" => "Ordena els complets",
+"Order Location" => "Ordena per ubicació",
+"Order Priority" => "Ordena per prioritat",
+"Order Label" => "Ordena per etiqueta",
+"Loading tasks..." => "Carregant les tasques...",
+"Important" => "Important",
+"More" => "Més",
+"Less" => "Menys",
+"Delete" => "Elimina"
+);
diff --git a/apps/tasks/l10n/sv.php b/apps/tasks/l10n/sv.php
new file mode 100644
index 00000000000..33bab14448f
--- /dev/null
+++ b/apps/tasks/l10n/sv.php
@@ -0,0 +1,24 @@
+<?php $TRANSLATIONS = array(
+"Invalid date/time" => "Felaktigt datum/tid",
+"Tasks" => "Uppgifter",
+"No category" => "Ingen kategori",
+"Unspecified" => "Ospecificerad ",
+"1=highest" => "1=högsta",
+"5=medium" => "5=mellan",
+"9=lowest" => "9=lägsta",
+"Empty Summary" => "Tom sammanfattning",
+"Invalid percent complete" => "Ogiltig andel procent klar",
+"Invalid priority" => "Felaktig prioritet",
+"Add Task" => "Lägg till uppgift",
+"Order Due" => "Förfaller",
+"Order List" => "Kategori",
+"Order Complete" => "Slutförd",
+"Order Location" => "Plats",
+"Order Priority" => "Prioritet",
+"Order Label" => "Etikett",
+"Loading tasks..." => "Laddar uppgifter...",
+"Important" => "Viktigt",
+"More" => "Mer",
+"Less" => "Mindre",
+"Delete" => "Radera"
+);
diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php
index aff25593ef7..709144539e9 100644
--- a/apps/user_ldap/group_ldap.php
+++ b/apps/user_ldap/group_ldap.php
@@ -133,12 +133,17 @@ class GROUP_LDAP extends lib\Access implements \OCP\GroupInterface {
* @brief get a list of all users in a group
* @returns array with user ids
*/
- public function usersInGroup($gid) {
+ public function usersInGroup($gid, $search = '', $limit = -1, $offset = 0) {
if(!$this->enabled) {
return array();
}
+ $this->groupSearch = $search;
if($this->connection->isCached('usersInGroup'.$gid)) {
- return $this->connection->getFromCache('usersInGroup'.$gid);
+ $groupUsers = $this->connection->getFromCache('usersInGroup'.$gid);
+ if(!empty($this->groupSearch)) {
+ $groupUsers = array_filter($groupUsers, array($this, 'groupMatchesFilter'));
+ }
+ return array_slice($groupUsers, $offset, $limit);
}
$groupDN = $this->groupname2dn($gid);
@@ -176,7 +181,11 @@ class GROUP_LDAP extends lib\Access implements \OCP\GroupInterface {
$groupUsers = array_unique($result, SORT_LOCALE_STRING);
$this->connection->writeToCache('usersInGroup'.$gid, $groupUsers);
- return $groupUsers;
+ if(!empty($this->groupSearch)) {
+ $groupUsers = array_filter($groupUsers, array($this, 'groupMatchesFilter'));
+ }
+ return array_slice($groupUsers, $offset, $limit);
+
}
/**
@@ -185,18 +194,27 @@ class GROUP_LDAP extends lib\Access implements \OCP\GroupInterface {
*
* Returns a list with all groups
*/
- public function getGroups() {
+ public function getGroups($search = '', $limit = -1, $offset = 0) {
if(!$this->enabled) {
return array();
}
+
if($this->connection->isCached('getGroups')) {
- return $this->connection->getFromCache('getGroups');
+ $ldap_groups = $this->connection->getFromCache('getGroups');
+ } else {
+ $ldap_groups = $this->fetchListOfGroups($this->connection->ldapGroupFilter, array($this->connection->ldapGroupDisplayName, 'dn'));
+ $ldap_groups = $this->ownCloudGroupNames($ldap_groups);
+ $this->connection->writeToCache('getGroups', $ldap_groups);
+ }
+ $this->groupSearch = $search;
+ if(!empty($this->groupSearch)) {
+ $ldap_groups = array_filter($ldap_groups, array($this, 'groupMatchesFilter'));
}
- $ldap_groups = $this->fetchListOfGroups($this->connection->ldapGroupFilter, array($this->connection->ldapGroupDisplayName, 'dn'));
- $ldap_groups = $this->ownCloudGroupNames($ldap_groups);
- $this->connection->writeToCache('getGroups', $ldap_groups);
+ return array_slice($ldap_groups, $offset, $limit);
+ }
- return $ldap_groups;
+ public function groupMatchesFilter($group) {
+ return (strripos($group, $this->groupSearch) !== false);
}
/**
diff --git a/apps/user_ldap/js/settings.js b/apps/user_ldap/js/settings.js
index 4e5923406ea..7063eead96a 100644
--- a/apps/user_ldap/js/settings.js
+++ b/apps/user_ldap/js/settings.js
@@ -13,7 +13,6 @@ $(document).ready(function() {
'Connection test succeeded'
);
} else {
- $('#ldap_action_test_connection').css('background-color', 'red');
OC.dialogs.alert(
result.message,
'Connection test failed'
diff --git a/apps/user_ldap/l10n/.gitkeep b/apps/user_ldap/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/user_ldap/l10n/.gitkeep
diff --git a/apps/user_ldap/l10n/ca.php b/apps/user_ldap/l10n/ca.php
new file mode 100644
index 00000000000..04b0f8997db
--- /dev/null
+++ b/apps/user_ldap/l10n/ca.php
@@ -0,0 +1,36 @@
+<?php $TRANSLATIONS = array(
+"Host" => "Màquina",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Podeu ometre el protocol, excepte si requeriu SSL. Llavors comenceu amb ldaps://",
+"Base DN" => "DN Base",
+"You can specify Base DN for users and groups in the Advanced tab" => "Podeu especificar DN Base per usuaris i grups a la pestanya Avançat",
+"User DN" => "DN Usuari",
+"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." => "La DN de l'usuari client amb la que s'haurà de fer, per exemple uid=agent,dc=exemple,dc=com. Per un accés anònim, deixeu la DN i la contrasenya en blanc.",
+"Password" => "Contrasenya",
+"For anonymous access, leave DN and Password empty." => "Per un accés anònim, deixeu la DN i la contrasenya en blanc.",
+"User Login Filter" => "Filtre d'inici de sessió d'usuari",
+"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "Defineix el filtre a aplicar quan s'intenta l'inici de sessió. %%uid reemplaça el nom d'usuari en l'acció d'inici de sessió.",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "useu el paràmetre de substitució %%uid, per exemple \"uid=%%uid\"",
+"User List Filter" => "Llista de filtres d'usuari",
+"Defines the filter to apply, when retrieving users." => "Defineix el filtre a aplicar quan es mostren usuaris",
+"without any placeholder, e.g. \"objectClass=person\"." => "sense cap paràmetre de substitució, per exemple \"objectClass=persona\"",
+"Group Filter" => "Filtre de grup",
+"Defines the filter to apply, when retrieving groups." => "Defineix el filtre a aplicar quan es mostren grups.",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "sense cap paràmetre de substitució, per exemple \"objectClass=grupPosix\".",
+"Port" => "Port",
+"Base User Tree" => "Arbre base d'usuaris",
+"Base Group Tree" => "Arbre base de grups",
+"Group-Member association" => "Associació membres-grup",
+"Use TLS" => "Usa TLS",
+"Do not use it for SSL connections, it will fail." => "No ho useu en connexions SSL, fallarà.",
+"Case insensitve LDAP server (Windows)" => "Servidor LDAP sense distinció entre majúscules i minúscules (Windows)",
+"Turn off SSL certificate validation." => "Desactiva la validació de certificat SSL.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Si la connexió només funciona amb aquesta opció, importeu el certificat SSL del servidor LDAP en el vostre servidor ownCloud.",
+"Not recommended, use for testing only." => "No recomanat, ús només per proves.",
+"User Display Name Field" => "Camp per mostrar el nom d'usuari",
+"The LDAP attribute to use to generate the user`s ownCloud name." => "Atribut LDAP a usar per generar el nom d'usuari ownCloud.",
+"Group Display Name Field" => "Camp per mostrar el nom del grup",
+"The LDAP attribute to use to generate the groups`s ownCloud name." => "Atribut LDAP a usar per generar el nom de grup ownCloud.",
+"in bytes" => "en bytes",
+"in seconds. A change empties the cache." => "en segons. Un canvi buidarà la memòria de cau.",
+"Help" => "Ajuda"
+);
diff --git a/apps/user_ldap/l10n/sv.php b/apps/user_ldap/l10n/sv.php
new file mode 100644
index 00000000000..a23cc094b4d
--- /dev/null
+++ b/apps/user_ldap/l10n/sv.php
@@ -0,0 +1,36 @@
+<?php $TRANSLATIONS = array(
+"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",
+"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.",
+"Password" => "Lösenord",
+"For anonymous access, leave DN and Password empty." => "För anonym åtkomst, lämna DN och lösenord tomt.",
+"User Login Filter" => "Filter logga in användare",
+"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "Definierar filter att tillämpa vid inloggningsförsök. %% uid ersätter användarnamn i loginåtgärden.",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "använd platshållare %%uid, t ex \"uid=%%uid\"",
+"User List Filter" => "Filter lista användare",
+"Defines the filter to apply, when retrieving users." => "Definierar filter att tillämpa vid listning av användare.",
+"without any placeholder, e.g. \"objectClass=person\"." => "utan platshållare, t.ex. \"objectClass=person\".",
+"Group Filter" => "Gruppfilter",
+"Defines the filter to apply, when retrieving groups." => "Definierar filter att tillämpa vid listning av grupper.",
+"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",
+"Base Group Tree" => "Bas för grupper i katalogtjänst",
+"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.",
+"Case insensitve LDAP server (Windows)" => "LDAP-servern är okänslig för gemener och versaler (Windows)",
+"Turn off SSL certificate validation." => "Stäng av verifiering av SSL-certifikat.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Om anslutningen bara fungerar med det här alternativet, importera LDAP-serverns SSL-certifikat i din ownCloud-server.",
+"Not recommended, use for testing only." => "Rekommenderas inte, använd bara för test. ",
+"User Display Name Field" => "Attribut för användarnamn",
+"The LDAP attribute to use to generate the user`s ownCloud name." => "Attribut som används för att generera användarnamn i ownCloud.",
+"Group Display Name Field" => "Attribut för gruppnamn",
+"The LDAP attribute to use to generate the groups`s ownCloud name." => "Attribut som används för att generera gruppnamn i ownCloud.",
+"in bytes" => "i bytes",
+"in seconds. A change empties the cache." => "i sekunder. En förändring tömmer cache.",
+"Help" => "Hjälp"
+);
diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php
index fb3471af91b..31b6dccbf67 100644
--- a/apps/user_ldap/user_ldap.php
+++ b/apps/user_ldap/user_ldap.php
@@ -100,14 +100,22 @@ class USER_LDAP extends lib\Access implements \OCP\UserInterface {
*
* Get a list of all users.
*/
- public function getUsers(){
+ public function getUsers($search = '', $limit = 10, $offset = 0){
$ldap_users = $this->connection->getFromCache('getUsers');
if(is_null($ldap_users)) {
$ldap_users = $this->fetchListOfUsers($this->connection->ldapUserFilter, array($this->connection->ldapUserDisplayName, 'dn'));
$ldap_users = $this->ownCloudUserNames($ldap_users);
$this->connection->writeToCache('getUsers', $ldap_users);
}
- return $ldap_users;
+ $this->userSearch = $search;
+ if(!empty($this->userSearch)) {
+ $ldap_users = array_filter($ldap_users, array($this, 'userMatchesFilter'));
+ }
+ return array_slice($ldap_users, $offset, $limit);
+ }
+
+ public function userMatchesFilter($user) {
+ return (strripos($user, $this->userSearch) !== false);
}
/**
diff --git a/apps/user_migrate/l10n/.gitkeep b/apps/user_migrate/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/user_migrate/l10n/.gitkeep
diff --git a/apps/user_migrate/l10n/ca.php b/apps/user_migrate/l10n/ca.php
new file mode 100644
index 00000000000..6f1c77e4173
--- /dev/null
+++ b/apps/user_migrate/l10n/ca.php
@@ -0,0 +1,10 @@
+<?php $TRANSLATIONS = array(
+"Export" => "Exporta",
+"Something went wrong while the export file was being generated" => "Alguna cosa ha anat malament en generar el fitxer d'exportació",
+"An error has occurred" => "S'ha produït un error",
+"Export your user account" => "Exporta el vostre compte d'usuari",
+"This will create a compressed file that contains your ownCloud account." => "Això crearà un fitxer comprimit que conté el vostre compte ownCloud.",
+"Import user account" => "Importa el compte d'usuari",
+"ownCloud User Zip" => "zip d'usuari ownCloud",
+"Import" => "Importa"
+);
diff --git a/apps/user_migrate/l10n/sv.php b/apps/user_migrate/l10n/sv.php
new file mode 100644
index 00000000000..98e649632b8
--- /dev/null
+++ b/apps/user_migrate/l10n/sv.php
@@ -0,0 +1,10 @@
+<?php $TRANSLATIONS = array(
+"Export" => "Exportera",
+"Something went wrong while the export file was being generated" => "Något gick fel när exportfilen skulle genereras",
+"An error has occurred" => "Ett fel har uppstått",
+"Export your user account" => "Exportera ditt användarkonto",
+"This will create a compressed file that contains your ownCloud account." => "Detta vill skapa en komprimerad fil som innehåller ditt ownCloud-konto.",
+"Import user account" => "Importera ett användarkonto",
+"ownCloud User Zip" => "ownCloud Zip-fil",
+"Import" => "Importera"
+);
diff --git a/apps/user_migrate/templates/settings.php b/apps/user_migrate/templates/settings.php
index bce5fb2d7ca..d6f3e2f8f6b 100644
--- a/apps/user_migrate/templates/settings.php
+++ b/apps/user_migrate/templates/settings.php
@@ -2,7 +2,7 @@
<legend><strong><?php echo $l->t('Export your user account');?></strong></legend>
<p><?php echo $l->t('This will create a compressed file that contains your ownCloud account.');?>
</p>
- <button id="exportbtn">Export<img style="display: none;" class="loading" src="<?php echo OCP\Util::linkTo('core', 'img/loading.gif'); ?>" /></button>
+ <button id="exportbtn">Export<img style="display: none;" class="loading" src="<?php echo OCP\Util::imagePath('core', 'loading.gif'); ?>" /></button>
</fieldset>
<form id="import" action="#" method="post" enctype="multipart/form-data">
<fieldset class="personalblock">
diff --git a/apps/user_openid/l10n/.gitkeep b/apps/user_openid/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/user_openid/l10n/.gitkeep
diff --git a/apps/user_openid/l10n/ca.php b/apps/user_openid/l10n/ca.php
new file mode 100644
index 00000000000..d203bfb4d9d
--- /dev/null
+++ b/apps/user_openid/l10n/ca.php
@@ -0,0 +1,11 @@
+<?php $TRANSLATIONS = array(
+"This is an OpenID server endpoint. For more information, see " => "Això és un punt final de servidor OpenID. Per més informació consulteu",
+"Identity: <b>" => "Identitat:<b>",
+"Realm: <b>" => "Domini:<b>",
+"User: <b>" => "Usuari:<b>",
+"Login" => "Inici de sessió",
+"Error: <b>No user Selected" => "Error:<b>No heu seleccionat cap usuari",
+"you can authenticate to other sites with this address" => "podeu autenticar altres llocs web amb aquesta adreça",
+"Authorized OpenID provider" => "Servidor OpenID autoritzat",
+"Your address at Wordpress, Identi.ca, &hellip;" => "La vostra adreça a Wordpress, Identi.ca &hellip;"
+);
diff --git a/apps/user_openid/l10n/sv.php b/apps/user_openid/l10n/sv.php
new file mode 100644
index 00000000000..fb2c4e2ff7e
--- /dev/null
+++ b/apps/user_openid/l10n/sv.php
@@ -0,0 +1,11 @@
+<?php $TRANSLATIONS = array(
+"This is an OpenID server endpoint. For more information, see " => "Detta är en OpenID-server slutpunkt. För mer information, se",
+"Identity: <b>" => "Identitet: <b>",
+"Realm: <b>" => "Realm: <b>",
+"User: <b>" => "Användare: <b>",
+"Login" => "Logga in",
+"Error: <b>No user Selected" => "Fel: <b>Ingen användare vald",
+"you can authenticate to other sites with this address" => "du kan autentisera till andra webbplatser med denna adress",
+"Authorized OpenID provider" => "Godkänd openID leverantör",
+"Your address at Wordpress, Identi.ca, &hellip;" => "Din adress på Wordpress, Identi.ca, &hellip;"
+);
diff --git a/apps/user_webfinger/host-meta.php b/apps/user_webfinger/host-meta.php
index 4ac37b1ea09..6f6ac46eb91 100644
--- a/apps/user_webfinger/host-meta.php
+++ b/apps/user_webfinger/host-meta.php
@@ -1,4 +1,7 @@
<?php
+if (!OCP\App::isEnabled("user_webfinger")) {
+ return;
+}
if(class_exists('OC')){
$WEBROOT=OC::$WEBROOT;
diff --git a/apps/user_webfinger/webfinger.php b/apps/user_webfinger/webfinger.php
index e5b7f042d5a..f06346672ff 100644
--- a/apps/user_webfinger/webfinger.php
+++ b/apps/user_webfinger/webfinger.php
@@ -1,4 +1,8 @@
<?php
+if (!OCP\App::isEnabled("user_webfinger")) {
+ return;
+}
+
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/xrd+json");
@@ -15,7 +19,7 @@ header("Content-Type: application/xrd+json");
* href="<?php echo WF_BASEURL; ?>/apps/myApp/profile.php?user=<?php echo WF_USER; ?>">
* </Link>
*
- '* but can also use complex database queries to generate the webfinger result
+ * but can also use complex database queries to generate the webfinger result
**/
$userName = '';