+
#import "SOGoSockD.h"
int
main (int argc, char **argv, char **env)
{
NSAutoreleasePool *pool;
- NSUserDefaults *ud;
SOGoSockD *sockd;
int rc;
@@ -37,8 +38,7 @@ main (int argc, char **argv, char **env)
pool = [NSAutoreleasePool new];
- ud = [NSUserDefaults standardUserDefaults];
- [ud addSuiteNamed: @"sogod"];
+ [SOGoSystemDefaults sharedSystemDefaults];
sockd = [SOGoSockD new];
if ([sockd run])
diff --git a/UI/AdministrationUI/Arabic.lproj/Localizable.strings b/UI/AdministrationUI/Arabic.lproj/Localizable.strings
new file mode 100644
index 000000000..44e7695fb
--- /dev/null
+++ b/UI/AdministrationUI/Arabic.lproj/Localizable.strings
@@ -0,0 +1,15 @@
+/* this file is in UTF-8 format! */
+
+"Help" = "مساعدة";
+"Close" = "اغلاق";
+
+"Modules" = "وحدات";
+
+/* Modules short names */
+"ACLs" = "قوائم الصلاحيات";
+
+/* Modules titles */
+"ACLs_title" = "إدارة صلاحيات مجلدات المستخدمين";
+
+/* Modules descriptions */
+"ACLs_description" = "وحدة إدارة قوائم الصلاحيات تسمح بتعديل صلاحيات تقويم ودفتر العناوين لكل مستخدم.
لتعديل قائمة صلاحيات خاصة بمجلد مستخدم, اكتب اسم المستخدم في حقل البحث في الجزء العلوي من النافذة واضغط مرتين على المجلد المطلوب.
";
diff --git a/UI/AdministrationUI/GNUmakefile b/UI/AdministrationUI/GNUmakefile
index 3b8ecd176..d57aee9dc 100644
--- a/UI/AdministrationUI/GNUmakefile
+++ b/UI/AdministrationUI/GNUmakefile
@@ -6,7 +6,7 @@ BUNDLE_NAME = AdministrationUI
AdministrationUI_PRINCIPAL_CLASS = AdministrationUIProduct
-AdministrationUI_LANGUAGES = BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
+AdministrationUI_LANGUAGES = Arabic BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
AdministrationUI_OBJC_FILES = \
AdministrationUIProduct.m \
diff --git a/UI/Common/Arabic.lproj/Localizable.strings b/UI/Common/Arabic.lproj/Localizable.strings
new file mode 100644
index 000000000..2f3b62db7
--- /dev/null
+++ b/UI/Common/Arabic.lproj/Localizable.strings
@@ -0,0 +1,110 @@
+/* this file is in UTF-8 format! */
+
+/* toolbars */
+"Save" = "احفظ";
+"Close" = "أغلق";
+"Edit User Rights" = "حرِّر صلاحيات المستخدم";
+
+"Home" = "الصفحة الرئيسية";
+"Calendar" = "التقويم";
+"Address Book" = "دفتر العناوين";
+"Mail" = "البريد";
+"Preferences" = "التفضيلات";
+"Administration" = "إدارة";
+"Disconnect" = "قطع الاتصال";
+"Right Administration" = "حق الإدارة";
+"Log Console (dev.)" = "سجل وحدة التحكم (برمجة)";
+
+"User" = "مستخدم";
+"Vacation message is enabled" = "فُعِّلت رسالة العُطْلة";
+
+"Help" = "المساعدة";
+
+"noJavascriptError" = "سوجو يتطلب جافا سكريبت للتشغيل. يرجى التأكد من هذا الخيار متاح ضمن تفضيلات المتصفح.";
+"noJavascriptRetry" = "إعادة المحاولة";
+
+"Owner:" = "المالك:";
+"Publish the Free/Busy information" = "نشر معلومات متوفر / مشغول";
+
+"Add..." = "إضافة ...";
+"Remove" = "إزالة";
+
+"Subscribe User" = "اشتراك المستخدم";
+
+"Any Authenticated User" = "أي مستخدم مسجل";
+"Public Access" = "وصول الجمهور";
+"Any user not listed above" = "أي مستخدم غير مذكور أعلاه";
+"Anybody accessing this resource from the public area" = "أي شخص يدخل على هذه الموارد من منطقة عامة";
+
+"Sorry, the user rights can not be configured for that object." = "آسف، لا يمكن أن يتم تكوين حقوق المستخدم لذلك الكائن.";
+
+"Any user with an account on this system will be able to access your mailbox \"%{0}\". Are you certain you trust them all?"
+ = "إن أي مستخدم لديه حساب على هذا النظام سيكون قادرا على الوصول إلى صندوق البريد الخاص بك \"٪ {0}\". هل أنت متأكد من أنك تثق بهم؟";
+"Any user with an account on this system will be able to access your calendar \"%{0}\". Are you certain you trust them all?"
+ = "أي مستخدم لديه حساب على هذا النظام سيكون قادرا على الوصول إلى التقويم الخاص بك \"٪ {0}\". هل أنت متأكد من أنك تثق بهم؟";
+"Potentially anyone on the Internet will be able to access your calendar \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
+ = "يحتمل أن يكون أي شخص على الإنترنت قادرا على الوصول إلى التقويم الخاص بك \"٪ {0}\"، حتى لو لم يكن لديهم حساب على هذا النظام. هل هذه المعلومات مناسبة لشبكة الانترنت العامة؟";
+"Any user with an account on this system will be able to access your address book \"%{0}\". Are you certain you trust them all?"
+ = "إن أي مستخدم لديه حساب على هذا النظام سيكون قادرا على الوصول إلى دفترالعناوين الخاص بك \"٪ {0}\". هل أنت متأكد من أنك تثق بهم؟";
+"Potentially anyone on the Internet will be able to access your address book \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
+ = "يحتمل أن يتمكن أي شخص على الإنترنت من الوصول إلى دفنرالعناوين الخاص بك \"٪ {0}\"، حتى لو لم يكن لديه حساب على هذا النظام. هل هذه المعلومات مناسبة لشبكة الانترنت العامة؟";
+"Give Access" = "منح حق الوصول";
+"Keep Private" = "إبقاءه مخفي";
+
+/* generic.js */
+"Unable to subscribe to that folder!"
+ = "غير قادر على الاشتراك في هذا المجلد!";
+"You cannot subscribe to a folder that you own!"
+ = "لا يمكنك الاشتراك في المجلد ملك لك!";
+"Unable to unsubscribe from that folder!"
+ = "غير قادر على إلغاء الاشتراك من هذا المجلد!";
+"You cannot unsubscribe from a folder that you own!"
+ = "لا يمكنك إلغاء الاشتراك من مجلد تمتلكه !";
+"Unable to rename that folder!" = "غير قادر على إعادة تسمية هذا المجلد!";
+"You have already subscribed to that folder!"
+ = "أنت مشترك بالفعل في هذا المجلد!";
+"The user rights cannot be edited for this object!"
+ = "لا يمكن تعديل حقوق المستخدم لهذا الكائن!";
+"A folder by that name already exists." = "مجلد بهذا الاسم موجود بالفعل.";
+"You cannot create a list in a shared address book."
+ = "لا يمكنك إنشاء قائمة في دفتر العناوين المشترك.";
+"Warning" = "تحذير";
+
+"You are not allowed to access this module or this system. Please contact your system administrator."
+= "لا يسمح لك بالوصول إلى هذه الوحدة أو هذا النظام. الرجاء الاتصال بمسؤول النظام.";
+"You don't have the required privileges to perform the operation."
+= "ليس لديك الصلاحيات المطلوبة لتنفيذ العملية.";
+
+"noEmailForDelegation" = "يجب تحديد العنوان الذي تريد تفويضه بدعوتك.";
+"delegate is organizer" = "المفوض هو المنظم. يرجى تحديد مفوض مختلف.";
+"delegate is a participant" = "المفوض هو بالفعل أحد المشاركين.";
+"delegate is a group" = "العنوان المحدد يناظر مجموعة من العناوين. يمكنك فقط أن تفوض شخص معين.";
+
+"Snooze for " = "تأجيل الى";
+"5 minutes" = "5 دقائق";
+"10 minutes" = "10 دقائق";
+"15 minutes" = "15 دقيقة";
+"30 minutes" = "30 دقيقة";
+"45 minutes" = "45 دقيقة";
+"1 hour" = "1 ساعة";
+
+
+/* common buttons */
+"OK" = "موافق";
+"Cancel" = "إلغاء";
+"Yes" = "نعم";
+"No" = "لا";
+
+/* alarms */
+"Reminder:" = "تذكير:";
+"Start:" = "البداية:";
+"Due Date:" = "تاريخ الاستحقاق:";
+"Location:" = "الموقع:";
+
+"a2_Sunday" = "ح";
+"a2_Monday" = "ن";
+"a2_Tuesday" = "ث";
+"a2_Wednesday" = "ر";
+"a2_Thursday" = "خ";
+"a2_Friday" = "ج";
+"a2_Saturday" = "س";
diff --git a/UI/Common/BrazilianPortuguese.lproj/Localizable.strings b/UI/Common/BrazilianPortuguese.lproj/Localizable.strings
index c2079131f..47c6c9901 100644
--- a/UI/Common/BrazilianPortuguese.lproj/Localizable.strings
+++ b/UI/Common/BrazilianPortuguese.lproj/Localizable.strings
@@ -16,6 +16,7 @@
"Log Console (dev.)" = "Log Console (dev.)";
"User" = "Usuário";
+"Vacation message is enabled" = "Mensagem de ausência está ativa";
"Help" = "Ajuda";
diff --git a/UI/Common/Danish.lproj/Localizable.strings b/UI/Common/Danish.lproj/Localizable.strings
index 4d202bb81..1c4f4456a 100644
--- a/UI/Common/Danish.lproj/Localizable.strings
+++ b/UI/Common/Danish.lproj/Localizable.strings
@@ -16,6 +16,7 @@
"Log Console (dev.)" = "Log konsol (dev.)";
"User" = "Bruger";
+"Vacation message is enabled" = "Ferie meddelelse er aktiv";
"Help" = "Hjælp";
@@ -37,6 +38,19 @@
"Sorry, the user rights can not be configured for that object." = "Beklager, brugerrettighederne kan ikke konfigureres for dette emne";
+"Any user with an account on this system will be able to access your mailbox \"%{0}\". Are you certain you trust them all?"
+ = "Alle brugere med en konto på dette system vil få adgang til din mail \"%{0}\". Er du sikker på at du har tillid til dem alle?";
+"Any user with an account on this system will be able to access your calendar \"%{0}\". Are you certain you trust them all?"
+ = "Alle brugere med en konto på dette system vil få adgang til din kalender \"%{0}\". Er du sikker på at du har tillid til dem alle?";
+"Potentially anyone on the Internet will be able to access your calendar \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
+ = "Potentielt alle på internettet vil være i stand til at få adgang til din kalender \"%{0}\", selv om de ikke har en konto på dette system. Er disse oplysninger egnet til det offentlige internet?";
+"Any user with an account on this system will be able to access your address book \"%{0}\". Are you certain you trust them all?"
+ = "Alle brugere med en konto på dette system vil få adgang til din adressebog \"%{0}\". Er du sikker på at du har tillid til dem alle?";
+"Potentially anyone on the Internet will be able to access your address book \"%{0}\", even if they do not have an account on this system. Is this information suitable for the public Internet?"
+ = "Potentielt alle på internettet vil være i stand til at få adgang til din adressebog \"%{0}\", selv om de ikke har en konto på dette system. Er disse oplysninger egnet til det offentlige internet?";
+"Give Access" = "Giv adgang";
+"Keep Private" = "Forbliv privat";
+
/* generic.js */
"Unable to subscribe to that folder!"
= "Det er ikke muligt at abonnere på denne mappe!";
@@ -66,6 +80,15 @@
"delegate is a participant" = "Den inviterede er allerede en deltager.";
"delegate is a group" = "Den angivne adresse svarer til en gruppe. Du kan kun invitere en enkelt person.";
+"Snooze for " = "Udsæt i ";
+"5 minutes" = "5 minutter";
+"10 minutes" = "10 minutter";
+"15 minutes" = "15 minutter";
+"30 minutes" = "30 minutter";
+"45 minutes" = "45 minutter";
+"1 hour" = "1 time";
+
+
/* common buttons */
"OK" = "OK";
"Cancel" = "Annullér";
diff --git a/UI/Common/GNUmakefile b/UI/Common/GNUmakefile
index 488ab9fc1..5eaf6c036 100644
--- a/UI/Common/GNUmakefile
+++ b/UI/Common/GNUmakefile
@@ -6,7 +6,7 @@ BUNDLE_NAME = CommonUI
CommonUI_PRINCIPAL_CLASS = CommonUIProduct
-CommonUI_LANGUAGES = BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
+CommonUI_LANGUAGES = Arabic BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
CommonUI_OBJC_FILES += \
CommonUIProduct.m \
diff --git a/UI/Common/Russian.lproj/Localizable.strings b/UI/Common/Russian.lproj/Localizable.strings
index 180f6bdc8..aca037cee 100644
--- a/UI/Common/Russian.lproj/Localizable.strings
+++ b/UI/Common/Russian.lproj/Localizable.strings
@@ -16,6 +16,7 @@
"Log Console (dev.)" = "Вход Console (dev.)";
"User" = "Пользователь";
+"Vacation message is enabled" = "Сообщение об отпуске включено";
"Help" = "Помощь";
diff --git a/UI/Contacts/Arabic.lproj/Localizable.strings b/UI/Contacts/Arabic.lproj/Localizable.strings
new file mode 100644
index 000000000..004bd95ca
--- /dev/null
+++ b/UI/Contacts/Arabic.lproj/Localizable.strings
@@ -0,0 +1,208 @@
+/* this file is in UTF-8 format! */
+
+"Contact" = "بيانات شخص";
+"Address" = "عنوان";
+"Photos" = "صور";
+"Other" = "اخرى";
+
+"Address Books" = "دفاتر العناوين";
+"Addressbook" = "دفتر العناوين";
+"Addresses" = "عناوين";
+"Update" = "تحديث";
+"Cancel" = "إلغاء";
+"Common" = "مشترك";
+"Contact editor" = "تحرير بيانات شخص";
+"Contact viewer" = "معاينة بيانات شخص";
+"Email" = "بريد إلكتروني";
+"Screen Name" = "اسم";
+"Extended" = "موسعة";
+"Fax" = "فاكس";
+"Firstname" = "الاسم الاول";
+"Home" = "منزل";
+"HomePhone" = "رقم المنزل";
+"Lastname" = "الاسم الاخير";
+"Location" = "الموقع";
+"MobilePhone" = "رقم المحمول";
+"Name" = "الاسم";
+"OfficePhone" = "رقم المكتب";
+"Organization" = "الجهة";
+"Work Phone" = "رقم العمل";
+"Phone" = "رقم الهاتف";
+"Phones" = "ارقام هواتف";
+"Postal" = "بريد";
+"Save" = "حفظ";
+"Internet" = "انترنت";
+"Unit" = "وحدة";
+"delete" = "مسح";
+"edit" = "تعديل";
+"invalidemailwarn" = "البريد الإلكتروني المحدد غير صالح";
+"invaliddatewarn" = "التاريخ المحدد غير صالح.";
+"new" = "جديد";
+"Preferred Phone" = "رقم الهاتف المفضل";
+
+"Move To" = "نقل الى";
+"Copy To" = "نسخ الى";
+"Add to:" = "إضافة الى:";
+
+/* Tooltips */
+
+"Create a new address book card" = "إنشاء بطاقة جديدة بدفتر العناوين ";
+"Create a new list" = "إنشاء قائمة جديدة";
+"Edit the selected card" = "تحرير بطاقة مختارة";
+"Send a mail message" = "إرسال رسالة بريد";
+"Delete selected card or address book" = "حذف بطاقة أو دفتر عناوين محدد";
+"Reload all contacts" = "تحديث كافة جهات الاتصال";
+
+"htmlMailFormat_UNKNOWN" = "غير معروف";
+"htmlMailFormat_FALSE" = "نص عادي";
+"htmlMailFormat_TRUE" = "HTML";
+
+"Name or Email" = "الاسم أو البريد الإلكتروني";
+"Category" = "فئة";
+"Personal Addressbook" = "دفتر العناوين الشخصية";
+"Search in Addressbook" = "البحث في دفتر العناوين";
+
+"New Card" = "بطاقة جديدة";
+"New List" = "قائمة جديدة";
+"Properties" = "خصائص";
+"Sharing..." = "مشاركة ...";
+"Write" = "كتابة";
+"Delete" = "مسح";
+"Instant Message" = "رسالة لحظية";
+"Add..." = "إضافة...";
+"Remove" = "مسح";
+
+"Please wait..." = "يرجى الانتظار...";
+"No possible subscription" = "لا يوجد إشتراك";
+
+"Preferred" = "المفضل";
+"Display:" = "عرض:";
+"Display Name:" = "الاسم المعروض:";
+"Email:" = "البريد الالكتروني:";
+"Additional Email:" = "بريد إلكتروني إضافي";
+
+"Phone Number:" = "رقم الهاتف:";
+"Prefers to receive messages formatted as:" = "يفضل تلقي رسائل منسقة على النحو التالي:";
+"Screen Name:" = "أسم التعريف:";
+"Categories:" = "الفئات:";
+
+"First:" = "الاول:";
+"Last:" = "الاخير:";
+"Nickname:" = "الاسم الرمزي:";
+
+"Telephone" = "رقم الهاتف:";
+"Work:" = "العمل:";
+"Home:" = "المنزل:";
+"Fax:" = "الفاكس:";
+"Mobile:" = "المحمول";
+"Pager:" = "النداء:";
+
+/* categories */
+"contacts_category_labels" = "الزميل، المنافس، العملاء، الصديق، العائلة، شريك تجاري، مقدم خدمة، الصحافة ، كبار الشخصيات";
+"Categories" = "الفئات";
+"New category" = "فئة جديدة";
+
+/* adresses */
+"Title:" = "اللقب:";
+"Service:" = "الخدمة:";
+"Company:" = "الشركة:";
+"Department:" = "الادارة:";
+"Organization:" = "الجهة";
+"Address:" = "العنوان:";
+"City:" = "المدينة:";
+"State_Province:" = "الولاية / الاقليم / المحافظة:";
+"ZIP_Postal Code:" = "الرمز البريدي:";
+"Country:" = "الدولة:";
+"Web Page:" = "صفحة الانترنت:";
+
+"Work" = "العمل";
+"Other Infos" = "معلومات أخرى";
+
+"Note:" = "ملاحظة:";
+"Timezone:" = "المنطقة الزمنية:";
+"Birthday:" = "تاريخ الميلاد:";
+"Birthday (yyyy-mm-dd):" = "تاريخ الميلاد (يوم-شهر-سنة):";
+"Freebusy URL:" = "موقع مشغول /حر:";
+
+"Add as..." = "إضافة إلى ...";
+"Recipient" = "مستلم";
+"Carbon Copy" = "نسخة من";
+"Blind Carbon Copy" = "نسخة مخفية من";
+
+"New Addressbook..." = "دفتر عناوين جديدة ...";
+"Subscribe to an Addressbook..." = "الاشتراك في دفتر العناوين ...";
+"Remove the selected Addressbook" = "إزالة دفتر العناوين المحدد";
+
+"Name of the Address Book" = "اسم دفتر العناوين";
+"Are you sure you want to delete the selected address book?"
+= "هل أنت متأكد أنك تريد حذف دفتر العناوين المحدد؟";
+"You cannot remove nor unsubscribe from a public addressbook."
+= "لا يمكنك إزالة أو إلغاء الاشتراك من دفترالعناوين العامة.";
+"You cannot remove nor unsubscribe from your personal addressbook."
+= "لا يمكنك إزالة أو إلغاء الاشتراك من دفتر العناوين الشخصية.";
+
+"Are you sure you want to delete the selected contacts?"
+= "هل أنت متأكد أنك تريد حذف الأسماء المحدد؟";
+
+"You cannot delete the card of \"%{0}\"."
+= "لا يمكنك حذف البطاقة من \"%{0}\".";
+
+"Address Book Name" = "اسم دفتر الكتاب";
+
+"You cannot subscribe to a folder that you own!"
+= "لا يمكنك الاشتراك في مجلد تمتلكه.";
+"Unable to subscribe to that folder!"
+= "غير قادر على الاشتراك في هذا المجلد.";
+
+/* acls */
+"Access rights to" = "صلاحية الدخول الى";
+"For user" = "للمستخدم";
+
+"Any Authenticated User" = "أي مستخدم مسجل";
+"Public Access" = "وصول الجمهور";
+
+"This person can add cards to this addressbook."
+= "يمكن لهذا الشخص إضافة بطاقات إلى دفتر العناوين المحدد.";
+"This person can edit the cards of this addressbook."
+= "يمكن لهذا الشخص تحرير بطاقات من دفتر العناوين المحدد.";
+"This person can list the content of this addressbook."
+= "يمكن لهذا الشخص عرض محتويات دفتر العناوين المحدد.";
+"This person can read the cards of this addressbook."
+= "يمكن لهذا الشخص قراءة بطاقات من دفتر العناوين المحدد.";
+"This person can erase cards from this addressbook."
+= "يمكن لهذا الشخص محو بطاقات من دفتر العناوين المحدد.";
+
+"The selected contact has no email address."
+= "الاسم الذي تم اختياره ليس لديه عنوان البريد الإلكتروني.";
+
+"Please select a contact." = "الرجاء اختيار إحدى جهات الاتصال.";
+
+/* Error messages for move and copy */
+
+"SoAccessDeniedException" = "لا يمكنك الكتابة إلى دفتر العناوين المذكور.";
+"Forbidden" = "لا يمكنك الكتابة إلى دفتر العناوين المذكور.";
+"Invalid Contact" = "الاتصال المحدد لم يعد موجودا.";
+"Unknown Destination Folder" = "دفتر العناوين المحدد المرسل اليه لم يعد موجودا.";
+
+/* Lists */
+"List details" = "تفاصيل القائمة";
+"List name:" = "اسم القائمة/";
+"List nickname:" = "اسم القائمة الرمزي:";
+"List description:" = "وصف القائمة:";
+"Members" = "أعضاء";
+"Contacts" = "جهات إتصال";
+"Add" = "إضافة";
+"Lists can't be moved or copied." = "لا يمكن أن يتم نقل القوائم أو نسخها.";
+"Export" = "تصدير";
+"Export Address Book..." = "تصدير دفتر العناوين ...";
+"View Raw Source" = "عرض المصدر الخام";
+"Import Cards" = "استيراد بطاقات";
+"Select a vCard or LDIF file." = "حدد شكل vCard أو ملف LDIF.";
+"Upload" = "تحميل الى";
+"Uploading" = "تحميل الى";
+"Done" = "تم";
+"An error occured while importing contacts." = "حدث خطأ أثناء استيراد جهات الاتصال.";
+"No card was imported." = "لم يتم استيراد أي بطاقة.";
+"A total of %{0} cards were imported in the addressbook." = "قد تم استيراد ما مجموعه%{0} بطاقات في دفتر العناوين.";
+
+"Reload" = "إعادة التحميل";
diff --git a/UI/Contacts/Danish.lproj/Localizable.strings b/UI/Contacts/Danish.lproj/Localizable.strings
index 3fe4e82ec..2f8cd2602 100644
--- a/UI/Contacts/Danish.lproj/Localizable.strings
+++ b/UI/Contacts/Danish.lproj/Localizable.strings
@@ -154,7 +154,9 @@
"Unable to subscribe to that folder!"
= "Det er ikke muligt at abonnere på denne mappe.";
-"User rights for:" = "Brugerrettigheder:";
+/* acls */
+"Access rights to" = "Adgangsrettigheder til";
+"For user" = "For bruger";
"Any Authenticated User" = "Enhver godkendt bruger";
"Public Access" = "Offentlig adgang";
@@ -193,9 +195,11 @@
"Lists can't be moved or copied." = "Lister kan ikke flyttes eller kopieres.";
"Export" = "Eksportér";
"Export Address Book..." = "Eksportér adressebog ...";
+"View Raw Source" = "Vis kilde";
"Import Cards" = "Importér kort";
"Select a vCard or LDIF file." = "Vælg en vCard - eller LDIF-fil.";
"Upload" = "Indlæs";
+"Uploading" = "Uploader";
"Done" = "Udført";
"An error occured while importing contacts." = "Der opstod en fejl under importering af kontaktpersoner.";
"No card was imported." = "Intet kort blev importeret.";
diff --git a/UI/Contacts/GNUmakefile b/UI/Contacts/GNUmakefile
index b51fda829..b29b0373d 100644
--- a/UI/Contacts/GNUmakefile
+++ b/UI/Contacts/GNUmakefile
@@ -6,7 +6,7 @@ BUNDLE_NAME = ContactsUI
ContactsUI_PRINCIPAL_CLASS = ContactsUIProduct
-ContactsUI_LANGUAGES = BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
+ContactsUI_LANGUAGES = Arabic BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
ContactsUI_OBJC_FILES = \
UIxContactsUserFolders.m \
diff --git a/UI/Contacts/Polish.lproj/Localizable.strings b/UI/Contacts/Polish.lproj/Localizable.strings
index 46c61ce70..d8ec02965 100644
--- a/UI/Contacts/Polish.lproj/Localizable.strings
+++ b/UI/Contacts/Polish.lproj/Localizable.strings
@@ -127,7 +127,7 @@
"Add as..." = "Dodaj jako";
"Recipient" = "Odbiorca";
"Carbon Copy" = "Do wiadomości";
-"Blind Carbon Copy" = "Ukryte do wiadomości";
+"Blind Carbon Copy" = "Ukryte DW";
"New Addressbook..." = "Nowa książka adresowa";
"Subscribe to an Addressbook..." = "Subskrybuj książkę adresową";
diff --git a/UI/Contacts/UIxContactFolderActions.h b/UI/Contacts/UIxContactFolderActions.h
index c6f80c112..3e04de561 100644
--- a/UI/Contacts/UIxContactFolderActions.h
+++ b/UI/Contacts/UIxContactFolderActions.h
@@ -19,8 +19,8 @@
02111-1307, USA.
*/
-#ifndef __UIxContactsListView_H__
-#define __UIxContactsListView_H__
+#ifndef __UIxContactFolderActions_H__
+#define __UIxContactFolderActions_H__
#import
@@ -39,4 +39,4 @@
@end
-#endif /* __UIxContactsListView_H__ */
+#endif /* __UIxContactFolderActions_H__ */
diff --git a/UI/Contacts/UIxContactFolderActions.m b/UI/Contacts/UIxContactFolderActions.m
index 8e2bde448..ea416bc3a 100644
--- a/UI/Contacts/UIxContactFolderActions.m
+++ b/UI/Contacts/UIxContactFolderActions.m
@@ -288,4 +288,4 @@
return rc;
}
-@end /* UIxContactsListView */
+@end /* UIxContactFolderActions */
diff --git a/UI/MailPartViewers/Arabic.lproj/Localizable.strings b/UI/MailPartViewers/Arabic.lproj/Localizable.strings
new file mode 100644
index 000000000..ddf59a018
--- /dev/null
+++ b/UI/MailPartViewers/Arabic.lproj/Localizable.strings
@@ -0,0 +1,46 @@
+ACCEPTED = "مقبول";
+COMPLETED = "منجز";
+DECLINED = "مرفوض";
+DELEGATED = "مفوض";
+"IN-PROCESS" = "جاري";
+"NEEDS-ACTION" = "بحاجة إلى عمل";
+TENTATIVE = "مؤقت";
+organized_by_you = "منظم من قبلك";
+you_are_an_attendee = "أنت أحد الحضور";
+add_info_text = " \"اضافة\" لا يوجد دعم حتى الآن من قبل سوجو.";
+publish_info_text = "المرسل يعلمك بالحدث المرفق.";
+cancel_info_text = "تم إلغاء دعوتك أو الحدث برمته.";
+request_info_no_attendee = "يقترح عقد إجتماع للحضور. تلقيت هذه الرسالة بمثابة إشعار، وليس من المقرر لكم المشاركة.";
+Appointment = "موعد";
+
+Organizer = "منظم";
+Time = "الساعة";
+Attendees = "الحضور";
+request_info = "يدعوك للمشاركة في الاجتماع.";
+"Add to calendar" = "إضافة الى التقويم";
+"Delete from calendar" = "مسح من التقويم";
+"Update status" = "تحديث الحالة";
+Accept = "قبول";
+Decline = "رفض";
+Tentative = "مؤقت";
+"Delegate ..." = "تفويض ...";
+"Delegated to" = "تفويض إلى ...";
+"Update status in calendar" = "تحديث الحالة فى التقويم";
+"delegated from" = "مفوض من ";
+
+reply_info_no_attendee = "تلقيت ردا على الحدث المسجل لكن الراسل ليس مشاركا.";
+reply_info = "هذا هو الرد على دعوة الحدث التي قمت بها.";
+
+"to" = "إلى :";
+
+"Untitled" = "بدون عنوان";
+
+"Size" = "الحجم";
+
+"Digital signature is not valid" = "التوقيع الرقمي غير صالح";
+"Message is signed" = "الرسالة موقعة";
+"Subject" = "العنوان";
+"From" = "من";
+"Date" = "التاريخ";
+"To" = "إلى";
+"Issuer" = "المصدر";
diff --git a/UI/MailPartViewers/GNUmakefile b/UI/MailPartViewers/GNUmakefile
index 328141f7e..745914636 100644
--- a/UI/MailPartViewers/GNUmakefile
+++ b/UI/MailPartViewers/GNUmakefile
@@ -6,7 +6,7 @@ BUNDLE_NAME = MailPartViewers
MailPartViewers_PRINCIPAL_CLASS = MailPartViewersProduct
-MailPartViewers_LANGUAGES = BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
+MailPartViewers_LANGUAGES = Arabic BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
MailPartViewers_OBJC_FILES += \
MailPartViewersProduct.m \
diff --git a/UI/MailerUI/Arabic.lproj/Localizable.strings b/UI/MailerUI/Arabic.lproj/Localizable.strings
new file mode 100644
index 000000000..ed074efca
--- /dev/null
+++ b/UI/MailerUI/Arabic.lproj/Localizable.strings
@@ -0,0 +1,296 @@
+/* this file is in UTF-8 format! */
+
+/* Icon's label */
+"Create" = "أنشئ";
+"Empty Trash" = "أفرِغ سلة المهملات";
+"Delete" = "احذف";
+"Expunge" = "محا";
+"Forward" = "ارسال الى";
+"Get Mail" = "الحصول على البريد";
+"Junk" = "تافه";
+"Reply" = "رد";
+"Reply All" = "رد للكل";
+"Print" = "طباعة";
+"Stop" = "توقف";
+"Write" = "كتابة";
+
+"Send" = "ارسال";
+"Contacts" = "عناوين";
+"Attach" = "إضافة مرفق";
+"Save" = "حفظ";
+"Options" = "خيارات";
+"Close" = "إغلاق";
+"Size" = "حجم";
+
+/* Tooltips */
+
+"Send this message now" = "إرسال هذه الرسالة الآن";
+"Select a recipient from an Address Book" = "حدد المستلم من دفتر العناوين";
+"Include an attachment" = "تضمين مرفق";
+"Save this message" = "حفظ هذه الرسالة";
+"Get new messages" = "الحصول على رسائل جديدة";
+"Create a new message" = "إنشاء رسالة جديدة";
+"Go to address book" = "انتقل إلى دفتر العناوين";
+"Reply to the message" = "الرد على الرسالة";
+"Reply to sender and all recipients" = "الرد للمرسل وجميع المتلقين";
+"Forward selected message" = "إرسال الرسالة المحددة";
+"Delete selected message or folder" = "مسح الرسالة او المجلد المحدد";
+"Mark the selected messages as junk" = "سجل الرسائل المحددة على انها تافهة";
+"Print this message" = "اطبع هذه الرسالة";
+"Stop the current transfer" = "وقف النقل الحالي";
+"Attachment" = "مرفق";
+"Unread" = "غير مقروء";
+"Flagged" = "تم وضع علامة عليه";
+
+/* Main Frame */
+
+"Home" = "الصفحة الرئيسية";
+"Calendar" = "التقويم";
+"Addressbook" = "دفتر العناوين";
+"Mail" = "البريد";
+"Right Administration" = "حق الإدارة";
+
+"Help" = "مساعدة";
+
+/* Mail account main windows */
+
+"Welcome to the SOGo Mailer. Use the folder tree on the left to browse your mail accounts!" = "مرحبا بكم في خدمة سوجو البريدية. استخدم شجرة المجلد على اليسار لتصفح حسابات البريد الإلكتروني الخاص بك!";
+
+"Read messages" = "قراءة الرسائل";
+"Write a new message" = "كتابة رسالة جديدة";
+
+"Share: " = "مشاركة :";
+"Account: " = "حساب:";
+"Shared Account: " = "حساب مشاركة:";
+
+/* acls */
+"Access rights to" = "حقوق الوصول إلى";
+"For user" = "الى مستخدم";
+
+"Any Authenticated User" = "أي مستخدم مسجل";
+
+"List and see this folder" = "فتح ورؤية هذا المجلد";
+"Read mails from this folder" = "قراءة الرسائل من هذا المجلد";
+"Mark mails read and unread" = "وضع علامة مقروء او غير مقروء على الرسائل";
+"Modify the flags of the mails in this folder" = "تعديل علامات الرسائل بهذا المجلد";
+"Insert, copy and move mails into this folder" = "إدراج، نسخ ونقل الرسائل في هذا المجلد";
+"Post mails" = "إضافة رسائل";
+"Add subfolders to this folder" = "إضافة مجلدات فرعية إلى هذا المجلد";
+"Remove this folder" = "مسح المجلد";
+"Erase mails from this folder" = "مسح الرسائل من هذا المجلد";
+"Expunge this folder" = "محو هذا المجلد";
+"Archive This Folder" = "أرشفة هذا المجلد";
+"Modify the acl of this folder" = "تعديل قائمة الصلاحيات لهذا المجلد";
+
+"Saved Messages.zip" = "حفظ Messages.zip";
+
+"Update" = "تحديث";
+"Cancel" = "إلغاء";
+
+/* Mail edition */
+
+"From" = "من";
+"Subject" = "الموضوع";
+"To" = "إلى";
+"Cc" = "نسخة الى";
+"Bcc" = "نسخة مخفية إلى";
+"Reply-To" = "الرد إلى";
+"Add address" = "إضافة عنوان";
+
+"Attachments:" = "مرفقات:";
+"Open" = "فتح";
+"Select All" = "إختيار الكل";
+"Attach Web Page..." = "إرفاق صفحة ويب ...";
+"Attach File(s)..." = "إرفاق ملف (ملفات) ...";
+
+"to" = "إلى";
+"cc" = "نسخة الى";
+"bcc" = "نسخة مخفية إلى";
+
+"Edit Draft..." = "تعديل مسودة ...";
+"Load Images" = "تحميل صور";
+
+"Return Receipt" = "عودة الإيصال";
+"The sender of this message has asked to be notified when you read this message. Do you with to notify the sender?" = "طلب مرسل هذه الرسالة أن يتم إعلامه عند قراءة هذه الرسالة. هل ترغب في إبلاغ المرسل؟";
+"Return Receipt (displayed) - %@"= "إيصال عودة (عرض) -٪ @";
+"This is a Return Receipt for the mail that you sent to %@.\n\nNote: This Return Receipt only acknowledges that the message was displayed on the recipient's computer. There is no guarantee that the recipient has read or understood the message contents." = "هذا هو الإيصال مقابل الرسالة الإلكترونية التي أرسلت إلى @٪\n\nملاحظة: هذا الإشعار بالاستلام لا يقر سوى أنه تم عرض رسالة على الكمبيوتر المستلم. ليس هناك ما يضمن أن المتلقي قد قرأ أو فهم محتويات الرسالة.";
+
+"Priority" = " الأولوية";
+"highest" = "قصوي";
+"high" = "أعلى";
+"normal" = "عادي";
+"low" = "قليلة";
+"lowest" = "دنيا";
+
+"This mail is being sent from an unsecure network!" = "يتم إرسال هذا البريد من شبكة غير آمن!";
+
+"Address Book:" = "دفتر العناوين:";
+"Search For:" = "البحث عن :";
+
+/* Popup "show" */
+
+"all" = "الكل";
+"read" = "قرأ";
+"unread" = "لم يقرأ";
+"deleted" = "مسح";
+"flagged" = "معلم";
+
+/* MailListView */
+
+"Sender" = "الراسل";
+"Subject or Sender" = "الموضوع أو المرسل";
+"To or Cc" = "إلى أو نسخة الى";
+"Entire Message" = "الرسالة كاملة";
+
+"Date" = "التاريخ";
+"View" = "عرض";
+"All" = "الكل";
+"No message" = "لا يوجد رسالة";
+"messages" = "رسائل";
+
+"first" = "الأول";
+"previous" = "السابق";
+"next" = "التالي";
+"last" = "آخر";
+
+"msgnumber_to" = "إلى";
+"msgnumber_of" = "من";
+
+"Mark Unread" = "سجل غير مقروء";
+"Mark Read" = "سجل مقروء";
+
+"Untitled" = "بدون عنوان";
+
+/* Tree */
+
+"SentFolderName" = "البريد الصادر";
+"TrashFolderName" = "المهملات";
+"InboxFolderName" = "البريد الوارد";
+"DraftsFolderName" = "مسودات";
+"SieveFolderName" = "فلاتر";
+"OtherUsersFolderName" = "مستخدمين أخرين";
+"SharedFoldersName" = "مجلدات مشتركة";
+"Folders" = "مجلدات"; /* title line */
+
+/* MailMoveToPopUp */
+
+"MoveTo" = "نقل ومساعدة؛";
+
+/* Address Popup menu */
+"Add to Address Book..." = "إضافة الى دفتر العناوين";
+"Compose Mail To" = "إنشاء بريد الى";
+"Create Filter From Message..." = "إنشاء فلتر من الرسالة ...";
+
+/* Image Popup menu */
+"Save Image" = "حفظ الصورة";
+"Save Attachment" = "حفظ المرفقات";
+
+/* Mailbox popup menus */
+"Open in New Mail Window" = "فتح في نافذة بريد جديدة";
+"Copy Folder Location" = "نسخ موقع المجلد";
+"Subscribe..." = "إشترك...";
+"Mark Folder Read" = "اجعل رسائل المجلد مقروءة";
+"New Folder..." = "مجلد جديد...";
+"Compact This Folder" = "ضغط هذا المجلد";
+"Search Messages..." = "ابحث عن رسائل ...";
+"Sharing..." = "مشاركة...";
+"New Subfolder..." = "مجلد فرعي جديد ...";
+"Rename Folder..." = "إعادة تسمية مجلد ...";
+"Delete Folder" = "مسح المجلد";
+"Use This Folder For" = "استخدم هذا المجلد لى";
+"Get Messages for Account" = "الحصول على الرسائل من حساب";
+"Properties..." = "خصائص ...";
+"Delegation..." = "تفويض...";
+
+/* Use This Folder menu */
+"Sent Messages" = "الرسالة المرسلة";
+"Drafts" = "المسودات";
+"Deleted Messages" = "الرسائل المحذوفة";
+
+/* Message list popup menu */
+"Open Message In New Window" = "إفنح الرسالة في نافذة جديدة";
+"Reply to Sender Only" = "الرد على المرسل فقط";
+"Reply to All" = "الرد على الكل";
+"Edit As New..." = "تعديل كالجديد ...";
+"Move To" = "نقل إلى";
+"Copy To" = "نسخ إلى";
+"Label" = "ملصق";
+"Mark" = "وضع علامة";
+"Save As..." = "حفظ باسم ...";
+"Print Preview" = "معاينة قبل الطباعة";
+"View Message Source" = "عرض مصدر الرسالة";
+"Print..." = "طباعة...";
+"Delete Message" = "مسح الرسالة";
+"Delete Selected Messages" = "مسح الرسائل المختارة";
+
+"This Folder" = "هذا المجلد";
+
+/* Label popup menu */
+"None" = "لا شيء";
+"Important" = "مهم";
+"Work" = "عمل";
+"Personal" = "شخصي";
+"To Do" = "تفعل";
+"Later" = "لاحقا";
+
+/* Mark popup menu */
+"As Read" = "مقروء";
+"Thread As Read" = "الموضوع مقروء";
+"As Read By Date..." = "كما يقرأ من التاريخ";
+"All Read" = "الكل مقروء";
+"Flag" = "علم";
+"As Junk" = "غير هام";
+"As Not Junk" = "ليس غير هام";
+"Run Junk Mail Controls" = "تشغيل عناصر تحكم البريد غير المرغوب فيه";
+
+/* Folder operations */
+"Name :" = "أسم:";
+"Enter the new name of your folder :"
+ = "أدخل اسم جديد للمجلد:";
+"Do you really want to move this folder into the trash ?"
+ = "هل تريد حقا نقل هذا المجلد إلى سلة المهملات؟";
+"Operation failed" = "فشلت عملية";
+
+"Quota" = "مساحة تخزين:";
+"quotasFormat" = "%{0}% المستخدمة في %{1} ميغابايت";
+
+"Please select a message." = "الرجاء اختيار رسالة.";
+"Please select a message to print." = "الرجاء اختيار رسالة للطباعة.";
+"Please select only one message to print." = "الرجاء اختيار رسالة واحدة فقط للطباعة.";
+"The message you have selected doesn't exist anymore." = "الرسالة التي اخترتها لا وجود لها بعد الآن.";
+
+"The folder with name \"%{0}\" could not be created."
+= "المجلد الذي اسمه \"٪ {0}\" لا يمكن أن ينشأ.";
+"This folder could not be renamed to \"%{0}\"."
+= "لا يمكن تغييراسم هذا المجلد إلى \"٪ {0}\".";
+"The folder could not be deleted."
+= "لا يمكن حذف المجلد.";
+"The trash could not be emptied."
+= "لا يمكن تفريغ القمامة.";
+"The folder functionality could not be changed."
+= "لا يمكن تغيير وظيفة المجلد .";
+
+"You need to choose a non-virtual folder!" = "تحتاج إلى اختيار مجلد غير ظاهري!";
+
+"Moving a message into its own folder is impossible!"
+= "لا يمكن نقل رسالة إلى المجلد الخاص بها!";
+"Copying a message into its own folder is impossible!"
+= "لا يمكن نسخ رسالة إلى المجلد الخاص بها !";
+
+/* Message operations */
+"The messages could not be moved to the trash folder. Would you like to delete them immediately?"
+= "لا يمكن نقل الرسائل إلى مجلد سلة المهملات. هل ترغب في حذفها فورا؟";
+
+/* Message editing */
+"error_missingsubject" = "الرسالة ليس بها موضوع. هل أنت متأكد من أنك تريد إرسالها؟";
+"error_missingrecipients" = "يرجى تحديد مستلم واحد على الأقل.";
+"Send Anyway" = "إرسال على أي حال";
+
+/* Message sending */
+"cannot send message: (smtp) all recipients discarded" = "لا يمكن إرسال الرسالة: جميع العناوين خاطئة.";
+"cannot send message (smtp) - recipients discarded:" = "لا يمكن إرسال رسالة. العناوين التالية غير صالحة:";
+"cannot send message: (smtp) error when connecting" = "لا يمكن إرسال الرسالة: خطأ عند الاتصال إلى خادم SMTP.";
+
+/* Contacts list in mail editor */
+"Email" = "بريد إلكتروني";
+"Name" = "الاسم";
diff --git a/UI/MailerUI/BrazilianPortuguese.lproj/Localizable.strings b/UI/MailerUI/BrazilianPortuguese.lproj/Localizable.strings
index 7ba9903a5..4cccf3143 100644
--- a/UI/MailerUI/BrazilianPortuguese.lproj/Localizable.strings
+++ b/UI/MailerUI/BrazilianPortuguese.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Abrir em uma Nova Janela";
"Copy Folder Location" = "Copiar o Local da Pasta";
"Subscribe..." = "Inscrever-se...";
-"Mark Folder Read..." = "Marcar Pasta como Lido...";
+"Mark Folder Read" = "Marcar Pasta como Lido...";
"New Folder..." = "Nova Pasta...";
"Compact This Folder" = "Compactar Esta Pasta";
"Search Messages..." = "Procurar Mensagens...";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Por favor, selecione somente uma mensagem para imprimir.";
"The message you have selected doesn't exist anymore." = "A mensagem que você selecionou não existe mais.";
-
"The folder with name \"%{0}\" could not be created."
= "A pasta com o nome \"%{0}\" não pode ser criada.";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "Não é possível enviar a mensagem. Os seguintes endereços estão inválidos:";
"cannot send message: (smtp) error when connecting" = "Não é possível enviar a mensagem: erro ao conectar ao servidor SMTP.";
-"Name" = "Nome";
+/* Contacts list in mail editor */
"Email" = "Email";
+"Name" = "Nome";
diff --git a/UI/MailerUI/Catalan.lproj/Localizable.strings b/UI/MailerUI/Catalan.lproj/Localizable.strings
index 1543d6d5b..401299ece 100644
--- a/UI/MailerUI/Catalan.lproj/Localizable.strings
+++ b/UI/MailerUI/Catalan.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Obrir missatge en una finestra nova";
"Copy Folder Location" = "Copiar adreça de la carpeta";
"Subscribe..." = "Subscriure...";
-"Mark Folder Read..." = "Marcar carpeta com a llegida...";
+"Mark Folder Read" = "Marcar carpeta com a llegida...";
"New Folder..." = "Crear carpeta...";
"Compact This Folder" = "Compactar aquesta carpeta";
"Search Messages..." = "Cercar missatges...";
diff --git a/UI/MailerUI/Czech.lproj/Localizable.strings b/UI/MailerUI/Czech.lproj/Localizable.strings
index 79886fb13..212baea30 100644
--- a/UI/MailerUI/Czech.lproj/Localizable.strings
+++ b/UI/MailerUI/Czech.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Otevřít v novém mailovém okně";
"Copy Folder Location" = "Kopírovat adresu složky";
"Subscribe..." = "Odebírat...";
-"Mark Folder Read..." = "Označit složku jako přečtenou...";
+"Mark Folder Read" = "Označit složku jako přečtenou...";
"New Folder..." = "Nová složka...";
"Compact This Folder" = "Provést údržbu složky";
"Search Messages..." = "Vyhledat zprávy...";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Zvolte pouze jednu zprávu, kterou chcete tisknout.";
"The message you have selected doesn't exist anymore." = "Zpráva, kterou jste zvolili, již neexistuje.";
-
"The folder with name \"%{0}\" could not be created."
= "Složka s názvem \"%{0}\" nemohla být vytvořena.";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "Zprávu nelze odeslat: následující adresy jsou neplatné:";
"cannot send message: (smtp) error when connecting" = "Zprávu nelze odeslat: při spojení se SMTP serverem došlo k chybě.";
-"Name" = "Jméno";
+/* Contacts list in mail editor */
"Email" = "E-mail";
+"Name" = "Jméno";
diff --git a/UI/MailerUI/Danish.lproj/Localizable.strings b/UI/MailerUI/Danish.lproj/Localizable.strings
index e6278659d..8e5592395 100644
--- a/UI/MailerUI/Danish.lproj/Localizable.strings
+++ b/UI/MailerUI/Danish.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Attach" = "Vedhæft";
"Save" = "Gem";
"Options" = "Indstillinger";
+"Close" = "Luk";
"Size" = "Størrelse";
/* Tooltips */
@@ -63,8 +64,10 @@
"Shared Account: " = "Delt konto:";
/* acls */
-"Default Roles" = "Standard Roller";
-"User rights for:" = "Bruger rettigheder for:";
+"Access rights to" = "Adgangsrettigheder til";
+"For user" = "For bruger";
+
+"Any Authenticated User" = "Alle godkendte brugere";
"List and see this folder" = "Udvid og se denne mappe";
"Read mails from this folder" = "Læs beskeder fra denne mappe";
@@ -104,16 +107,13 @@
"cc" = "Cc";
"bcc" = "Bcc";
-"Addressbook" = "Adressebog";
-
"Edit Draft..." = "Redigér kladde ...";
"Load Images" = "Indlæs billeder";
"Return Receipt" = "Kvittering";
"The sender of this message has asked to be notified when you read this message. Do you with to notify the sender?" = "Afsenderen af denne besked har bedt om at blive underrettet, når du læser denne besked. Vil du underrette afsenderen?";
-"Return Receipt (displayed) - %@"= "Kvittering (vist) -% @";
-"This is a Return Receipt for the mail that you sent to %@.\n\nNote: This Return Receipt only acknowledges that the message was displayed on the recipient's computer. There is no guarantee that the recipient has read or understood the message contents." = "Dette er en kvittering for den besked, du har sendt til% @ \ n \ n
-Bemærk:. Denne kvittering anerkender kun, at budskabet blev vist på modtagerens computer. Der er ingen garanti for, at modtageren har læst eller forstået indholdet i beskeden.";
+"Return Receipt (displayed) - %@"= "Kvittering (vist) - %@";
+"This is a Return Receipt for the mail that you sent to %@.\n\nNote: This Return Receipt only acknowledges that the message was displayed on the recipient's computer. There is no guarantee that the recipient has read or understood the message contents." = "Dette er en kvittering for den besked, du har sendt til %@\n\nBemærk:. Denne kvittering anerkender kun, at budskabet blev vist på modtagerens computer. Der er ingen garanti for, at modtageren har læst eller forstået indholdet i beskeden.";
"Priority" = "Prioritet";
"highest" = "Højeste";
@@ -124,8 +124,8 @@ Bemærk:. Denne kvittering anerkender kun, at budskabet blev vist på modtageren
"This mail is being sent from an unsecure network!" = "Denne besked bliver sendt fra et usikkert netværk!";
-"Address Book:" = "";
-"Search For:" = "";
+"Address Book:" = "Adressebog:";
+"Search For:" = "Søg efter:";
/* Popup "show" */
@@ -145,7 +145,6 @@ Bemærk:. Denne kvittering anerkender kun, at budskabet blev vist på modtageren
"Date" = "Dato";
"View" = "Vis";
"All" = "Alle";
-"Unread" = "Ulæst";
"No message" = "Ingen besked";
"messages" = "Beskeder";
@@ -190,7 +189,7 @@ Bemærk:. Denne kvittering anerkender kun, at budskabet blev vist på modtageren
"Open in New Mail Window" = "Åben i nyt vindue";
"Copy Folder Location" = "Kopier mappens lokation";
"Subscribe..." = "Abonnér ...";
-"Mark Folder Read..." = "Mark mappe som Læst ...";
+"Mark Folder Read" = "Mark mappe som Læst ...";
"New Folder..." = "Ny mappe ...";
"Compact This Folder" = "Komprimér denne mappe";
"Search Messages..." = "Søg beskeder ...";
@@ -212,7 +211,6 @@ Bemærk:. Denne kvittering anerkender kun, at budskabet blev vist på modtageren
"Open Message In New Window" = "Åben besked i nyt vindue";
"Reply to Sender Only" = "Svar kun afsenderen";
"Reply to All" = "Svar alle";
-"Forward" = "Videresend";
"Edit As New..." = "Redigér som ...";
"Move To" = "Flyt til";
"Copy To" = "Kopier til";
@@ -261,11 +259,10 @@ Bemærk:. Denne kvittering anerkender kun, at budskabet blev vist på modtageren
"Please select only one message to print." = "Vælg kun én besked til at udskrive.";
"The message you have selected doesn't exist anymore." = "Den besked du har valgt findes ikke længere.";
-
"The folder with name \"%{0}\" could not be created."
-= "Mappen med navnet \"% {0}\" kunne ikke oprettes.";
+= "Mappen med navnet \"%{0}\" kunne ikke oprettes.";
"This folder could not be renamed to \"%{0}\"."
-= "Denne mappe kan ikke omdøbes til \"% {0}\".";
+= "Denne mappe kan ikke omdøbes til \"%{0}\".";
"The folder could not be deleted."
= "Mappen kunne ikke slettes.";
"The trash could not be emptied."
@@ -285,14 +282,15 @@ Bemærk:. Denne kvittering anerkender kun, at budskabet blev vist på modtageren
= "Beskederne kunne ikke flyttes til papirkurven. Vil du slette dem med det samme?";
/* Message editing */
-"error_validationfailed" = "Validering mislykkedes";
"error_missingsubject" = "Emne mangler";
"error_missingrecipients" = "Ingen modtagere angivet";
+"Send Anyway" = "Send alligevel";
/* Message sending */
"cannot send message: (smtp) all recipients discarded" = "Kan ikke sende besked: alle modtagere er ugyldige.";
"cannot send message (smtp) - recipients discarded:" = "Kan ikke sende besked. Følgende adresser er ugyldige:";
"cannot send message: (smtp) error when connecting" = "Kan ikke sende besked: Fejl ved oprettelse til SMTP-server.";
+/* Contacts list in mail editor */
+"Email" = "Mail";
"Name" = "Navn";
-"Email" = "E-mail";
diff --git a/UI/MailerUI/Dutch.lproj/Localizable.strings b/UI/MailerUI/Dutch.lproj/Localizable.strings
index 6ec3c1358..87f98b0b4 100644
--- a/UI/MailerUI/Dutch.lproj/Localizable.strings
+++ b/UI/MailerUI/Dutch.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "In nieuw e-mailvenster openen";
"Copy Folder Location" = "Kopieer maplocatie";
"Subscribe..." = "Abonneren...";
-"Mark Folder Read..." = "Map als gelezen markeren";
+"Mark Folder Read" = "Map als gelezen markeren";
"New Folder..." = "Nieuwe map...";
"Compact This Folder" = "Comprimeer deze map";
"Search Messages..." = "Zoeken...";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Selecteer een enkel bericht om af te drukken.";
"The message you have selected doesn't exist anymore." = "Het bericht dat u selecteerde bestaat niet meer.";
-
"The folder with name \"%{0}\" could not be created."
= "De map met naam \"%{0}\" kan niet gemaakt worden.";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "Kan bericht niet sturen: de volgende adressen zijn ongeldig:";
"cannot send message: (smtp) error when connecting" = "Kan bericht niet sturen: fout bij verbinden met de SMTP server.";
-"Name" = "Naam";
+/* Contacts list in mail editor */
"Email" = "E-mail";
+"Name" = "Naam";
diff --git a/UI/MailerUI/English.lproj/Localizable.strings b/UI/MailerUI/English.lproj/Localizable.strings
index 418bd6a49..92d7f6f5f 100644
--- a/UI/MailerUI/English.lproj/Localizable.strings
+++ b/UI/MailerUI/English.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Open in New Mail Window";
"Copy Folder Location" = "Copy Folder Location";
"Subscribe..." = "Subscribe...";
-"Mark Folder Read..." = "Mark Folder Read...";
+"Mark Folder Read" = "Mark Folder Read";
"New Folder..." = "New Folder...";
"Compact This Folder" = "Compact This Folder";
"Search Messages..." = "Search Messages...";
diff --git a/UI/MailerUI/Finnish.lproj/Localizable.strings b/UI/MailerUI/Finnish.lproj/Localizable.strings
index db4510da4..e5de5d9d9 100644
--- a/UI/MailerUI/Finnish.lproj/Localizable.strings
+++ b/UI/MailerUI/Finnish.lproj/Localizable.strings
@@ -15,7 +15,7 @@
"Write" = "Kirjoita";
"Send" = "Lähetä";
-"Contacts" = "Kontaktit";
+"Contacts" = "Yhteystiedot";
"Attach" = "Liitä";
"Save" = "Tallenna";
"Options" = "Asetukset";
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Avaa uudessa viesti-ikkunassa";
"Copy Folder Location" = "Kopioi kansion sijainti";
"Subscribe..." = "Liity...";
-"Mark Folder Read..." = "Merkitse kansio luetuksi...";
+"Mark Folder Read" = "Merkitse kansio luetuksi...";
"New Folder..." = "Uusi kansio...";
"Compact This Folder" = "Pakkaa tämä kansio";
"Search Messages..." = "Etsi viestejä...";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Ole hyvä ja valitse vain yksi viesti tulostettavaksi.";
"The message you have selected doesn't exist anymore." = "Valitsemaasi viestiä ei ole enää olemassa.";
-
"The folder with name \"%{0}\" could not be created."
= "Kansiota \"%{0}\" ei voitu luoda.";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "Viestiä ei voi lähettää: seuraavat osoitteet ovat virheellisiä:";
"cannot send message: (smtp) error when connecting" = "Viestiä ei voi lähettää: virhe yhdistettäessä SMTP -palvelimeen.";
-"Name" = "Nimi";
+/* Contacts list in mail editor */
"Email" = "Sähköposti";
+"Name" = "Nimi";
diff --git a/UI/MailerUI/French.lproj/Localizable.strings b/UI/MailerUI/French.lproj/Localizable.strings
index 98a47adbf..e761a1a08 100644
--- a/UI/MailerUI/French.lproj/Localizable.strings
+++ b/UI/MailerUI/French.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Ouvrir dans une nouvelle fenétre";
"Copy Folder Location" = "Copier l'adresse du dossier";
"Subscribe..." = "S'abonner...";
-"Mark Folder Read..." = "Marquer le dossier comme lu";
+"Mark Folder Read" = "Marquer le dossier comme lu";
"New Folder..." = "Nouveau dossier...";
"Compact This Folder" = "Compacter ce dossier";
"Search Messages..." = "Rechercher dans les messages...";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Veuillez ne sélectionner qu'un seul message à imprimer.";
"The message you have selected doesn't exist anymore." = "Le message que vous avez selectionné n'existe plus.";
-
"The folder with name \"%{0}\" could not be created."
= "Le dossier intitulé \"%{0}\" n'a pas pu être créé.";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "Le message n'a pas pu être envoyé car les adresses suivantes sont invalides :";
"cannot send message: (smtp) error when connecting" = "Le message n'a pas pu être envoyé: une erreur est survenue en tentant de rejoindre le serveur SMTP.";
-"Name" = "Identité";
+/* Contacts list in mail editor */
"Email" = "Adresse électronique";
+"Name" = "Identité";
diff --git a/UI/MailerUI/GNUmakefile b/UI/MailerUI/GNUmakefile
index dfce6342c..dc1fdb9cb 100644
--- a/UI/MailerUI/GNUmakefile
+++ b/UI/MailerUI/GNUmakefile
@@ -6,7 +6,7 @@ BUNDLE_NAME = MailerUI
MailerUI_PRINCIPAL_CLASS = MailerUIProduct
-MailerUI_LANGUAGES = BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
+MailerUI_LANGUAGES = Arabic BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
MailerUI_OBJC_FILES += \
MailerUIProduct.m \
diff --git a/UI/MailerUI/German.lproj/Localizable.strings b/UI/MailerUI/German.lproj/Localizable.strings
index a5bed3ef0..18accabf7 100644
--- a/UI/MailerUI/German.lproj/Localizable.strings
+++ b/UI/MailerUI/German.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "In neuem Fenster öffnen";
"Copy Folder Location" = "Ordneradresse kopieren";
"Subscribe..." = "Abonnieren...";
-"Mark Folder Read..." = "Ordner als gelesen markieren";
+"Mark Folder Read" = "Ordner als gelesen markieren";
"New Folder..." = "Neuer Ordner...";
"Compact This Folder" = "Komprimieren";
"Search Messages..." = "Suchen...";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Bitte wählen Sie nur eine Nachricht zum Drucken aus.";
"The message you have selected doesn't exist anymore." = "Die gewählte Nachricht existiert nicht mehr.";
-
"The folder with name \"%{0}\" could not be created."
= "Der Ordner mit dem Namen \"%{0}\" konnte nicht erzeugt werden.";
"This folder could not be renamed to \"%{0}\"."
@@ -283,7 +282,7 @@
= "Die Nachricht(en) können nicht in den Papierkorb verschoben werden. Wollen Sie diese endgültig löschen?";
/* Message editing */
-"error_missingsubject" = "Der Betreff fehlt";
+"error_missingsubject" = "Der Betreff fehlt. Sind Sie sicher, dass Sie dies so senden möchten?";
"error_missingrecipients" = "Der Empfänger fehlt";
"Send Anyway" = "Trotzdem versenden";
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "Kann Nachricht nicht versenden: Die folgenden Addressen sind ungültig:";
"cannot send message: (smtp) error when connecting" = "Kann Nachricht nicht versenden: Fehler beim Verbinden mit dem SMTP-Server.";
-"Name" = "Name";
+/* Contacts list in mail editor */
"Email" = "E-Mail";
+"Name" = "Name";
diff --git a/UI/MailerUI/Hungarian.lproj/Localizable.strings b/UI/MailerUI/Hungarian.lproj/Localizable.strings
index 50234cbd5..9bd0d51c4 100644
--- a/UI/MailerUI/Hungarian.lproj/Localizable.strings
+++ b/UI/MailerUI/Hungarian.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Megnyitás új üzenet ablakban";
"Copy Folder Location" = "Mappa helyének másolása";
"Subscribe..." = "Feliratkozás...";
-"Mark Folder Read..." = "Mappa megjelölése olvasottként...";
+"Mark Folder Read" = "Mappa megjelölése olvasottként...";
"New Folder..." = "Új mappa...";
"Compact This Folder" = "Mappa tömörítése";
"Search Messages..." = "Üzenetek keresése...";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Kérem csak egy üzenetet válasszon a nyomtatáshoz.";
"The message you have selected doesn't exist anymore." = "A kijelölt üzenet már nem létezik.";
-
"The folder with name \"%{0}\" could not be created."
= "\"%{0}\" néven nem hozható létre a mappa.";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "Az üzenetet nem lehetett elküldeni: az alábbi címzettek érvénytelenek:";
"cannot send message: (smtp) error when connecting" = "Az üzenetet nem lehetett elküldeni: hiba az SMTP kiszolgálóhoz történő csatlakozáskor.";
-"Name" = "Név";
+/* Contacts list in mail editor */
"Email" = "Email";
+"Name" = "Név";
diff --git a/UI/MailerUI/Icelandic.lproj/Localizable.strings b/UI/MailerUI/Icelandic.lproj/Localizable.strings
index a6f949997..f8a6cf239 100644
--- a/UI/MailerUI/Icelandic.lproj/Localizable.strings
+++ b/UI/MailerUI/Icelandic.lproj/Localizable.strings
@@ -186,7 +186,7 @@
"Open in New Mail Window" = "Opna í nýjum glugga fyrir póst";
"Copy Folder Location" = "Afrita staðsetningu möppu";
"Subscribe..." = "Fá áskrift...";
-"Mark Folder Read..." = "Merkja möppu sem lesna...";
+"Mark Folder Read" = "Merkja möppu sem lesna...";
"New Folder..." = "Ný mappa...";
"Compact This Folder" = "Þjappa þessari möppu";
"Search Messages..." = "Leita í Skilaboðum...";
diff --git a/UI/MailerUI/Italian.lproj/Localizable.strings b/UI/MailerUI/Italian.lproj/Localizable.strings
index 138c23a80..5d5b84071 100644
--- a/UI/MailerUI/Italian.lproj/Localizable.strings
+++ b/UI/MailerUI/Italian.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Apri in una nuova finestra";
"Copy Folder Location" = "Copia cartella";
"Subscribe..." = "Sottoscrivi...";
-"Mark Folder Read..." = "Contrassegna cartella come già letta...";
+"Mark Folder Read" = "Contrassegna cartella come già letta...";
"New Folder..." = "Nuova cartella...";
"Compact This Folder" = "Compatta cartella";
"Search Messages..." = "Cerca messaggi...";
diff --git a/UI/MailerUI/NorwegianBokmal.lproj/Localizable.strings b/UI/MailerUI/NorwegianBokmal.lproj/Localizable.strings
index 4b4aa2ada..8d38c34fa 100644
--- a/UI/MailerUI/NorwegianBokmal.lproj/Localizable.strings
+++ b/UI/MailerUI/NorwegianBokmal.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Åpne i nytt vindu";
"Copy Folder Location" = "Kopiere mappens lokasjon";
"Subscribe..." = "Abonnere...";
-"Mark Folder Read..." = "Merk mappe som lest...";
+"Mark Folder Read" = "Merk mappe som lest...";
"New Folder..." = "Ny mappe...";
"Compact This Folder" = "Komprimer mappen";
"Search Messages..." = "Søk meldinger...";
diff --git a/UI/MailerUI/NorwegianNynorsk.lproj/Localizable.strings b/UI/MailerUI/NorwegianNynorsk.lproj/Localizable.strings
index 78ed3e9ec..27bb80b5b 100644
--- a/UI/MailerUI/NorwegianNynorsk.lproj/Localizable.strings
+++ b/UI/MailerUI/NorwegianNynorsk.lproj/Localizable.strings
@@ -186,7 +186,7 @@
"Open in New Mail Window" = "Åpne i nytt vindu";
"Copy Folder Location" = "Kopiere mappens lokasjon";
"Subscribe..." = "Abonnere...";
-"Mark Folder Read..." = "Merk mappe som lest...";
+"Mark Folder Read" = "Merk mappe som lest...";
"New Folder..." = "Ny mappe...";
"Compact This Folder" = "Komprimer mappen";
"Search Messages..." = "Søk meldinger...";
diff --git a/UI/MailerUI/Polish.lproj/Localizable.strings b/UI/MailerUI/Polish.lproj/Localizable.strings
index 532e9db38..973baee49 100644
--- a/UI/MailerUI/Polish.lproj/Localizable.strings
+++ b/UI/MailerUI/Polish.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Otwórz w nowym oknie";
"Copy Folder Location" = "Kopiuj położenie foldera";
"Subscribe..." = "Subskrybuj";
-"Mark Folder Read..." = "Oznacz folder jako przeczytany";
+"Mark Folder Read" = "Oznacz folder jako przeczytany";
"New Folder..." = "Nowy folder";
"Compact This Folder" = "Kompaktuj ten folder";
"Search Messages..." = "Szukaj wiadomości";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Zaznacz tylko jedną wiadomość do drukowania.";
"The message you have selected doesn't exist anymore." = "Zaznaczona wiadomość już nie istnieje.";
-
"The folder with name \"%{0}\" could not be created."
= "Nie można było utworzyć folderu o nazwie \"%{0}\".";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "Nie można wysłać wiadomości - poniźsi odbiorcy zostali odrzuceni:";
"cannot send message: (smtp) error when connecting" = "Nie można wysłać wiadomości - błąd połączenia z serwerem SMTP";
-"Name" = "Nazwa";
+/* Contacts list in mail editor */
"Email" = "E-mail";
+"Name" = "Nazwa";
diff --git a/UI/MailerUI/Russian.lproj/Localizable.strings b/UI/MailerUI/Russian.lproj/Localizable.strings
index b09c4ec0b..935200461 100644
--- a/UI/MailerUI/Russian.lproj/Localizable.strings
+++ b/UI/MailerUI/Russian.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Открыть в новом окне";
"Copy Folder Location" = "Скопировать адрес папки";
"Subscribe..." = "Подписаться...";
-"Mark Folder Read..." = "Отметить все письма в папке как прочтенные...";
+"Mark Folder Read" = "Отметить все письма в папке как прочтенные...";
"New Folder..." = "Создать папку...";
"Compact This Folder" = "Сжать эту папку";
"Search Messages..." = "Поиск в сообщениях...";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Пожалуйста выберите только одно сообщение для печати.";
"The message you have selected doesn't exist anymore." = "Сообщение, которое вы выбрали, не существует больше.";
-
"The folder with name \"%{0}\" could not be created."
= "Не могу создать папку с именем \"%{0}\".";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "Не удается отправить сообщение. Следующие адреса неверны:";
"cannot send message: (smtp) error when connecting" = "Не удается отправить сообщение: ошибка при соединении с сервером SMTP.";
-"Name" = "ПолноеИмя";
+/* Contacts list in mail editor */
"Email" = "Email";
+"Name" = "ПолноеИмя";
diff --git a/UI/MailerUI/Slovak.lproj/Localizable.strings b/UI/MailerUI/Slovak.lproj/Localizable.strings
index e6baeee7b..7bae452d5 100644
--- a/UI/MailerUI/Slovak.lproj/Localizable.strings
+++ b/UI/MailerUI/Slovak.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Otvoriť v novom okne";
"Copy Folder Location" = "Kopírovať adresu priečinka";
"Subscribe..." = "Potvrď odber...";
-"Mark Folder Read..." = "Označ priečinok ako prečítaný...";
+"Mark Folder Read" = "Označ priečinok ako prečítaný...";
"New Folder..." = "Nový adresár";
"Compact This Folder" = "Vykonaj údržbu tohoto priečinku";
"Search Messages..." = "Hľadať správy";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Prosím vyberte iba jednu správu ktorú chcete tlačiť.";
"The message you have selected doesn't exist anymore." = "Správa ktorú ste vybrali už neexistuje.";
-
"The folder with name \"%{0}\" could not be created."
= "Priečinok s menom \"%{0}\" nemôže byť vytvorení.";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "Správa sa nedá odoslať: Nasledujúci príjemcovia nemajú platnú adresu:";
"cannot send message: (smtp) error when connecting" = "Správa sa nedá odoslať: chyba pri pripájaní na SMTP server.";
-"Name" = "Meno";
+/* Contacts list in mail editor */
"Email" = "Email";
+"Name" = "Meno";
diff --git a/UI/MailerUI/SpanishArgentina.lproj/Localizable.strings b/UI/MailerUI/SpanishArgentina.lproj/Localizable.strings
index 5166a2a7e..f8e9c707a 100644
--- a/UI/MailerUI/SpanishArgentina.lproj/Localizable.strings
+++ b/UI/MailerUI/SpanishArgentina.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Abrir mensaje en nueva ventana";
"Copy Folder Location" = "Copiar dirección de la carpeta";
"Subscribe..." = "Suscribir...";
-"Mark Folder Read..." = "Marcar carpeta como leída...";
+"Mark Folder Read" = "Marcar carpeta como leída...";
"New Folder..." = "Crear carpeta...";
"Compact This Folder" = "Compactar esta carpeta";
"Search Messages..." = "Buscar mensajes...";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Para imprimir, seleccione sólo un mensaje.";
"The message you have selected doesn't exist anymore." = "El mensaje seleccionado ya no existe.";
-
"The folder with name \"%{0}\" could not be created."
= "La carpeta llamada \"%{0}\" no puede ser creada.";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "No se puede enviar el mensaje: (smtp) destinatarios descartados:";
"cannot send message: (smtp) error when connecting" = "No se puede enviar el mensaje: (smtp) error de conexión";
-"Name" = "Nombre Completo";
+/* Contacts list in mail editor */
"Email" = "Correo";
+"Name" = "Nombre Completo";
diff --git a/UI/MailerUI/SpanishSpain.lproj/Localizable.strings b/UI/MailerUI/SpanishSpain.lproj/Localizable.strings
index a07103840..a70f71412 100644
--- a/UI/MailerUI/SpanishSpain.lproj/Localizable.strings
+++ b/UI/MailerUI/SpanishSpain.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Abrir mensaje en nueva ventana";
"Copy Folder Location" = "Copiar dirección de la carpeta";
"Subscribe..." = "Suscribir...";
-"Mark Folder Read..." = "Marcar carpeta como leída...";
+"Mark Folder Read" = "Marcar carpeta como leída...";
"New Folder..." = "Crear carpeta...";
"Compact This Folder" = "Compactar esta carpeta";
"Search Messages..." = "Buscar mensajes...";
@@ -259,7 +259,6 @@
"Please select only one message to print." = "Para imprimir, seleccione sólo un mensaje.";
"The message you have selected doesn't exist anymore." = "El mensaje seleccionado ya no existe.";
-
"The folder with name \"%{0}\" could not be created."
= "La carpeta llamada \"%{0}\" no puede ser creada.";
"This folder could not be renamed to \"%{0}\"."
@@ -292,5 +291,6 @@
"cannot send message (smtp) - recipients discarded:" = "No se puede enviar el mensaje: (smtp) destinatarios descartados:";
"cannot send message: (smtp) error when connecting" = "No se puede enviar el mensaje: (smtp) error de conexión";
-"Name" = "Nombre Completo";
+/* Contacts list in mail editor */
"Email" = "Correo";
+"Name" = "Nombre Completo";
diff --git a/UI/MailerUI/Swedish.lproj/Localizable.strings b/UI/MailerUI/Swedish.lproj/Localizable.strings
index d78d968ef..3ac0c88cd 100644
--- a/UI/MailerUI/Swedish.lproj/Localizable.strings
+++ b/UI/MailerUI/Swedish.lproj/Localizable.strings
@@ -186,7 +186,7 @@
"Open in New Mail Window" = "Öppna i nytt fönster";
"Copy Folder Location" = "Kopiera mappens sökväg";
"Subscribe..." = "Prenumrera...";
-"Mark Folder Read..." = "Märk mapp som läst...";
+"Mark Folder Read" = "Märk mapp som läst...";
"New Folder..." = "Ny mapp...";
"Compact This Folder" = "Komprimera mapp";
"Search Messages..." = "Sök meddelanden...";
diff --git a/UI/MailerUI/UIxMailFolderActions.m b/UI/MailerUI/UIxMailFolderActions.m
index 729c24b5a..41d4afc5e 100644
--- a/UI/MailerUI/UIxMailFolderActions.m
+++ b/UI/MailerUI/UIxMailFolderActions.m
@@ -256,6 +256,17 @@
return response;
}
+- (id) markFolderReadAction
+{
+ id response;
+
+ response = [[self clientObject] addFlagsToAllMessages: @"seen"];
+ if (!response)
+ response = [self responseWith204];
+
+ return response;
+}
+
- (WOResponse *) exportFolderAction
{
WOResponse *response;
diff --git a/UI/MailerUI/Ukrainian.lproj/Localizable.strings b/UI/MailerUI/Ukrainian.lproj/Localizable.strings
index 86bf825cf..8a7f7b729 100644
--- a/UI/MailerUI/Ukrainian.lproj/Localizable.strings
+++ b/UI/MailerUI/Ukrainian.lproj/Localizable.strings
@@ -189,7 +189,7 @@
"Open in New Mail Window" = "Відкрити в новому вікні";
"Copy Folder Location" = "Копіювати адресу теки";
"Subscribe..." = "Підписатись...";
-"Mark Folder Read..." = "Відзначити всі листи в теці прочитаними";
+"Mark Folder Read" = "Відзначити всі листи в теці прочитаними";
"New Folder..." = "Створити теку...";
"Compact This Folder" = "Стиснути цю теку";
"Search Messages..." = "Пошук повідомлень...";
diff --git a/UI/MailerUI/Welsh.lproj/Localizable.strings b/UI/MailerUI/Welsh.lproj/Localizable.strings
index f30090f6a..61ad37797 100644
--- a/UI/MailerUI/Welsh.lproj/Localizable.strings
+++ b/UI/MailerUI/Welsh.lproj/Localizable.strings
@@ -186,7 +186,7 @@
"Open in New Mail Window" = "Agor mewn ffenestr Neges Newydd";
"Copy Folder Location" = "Copio Lleoliad Ffolder";
"Subscribe..." = "Tanysgrifio...";
-"Mark Folder Read..." = "Marcio Ffolder Darllenwyd...";
+"Mark Folder Read" = "Marcio Ffolder Darllenwyd...";
"New Folder..." = "Ffolder Newydd...";
"Compact This Folder" = "Cywasgu'r ffolder hwn";
"Search Messages..." = "Chwilio negeseuon...";
diff --git a/UI/MailerUI/product.plist b/UI/MailerUI/product.plist
index 49941d90b..60d726ba0 100644
--- a/UI/MailerUI/product.plist
+++ b/UI/MailerUI/product.plist
@@ -132,6 +132,11 @@
actionClass = "UIxMailFolderActions";
actionName = "saveMessages";
};
+ markRead = {
+ protectedBy = "View";
+ actionClass = "UIxMailFolderActions";
+ actionName = "markFolderRead";
+ };
exportFolder = {
protectedBy = "View";
actionClass = "UIxMailFolderActions";
diff --git a/UI/MainUI/Arabic.lproj/Locale b/UI/MainUI/Arabic.lproj/Locale
new file mode 100644
index 000000000..c6c3d8187
--- /dev/null
+++ b/UI/MainUI/Arabic.lproj/Locale
@@ -0,0 +1,35 @@
+/* Arabic */
+{
+ NSLanguageName = "Arabic";
+ NSFormalName = "العربية";
+ NSLocaleCode = "ar"; /* ISO 639-1 */
+ NSLanguageCode = "ara"; /* ISO 639-2 */
+ NSParentContext = "";
+
+ NSAMPMDesignation = ("ص", "م");
+ NSCurrencySymbol = "$";
+ NSDateFormatString = "%A, %B %e, %Y";
+ NSDateTimeOrdering = MDYH;
+ NSDecimalDigits = ("٠", "١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩");
+ NSDecimalSeparator = ".";
+ NSEarlierTimeDesignations = ("قبل", "آخر", "الماضي", "منذ");
+ NSHourNameDesignations = ((0, "منتصف الليل"), (10, "صباحاُ"), (12, "ظهراُ", "الغداء"), (14, "عصراُ"), (19, "عشاءاُ"));
+ NSInternationalCurrencyString = EGP; /* ISO 4217 */
+ NSLaterTimeDesignations = ("التالي");
+ NSMonthNameArray = ("يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر");
+ NSNextDayDesignations = ("غدا");
+ NSNextNextDayDesignations = ("اليوم التالي");
+ NSPriorDayDesignations = ("أمس");
+ NSShortDateFormatString = "%m/%e/%y";
+ NSShortMonthNameArray = ("يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر");
+ NSShortTimeDateFormatString = "%m/%e/%y %I:%M %p";
+ NSShortWeekDayNameArray = ("ح", "ن", "ث", "ر", "خ", "ج", "س");
+ NSThisDayDesignations = ("اليوم", "الآن");
+ NSThousandsSeparator = ",";
+ NSTimeDateFormatString = "%A, %B %e, %Y %I:%M:%S %p %Z";
+ NSTimeFormatString = "%I:%M:%S %p";
+ NSWeekDayNameArray = ("الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت");
+ NSYearMonthWeekDesignations = ("سنة", "شهر", "أسبوع");
+ NSPositiveCurrencyFormatString = "$9,999.00";
+ NSNegativeCurrencyFormatString = "-$9,999.00";
+}
diff --git a/UI/MainUI/Arabic.lproj/Localizable.strings b/UI/MainUI/Arabic.lproj/Localizable.strings
new file mode 100644
index 000000000..bf38766c0
--- /dev/null
+++ b/UI/MainUI/Arabic.lproj/Localizable.strings
@@ -0,0 +1,78 @@
+/* this file is in UTF-8 format! */
+
+"title" = "سوجو";
+
+"Username:" = "اسم المستخدم:";
+"Password:" = "كلمة السر:";
+"Domain:" = "النطاق:";
+"Remember username" = "تذكر اسم المستخدم";
+
+"Connect" = "اتصل";
+
+"Wrong username or password." = "اسم المستخدم أو كلمة المرور خطأ.";
+"cookiesNotEnabled" = "لا يمكنك الدخول لأنه تم تعطيل الكوكيز بالمتصفح الخاص بك . يرجى تمكين الكوكيز في إعدادات المتصفح الخاص بك وحاول مرة أخرى.";
+
+"browserNotCompatible" = "لقد اكتشفنا ان إصدار المتصفح الخاص بك غير معتمد على هذا الموقع. نحن نوصي بإستخدام فايرفوكس. انقر على الرابط أدناه لتحميل الإصدار الأحدث من هذا المتصفح.";
+"alternativeBrowsers" = "بدلا من ذلك، يمكنك أيضا استخدام المتصفحات التالية المتوافقة";
+"alternativeBrowserSafari" = "بدلا من ذلك، يمكنك أيضا استخدام سفاري.";
+"Download" = "نزِّل";
+
+"Language:" = "اللغة:";
+"choose" = "إختار ...";
+"Arabic" = "العربية";
+"Catalan" = "Català";
+"Czech" = "Česky";
+"Danish" = "Dansk (Danmark)";
+"Dutch" = "Nederlands";
+"English" = "English";
+"Finnish" = "Suomi";
+"French" = "Français";
+"German" = "Deutsch";
+"Hungarian" = "Magyar";
+"Icelandic" = "Íslenska";
+"Italian" = "Italiano";
+"NorwegianBokmal" = "Norsk bokmål";
+"NorwegianNynorsk" = "Norsk nynorsk";
+"Polish" = "Polski";
+"BrazilianPortuguese" = "Português brasileiro";
+"Russian" = "Русский";
+"Slovak" = "Slovensky";
+"SpanishSpain" = "Español (España)";
+"SpanishArgentina" = "Español (Argentina)";
+"Swedish" = "Svenska";
+"Ukrainian" = "Українська";
+"Welsh" = "Cymraeg";
+
+"About" = "حول";
+"AboutBox" = "قام بالبرمجة شركة إنفرز، سوجو هو برنامج خدمي كامل المزايا مع التركيز على التوسع والبساطة.
⏎\nسوجو يوفر واجهة غنية بتقنية AJAX ويدعم متصفحات متعددة من خلال استخدام البروتوكولات القياسية مثل اCalDAV وCardDAV.
⏎\nسوجو موزع بموجب GNU GPL النسخة 2 او الاحدث وبعض الاجزاء موزعة تحت GNU GPL النسخة 2. هذا البرنامج مجاني: أنت حر في تغييره وإعادة توزيعه. لا يوجد أي ضمان، إلى الحد الذي يسمح به القانون.
⏎\nانظر this page لخيارات الدعم المختلفة.";
+
+"Your account was locked due to too many failed attempts." = "تم وقف الدخول على حسابك بسبب الكثير من المحاولات الفاشلة.";
+"Your account was locked due to an expired password." = "تم وقف الدخول على حسابك بسبب إنتهاء صلاحية كلمة السر.";
+"Login failed due to unhandled error case: " = "فشل تسجيل الدخول بسبب حالة خطأ غير معروفة:";
+"Change your Password" = "تغيير كلمة السر الخاصة بك";
+"The password was changed successfully." = "تم تغيير كلمة المرور بنجاح.";
+"Your password has expired, please enter a new one below:" = "كلمة السر الخاصة بك قد انتهت صلاحيتها، الرجاء إدخال واحدة جديدة فيما يلي:";
+"Password must not be empty." = "كلمة السر يجب ان لا تكون فارغة.";
+"The passwords do not match. Please try again." = "كلمات المرور لا تتطابق. يرجى المحاولة مرة أخرى.";
+"Password Grace Period" = "فترة السماح لكلمة السر ";
+"You have %{0} logins remaining before your account is locked. Please change your password in the preference dialog." = "لديك عدد %{0} تسجيلات متبقية قبل وقف الدخول على حسابك. الرجاء تغيير كلمة السر في جزء الخيارات.";
+"Password about to expire" = "صلاحية كلمة السر على وشك الانتهاء";
+"Your password is going to expire in %{0} %{1}." = "صلاحية كلمة السر الخاصة بك سوف تنتهي في %{0} %{1} .";
+"days" = "أيام";
+"hours" = "ساعات";
+"minutes" = "دقائق";
+"seconds" = "ثواني";
+"Password change failed" = "فشل تغيير كلمة المرور";
+"Password change failed - Permission denied" = "فشل تغيير كلمة المرور - تم رفض الإذن";
+"Password change failed - Insufficient password quality" = "فشل تغيير كلمة المرور - عدم كفاية جودة كلمة السر";
+"Password change failed - Password is too short" = "فشل تغيير كلمة المرور - كلمة قصيرة جدا";
+"Password change failed - Password is too young" = "فشل تغيير كلمة المرور - كلمة السر هي صغيرة جدا";
+"Password change failed - Password is in history" = "فشل تغيير كلمة المرور - كلمة السر مستخدمة سابقا";
+"Unhandled policy error: %{0}" = "Unhandled policy error: %{0}";
+"Unhandled error response" = "خطأ استجابة غير معالجة";
+"Password change is not supported." = "لا يتم اعتماد تغيير كلمة المرور.";
+"Unhandled HTTP error code: %{0}" = "Unhandled HTTP error code: %{0}";
+"New password:" = "كلمة مرور جديدة:";
+"Confirmation:" = "تأكيد:";
+"Cancel" = "إلغاء";
+"Please wait..." = "يرجى الانتظار ...";
diff --git a/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings b/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings
index 60e407d3d..4bc1a21ca 100644
--- a/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings
+++ b/UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Idioma:";
"choose" = "Escolha ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Catalan.lproj/Localizable.strings b/UI/MainUI/Catalan.lproj/Localizable.strings
index 512b076ca..4a7817cec 100644
--- a/UI/MainUI/Catalan.lproj/Localizable.strings
+++ b/UI/MainUI/Catalan.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Llengua:";
"choose" = "Triar ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Czech.lproj/Localizable.strings b/UI/MainUI/Czech.lproj/Localizable.strings
index 647cce61e..b97493efe 100644
--- a/UI/MainUI/Czech.lproj/Localizable.strings
+++ b/UI/MainUI/Czech.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Jazyk:";
"choose" = "Vybrat ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Danish.lproj/Localizable.strings b/UI/MainUI/Danish.lproj/Localizable.strings
index 870ea6362..806108d4d 100644
--- a/UI/MainUI/Danish.lproj/Localizable.strings
+++ b/UI/MainUI/Danish.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Sprog:";
"choose" = "Vælg ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Dutch.lproj/Localizable.strings b/UI/MainUI/Dutch.lproj/Localizable.strings
index 9e442ad20..073cc9638 100644
--- a/UI/MainUI/Dutch.lproj/Localizable.strings
+++ b/UI/MainUI/Dutch.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Taal:";
"choose" = "Kies...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/English.lproj/Localizable.strings b/UI/MainUI/English.lproj/Localizable.strings
index 8a9e22a44..294a8d0d6 100644
--- a/UI/MainUI/English.lproj/Localizable.strings
+++ b/UI/MainUI/English.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Language:";
"choose" = "Choose ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Finnish.lproj/Localizable.strings b/UI/MainUI/Finnish.lproj/Localizable.strings
index 978b118da..0b3d54586 100644
--- a/UI/MainUI/Finnish.lproj/Localizable.strings
+++ b/UI/MainUI/Finnish.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Kieli:";
"choose" = "Valitse ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/French.lproj/Localizable.strings b/UI/MainUI/French.lproj/Localizable.strings
index 6d15c6097..b558427c1 100644
--- a/UI/MainUI/French.lproj/Localizable.strings
+++ b/UI/MainUI/French.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Langue:";
"choose" = "Choisir ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/GNUmakefile b/UI/MainUI/GNUmakefile
index 786f483e8..b2f8986c4 100644
--- a/UI/MainUI/GNUmakefile
+++ b/UI/MainUI/GNUmakefile
@@ -6,7 +6,7 @@ BUNDLE_NAME = MainUI
MainUI_PRINCIPAL_CLASS = MainUIProduct
-MainUI_LANGUAGES = BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
+MainUI_LANGUAGES = Arabic BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
MainUI_OBJC_FILES += \
MainUIProduct.m \
diff --git a/UI/MainUI/German.lproj/Localizable.strings b/UI/MainUI/German.lproj/Localizable.strings
index cb94f38c8..43d7cd413 100644
--- a/UI/MainUI/German.lproj/Localizable.strings
+++ b/UI/MainUI/German.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Sprache:";
"choose" = "Auswählen";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Hungarian.lproj/Localizable.strings b/UI/MainUI/Hungarian.lproj/Localizable.strings
index 61355c91d..3f0759575 100644
--- a/UI/MainUI/Hungarian.lproj/Localizable.strings
+++ b/UI/MainUI/Hungarian.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Nyelv:";
"choose" = "Válasszon ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Icelandic.lproj/Localizable.strings b/UI/MainUI/Icelandic.lproj/Localizable.strings
index b0420b9a6..87a17a180 100644
--- a/UI/MainUI/Icelandic.lproj/Localizable.strings
+++ b/UI/MainUI/Icelandic.lproj/Localizable.strings
@@ -18,6 +18,7 @@
"Language:" = "Tungumál:";
"choose" = "Velja...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Italian.lproj/Localizable.strings b/UI/MainUI/Italian.lproj/Localizable.strings
index d8f6ff792..3fc8fde10 100644
--- a/UI/MainUI/Italian.lproj/Localizable.strings
+++ b/UI/MainUI/Italian.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Lingua:";
"choose" = "Scegli...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/NorwegianBokmal.lproj/Localizable.strings b/UI/MainUI/NorwegianBokmal.lproj/Localizable.strings
index 03aeee3da..4d74d0970 100644
--- a/UI/MainUI/NorwegianBokmal.lproj/Localizable.strings
+++ b/UI/MainUI/NorwegianBokmal.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Språk:";
"choose" = "Velg ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/NorwegianNynorsk.lproj/Localizable.strings b/UI/MainUI/NorwegianNynorsk.lproj/Localizable.strings
index e462e771a..a8171823b 100644
--- a/UI/MainUI/NorwegianNynorsk.lproj/Localizable.strings
+++ b/UI/MainUI/NorwegianNynorsk.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Språk:";
"choose" = "Velg ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Polish.lproj/Localizable.strings b/UI/MainUI/Polish.lproj/Localizable.strings
index 37863c740..6e9db4694 100644
--- a/UI/MainUI/Polish.lproj/Localizable.strings
+++ b/UI/MainUI/Polish.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Język:";
"choose" = "Wybierz ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Russian.lproj/Localizable.strings b/UI/MainUI/Russian.lproj/Localizable.strings
index 53dbe6152..7769a8b9c 100644
--- a/UI/MainUI/Russian.lproj/Localizable.strings
+++ b/UI/MainUI/Russian.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Язык:";
"choose" = "Выбрать ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/SOGoRootPage.m b/UI/MainUI/SOGoRootPage.m
index 50d1fba43..fb349ef61 100644
--- a/UI/MainUI/SOGoRootPage.m
+++ b/UI/MainUI/SOGoRootPage.m
@@ -182,7 +182,7 @@
SOGoUserDefaults *ud;
SOGoSystemDefaults *sd;
SOGoUser *loggedInUser;
- NSString *username, *password, *language, *domain;
+ NSString *username, *password, *language, *domain, *remoteHost;
NSArray *supportedLanguages;
SOGoPasswordPolicyError err;
@@ -200,9 +200,12 @@
language = [request formValueForKey: @"language"];
rememberLogin = [[request formValueForKey: @"rememberLogin"] boolValue];
domain = [request formValueForKey: @"domain"];
+ /* this will always be set to something more or less useful by
+ * [WOHttpTransaction applyAdaptorHeadersWithHttpRequest] */
+ remoteHost = [request headerForKey:@"x-webobjects-remote-host"];
if ((b = [auth checkLogin: username password: password domain: &domain
- perr: &err expire: &expire grace: &grace])
+ perr: &err expire: &expire grace: &grace useCache: NO])
&& (err == PolicyNoError)
// no password policy
&& ((expire < 0 && grace < 0) // no password policy or everything is alright
@@ -211,7 +214,7 @@
{
NSDictionary *json;
- [self logWithFormat: @"successful login for user '%@' - expire = %d grace = %d", username, expire, grace];
+ [self logWithFormat: @"successful login from '%@' for user '%@' - expire = %d grace = %d", remoteHost, username, expire, grace];
json = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt: expire], @"expire",
[NSNumber numberWithInt: grace], @"grace", nil];
@@ -248,7 +251,8 @@
}
else
{
- [self logWithFormat: @"Login for user '%@' might not have worked - password policy: %d grace: %d expire: %d bound: %d", username, err, grace, expire, b];
+ [self logWithFormat:@"Login from '%@' for user '%@' might not have worked - password policy: %d grace: %d expire: %d bound: %d",
+ remoteHost, username, err, grace, expire, b];
response = [self _responseWithLDAPPolicyError: err];
}
diff --git a/UI/MainUI/SpanishArgentina.lproj/Localizable.strings b/UI/MainUI/SpanishArgentina.lproj/Localizable.strings
index 6287039db..99f0cdbee 100644
--- a/UI/MainUI/SpanishArgentina.lproj/Localizable.strings
+++ b/UI/MainUI/SpanishArgentina.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Idioma:";
"choose" = "Elija ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/SpanishSpain.lproj/Localizable.strings b/UI/MainUI/SpanishSpain.lproj/Localizable.strings
index 91030f880..25e9987fd 100644
--- a/UI/MainUI/SpanishSpain.lproj/Localizable.strings
+++ b/UI/MainUI/SpanishSpain.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Idioma:";
"choose" = "Elija ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Swedish.lproj/Localizable.strings b/UI/MainUI/Swedish.lproj/Localizable.strings
index 54f8aed1a..7a7189dc3 100644
--- a/UI/MainUI/Swedish.lproj/Localizable.strings
+++ b/UI/MainUI/Swedish.lproj/Localizable.strings
@@ -18,6 +18,7 @@
"Language:" = "Språk:";
"choose" = "Välj ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Ukrainian.lproj/Localizable.strings b/UI/MainUI/Ukrainian.lproj/Localizable.strings
index 3096a86bd..2032809c1 100644
--- a/UI/MainUI/Ukrainian.lproj/Localizable.strings
+++ b/UI/MainUI/Ukrainian.lproj/Localizable.strings
@@ -19,6 +19,7 @@
"Language:" = "Мова:";
"choose" = "Вибрати ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/MainUI/Welsh.lproj/Localizable.strings b/UI/MainUI/Welsh.lproj/Localizable.strings
index 0538cd395..e2873d63c 100644
--- a/UI/MainUI/Welsh.lproj/Localizable.strings
+++ b/UI/MainUI/Welsh.lproj/Localizable.strings
@@ -18,6 +18,7 @@
"Language:" = "Iaith:";
"choose" = "Dewis ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Arabic.lproj/Localizable.strings b/UI/PreferencesUI/Arabic.lproj/Localizable.strings
new file mode 100644
index 000000000..5b27b560a
--- /dev/null
+++ b/UI/PreferencesUI/Arabic.lproj/Localizable.strings
@@ -0,0 +1,309 @@
+/* toolbar */
+"Save and Close" = "حفظ وإغلاق";
+"Close" = "إغلاق";
+
+/* tabs */
+"General" = "عام";
+"Calendar Options" = "خيارات التقويم";
+"Contacts Options" = "خيارات جهات الاتصال";
+"Mail Options" = "خيارات البريد";
+"IMAP Accounts" = "حسابات IMAP";
+"Vacation" = "عطلة";
+"Forward" = "ارسال الى";
+"Password" = "كلمة السر";
+"Categories" = "الفئات";
+"Name" = "اسم ";
+"Color" = "اللون";
+"Add" = "إضافة";
+"Delete" = "مسح";
+
+/* contacts categories */
+"contacts_category_labels" = "الزميل، المنافس، العملاء، الصديق، العائلة، شريك تجاري، مقدم خدمة ، الصحافة ،كبار الشخصيات";
+
+/* vacation (auto-reply) */
+"Enable vacation auto reply" = "تمكين الرد التلقائي أثناء العطلة";
+"Auto reply message :" = "رسالة الرد التلقائي:";
+"Email addresses (separated by commas) :" = "عناوين البريد الإلكتروني (مفصولة بفواصل):";
+"Add default email addresses" = "إضافة عناوين البريد الإلكتروني الافتراضية";
+"Days between responses :" = "عدد الأيام بين الردود:";
+"Do not send responses to mailing lists" = "لا ترسل ردود الى القوائم البريدية";
+"Disable auto reply on" = "تعطيل الرد التلقائي في";
+"Please specify your message and your email addresses for which you want to enable auto reply."
+= "يرجى تحديد رسالتك وعناوين البريد الإلكتروني التي تريد تمكين الرد التلقائي لها.";
+"Your vacation message must not end with a single dot on a line." = "يجب أن لا تنتهي رسالة العطلة بنقطة واحدة على السطر.";
+"End date of your auto reply must be in the future."
+= "يجب أن يكون تاريخ نهاية الرد التلقائي الخاص بك في المستقبل.";
+
+/* forward messages */
+"Forward incoming messages" = "أعد توجيه الرسائل القادمة";
+"Keep a copy" = "احتفظ بنسخة";
+"Please specify an address to which you want to forward your messages."
+= "يرجى تحديد العنوان الذي تريد إعادة توجيه رسائلك له.";
+
+/* d & t */
+"Current Time Zone :" = "التوقيت الزمني الحالى:";
+"Short Date Format :" = "التاريخ بالصيغة المختصرة:";
+"Long Date Format :" = "التاريخ بالصيغة الكاملة:";
+"Time Format :" = "تنسيق الوقت:";
+
+"default" = "الافتراضي";
+
+"shortDateFmt_0" = "%d-%b-%y";
+
+"shortDateFmt_1" = "%d-%m-%y";
+"shortDateFmt_2" = "%d/%m/%y";
+"shortDateFmt_3" = "%e/%m/%y";
+
+"shortDateFmt_4" = "%d-%m-%Y";
+"shortDateFmt_5" = "%d/%m/%Y";
+
+"shortDateFmt_6" = "%m-%d-%y";
+"shortDateFmt_7" = "%m/%d/%y";
+"shortDateFmt_8" = "%m/%e/%y";
+
+"shortDateFmt_9" = "%y-%m-%d";
+"shortDateFmt_10" = "%y/%m/%d";
+"shortDateFmt_11" = "%y.%m.%d";
+
+"shortDateFmt_12" = "%Y-%m-%d";
+"shortDateFmt_13" = "%Y/%m/%d";
+"shortDateFmt_14" = "%Y.%m.%d";
+
+"shortDateFmt_15" = "";
+
+"longDateFmt_0" = "%A, %B %d, %Y";
+"longDateFmt_1" = "%B %d, %Y";
+"longDateFmt_2" = "%A, %d %B, %Y";
+"longDateFmt_3" = "%d %B, %Y";
+"longDateFmt_4" = "";
+"longDateFmt_5" = "";
+"longDateFmt_6" = "";
+"longDateFmt_7" = "";
+"longDateFmt_8" = "";
+"longDateFmt_9" = "";
+"longDateFmt_10" = "";
+
+"timeFmt_0" = "%I:%M %p";
+"timeFmt_1" = "%H:%M";
+"timeFmt_2" = "";
+"timeFmt_3" = "";
+"timeFmt_4" = "";
+
+/* calendar */
+"Week begins on :" = "بداية الاسبوع:";
+"Day start time :" = "بداية يوم العمل:";
+"Day end time :" = "نهاية يوم العمل:";
+"Day start time must be prior to day end time." = "يجب أن يكون وقت بداية يوم العمل قبل وقت نهاية يوم العمل.";
+"Show time as busy outside working hours" = "إظهار الوقت خارج ساعات العمل على أنه مشغول";
+"First week of year :" = "الأسبوع الأول من السنة:";
+"Enable reminders for Calendar items" = "تمكين التذكيرات لعناصر التقويم";
+"Play a sound when a reminder comes due"
+= "تشغيل صوت للتذكير بموعد اقترب وقته";
+"Default reminder :" = "التذكير الإفتراضي:";
+
+"firstWeekOfYear_January1" = "يبدأ في 1 يناير";
+"firstWeekOfYear_First4DayWeek" = "أول 4 ايام في الاسبوع";
+"firstWeekOfYear_FirstFullWeek" = "أول اسبوع كامل";
+
+/* Default Calendar */
+"Default calendar :" = "التقويم الإفتراضي:";
+"selectedCalendar" = "التقويم المحدد";
+"personalCalendar" = "التقويم الشخصي";
+"firstCalendar" = "أول تقويم ممكن";
+
+"reminderTime_0000" = "0 دقيقة";
+"reminderTime_0005" = "5 دقائق";
+"reminderTime_0010" = "10 دقائق";
+"reminderTime_0015" = "15 دقيقة";
+"reminderTime_0030" = "30 دقيقة";
+"reminderTime_0100" = "1 ساعة";
+"reminderTime_0200" = "2 ساعة";
+"reminderTime_0400" = "4 ساعات";
+"reminderTime_0800" = "8 ساعات";
+"reminderTime_1200" = "1/2 يوم";
+"reminderTime_2400" = "1 يوم";
+"reminderTime_4800" = "2 يوم";
+
+/* Mailer */
+"Show subscribed mailboxes only" = "عرض صناديق البريد المشترك بها فقط";
+"Sort messages by threads" = "رتب الرسائل حسب المواضيع";
+"Check for new mail:" = "تحقق من وجود بريد جديد:";
+"messagecheck_manually" = "يدوي";
+"messagecheck_every_minute" = "كل دقيقة";
+"messagecheck_every_2_minutes" = "كل 2 دقيقة";
+"messagecheck_every_5_minutes" = "كل 5 دقائق";
+"messagecheck_every_10_minutes" = "كل 10 دقائق";
+"messagecheck_every_20_minutes" = "كل 20 دقيقة";
+"messagecheck_every_30_minutes" = "كل 30 دقيقة";
+"messagecheck_once_per_hour" = "مرة كل ساعة";
+
+"Forward messages:" = "أعد توجيه الرسائل:";
+"messageforward_inline" = "مضمنة";
+"messageforward_attached" = "كمرفق";
+
+"When replying to a message:" = "متى يُرَدُّ على الرِّسالة:";
+"replyplacement_above" = "بدء الرد فوق الاقتباس";
+"replyplacement_below" = "بدء الرد تحت الاقتباس";
+"And place my signature" = "ووضع توقيعي";
+"signatureplacement_above" = "تحت الرد الخاص بي";
+"signatureplacement_below" = "تحت الإقتباس";
+"Compose messages in" = "إنشاء رسائل في";
+"composemessagestype_html" = "HTML";
+"composemessagestype_text" = "نص عادي";
+"Display remote inline images" = "اعرِض الصور المضمَّنة عن بُعد";
+"displayremoteinlineimages_never" = "أبدًا";
+"displayremoteinlineimages_always" = "دائمًا";
+
+/* IMAP Accounts */
+"New Mail Account" = "حساب بريد إلكتروني جديد";
+
+"Server Name:" = "أسم الخادم:";
+"Port:" = "مدخل:";
+"Encryption:" = "التشفير:";
+"None" = "بلا";
+"User Name:" = "اسم المستخدم:";
+"Password:" = "كلمة المرور:";
+
+"Full Name:" = "الإسم الكامل:";
+"Email:" = "البريد الإلكتروني:";
+"Reply To Email:" = "الرد على البريد الإلكتروني:";
+"Signature:" = "التوقيع:";
+"(Click to create)" = "(انقر للصنع)";
+
+"Signature" = "التوقيع";
+"Please enter your signature below:" = "من فضلك ادخل توقيعك أدناه:";
+
+"Please specify a valid sender address." = "من فضلك حدِّد عنوان مرسل صالح.";
+"Please specify a valid reply-to address." = "من فضلك حدِّد عنوان ردٍّ صالح";
+
+/* Additional Parameters */
+"Additional Parameters" = "معلمات إضافية";
+
+/* password */
+"New password:" = "كلمة مرور جديدة:";
+"Confirmation:" = "تأكيد:";
+"Change" = "لا شيء";
+
+/* Event+task classifications */
+"Default events classification :" = "تصنيف الأحداث الافتراضية:";
+"Default tasks classification :" = "تصنيف المهام الافتراضية :";
+"PUBLIC_item" = "علني";
+"CONFIDENTIAL_item" = "سري";
+"PRIVATE_item" = "خاص";
+
+/* Event+task categories */
+"category_none" = "لا شيء";
+"calendar_category_labels" = "ذكرى، عيد ميلاد، مكالمات عمل، عملاء ، منافس، عملاء، المفضلات، المتابعة، الهدايا، أيام العطل، الأفكار، الاجتماع، قضايا، متنوعات ، شخصية،مشاريع، عطلة عامة، الحالة، الموردين ، السفر، عطلة";
+
+/* Default module */
+"Calendar" = "تقويم";
+"Contacts" = "دفتر العناوين";
+"Mail" = "بريد";
+"Last" = "أخر إستخدام";
+"Default module :" = "وحدة نمطية افتراضية :";
+
+"Language :" = "اللغة:";
+"choose" = "اختيار ...";
+"Arabic" = "العربية";
+"Catalan" = "Català";
+"Czech" = "Česky";
+"Danish" = "Dansk (Danmark)";
+"Dutch" = "Nederlands";
+"English" = "English";
+"Finnish" = "Suomi";
+"French" = "Français";
+"German" = "Deutsch";
+"Hungarian" = "Magyar";
+"Icelandic" = "Íslenska";
+"Italian" = "Italiano";
+"NorwegianBokmal" = "Norsk bokmål";
+"NorwegianNynorsk" = "Norsk nynorsk";
+"Polish" = "Polski";
+"BrazilianPortuguese" = "Português brasileiro";
+"Russian" = "Русский";
+"Slovak" = "Slovensky";
+"SpanishSpain" = "Español (España)";
+"SpanishArgentina" = "Español (Argentina)";
+"Swedish" = "Svenska";
+"Ukrainian" = "Українська";
+"Welsh" = "Cymraeg";
+
+/* Return receipts */
+"When I receive a request for a return receipt:" = "عندما اتلقى طلبا لإرسال ايصال استلام:";
+"Never send a return receipt" = "لا ترسل إيصال استلام";
+"Allow return receipts for some messages" = "السماح بإرسال إيصالات استلام مقابل بعض الرسائل الواردة";
+"If I'm not in the To or Cc of the message:" = "إذا لم أكن من ضمن المرسل لهم او المرسل لهم نسخة:";
+"If the sender is outside my domain:" = "إذا كان المرسل من خارج النطاق:";
+"In all other cases:" = "في جميع الحالات الأخرى:";
+
+"Never send" = "لم يرسل";
+"Always send" = "إرسال دائما";
+"Ask me" = "أسألني";
+
+/* Filters - UIxPreferences */
+"Filters" = "قواعد تصفية";
+"Active" = "نشط";
+"Move Up" = "تحريك لأعلى";
+"Move Down" = "تحريك لأسفل";
+
+/* Filters - UIxFilterEditor */
+"Filter name:" = "أسم قاعدة التصفية:";
+"For incoming messages that" = "عن الرسائل الواردة التي";
+"match all of the following rules:" = "تطابق كافة القواعد التالية:";
+"match any of the following rules:" = "تتطابق مع أي من القواعد التالية:";
+"match all messages" = "تطابق جميع الرسائل";
+"Perform these actions:" = "تنفيذ هذه الإجراءات:";
+"Untitled Filter" = "مرشح غير معنون";
+
+"Subject" = "موضوع";
+"From" = "من";
+"To" = "إلى";
+"Cc" = "نسخة ";
+"To or Cc" = "إلى أو نسخة";
+"Size (Kb)" = "الحجم (كيلو بايت)";
+"Header" = "قمة";
+"Flag the message with:" = " وضع إشارة على الرسالة مع:";
+"Discard the message" = "رفض الرسالة";
+"File the message in:" = "تقديم الرسالة في:";
+"Keep the message" = "الحفاظ على رسالة";
+"Forward the message to:" = "إعادة توجيه الرسالة إلى:";
+"Send a reject message:" = "إرسال رسالة رفض:";
+"Send a vacation message" = "إرسال رسالة عطلة";
+"Stop processing filter rules" = "إيقاف معالجة قواعد التصفية";
+
+"is under" = "هو تحت";
+"is over" = "هو فوق";
+"is" = "هو ";
+"is not" = "هو لا";
+"contains" = "يحتوي";
+"does not contain" = "لا يحتوي";
+"matches" = "يطابق";
+"does not match" = "لا يطابق";
+"matches regex" = "يطابق رجإكس";
+"does not match regex" = "لا يطابق رجإكس";
+
+"Seen" = "نظر";
+"Deleted" = "حذف";
+"Answered" = "اجاب";
+"Flagged" = "وضع علامة عليه";
+"Junk" = "غير مرغوب به";
+"Not Junk" = "مرغوب به";
+"Label 1" = "ملصق 1";
+"Label 2" = "ملصق 2";
+"Label 3" = "ملصق 3";
+"Label 4" = "ملصق 4";
+"Label 5" = "ملصق 5";
+
+"The password was changed successfully." = "غُيِّرت كلمة السِّر بنجَاح.";
+"Password must not be empty." = "كلمة السر يجب ان لا تكون فارغة.";
+"The passwords do not match. Please try again." = "كلمات المرور لا تتطابق. يرجى المحاولة مرة أخرى.";
+"Password change failed" = "فشل تغيير كلمة المرور";
+"Password change failed - Permission denied" = "فشل تغيير كلمة المرور - تم رفض الإذن";
+"Password change failed - Insufficient password quality" = "فشل تغيير كلمة المرور - جودة كلمة السر غير كافية";
+"Password change failed - Password is too short" = "فشل تغيير كلمة المرور - كلمة قصيرة جدا";
+"Password change failed - Password is too young" = "فشل تغيير كلمة المرور - كلمة السر هي صغيرة جدا";
+"Password change failed - Password is in history" = "فشل تغيير كلمة المرور - كلمة السر مستخدمة من قبل";
+"Unhandled policy error: %{0}" = "خطأ غير معالج: %{0}";
+"Unhandled error response" = "إستجابة خاطئة غير معروفة";
+"Password change is not supported." = "لا يتم اعتماد تغيير كلمة المرور.";
+"Unhandled HTTP error code: %{0}" = "Unhandled HTTP error code: %{0}";
diff --git a/UI/PreferencesUI/BrazilianPortuguese.lproj/Localizable.strings b/UI/PreferencesUI/BrazilianPortuguese.lproj/Localizable.strings
index 56f500dee..d5eaccafb 100644
--- a/UI/PreferencesUI/BrazilianPortuguese.lproj/Localizable.strings
+++ b/UI/PreferencesUI/BrazilianPortuguese.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Idioma :";
"choose" = "Escolha ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Catalan.lproj/Localizable.strings b/UI/PreferencesUI/Catalan.lproj/Localizable.strings
index d7044d1f5..784b5b41c 100644
--- a/UI/PreferencesUI/Catalan.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Catalan.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Language :";
"choose" = "Choose ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Czech.lproj/Localizable.strings b/UI/PreferencesUI/Czech.lproj/Localizable.strings
index 2616f662d..a0d3e9c2b 100644
--- a/UI/PreferencesUI/Czech.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Czech.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Jazyk :";
"choose" = "Vybrat ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Danish.lproj/Localizable.strings b/UI/PreferencesUI/Danish.lproj/Localizable.strings
index 386377889..761afcd81 100644
--- a/UI/PreferencesUI/Danish.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Danish.lproj/Localizable.strings
@@ -30,6 +30,7 @@
"Disable auto reply on" = "Deaktiver Autosvar til";
"Please specify your message and your email addresses for which you want to enable auto reply."
= "Angiv venligst din besked og de e-mail-adresser, som du vil aktivere autosvar for.";
+"Your vacation message must not end with a single dot on a line." = "Din ferie meddelelse må ikke slutte med et enkelt punktum på en linje.";
"End date of your auto reply must be in the future."
= "Sluttidspunkt for dit autosvar skal være i fremtiden.";
@@ -75,10 +76,18 @@
"longDateFmt_2" = "%A, %d %B, %Y";
"longDateFmt_3" = "%d %B, %Y";
"longDateFmt_4" = "";
+"longDateFmt_5" = "";
+"longDateFmt_6" = "";
+"longDateFmt_7" = "";
+"longDateFmt_8" = "";
+"longDateFmt_9" = "";
+"longDateFmt_10" = "";
"timeFmt_0" = "%I:%M %p";
"timeFmt_1" = "%H:%M";
"timeFmt_2" = "";
+"timeFmt_3" = "";
+"timeFmt_4" = "";
/* calendar */
"Week begins on :" = "Uge start tidspunkt:";
@@ -132,6 +141,7 @@
"messageforward_inline" = "På linie";
"messageforward_attached" = "Som vedhæftet fil";
+"When replying to a message:" = "Når du besvarer en besked:";
"replyplacement_above" = "Start mit svar over citat";
"replyplacement_below" = "Start mit svar under citat";
"And place my signature" = "Og placér min signatur";
@@ -140,23 +150,32 @@
"Compose messages in" = "Skriv beskeder i";
"composemessagestype_html" = "HTML";
"composemessagestype_text" = "Almindelig tekst";
+"Display remote inline images" = "Vis eksterne indlejrede billeder";
+"displayremoteinlineimages_never" = "Aldrig";
+"displayremoteinlineimages_always" = "Altid";
/* IMAP Accounts */
"New Mail Account" = "Ny mail-konto";
"Server Name:" = "Server Navn:";
"Port:" = "Port:";
+"Encryption:" = "Krypteret:";
+"None" = "Ingen";
"User Name:" = "Brugernavn:";
"Password:" = "Adgangskode:";
"Full Name:" = "Fulde navn:";
"Email:" = "E-mail:";
+"Reply To Email:" = "Besvar på mail:";
"Signature:" = "Signatur:";
"(Click to create)" = "(Klik for at oprette)";
"Signature" = "Signatur:";
"Please enter your signature below:" = "Indsæt venligst din signatur nedenfor:";
+"Please specify a valid sender address." = "Angiv venligst en gyldig afsenderadresse.";
+"Please specify a valid reply-to address." = "Angiv venligst en gyldig svar-til adresse.";
+
/* Additional Parameters */
"Additional Parameters" = "Yderligere parametre";
@@ -166,11 +185,11 @@
"Change" = "Skift";
/* Event+task classifications */
-"Default events classification :" = "Default events classification :";
-"Default tasks classification :" = "Default tasks classification :";
-"PUBLIC_item" = "Public";
-"CONFIDENTIAL_item" = "Confidential";
-"PRIVATE_item" = "Private";
+"Default events classification :" = "Standard begivenhedsklassifikation:";
+"Default tasks classification :" = "Standard opgaveklassifikation:";
+"PUBLIC_item" = "Offentlig";
+"CONFIDENTIAL_item" = "Fortrolig";
+"PRIVATE_item" = "Privat";
/* Event+task categories */
"category_none" = "Ingen";
@@ -185,23 +204,24 @@
"Language :" = "Sprog:";
"choose" = "Vælg ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
"Dutch" = "Nederlands";
"English" = "English";
-"Finnish" = "Suomi";
+"Finnish" = "Finsk";
"French" = "Français";
"German" = "Deutsch";
"Hungarian" = "Magyar";
-"Icelandic" = "Íslenska";
+"Icelandic" = "Islandsk";
"Italian" = "Italiano";
"NorwegianBokmal" = "Norsk";
"NorwegianNynorsk" = "Nynorsk";
"BrazilianPortuguese" = "Português brasileiro";
-"Polish" = "Polski";
+"Polish" = "Polsk";
"Russian" = "Русский";
-"Slovak" = "Slovensky";
+"Slovak" = "Slovensk";
"SpanishSpain" = "Spansk (Spanien)";
"SpanishArgentina" = "Spansk (Argentina)";
"Swedish" = "Svenska";
@@ -220,18 +240,6 @@
"Always send" = "Send altid";
"Ask me" = "Spørg mig";
-/* Return receipts */
-"When I receive a request for a return receipt:" = "Når jeg modtager en anmodning om en kvittering:";
-"Never send a return receipt" = "Send aldrig en kvittering";
-"Allow return receipts for some messages" = "Tillad kvitteringer for nogle beskeder";
-"If I'm not in the To or Cc of the message:" = "Hvis jeg ikke er i feltet Til eller Cc i meddelelsen:";
-"If the sender is outside my domain:" = "Hvis afsenderen er uden for mit domæne:";
-"In all other cases:" = "I alle andre tilfælde:";
-
-"Never send" = "Send aldrig";
-"Always send" = "Send altid";
-"Ask me" = "Spørg mig";
-
/* Filters - UIxPreferences */
"Filters" = "Filtre";
"Active" = "Aktiv";
@@ -245,6 +253,7 @@
"match any of the following rules:" = "match enhver af følgende regler:";
"match all messages" = "match alle beskeder";
"Perform these actions:" = "Udføre disse handlinger:";
+"Untitled Filter" = "Unavngivet filter";
"Subject" = "Emne";
"From" = "Fra";
@@ -285,6 +294,7 @@
"Label 4" = "Mærkat 4";
"Label 5" = "Mærkat 5";
+"The password was changed successfully." = "Adgangskoden er ændret.";
"Password must not be empty." = "Adgangskode skal ikke.";
"The passwords do not match. Please try again." = "Adgangskoderne stemmer ikke overens. Prøv venligst igen.";
"Password change failed" = "Ændring af adgangskode mislykkedes";
@@ -297,5 +307,3 @@
"Unhandled error response" = "fejlreaktion";
"Password change is not supported." = "Adgangskodeændring er ikke understøttet.";
"Unhandled HTTP error code: %{0}" = "HTTP fejlkode:%{0}";
-"New password:" = "Ny adgangskode:";
-"Confirmation:" = "Bekræftelse:";
diff --git a/UI/PreferencesUI/Dutch.lproj/Localizable.strings b/UI/PreferencesUI/Dutch.lproj/Localizable.strings
index 7bcb3bb60..45c345516 100644
--- a/UI/PreferencesUI/Dutch.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Dutch.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Taal:";
"choose" = "Kies...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/English.lproj/Localizable.strings b/UI/PreferencesUI/English.lproj/Localizable.strings
index 306e02b72..481ecfb7b 100644
--- a/UI/PreferencesUI/English.lproj/Localizable.strings
+++ b/UI/PreferencesUI/English.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Language:";
"choose" = "Choose ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Finnish.lproj/Localizable.strings b/UI/PreferencesUI/Finnish.lproj/Localizable.strings
index 72f6be784..b4a9a7261 100644
--- a/UI/PreferencesUI/Finnish.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Finnish.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Kieli:";
"choose" = "Valitse...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/French.lproj/Localizable.strings b/UI/PreferencesUI/French.lproj/Localizable.strings
index 1c74c4bb7..73c301fea 100644
--- a/UI/PreferencesUI/French.lproj/Localizable.strings
+++ b/UI/PreferencesUI/French.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Langue :";
"choose" = "Choisir ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/GNUmakefile b/UI/PreferencesUI/GNUmakefile
index 4a8040b38..7aa0511d2 100644
--- a/UI/PreferencesUI/GNUmakefile
+++ b/UI/PreferencesUI/GNUmakefile
@@ -6,7 +6,7 @@ BUNDLE_NAME = PreferencesUI
PreferencesUI_PRINCIPAL_CLASS = PreferencesUIProduct
-PreferencesUI_LANGUAGES = BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
+PreferencesUI_LANGUAGES = Arabic BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
PreferencesUI_OBJC_FILES = \
PreferencesUIProduct.m \
diff --git a/UI/PreferencesUI/German.lproj/Localizable.strings b/UI/PreferencesUI/German.lproj/Localizable.strings
index c835433ea..4e6bd1618 100644
--- a/UI/PreferencesUI/German.lproj/Localizable.strings
+++ b/UI/PreferencesUI/German.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Sprache :";
"choose" = "Auswählen";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Hungarian.lproj/Localizable.strings b/UI/PreferencesUI/Hungarian.lproj/Localizable.strings
index 3a6cd9ca3..26af9a277 100644
--- a/UI/PreferencesUI/Hungarian.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Hungarian.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Nyelv :";
"choose" = "Válasszon ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Icelandic.lproj/Localizable.strings b/UI/PreferencesUI/Icelandic.lproj/Localizable.strings
index 56c58b2dc..bc9ff1330 100644
--- a/UI/PreferencesUI/Icelandic.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Icelandic.lproj/Localizable.strings
@@ -174,6 +174,7 @@
"Language :" = "Tungumál :";
"choose" = "Velja...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Italian.lproj/Localizable.strings b/UI/PreferencesUI/Italian.lproj/Localizable.strings
index 8228d54c7..d6daf9208 100644
--- a/UI/PreferencesUI/Italian.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Italian.lproj/Localizable.strings
@@ -195,6 +195,7 @@
"Language :" = "Lingua :";
"choose" = "Scegli...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/NorwegianBokmal.lproj/Localizable.strings b/UI/PreferencesUI/NorwegianBokmal.lproj/Localizable.strings
index 335470e5a..616b2fdf5 100644
--- a/UI/PreferencesUI/NorwegianBokmal.lproj/Localizable.strings
+++ b/UI/PreferencesUI/NorwegianBokmal.lproj/Localizable.strings
@@ -193,6 +193,7 @@
"Language :" = "Språk:";
"choose" = "Velg ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/NorwegianNynorsk.lproj/Localizable.strings b/UI/PreferencesUI/NorwegianNynorsk.lproj/Localizable.strings
index 167a6a112..8e97a7694 100644
--- a/UI/PreferencesUI/NorwegianNynorsk.lproj/Localizable.strings
+++ b/UI/PreferencesUI/NorwegianNynorsk.lproj/Localizable.strings
@@ -181,6 +181,7 @@
"Language :" = "Språk:";
"choose" = "Velg ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Polish.lproj/Localizable.strings b/UI/PreferencesUI/Polish.lproj/Localizable.strings
index 2b6f3e58b..0a6a8433f 100644
--- a/UI/PreferencesUI/Polish.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Polish.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Język:";
"choose" = "Wybierz";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Russian.lproj/Localizable.strings b/UI/PreferencesUI/Russian.lproj/Localizable.strings
index 772387fb3..e3700265a 100644
--- a/UI/PreferencesUI/Russian.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Russian.lproj/Localizable.strings
@@ -198,6 +198,7 @@
"Language :" = "Язык :";
"choose" = "Выбрать ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Slovak.lproj/Localizable.strings b/UI/PreferencesUI/Slovak.lproj/Localizable.strings
index 94eed87d5..65726f2df 100644
--- a/UI/PreferencesUI/Slovak.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Slovak.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Jazyk:";
"choose" = "Vyber...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/SpanishArgentina.lproj/Localizable.strings b/UI/PreferencesUI/SpanishArgentina.lproj/Localizable.strings
index 0c9feedc5..fa67e8d55 100644
--- a/UI/PreferencesUI/SpanishArgentina.lproj/Localizable.strings
+++ b/UI/PreferencesUI/SpanishArgentina.lproj/Localizable.strings
@@ -198,6 +198,7 @@
"Language :" = "Idioma :";
"choose" = "Elija ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/SpanishSpain.lproj/Localizable.strings b/UI/PreferencesUI/SpanishSpain.lproj/Localizable.strings
index 530b74095..1f42bb17c 100644
--- a/UI/PreferencesUI/SpanishSpain.lproj/Localizable.strings
+++ b/UI/PreferencesUI/SpanishSpain.lproj/Localizable.strings
@@ -204,6 +204,7 @@
"Language :" = "Idioma :";
"choose" = "Elija ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Swedish.lproj/Localizable.strings b/UI/PreferencesUI/Swedish.lproj/Localizable.strings
index 3949abf32..c1e981dbe 100644
--- a/UI/PreferencesUI/Swedish.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Swedish.lproj/Localizable.strings
@@ -183,6 +183,7 @@ Servernamn:";
"Language :" = "Språk:";
"choose" = "Välj ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Ukrainian.lproj/Localizable.strings b/UI/PreferencesUI/Ukrainian.lproj/Localizable.strings
index ab6bb69cd..8a8ba55e5 100644
--- a/UI/PreferencesUI/Ukrainian.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Ukrainian.lproj/Localizable.strings
@@ -193,6 +193,7 @@
"Language :" = "Мова :";
"choose" = "Choose ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/PreferencesUI/Welsh.lproj/Localizable.strings b/UI/PreferencesUI/Welsh.lproj/Localizable.strings
index 7d4a35802..425195c15 100644
--- a/UI/PreferencesUI/Welsh.lproj/Localizable.strings
+++ b/UI/PreferencesUI/Welsh.lproj/Localizable.strings
@@ -181,6 +181,7 @@
"Language :" = "Iaith :";
"choose" = "Dewis ...";
+"Arabic" = "العربية";
"Catalan" = "Català";
"Czech" = "Česky";
"Danish" = "Dansk (Danmark)";
diff --git a/UI/Scheduler/Arabic.lproj/Localizable.strings b/UI/Scheduler/Arabic.lproj/Localizable.strings
new file mode 100644
index 000000000..6fc599a80
--- /dev/null
+++ b/UI/Scheduler/Arabic.lproj/Localizable.strings
@@ -0,0 +1,536 @@
+/* this file is in UTF-8 format! */
+
+/* Tooltips */
+
+"Create a new event" = "إنشاء حدث جديد";
+"Create a new task" = "إنشاء مهمة جديدة";
+"Edit this event or task" = "تحرير هذا الحدث أو المهمة";
+"Delete this event or task" = "حذف هذا الحدث أو المهمة";
+"Go to today" = "انتقل إلى اليوم";
+"Switch to day view" = "التبديل إلى طريقة عرض اليوم";
+"Switch to week view" = "التبديل إلى طريقة عرض الأسبوع";
+"Switch to month view" = "التبديل إلى طريقة عرض الشهر";
+"Reload all calendars" = "تحديث جميع التقاويم";
+
+/* Tabs */
+"Date" = "تاريخ";
+"Calendars" = "تقاويم";
+
+/* Day */
+
+"DayOfTheMonth" = "يوم من الشهر";
+"dayLabelFormat" = "%m/%d/%Y";
+"today" = "اليوم";
+
+"Previous Day" = "اليوم السابق";
+"Next Day" = "اليوم اللاحق";
+
+/* Week */
+
+"Week" = "اسبوع";
+"this week" = "هذا الاسبوع";
+
+"Week %d" = "أسبوع %d";
+
+"Previous Week" = "الأسبوع السابق";
+"Next Week" = "الأسبوع القادم";
+
+/* Month */
+
+"this month" = "هذا الشهر";
+
+"Previous Month" = "الشهر السابق";
+"Next Month" = "الشهر القادم";
+
+/* Year */
+
+"this year" = "هذه السنة";
+
+/* Menu */
+
+"Calendar" = "تقويم";
+"Contacts" = "جهة اتصال";
+
+"New Calendar..." = "تقويم جديد...";
+"Delete Calendar" = "إلغاء تقويم...";
+"Unsubscribe Calendar" = "إلغاء مشاركة تقويم";
+"Sharing..." = "مشاركة...";
+"Export Calendar..." = "تصدير التقويم ...";
+"Import Events..." = "استيراد الأحداث ...";
+"Import Events" = "استيراد الأحداث";
+"Select an iCalendar file (.ics)." = "إختار ملف iCalendar file (.ics).";
+"Upload" = "تحميل";
+"Uploading" = "تحميل";
+"Publish Calendar..." = "نشر التقويم ...";
+"Reload Remote Calendars" = "تحديث التقويمات من خادم أخر";
+"Properties" = "خصائص";
+"Done" = "تم";
+"An error occurred while importing calendar." = "حدث خطأ أثناء استيراد تقويم.";
+"No event was imported." = "لم يتم استيراد أي حدث.";
+"A total of %{0} events were imported in the calendar." = "ما مجموعه%{0} من الأحداث تم استيرادها في التقويم.";
+
+"Compose E-Mail to All Attendees" = "إنشاء رسالة بريد إلكتروني لجميع الحاضرين";
+"Compose E-Mail to Undecided Attendees" = "إنشاء رسالة بريد إلكتروني الى الحضور الغير مؤكد حضورهم.";
+
+/* Folders */
+"Personal calendar" = "تقويم شخصي";
+
+/* Misc */
+
+"OpenGroupware.org" = "OpenGroupware.org";
+"Forbidden" = "ممنوع";
+
+/* acls */
+
+"Access rights to" = "صلاحية الدخول الى";
+"For user" = "للمستخدم";
+
+"Any Authenticated User" = "أي مستخدم مسجل";
+"Public Access" = "وصول عام";
+
+"label_Public" = "عام";
+"label_Private" = "خاص";
+"label_Confidential" = "سري";
+
+"label_Viewer" = "عرض الكل";
+"label_DAndTViewer" = "عرض التاريخ والوقت";
+"label_Modifier" = "تعديل";
+"label_Responder" = "الاستجابة الى";
+"label_None" = "لا شئ";
+
+"View All" = "عرض الكل";
+"View the Date & Time" = "عرض التاريخ والوقت";
+"Modify" = "تعديل";
+"Respond To" = "الاستجابة الى";
+"None" = "لا شئ";
+
+"This person can create objects in my calendar."
+= "يمكن لهذا الشخص إنشاء الكائنات في تقويمي.";
+"This person can erase objects from my calendar."
+= "يمكن لهذا الشخص مسح الكائنات في تقويمي.";
+
+/* Button Titles */
+
+"Subscribe to a Calendar..." = "اشترك في تقويم";
+"Remove the selected Calendar" = "مسح التقويم المحدد";
+
+"Name of the Calendar" = "اسم التقويم";
+
+"new" = "جديد";
+"printview" = "معاينة قبل الطباعة";
+"edit" = "تعديل";
+"delete" = "مسح";
+"proposal" = "اقتراح";
+"Save and Close" = "حفظ وإغلاق";
+"Close" = "إغلاق";
+"Invite Attendees" = "دعوة لمشاركين";
+"Attach" = "إرفاق";
+"Update" = "تحديث";
+"Cancel" = "إلغاء";
+"show_rejected_apts" = "إظهار المواعيد المرفوضة";
+"hide_rejected_apts" = "إخفاء المواعيد المرفوضة";
+
+
+/* Schedule */
+
+"Schedule" = "جدول";
+"No appointments found" = "لا يوجد مواعيد";
+"Meetings proposed by you" = "الاجتماعات التي اقترحتها";
+"Meetings proposed to you" = "الاجتماعات التي اقترحت لك";
+"sched_startDateFormat" = "%d/%m %H:%M";
+"action" = "تصرف";
+"accept" = "قبول";
+"decline" = "رفض";
+"more attendees" = "مزيد من الحضور";
+"Hide already accepted and rejected appointments" = "إخفاء المواعيد المقبولة والمرفوضة";
+"Show already accepted and rejected appointments" = "إظهار المواعيد المقبولة والمرفوضة";
+
+
+/* Appointments */
+
+"Appointment viewer" = "عارض المواعيد";
+"Appointment editor" = "محرر المواعيد";
+"Appointment proposal" = "اقتراح المواعيد";
+"Appointment on" = "تشغيل المواعيد";
+"Start:" = "البدء:";
+"End:" = "النهاية:";
+"Due Date:" = "تاريخ الاستحقاق:";
+"Title:" = "العنوان:";
+"Calendar:" = "الحالة:";
+"Name" = "الاسم";
+"Email" = "البريد الإلكتروني";
+"Status:" = "الحالة:";
+"% complete" = "اكتمل %c";
+"Location:" = "المكان:";
+"Priority:" = "الأولوية:";
+"Privacy" = "الخصوصية";
+"Cycle" = "الدورة";
+"Cycle End" = "نهاية الدورة";
+"Categories" = "التصنيفات";
+"Classification" = "التصنيف";
+"Duration" = "المدة";
+"Attendees:" = "الحضور:";
+"Resources" = "الموارد";
+"Organizer:" = "المنظم:";
+"Description:" = "الوصف:";
+"Document:" = "المستند:";
+"Category:" = "التصنيف:";
+"Repeat:" = "التكرار:";
+"Reminder:" = "التنبيه:";
+"General:" = "العام:";
+"Reply:" = "الرد:";
+
+"Target:" = "الهدف:";
+
+"attributes" = "صفات";
+"attendees" = "حضور";
+"delegated from" = "مفوض من";
+
+/* checkbox title */
+"is private" = "خاص؟";
+/* classification */
+"Public" = "عام";
+"Private" = "خاص";
+/* text used in overviews and tooltips */
+"empty title" = "عنوان فارغ";
+"private appointment" = "موعد خاص";
+
+"Change..." = "غيِّر ...";
+
+/* Appointments (participation state) */
+
+"partStat_NEEDS-ACTION" = "سأؤكد الأمر لاحقًا";
+"partStat_ACCEPTED" = "سأحضُر";
+"partStat_DECLINED" = "لن أحضُر";
+"partStat_TENTATIVE" = "قد أحضُر";
+"partStat_DELEGATED" = "أفوِّض";
+"partStat_OTHER" = "أخرى";
+
+/* Appointments (error messages) */
+
+"Conflicts found!" = "هنالك تعارضات!";
+"Invalid iCal data!" = "بيانات iCal غير صالح!";
+"Could not create iCal data!" = "عاجِز عن إنشاء بيانات iCal!";
+
+/* Searching */
+
+"view_all" = "الكل";
+"view_today" = "اليوم";
+"view_next7" = "السبعة أيام القادمة";
+"view_next14" = "الأربعة عشر يومًا القادمة";
+"view_next31" = "الواحد وثلاثون يومًا القادمة";
+"view_thismonth" = "هذا الشهر";
+"view_future" = "جميع الأحداث المستقبلية";
+"view_selectedday" = "اليوم المحدد";
+
+"View:" = "العرض:";
+"Title or Description" = "العنوان أو الوصف";
+
+"Search" = "ابحث";
+"Search attendees" = "ابحث عن الحضور";
+"Search resources" = "ابحث عن الموارد";
+"Search appointments" = "ابحث عن المواعيد";
+
+"All day Event" = "حدث طوال اليوم";
+"check for conflicts" = "افحص التعارضات";
+
+"Browse URL" = "تصفح عنوان الويب";
+
+"newAttendee" = "أضِف أحد الحضور";
+
+/* calendar modes */
+
+"Overview" = "رؤية عامة";
+"Chart" = "المخطط";
+"List" = "القائمة";
+"Columns" = "الأعمدة";
+
+/* Priorities */
+
+"prio_0" = "غير محدد";
+"prio_1" = "مرتفعة";
+"prio_2" = "مرتفعة";
+"prio_3" = "مرتفعة";
+"prio_4" = "مرتفعة";
+"prio_5" = "عادية";
+"prio_6" = "منخفضة";
+"prio_7" = "منخفضة";
+"prio_8" = "منخفضة";
+"prio_9" = "منخفضة";
+
+/* access classes (privacy) */
+"PUBLIC_vevent" = "حدث عام";
+"CONFIDENTIAL_vevent" = "حدث سري";
+"PRIVATE_vevent" = "حدث خاص";
+"PUBLIC_vtodo" = "مهمة عامة";
+"CONFIDENTIAL_vtodo" = "مهمة سرية";
+"PRIVATE_vtodo" = "مهمة خاصة";
+
+/* status type */
+"status_" = "غير محدد";
+"status_NOT-SPECIFIED" = "غير محدد";
+"status_TENTATIVE" = "مؤقت";
+"status_CONFIRMED" = "مؤكد";
+"status_CANCELLED" = "مُلغَى";
+"status_NEEDS-ACTION" = "يحتاجُ إجراءًا";
+"status_IN-PROCESS" = "يتم العمل فيه";
+"status_COMPLETED" = "اكتمل في";
+
+/* Cycles */
+
+"cycle_once" = "دورة واحدة";
+"cycle_daily" = "دورة يومية";
+"cycle_weekly" = "دورة أسبوعية";
+"cycle_2weeks" = "دورة كل أسبوعين";
+"cycle_4weeks" = "دورة كل 4 أسابيع";
+"cycle_monthly" = "دورة شهريّة";
+"cycle_weekday" = "دورة يومًا كل أسبوع";
+"cycle_yearly" = "دورة سنوية";
+
+"cycle_end_never" = "دورة لا تنتهي";
+"cycle_end_until" = "دورة تنتهي في";
+
+"Recurrence pattern" = "نمط التكرار";
+"Range of recurrence" = "نطاق التكرار";
+
+"Repeat" = "التكرار";
+"Daily" = "يوميًا";
+"Weekly" = "أسبوعيًا";
+"Monthly" = "شهريًّا";
+"Yearly" = "سنويًّا";
+"Every" = "كل";
+"Days" = "أيام";
+"Week(s)" = "أسبوع (أسابيع)";
+"On" = "فعِّل";
+"Month(s)" = "شهر (شهور)";
+"The" = "الـ";
+"Recur on day(s)" = "يتكرر في يوم/أيام";
+"Year(s)" = "عام (أعوام)";
+"cycle_of" = "من";
+"No end date" = "لا يوجد تاريخ نهائي";
+"Create" = "أنشئ";
+"appointment(s)" = "موعد/مواعيد";
+"Repeat until" = "تكرار حتى";
+
+"First" = "الأول";
+"Second" = "الثاني";
+"Third" = "الثالث";
+"Fourth" = "الرابع";
+"Fift" = "الخامس";
+"Last" = "الأخير";
+
+/* Appointment categories */
+
+"category_none" = "بلا";
+"category_labels" = "السنوية,يوم الميلاد,الأعمال,المكالمات,العملاء,المنافسة,العميل,المفضلات,المتابعة,الهدايا,العطلات،الأفكار,الاجتماع,المشاكل,منوعات,شخصي,المشاريع,العطلة العامة,الحالة,الموردون,السفر,الأجازة";
+
+"repeat_NEVER" = "لا تكرِّر";
+"repeat_DAILY" = "يوميًا";
+"repeat_WEEKLY" = "أسبوعيًّا";
+"repeat_BI-WEEKLY" = "كل أسبوعين";
+"repeat_EVERY WEEKDAY" = "يوم كل أسبوع";
+"repeat_MONTHLY" = "شهريًّا";
+"repeat_YEARLY" = "سنويًّا";
+"repeat_CUSTOM" = "مخصص...";
+
+"reminder_NONE" = "لا تنبيه";
+"reminder_5_MINUTES_BEFORE" = "5 دقائق قبل";
+"reminder_10_MINUTES_BEFORE" = "10 دقائق قبل";
+"reminder_15_MINUTES_BEFORE" = "15 دقيقة قبل";
+"reminder_30_MINUTES_BEFORE" = "30 دقيقة قبل";
+"reminder_45_MINUTES_BEFORE" = "45 دقيقة قبل";
+"reminder_1_HOUR_BEFORE" = "1 ساعة قبل";
+"reminder_2_HOURS_BEFORE" = "2 ساعتان قبل";
+"reminder_5_HOURS_BEFORE" = "5 ساعات قبل";
+"reminder_15_HOURS_BEFORE" = "15 ساعة قبل";
+"reminder_1_DAY_BEFORE" = "1 يوم قبل";
+"reminder_2_DAYS_BEFORE" = "2 يومان قبل";
+"reminder_1_WEEK_BEFORE" = "1 أسبوع قبل";
+"reminder_CUSTOM" = "مخصص...";
+
+"reminder_MINUTES" = "دقائق";
+"reminder_HOURS" = "ساعات";
+"reminder_DAYS" = "أيام";
+"reminder_BEFORE" = "قبل";
+"reminder_AFTER" = "بعد";
+"reminder_START" = "يبدأ الحدث";
+"reminder_END" = "ينتهي الحدث";
+"Reminder Details" = "تفاصيل التنبيه";
+
+"Choose a Reminder Action" = "اختر إجراءًا للتنبيه";
+"Show an Alert" = "اعرض تنبيهًا";
+"Send an E-mail" = "أرسِل رسالة إلكترونية";
+"Email Organizer" = "منظم البريد الإلكتروني";
+"Email Attendees" = "البريد الإلكتروني للحضور";
+
+"zoom_400" = "400%";
+"zoom_200" = "200%";
+"zoom_100" = "100%";
+"zoom_50" = "50%";
+"zoom_25" = "25%";
+
+/* transparency */
+
+"Show Time as Free" = "اعرض الوقت كمتفرغ";
+
+/* validation errors */
+
+validate_notitle = "لم يضبط العنوان، استمرار؟";
+validate_invalid_startdate = "حقل تاريخ البدء غير صالح";
+validate_invalid_enddate = "حقل تاريخ الانتهاء غير صالح";
+validate_endbeforestart = "تاريخ الانتهاء الذي أدخلته يحدث قبل تاريخ البدء.";
+
+"Events" = "الأحداث";
+"Tasks" = "المهام";
+"Show completed tasks" = "اعرض المهام المكتملة";
+
+/* tabs */
+"Task" = "المهمة";
+"Event" = "الحدث";
+"Recurrence" = "التكرار";
+
+/* toolbar */
+"New Event" = "حدث جديد";
+"New Task" = "مهمة جديدة";
+"Edit" = "حرر";
+"Delete" = "احذف";
+"Go to Today" = "اذهب الي اليوم";
+"Day View" = "عرض اليوم";
+"Week View" = "عرض الاسبوع";
+"Month View" = "عرض الشهر";
+"Reload" = "تحديث";
+
+"eventPartStatModificationError" = "حالة المشاركة الخاصة بك لا يمكن تعديلها.";
+
+/* menu */
+"New Event..." = "حدث جديد...";
+"New Task..." = "مهمة جديدة...";
+"Edit Selected Event..." = "حرر الحدث المحدد...";
+"Delete Selected Event" = "احذف الحدث المحدد";
+"Select All" = "اختر الكل";
+"Workweek days only" = "ايام العمل الأسبوعية فقط";
+"Tasks in View" = "المهمات في العرض";
+
+"eventDeleteConfirmation" = "الحدث (الأحداث) الآتية ستُمحى: \n%{0}\nهل تريد المتابعة؟";
+"taskDeleteConfirmation" = "المهمة (المهام) التالية ستمحى: \n %{0}\n هل تريد المتابعة؟";
+
+"You cannot remove nor unsubscribe from your personal calendar."
+= "لا يمكنك حذف أو إلغاء اشتراكك من تقويمك الشخصي.";
+"Are you sure you want to delete the calendar \"%{0}\"?"
+= "هل انت متأكد من حذف التقويم \"%{0}\"؟";
+
+/* Legend */
+"Participant" = "المشارك";
+"Optional Participant" = "المشارك الاختياري";
+"Non Participant" = "غير مشارك";
+"Chair" = "مقعد";
+
+"Needs action" = "بحاجة إلى إجراء";
+"Accepted" = "مقبول";
+"Declined" = "مرفوض";
+"Tentative" = "مؤقت";
+
+"Free" = "متاح";
+"Busy" = "مشغول";
+"Maybe busy" = "ربما يكون مشغولًا";
+"No free-busy information" = "لا معلومات عن حالة التوفر-الانشغال";
+
+/* FreeBusy panel buttons and labels */
+"Suggest time slot:" = "اقترح فترة زمنية: ";
+"Zoom:" = "تقريب:";
+"Previous slot" = "الفترة السابقة";
+"Next slot" = "الفترة التالية";
+"Previous hour" = "الساعة الماضية";
+"Next hour" = "الساعة التالية";
+"Work days only" = "أيام العمل فقط";
+"The whole day" = "اليوم المكتمل";
+"Between" = "بين";
+"and" = "و";
+
+"A time conflict exists with one or more attendees.\nWould you like to keep the current settings anyway?"
+= "هنالك تعارض في الوقت مع أحد الحضور. \nهل تريد الابقاء على الإعدادات الحالية رغم ذلك؟";
+
+/* apt list */
+"Title" = "العنوان";
+"Start" = "البداية";
+"End" = "النهاية";
+"Due Date" = "تاريخ الاستحقاق";
+"Location" = "المكان";
+
+"(Private Event)" = "(الحدث الخاص)";
+
+vevent_class0 = "(الحدث العام)";
+vevent_class1 = "(حدث خاص)";
+vevent_class2 = "(حدث سري)";
+
+"Priority" = "الأولوية";
+"Category" = "التصنيفات";
+
+vtodo_class0 = "(مهمة عامة)";
+vtodo_class1 = "(مهمة خاصة)";
+vtodo_class2 = "(مهمة سرية)";
+
+"closeThisWindowMessage" = "شكرًا لك! يمكنك إغلاق هذه النافذة أو عرض الخاص بك";
+"Multicolumn Day View" = "عرض اليوم متعدد الأعمدة";
+
+"Please select an event or a task." = "من فضلك اختر حدثًا أو مهمة.";
+
+"editRepeatingItem" = "العنصر الذي تُحرره هو عنصر متكرر. هل تريد تحرير جميع التكرارات أم هذا الحدث الواحد فقط؟";
+"button_thisOccurrenceOnly" = "هذا الحدث فقط";
+"button_allOccurrences" = "كل التكرارات";
+
+/* Properties dialog */
+"Name:" = "الاسم:";
+"Color:" = "اللون:";
+
+"Include in free-busy" = "ضمن حالة التوفر-الانشغال";
+
+"Synchronization" = "المزامنة";
+"Synchronize" = "زامن";
+"Tag:" = "علامة:";
+
+"Display" = "عرض";
+"Show alarms" = "إظهار الانذارات";
+"Show tasks" = "عرض المهام";
+
+"Notifications" = "الإشعارات";
+"Receive a mail when I modify my calendar" = "تلقي البريد عندما أقوم بتعديل التقويم الخاص بي";
+"Receive a mail when someone else modifies my calendar" = "تلقي البريد عندما يقوم شخص آخر بتعديل التقويم الخاص بي";
+"When I modify my calendar, send a mail to:" = "عندما أقوم بتعديل التقويم الخاص بي، أرسل رسالة بريد إلكتروني إلى:";
+
+"Links to this Calendar" = "روابط لهذا التقويم";
+"Authenticated User Access" = "مصادقة وصول المستخدم";
+"CalDAV URL" = "CalDAV URL";
+"WebDAV ICS URL" = "WebDAV ICS URL";
+"WebDAV XML URL" = "WebDAV XML URL";
+
+/* Error messages */
+"dayFieldInvalid" = "يرجى تحديد قيمة رقمية في حقل الأيام أكبر من أو يساوي 1.";
+"weekFieldInvalid" = "يرجى تحديد قيمة رقمية في حقل الأسبوع (الأسابيع) أكبر من أو يساوي 1.";
+"monthFieldInvalid" = "يرجى تحديد قيمة رقمية في حقل الشهر (الشهور) أكبر من أو يساوي 1.";
+"monthDayFieldInvalid" = "يرجى تحديد قيمة رقمية في حقل أيام الشهر أكبر من أو يساوي 1.";
+"yearFieldInvalid" = "يرجى تحديد قيمة رقمية في حقل السنة (السنوات) أكبر من أو يساوي 1.";
+"appointmentFieldInvalid" = "يرجى تحديد قيمة رقمية في مجال موعد (مواعيد) أكبر من أو يساوي 1.";
+"recurrenceUnsupported" = "هذا النوع من التكرار غير معتمد.";
+"Please specify a calendar name." = "الرجاء تحديد اسم التقويم.";
+"tagNotDefined" = "يجب تحديد علامة إذا كنت تريد أن تزامن هذا التقويم.";
+"tagAlreadyExists" = "العلامة التى حددتها يرتبط بالفعل بتقويم آخر.";
+"tagHasChanged" = "إذا غيرت وسم تقويمك، ستحتاج إلى تحديث البيانات على هاتفك المحمول.\nهل تريد المتابعة؟";
+"tagWasAdded" = "إذا أردت مزامنة هذا التقويم، ستحتاج إلى تحديث البيانات على جهازك المحمول. \nهل تريد المتابعة؟";
+"tagWasRemoved" = "إذا حذفت التقويم من المزامنة، ستحتاج إلى تحديث البيانات على هاتفك المحمول.\nهل تريد المتابعة؟";
+"DestinationCalendarError" = "التقويم المصدر والتقويم الهدف متطابقان. من فضلك حاول النسخ إلى تقويم مختلف.";
+"EventCopyError" = "فشل النسخ. من فضلك حاول النسخ من تقويم مختلف.";
+
+"Open Task..." = "افتح مهمة...";
+"Mark Completed" = "علم كمكتمل";
+"Delete Task" = "احذف المهمة";
+"Delete Event" = "احذف الحدث";
+"Copy event to my calendar" = "انسخ إلى تقويمي";
+"View Raw Source" = "عرض المصدر الخام";
+
+"Subscribe to a web calendar..." = "اشترك في تقويم شابكة...";
+"URL of the Calendar" = "عنوان موقع التقويم";
+"Web Calendar" = "تقويم الشابكة";
+"Reload on login" = "حدث عند تسجيل الدخول";
+"Invalid number." = "عدد غير صحيح.";
+"Please identify yourself to %{0}" = "من فضلك عرف نفسك لـ %{0}";
diff --git a/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings b/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings
index 70e8115cd..4570f0b29 100644
--- a/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings
+++ b/UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Tarefa Confidencial)";
"Web Calendar" = "Calendário Web";
"Reload on login" = "Recarregar no login";
"Invalid number." = "Número inválido.";
+"Please identify yourself to %{0}" = "Por favor, identifique-se para %{0}";
diff --git a/UI/Scheduler/Czech.lproj/Localizable.strings b/UI/Scheduler/Czech.lproj/Localizable.strings
index d931c361b..4a0d83b91 100644
--- a/UI/Scheduler/Czech.lproj/Localizable.strings
+++ b/UI/Scheduler/Czech.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Důvěrný úkol)";
"Web Calendar" = "Vzdálený kalendář na webu";
"Reload on login" = "Aktualizovat při přihlášení";
"Invalid number." = "Invalid number.";
+"Please identify yourself to %{0}" = "Identifikujte se na %{0}";
diff --git a/UI/Scheduler/Danish.lproj/Localizable.strings b/UI/Scheduler/Danish.lproj/Localizable.strings
index db08c2085..6a70c7038 100644
--- a/UI/Scheduler/Danish.lproj/Localizable.strings
+++ b/UI/Scheduler/Danish.lproj/Localizable.strings
@@ -60,6 +60,7 @@
"Import Events" = "Importér begivenheder";
"Select an iCalendar file (.ics)." = "Vælg en iCalendar-fil (.ics).";
"Upload" = "Indlæs";
+"Uploading" = "Uploader";
"Publish Calendar..." = "Publicér kalender ...";
"Reload Remote Calendars" = "Opdatér kalendere";
"Properties" = "Egenskaber";
@@ -81,7 +82,8 @@
/* acls */
-"User rights for:" = "Brugerrettigheder:";
+"Access rights to" = "Adgangsrettigheder til";
+"For user" = "For bruger";
"Any Authenticated User" = "Enhver godkendt bruger";
"Public Access" = "Offentlig adgang";
@@ -109,7 +111,6 @@
/* Button Titles */
-"New Calendar..." = "Ny kalender ...";
"Subscribe to a Calendar..." = "Abonnér på en kalender ...";
"Remove the selected Calendar" = "Fjern den valgte kalender";
@@ -290,7 +291,7 @@
"cycle_end_until" = "cycle_end_until";
"Recurrence pattern" = "Gentagelsesmønster";
-"Range of recurrence" = "gentagelsesinterval";
+"Range of recurrence" = "Gentagelsesinterval";
"Repeat" = "Gentag";
"Daily" = "Dagligt";
@@ -379,6 +380,7 @@ validate_invalid_startdate = "Forkert startdato!";
validate_invalid_enddate = "Forkert slutdato!";
validate_endbeforestart = "Indtastet slutdato ligger før startdato.";
+"Events" = "Opgaver";
"Tasks" = "Opgaver";
"Show completed tasks" = "Vis udførte opgaver";
@@ -409,12 +411,8 @@ validate_endbeforestart = "Indtastet slutdato ligger før startdato.";
"Workweek days only" = "Arbejdsuge dage kun";
"Tasks in View" = "Opgaver i visning";
-"eventDeleteConfirmation" = "Følgende begivenhed er/bliver slettet:
-%{0}
-Fortsæt?";
-"taskDeleteConfirmation" = "Følgende opgave(r) bliver slettet:
-%{0}
-Fortsæt?";
+"eventDeleteConfirmation" = "Følgende begivenhed er/bliver slettet: \n%{0}\nFortsæt?";
+"taskDeleteConfirmation" = "Følgende opgave(r) bliver slettet: \n%{0}\nFortsæt?";
"You cannot remove nor unsubscribe from your personal calendar."
= "Du kan ikke fjerne eller afmelde din personlige kalender.";
@@ -450,8 +448,7 @@ Fortsæt?";
"and" = "og";
"A time conflict exists with one or more attendees.\nWould you like to keep the current settings anyway?"
-= "En tidskonflikt med en eller flere deltagere.
-Behold de aktuelle indstillinger alligevel?";
+= "En tidskonflikt med en eller flere deltagere. \nBehold de aktuelle indstillinger alligevel?";
/* apt list */
"Title" = "Titel";
@@ -459,12 +456,16 @@ Behold de aktuelle indstillinger alligevel?";
"End" = "Slut";
"Due Date" = "Forfaldsdato";
"Location" = "Sted";
+
"(Private Event)" = "(Privat begivenhed)";
vevent_class0 = "(Offentlig begivenhed)";
vevent_class1 = "(Privat begivenhed)";
vevent_class2 = "(Hemmelig begivenhed)";
+"Priority" = "Prioritet";
+"Category" = "Kategori";
+
vtodo_class0 = "(Offentlig opgave)";
vtodo_class1 = "(Privat opgave)";
vtodo_class2 = "(Hemmelig opgave)";
@@ -492,6 +493,11 @@ vtodo_class2 = "(Hemmelig opgave)";
"Show alarms" = "Vis alarmer";
"Show tasks" = "Vis opgaver";
+"Notifications" = "Notifikationer";
+"Receive a mail when I modify my calendar" = "Modtag en mail, når jeg ændrer min kalender";
+"Receive a mail when someone else modifies my calendar" = "Modtag en mail, når andre ændrer min kalender";
+"When I modify my calendar, send a mail to:" = "Når jeg ændrer min kalender, så send en mail til:";
+
"Links to this Calendar" = "Links til denne kalender";
"Authenticated User Access" = "Godkendt brugeradgang";
"CalDAV URL" = "CalDAV URL";
@@ -509,12 +515,9 @@ vtodo_class2 = "(Hemmelig opgave)";
"Please specify a calendar name." = "Angiv venligst et kalender navn.";
"tagNotDefined" = "Du skal angive et mærkat, hvis du ønsker at synkronisere denne kalender.";
"tagAlreadyExists" = "Mærkatet du har angivet er allerede knyttet til en anden kalender.";
-"tagHasChanged" = "Hvis du ændrer din kalenders mærkat, skal du genindlæse data på din mobile enhed.
-Fortsæt?";
-"tagWasAdded" = "Hvis du ønsker at synkronisere denne kalender, skal du genindlæse data på din mobile enhed.
-Fortsæt?";
-"tagWasRemoved" = "Hvis du fjerner denne kalender fra synkronisering, skal du genindlæse data på din mobile enhed.
-Fortsæt?";
+"tagHasChanged" = "Hvis du ændrer din kalenders mærkat, skal du genindlæse data på din mobile enhed.\nFortsæt?";
+"tagWasAdded" = "Hvis du ønsker at synkronisere denne kalender, skal du genindlæse data på din mobile enhed.\nFortsæt?";
+"tagWasRemoved" = "Hvis du fjerner denne kalender fra synkronisering, skal du genindlæse data på din mobile enhed.\nFortsæt?";
"DestinationCalendarError" = "Kilde og destination kalendere er de samme. Prøv at kopiere til en anden kalender.";
"EventCopyError" = "Kopieringen mislykkedes. Prøv at kopiér til en anden kalender.";
@@ -523,12 +526,11 @@ Fortsæt?";
"Delete Task" = "Slet opgave";
"Delete Event" = "Slet begivenhed";
"Copy event to my calendar" = "Kopiér begivenhed til min kalender";
+"View Raw Source" = "Vis kilde";
"Subscribe to a web calendar..." = "Abonnér på en online kalender ...";
"URL of the Calendar" = "Kalenderens URL";
"Web Calendar" = "Online kalender";
"Reload on login" = "Genindlæs ved login";
"Invalid number." = "Ugyldigt nummer.";
-
-"Category" = "Kategori";
-"Priority" = "Prioritet";
+"Please identify yourself to %{0}" = "Identificer dig selv til %{0}";
diff --git a/UI/Scheduler/Dutch.lproj/Localizable.strings b/UI/Scheduler/Dutch.lproj/Localizable.strings
index 04d2f20fe..bfdaff361 100644
--- a/UI/Scheduler/Dutch.lproj/Localizable.strings
+++ b/UI/Scheduler/Dutch.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Vertrouwelijke taak)";
"Web Calendar" = "Web Agenda";
"Reload on login" = "Herladen bij inloggen";
"Invalid number." = "Ongeldig nummer.";
+"Please identify yourself to %{0}" = "Identificeer u alstublieft tegenover %{0}";
diff --git a/UI/Scheduler/English.lproj/Localizable.strings b/UI/Scheduler/English.lproj/Localizable.strings
index 6fe90daf0..7f6188e55 100644
--- a/UI/Scheduler/English.lproj/Localizable.strings
+++ b/UI/Scheduler/English.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Confidential task)";
"Web Calendar" = "Web Calendar";
"Reload on login" = "Reload on login";
"Invalid number." = "Invalid number.";
+"Please identify yourself to %{0}" = "Please identify yourself to %{0}";
diff --git a/UI/Scheduler/Finnish.lproj/Localizable.strings b/UI/Scheduler/Finnish.lproj/Localizable.strings
index c71440258..41c47154f 100644
--- a/UI/Scheduler/Finnish.lproj/Localizable.strings
+++ b/UI/Scheduler/Finnish.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Luottamuksellinen tehtävä)";
"Web Calendar" = "Web kalenteri";
"Reload on login" = "Päivitä kirjauduttaessa";
"Invalid number." = "Virheellinen numero.";
+"Please identify yourself to %{0}" = "Ole hyvä ja tunnistaudu kohteeseen %{0}";
diff --git a/UI/Scheduler/French.lproj/Localizable.strings b/UI/Scheduler/French.lproj/Localizable.strings
index f6fcbe825..6414e1f80 100644
--- a/UI/Scheduler/French.lproj/Localizable.strings
+++ b/UI/Scheduler/French.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Tâche confidentielle)";
"Web Calendar" = "Calendrier web";
"Reload on login" = "Rafraîchir à la connexion";
"Invalid number." = "Nombre invalide.";
+"Please identify yourself to %{0}" = "Veuillez vous authentifier à %{0}";
diff --git a/UI/Scheduler/GNUmakefile b/UI/Scheduler/GNUmakefile
index 6d58c48bd..2ade17522 100644
--- a/UI/Scheduler/GNUmakefile
+++ b/UI/Scheduler/GNUmakefile
@@ -6,7 +6,7 @@ BUNDLE_NAME = SchedulerUI
SchedulerUI_PRINCIPAL_CLASS = SchedulerUIProduct
-SchedulerUI_LANGUAGES = BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
+SchedulerUI_LANGUAGES = Arabic BrazilianPortuguese Catalan Czech Danish Dutch English Finnish French German Hungarian Icelandic Italian NorwegianBokmal NorwegianNynorsk Polish Russian Slovak SpanishSpain SpanishArgentina Swedish Ukrainian Welsh
SchedulerUI_OBJC_FILES = \
SchedulerUIProduct.m \
diff --git a/UI/Scheduler/German.lproj/Localizable.strings b/UI/Scheduler/German.lproj/Localizable.strings
index 5398716d2..4db805264 100644
--- a/UI/Scheduler/German.lproj/Localizable.strings
+++ b/UI/Scheduler/German.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Vertrauliche Aufgabe)";
"Web Calendar" = "Webkalender";
"Reload on login" = "Neu laden beim Anmelden";
"Invalid number." = "Ungültige Nummer.";
+"Please identify yourself to %{0}" = "Bitte identifizieren Sie sich gegenüber %{0}";
diff --git a/UI/Scheduler/Hungarian.lproj/Localizable.strings b/UI/Scheduler/Hungarian.lproj/Localizable.strings
index 0aaf22a76..ac80ad6b5 100644
--- a/UI/Scheduler/Hungarian.lproj/Localizable.strings
+++ b/UI/Scheduler/Hungarian.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Bizalmas feladat)";
"Web Calendar" = "Internetes naptár";
"Reload on login" = "Frissítés bejelentkezéskor";
"Invalid number." = "Érvénytelen szám";
+"Please identify yourself to %{0}" = "A %{0} kérésére adja meg azonosító adatait";
diff --git a/UI/Scheduler/Polish.lproj/Localizable.strings b/UI/Scheduler/Polish.lproj/Localizable.strings
index e1af7dc11..3ebae4b95 100644
--- a/UI/Scheduler/Polish.lproj/Localizable.strings
+++ b/UI/Scheduler/Polish.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Zadanie poufne)";
"Web Calendar" = "Kalendarz sieciowy";
"Reload on login" = "Przeładuj przy logowaniu";
"Invalid number." = "Błędna liczba.";
+"Please identify yourself to %{0}" = "Zaloguj się w %{0}";
diff --git a/UI/Scheduler/Russian.lproj/Localizable.strings b/UI/Scheduler/Russian.lproj/Localizable.strings
index fb59cd83f..a3375a778 100644
--- a/UI/Scheduler/Russian.lproj/Localizable.strings
+++ b/UI/Scheduler/Russian.lproj/Localizable.strings
@@ -380,6 +380,7 @@ validate_invalid_startdate = "Неверное дата начала!";
validate_invalid_enddate = "Неверная дата конца!";
validate_endbeforestart = "Дата начала позже даты конца";
+"Events" = "События";
"Tasks" = "Задачи";
"Show completed tasks" = "Показать выполненные задачи";
@@ -455,12 +456,16 @@ validate_endbeforestart = "Дата начала позже даты конц
"End" = "Конец";
"Due Date" = "К дате";
"Location" = "Место";
+
"(Private Event)" = "(Приватное событие)";
vevent_class0 = "(Публичное событие)";
vevent_class1 = "(Приватное событие)";
vevent_class2 = "(Конфиденциальное событие)";
+"Priority" = "Важность";
+"Category" = "Категория";
+
vtodo_class0 = "(Публичное задание)";
vtodo_class1 = "(Приватное задание)";
vtodo_class2 = "(Конфиденциальное задание)";
@@ -488,6 +493,7 @@ vtodo_class2 = "(Конфиденциальное задание)";
"Show alarms" = "Показать сигналы";
"Show tasks" = "Показать задания";
+"Notifications" = "Напоминания";
"Receive a mail when I modify my calendar" = "Получать письмо в случае если я изменю свой календарь";
"Receive a mail when someone else modifies my calendar" = "Получать письмо если кто-то изменит мой календарь";
"When I modify my calendar, send a mail to:" = "Если я изменю свой календарь, отправить письмо на адрес: ";
@@ -527,6 +533,4 @@ vtodo_class2 = "(Конфиденциальное задание)";
"Web Calendar" = "Web Calendar";
"Reload on login" = "Перезагружать при входе";
"Invalid number." = "Число неверно.";
-
-"Category" = "Категория";
-"Priority" = "Приоритет";
+"Please identify yourself to %{0}" = "Пожалуйста, представьте себя %{0}";
diff --git a/UI/Scheduler/Slovak.lproj/Localizable.strings b/UI/Scheduler/Slovak.lproj/Localizable.strings
index a4d3501ec..e69e9b461 100644
--- a/UI/Scheduler/Slovak.lproj/Localizable.strings
+++ b/UI/Scheduler/Slovak.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Dôverná úloha)";
"Web Calendar" = "Vzdialený kalendár na webe";
"Reload on login" = "Aktualizovať pri prihlásení";
"Invalid number." = "Neplatné číslo.";
+"Please identify yourself to %{0}" = "Identifikujte sa na %{0}";
diff --git a/UI/Scheduler/SpanishArgentina.lproj/Localizable.strings b/UI/Scheduler/SpanishArgentina.lproj/Localizable.strings
index 776c71ae6..8cd2657c9 100644
--- a/UI/Scheduler/SpanishArgentina.lproj/Localizable.strings
+++ b/UI/Scheduler/SpanishArgentina.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Tarea confidencial)";
"Web Calendar" = "Calendario Web";
"Reload on login" = "Recargar al reconectar";
"Invalid number." = "Número invalido.";
+"Please identify yourself to %{0}" = "Por favor autentíquese en %{0}";
diff --git a/UI/Scheduler/SpanishSpain.lproj/Localizable.strings b/UI/Scheduler/SpanishSpain.lproj/Localizable.strings
index aa16c2d5f..a04ec37ee 100644
--- a/UI/Scheduler/SpanishSpain.lproj/Localizable.strings
+++ b/UI/Scheduler/SpanishSpain.lproj/Localizable.strings
@@ -533,3 +533,4 @@ vtodo_class2 = "(Tarea confidencial)";
"Web Calendar" = "Calendario Web";
"Reload on login" = "Recargar al reconectar";
"Invalid number." = "número invalido.";
+"Please identify yourself to %{0}" = "Por favor, identificase con %{0}";
diff --git a/UI/Templates/MailerUI/UIxMailMainFrame.wox b/UI/Templates/MailerUI/UIxMailMainFrame.wox
index c0438bb64..858156769 100644
--- a/UI/Templates/MailerUI/UIxMailMainFrame.wox
+++ b/UI/Templates/MailerUI/UIxMailMainFrame.wox
@@ -54,7 +54,7 @@
-
+
@@ -70,7 +70,7 @@
-
+
@@ -87,7 +87,7 @@
-
+
diff --git a/UI/Templates/SOGoACLArabicAdditionAdvisory.wox b/UI/Templates/SOGoACLArabicAdditionAdvisory.wox
new file mode 100644
index 000000000..ba141ab71
--- /dev/null
+++ b/UI/Templates/SOGoACLArabicAdditionAdvisory.wox
@@ -0,0 +1,28 @@
+
+
+
+
+
+ أضافك
+
+
+
+ أضافك إلى قائمة الوصول لمجلد .
+
+
+
+
diff --git a/UI/Templates/SOGoACLArabicModificationAdvisory.wox b/UI/Templates/SOGoACLArabicModificationAdvisory.wox
new file mode 100644
index 000000000..0ad39888e
--- /dev/null
+++ b/UI/Templates/SOGoACLArabicModificationAdvisory.wox
@@ -0,0 +1,28 @@
+
+
+
+
+
+ عدل تصاريح الوصول
+
+
+
+ قام بتعديل تصاريح الوصول لمجلد folder.
+
+
+
+
diff --git a/UI/Templates/SOGoACLArabicRemovalAdvisory.wox b/UI/Templates/SOGoACLArabicRemovalAdvisory.wox
new file mode 100644
index 000000000..1439d5c47
--- /dev/null
+++ b/UI/Templates/SOGoACLArabicRemovalAdvisory.wox
@@ -0,0 +1,28 @@
+
+
+
+
+
+ ازالك
+
+
+
+ ازالك من قائمة الوصول لمجلد .
+
+
+
+
diff --git a/UI/Templates/SOGoFolderArabicAdditionAdvisory.wox b/UI/Templates/SOGoFolderArabicAdditionAdvisory.wox
new file mode 100644
index 000000000..24ef681a8
--- /dev/null
+++ b/UI/Templates/SOGoFolderArabicAdditionAdvisory.wox
@@ -0,0 +1,23 @@
+
+
+
+
+
+ اُُنشِئ بنجاح
+
+
+
+The اُُنشِئ المجلد بنجاح.
+
+
+
+
diff --git a/UI/Templates/SOGoFolderArabicRemovalAdvisory.wox b/UI/Templates/SOGoFolderArabicRemovalAdvisory.wox
new file mode 100644
index 000000000..af580ede3
--- /dev/null
+++ b/UI/Templates/SOGoFolderArabicRemovalAdvisory.wox
@@ -0,0 +1,23 @@
+
+
+
+
+
+ حذف بنجاح
+
+
+
+The حذف المجلد بنجاح.
+
+
+
+
diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js
index 3b0b381d0..99f646504 100644
--- a/UI/WebServerResources/MailerUI.js
+++ b/UI/WebServerResources/MailerUI.js
@@ -912,7 +912,7 @@ function refreshUnseenCounts() {
}
function getUnseenCountForFolder(mailbox) {
- var url = ApplicationBaseURL + encodeURI(mailbox) + '/unseenCount';
+ var url = URLForFolderID(mailbox) + '/unseenCount';
triggerAjaxRequest(url, unseenCountCallback, mailbox);
}
@@ -2353,17 +2353,37 @@ function onMenuRenameFolderConfirm() {
}
function onMenuDeleteFolder(event) {
- showConfirmDialog(_("Confirmation"),
- _("Do you really want to move this folder into the trash ?"),
- onMenuDeleteFolderConfirm);
-}
-
-function onMenuDeleteFolderConfirm() {
var folderID = document.menuTarget.getAttribute("dataname");
var urlstr = URLForFolderID(folderID) + "/delete";
var errorLabel = _("The folder could not be deleted.");
- triggerAjaxRequest(urlstr, folderOperationCallback, errorLabel);
- disposeDialog();
+ showConfirmDialog(_("Confirmation"),
+ _("Do you really want to move this folder into the trash ?"),
+ function(event) {
+ triggerAjaxRequest(urlstr, folderOperationCallback, errorLabel);
+ disposeDialog();
+ });
+}
+
+function onMenuMarkFolderRead(event) {
+ var folderID = document.menuTarget.getAttribute("dataname");
+ var urlstr = URLForFolderID(folderID) + "/markRead";
+
+ // Delete the associated data sources
+ deleteCachedMailbox(folderID);
+
+ if (folderID == Mailer.currentMailbox) {
+ // Reset the data source so the message headers are reloaded in the callback function
+ Mailer.dataTable.dataSource.destroy();
+ }
+ else {
+ // Reset the unseen count of the mailbox
+ var node = mailboxTree.getMailboxNode(folderID);
+ if (node) {
+ updateUnseenCount(node, 0, false);
+ }
+ }
+
+ triggerAjaxRequest(urlstr, folderRefreshCallback, { "mailbox": folderID, "refresh": true });
}
function onMenuExpungeFolder(event) {
@@ -2767,22 +2787,19 @@ function onMenuAccountDelegation(event) {
function getMenus() {
var menus = {
accountIconMenu: [ null, null, onMenuCreateFolder, null, null, onMenuAccountDelegation ],
- inboxIconMenu: [ null, null, null, "-", null,
+ inboxIconMenu: [ null, null, null, "-", onMenuMarkFolderRead,
onMenuCreateFolder, onMenuExpungeFolder,
onMenuArchiveFolder, "-", null,
onMenuSharing ],
- trashIconMenu: [ null, null, null, "-", null,
+ trashIconMenu: [ null, null, null, "-", onMenuMarkFolderRead,
onMenuCreateFolder, onMenuExpungeFolder,
onMenuArchiveFolder, onMenuEmptyTrash,
"-", null,
onMenuSharing ],
- mailboxIconMenu: [ null, null, null, "-", null,
- onMenuCreateFolder,
- onMenuRenameFolder,
- onMenuExpungeFolder,
- onMenuArchiveFolder,
- onMenuDeleteFolder,
- "folderTypeMenu",
+ mailboxIconMenu: [ null, null, null, "-", onMenuMarkFolderRead,
+ onMenuCreateFolder, onMenuRenameFolder,
+ onMenuExpungeFolder, onMenuArchiveFolder,
+ onMenuDeleteFolder, "folderTypeMenu",
"-", null,
onMenuSharing ],
addressMenu: [ newContactFromEmail, newEmailTo ],
diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js
index 97eb6da88..30bb7355f 100644
--- a/UI/WebServerResources/SchedulerUI.js
+++ b/UI/WebServerResources/SchedulerUI.js
@@ -1441,7 +1441,7 @@ function reauthenticateWebCalendar(folderID, refreshCBData) {
triggerAjaxRequest(url, authenticateWebCalendarCallback, refreshCBData, parameters,
{ "Content-type": "application/x-www-form-urlencoded" });
}
- showAuthenticationDialog(_("Please identify yourself to \"%{0}\"...")
+ showAuthenticationDialog(_("Please identify yourself to %{0}")
.formatted(hostname),
authenticate);
}
diff --git a/Version b/Version
index 0dc7bb82d..1217233bd 100644
--- a/Version
+++ b/Version
@@ -4,4 +4,4 @@
MAJOR_VERSION=2
MINOR_VERSION=0
-SUBMINOR_VERSION=4b
+SUBMINOR_VERSION=5
diff --git a/packaging/debian-multiarch/rules b/packaging/debian-multiarch/rules
index 120a7a3b7..688c6d399 100755
--- a/packaging/debian-multiarch/rules
+++ b/packaging/debian-multiarch/rules
@@ -41,8 +41,6 @@ clean:
make clean; \
fi
-rm -f OpenChange/MAPIStorePropertySelectors.*
- -find OpenChange -type d -name "unrtf-*" -exec rm -rf {} \;
- -rm -f OpenChange/unrtf*-stamp
-rm -f config.make
dh_clean
@@ -73,14 +71,13 @@ install-arch: build-arch
$(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends/SOGo.so; \
fi
- mkdir -p debian/tmp/etc/default
- cp Scripts/sogo-default debian/tmp/etc/default/sogo
- mkdir -p debian/tmp/usr/share/lintian/overrides
- cp debian/sogo.overrides debian/tmp/usr/share/lintian/overrides/sogo
- mkdir -p debian/tmp/etc/apache2/conf.d
- cp Apache/SOGo.conf debian/tmp/etc/apache2/conf.d/SOGo.conf
+ install -D Scripts/sogo-default debian/tmp/etc/default/sogo
+ install -D debian/sogo.overrides debian/tmp/usr/share/lintian/overrides/sogo
+ install -D Apache/SOGo.conf debian/tmp/etc/apache2/conf.d/SOGo.conf
install -D -m 644 Scripts/sogo.cron debian/tmp/etc/cron.d/sogo
install -D -m 644 Scripts/logrotate debian/tmp/etc/logrotate.d/sogo
+ install -d -m 750 debian/tmp/etc/sogo/
+ install -D -m 640 Scripts/sogo.conf debian/tmp/etc/sogo/sogo.conf
# Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch
diff --git a/packaging/debian-multiarch/sogo.docs b/packaging/debian-multiarch/sogo.docs
index ded20965f..781cb916d 100644
--- a/packaging/debian-multiarch/sogo.docs
+++ b/packaging/debian-multiarch/sogo.docs
@@ -3,3 +3,4 @@ TODO
Scripts/*.sh
Scripts/*.py
Scripts/updates.php
+Apache/SOGo-apple-ab.conf
diff --git a/packaging/debian-multiarch/sogo.install b/packaging/debian-multiarch/sogo.install
index 44d947d4f..5f22f31bc 100644
--- a/packaging/debian-multiarch/sogo.install
+++ b/packaging/debian-multiarch/sogo.install
@@ -1,7 +1,8 @@
-etc/default/sogo
etc/apache2/conf.d/SOGo.conf
etc/cron.d/sogo
+etc/default/sogo
etc/logrotate.d/sogo
+etc/sogo/sogo.conf
usr/sbin/*
usr/lib/GNUstep/Frameworks/*
usr/lib/GNUstep/Libraries/*
diff --git a/packaging/debian-multiarch/sogo.postinst b/packaging/debian-multiarch/sogo.postinst
index c4a7272fd..82cfa7d4e 100644
--- a/packaging/debian-multiarch/sogo.postinst
+++ b/packaging/debian-multiarch/sogo.postinst
@@ -20,6 +20,12 @@ case "$1" in
configure)
# update timestamp on imgs,css,js to let apache know the files changed
find /usr/lib/GNUstep/SOGo/WebServerResources -exec touch {} \;
+
+ # Enforce owner+mode on configuration
+ chmod 750 /etc/sogo
+ chown root:sogo /etc/sogo
+ chmod 640 /etc/sogo/sogo.conf
+ chown root:sogo /etc/sogo/sogo.conf
;;
abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/packaging/debian-multiarch/sogo.preinst b/packaging/debian-multiarch/sogo.preinst
index fc2d475bf..552628002 100644
--- a/packaging/debian-multiarch/sogo.preinst
+++ b/packaging/debian-multiarch/sogo.preinst
@@ -18,7 +18,7 @@ if [ "$1" == "install" ] || [ "$1" == "upgrade" ]; then
useradd -d /var/lib/sogo -g sogo -c "SOGo daemon" -s /usr/sbin/nologin -M -r sogo
fi
- # create mandatory dirs and enforce owner/perms
+ # create mandatory dirs and enforce owner+mode
for dir in lib log run spool; do
install -m 750 -o sogo -g sogo -d /var/$dir/sogo
done
diff --git a/packaging/debian/rules b/packaging/debian/rules
index 9e76c6c62..3fe7bd0c3 100755
--- a/packaging/debian/rules
+++ b/packaging/debian/rules
@@ -4,13 +4,19 @@ export DH_VERBOSE=1
# export DH_OPTIONS="-p sogo"
DESTDIR=$(CURDIR)/debian/tmp
+DIST_CODENAME=$(shell lsb_release -cs)
+
+# NOTYET
+#ifeq ($(DIST_CODENAME), squeeze)
+# SAML2_CONFIG=--enable-saml2
+#endif
include /etc/GNUstep/GNUstep.conf
include /usr/share/GNUstep/Makefiles/common.make
config.make: configure
dh_testdir
- ./configure --prefix=$(GNUSTEP_SYSTEM_ROOT)
+ ./configure --prefix=$(GNUSTEP_SYSTEM_ROOT) $(SAML2_CONFIG)
#Architecture
build: build-arch
@@ -40,8 +46,6 @@ clean:
make clean; \
fi
-rm -f OpenChange/MAPIStorePropertySelectors.*
- -find OpenChange -type d -name "unrtf-*" -exec rm -rf {} \;
- -rm -f OpenChange/unrtf*-stamp
-rm -f config.make
dh_clean
@@ -72,14 +76,13 @@ install-arch: build-arch
$(DESTDIR)/usr/lib/mapistore_backends/SOGo.so; \
fi
- mkdir -p debian/tmp/etc/default
- cp Scripts/sogo-default debian/tmp/etc/default/sogo
- mkdir -p debian/tmp/usr/share/lintian/overrides
- cp debian/sogo.overrides debian/tmp/usr/share/lintian/overrides/sogo
- mkdir -p debian/tmp/etc/apache2/conf.d
- cp Apache/SOGo.conf debian/tmp/etc/apache2/conf.d/SOGo.conf
+ install -D Scripts/sogo-default debian/tmp/etc/default/sogo
+ install -D debian/sogo.overrides debian/tmp/usr/share/lintian/overrides/sogo
+ install -D Apache/SOGo.conf debian/tmp/etc/apache2/conf.d/SOGo.conf
install -D -m 644 Scripts/sogo.cron debian/tmp/etc/cron.d/sogo
install -D -m 644 Scripts/logrotate debian/tmp/etc/logrotate.d/sogo
+ install -d -m 750 debian/tmp/etc/sogo
+ install -D -m 640 Scripts/sogo.conf debian/tmp/etc/sogo/sogo.conf
# Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch
diff --git a/packaging/debian/sogo.docs b/packaging/debian/sogo.docs
index ded20965f..781cb916d 100644
--- a/packaging/debian/sogo.docs
+++ b/packaging/debian/sogo.docs
@@ -3,3 +3,4 @@ TODO
Scripts/*.sh
Scripts/*.py
Scripts/updates.php
+Apache/SOGo-apple-ab.conf
diff --git a/packaging/debian/sogo.install b/packaging/debian/sogo.install
index 44d947d4f..5f22f31bc 100644
--- a/packaging/debian/sogo.install
+++ b/packaging/debian/sogo.install
@@ -1,7 +1,8 @@
-etc/default/sogo
etc/apache2/conf.d/SOGo.conf
etc/cron.d/sogo
+etc/default/sogo
etc/logrotate.d/sogo
+etc/sogo/sogo.conf
usr/sbin/*
usr/lib/GNUstep/Frameworks/*
usr/lib/GNUstep/Libraries/*
diff --git a/packaging/debian/sogo.postinst b/packaging/debian/sogo.postinst
index c4a7272fd..82cfa7d4e 100644
--- a/packaging/debian/sogo.postinst
+++ b/packaging/debian/sogo.postinst
@@ -20,6 +20,12 @@ case "$1" in
configure)
# update timestamp on imgs,css,js to let apache know the files changed
find /usr/lib/GNUstep/SOGo/WebServerResources -exec touch {} \;
+
+ # Enforce owner+mode on configuration
+ chmod 750 /etc/sogo
+ chown root:sogo /etc/sogo
+ chmod 640 /etc/sogo/sogo.conf
+ chown root:sogo /etc/sogo/sogo.conf
;;
abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/packaging/debian/sogo.preinst b/packaging/debian/sogo.preinst
index fc2d475bf..552628002 100644
--- a/packaging/debian/sogo.preinst
+++ b/packaging/debian/sogo.preinst
@@ -18,7 +18,7 @@ if [ "$1" == "install" ] || [ "$1" == "upgrade" ]; then
useradd -d /var/lib/sogo -g sogo -c "SOGo daemon" -s /usr/sbin/nologin -M -r sogo
fi
- # create mandatory dirs and enforce owner/perms
+ # create mandatory dirs and enforce owner+mode
for dir in lib log run spool; do
install -m 750 -o sogo -g sogo -d /var/$dir/sogo
done
diff --git a/packaging/rhel/sogo.spec b/packaging/rhel/sogo.spec
index f283fd153..8cb0000f0 100644
--- a/packaging/rhel/sogo.spec
+++ b/packaging/rhel/sogo.spec
@@ -5,12 +5,14 @@
%{!?python_sys_pyver: %global python_sys_pyver %(/usr/bin/python -c "import sys; print sys.hexversion")}
+%define sogo_user sogo
+
Summary: SOGo
Name: sogo
Version: %{sogo_version}
Release: %{dist_suffix}%{?dist}
Vendor: http://www.inverse.ca/
-Packager: Wolfgang Sourdeau
+Packager: Wolfgang Sourdeau
License: GPL
URL: http://www.inverse.ca/contributions/sogo.html
Group: Productivity/Groupware
@@ -188,17 +190,19 @@ make DESTDIR=${RPM_BUILD_ROOT} \
GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
CC="$cc" LDFLAGS="$ldflags" \
install
-mkdir -p ${RPM_BUILD_ROOT}/etc/init.d
-mkdir -p ${RPM_BUILD_ROOT}/etc/cron.d
-mkdir -p ${RPM_BUILD_ROOT}/etc/cron.daily
-mkdir -p ${RPM_BUILD_ROOT}/etc/logrotate.d
-mkdir -p ${RPM_BUILD_ROOT}/etc/sysconfig
-mkdir -p ${RPM_BUILD_ROOT}/etc/httpd/conf.d
-mkdir -p ${RPM_BUILD_ROOT}/usr/sbin
-mkdir -p ${RPM_BUILD_ROOT}/var/lib/sogo
-mkdir -p ${RPM_BUILD_ROOT}/var/log/sogo
-mkdir -p ${RPM_BUILD_ROOT}/var/run/sogo
-mkdir -p ${RPM_BUILD_ROOT}/var/spool/sogo
+install -d ${RPM_BUILD_ROOT}/etc/init.d
+install -d ${RPM_BUILD_ROOT}/etc/cron.d
+install -d ${RPM_BUILD_ROOT}/etc/cron.daily
+install -d ${RPM_BUILD_ROOT}/etc/logrotate.d
+install -d ${RPM_BUILD_ROOT}/etc/sysconfig
+install -d ${RPM_BUILD_ROOT}/etc/httpd/conf.d
+install -d ${RPM_BUILD_ROOT}/usr/sbin
+install -d ${RPM_BUILD_ROOT}/var/lib/sogo
+install -d ${RPM_BUILD_ROOT}/var/log/sogo
+install -d ${RPM_BUILD_ROOT}/var/run/sogo
+install -d ${RPM_BUILD_ROOT}/var/spool/sogo
+install -d -m 750 -o %sogo_user -g %sogo_user ${RPM_BUILD_ROOT}/etc/sogo
+install -m 640 -o %sogo_user -g %sogo_user Scripts/sogo.conf ${RPM_BUILD_ROOT}/etc/sogo/
cat Apache/SOGo.conf | sed -e "s@/lib/@/%{_lib}/@g" > ${RPM_BUILD_ROOT}/etc/httpd/conf.d/SOGo.conf
install -m 600 Scripts/sogo.cron ${RPM_BUILD_ROOT}/etc/cron.d/sogo
cp Scripts/tmpwatch ${RPM_BUILD_ROOT}/etc/cron.daily/sogo-tmpwatch
@@ -229,10 +233,11 @@ rm -fr ${RPM_BUILD_ROOT}
/etc/init.d/sogod
/etc/cron.daily/sogo-tmpwatch
-%dir %attr(0700, sogo, sogo) %{_var}/lib/sogo
-%dir %attr(0700, sogo, sogo) %{_var}/log/sogo
-%dir %attr(0755, sogo, sogo) %{_var}/run/sogo
-%dir %attr(0700, sogo, sogo) %{_var}/spool/sogo
+%dir %attr(0700, %sogo_user, %sogo_user) %{_var}/lib/sogo
+%dir %attr(0700, %sogo_user, %sogo_user) %{_var}/log/sogo
+%dir %attr(0755, %sogo_user, %sogo_user) %{_var}/run/sogo
+%dir %attr(0700, %sogo_user, %sogo_user) %{_var}/spool/sogo
+%dir %attr(0750, root, %sogo_user) %{_sysconfdir}/sogo
%{_sbindir}/sogod
%{_libdir}/libSOGo.so.*
%{_libdir}/libSOGoUI.so.*
@@ -248,11 +253,12 @@ rm -fr ${RPM_BUILD_ROOT}
%{_libdir}/GNUstep/OCSTypeModels
%{_libdir}/GNUstep/WOxElemBuilders-*
+%config(noreplace) %attr(0640, root, %sogo_user) %{_sysconfdir}/sogo/sogo.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/sogo
%config(noreplace) %{_sysconfdir}/cron.d/sogo
%config(noreplace) %{_sysconfdir}/httpd/conf.d/SOGo.conf
%config(noreplace) %{_sysconfdir}/sysconfig/sogo
-%doc ChangeLog NEWS Scripts/*sh Scripts/*py Scripts/updates.php
+%doc ChangeLog NEWS Scripts/*sh Scripts/*py Scripts/updates.php Apache/SOGo-apple-ab.conf
%files -n sogo-tool
%{_sbindir}/sogo-tool
@@ -302,8 +308,8 @@ rm -fr ${RPM_BUILD_ROOT}
# **************************** pkgscripts *****************************
%pre
-if ! id sogo >& /dev/null; then
- /usr/sbin/useradd -d %{_var}/lib/sogo -c "SOGo daemon" -s /sbin/nologin -M -r sogo
+if ! id %sogo_user >& /dev/null; then
+ /usr/sbin/useradd -d %{_var}/lib/sogo -c "SOGo daemon" -s /sbin/nologin -M -r %sogo_user
fi
%post
@@ -322,8 +328,8 @@ fi
%postun
if test "$1" = "0"
then
- /usr/sbin/userdel sogo
- /usr/sbin/groupdel sogo > /dev/null 2>&1
+ /usr/sbin/userdel %sogo_user
+ /usr/sbin/groupdel %sogo_user > /dev/null 2>&1
/bin/rm -rf %{_var}/run/sogo
/bin/rm -rf %{_var}/spool/sogo
# not removing /var/lib/sogo to keep .GNUstepDefaults
@@ -331,6 +337,10 @@ fi
# ********************************* changelog *************************
%changelog
+* Wed Apr 10 2013 Jean Raby
+- use %sogo_user instead of 'sogo'
+- install a sample sogo.conf in /etc/sogo
+
* Tue Jan 22 2013 Jean Raby
- Create the sogo user as a system user
- Use %attr() to set directory permissions instead of chown/chmod