diff --git a/NEWS b/NEWS
index e20561202..db649ff54 100644
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,8 @@
--------------------
- basic alarm implementation for the web interface
- user's status for events in the web interface now appears like in Lightning ("needs-action" events are surrounded by a dashed line, "declined" events are lighter)
-- added Welsh localisation, thanks to Iona Bailey
+- added Welsh translation, thanks to Iona Bailey
+- added Russh translation, thanks to Alex Kabakaev
- added support for Oracle RAC
- improvements to the underlying SOGo cache infrastructure
- fixed bug with LDAP-based address books and the entries references (ID vs UID)
diff --git a/SoObjects/Appointments/SOGoAptMailRussianDeletion.wo/SOGoAptMailRussianDeletion.html b/SoObjects/Appointments/SOGoAptMailRussianDeletion.wo/SOGoAptMailRussianDeletion.html
new file mode 100644
index 000000000..3bfc63827
--- /dev/null
+++ b/SoObjects/Appointments/SOGoAptMailRussianDeletion.wo/SOGoAptMailRussianDeletion.html
@@ -0,0 +1,2 @@
+<#IsSubject>Событие отменено: <#summary/>#IsSubject>
+<#IsBody><#organizer/> <#HasSentBy>(отправил <#sentBy/>) #HasSentBy>отменил это событие: <#summary/>.#IsBody>
\ No newline at end of file
diff --git a/SoObjects/Appointments/SOGoAptMailRussianDeletion.wo/SOGoAptMailRussianDeletion.wod b/SoObjects/Appointments/SOGoAptMailRussianDeletion.wo/SOGoAptMailRussianDeletion.wod
new file mode 100644
index 000000000..92428f429
--- /dev/null
+++ b/SoObjects/Appointments/SOGoAptMailRussianDeletion.wo/SOGoAptMailRussianDeletion.wod
@@ -0,0 +1,27 @@
+IsSubject: WOConditional {
+ condition = isSubject;
+}
+
+IsBody: WOConditional {
+ condition = isSubject;
+ negate = YES;
+}
+
+organizer: WOString {
+ value = organizerName;
+ escapeHTML = NO;
+}
+
+summary: WOString {
+ value = summary;
+ escapeHTML = NO;
+}
+
+HasSentBy: WOConditional {
+ condition = hasSentBy;
+}
+
+sentBy: WOString {
+ value = sentBy;
+ escapeHTML = NO;
+}
\ No newline at end of file
diff --git a/SoObjects/Appointments/SOGoAptMailRussianICalReply.wo/SOGoAptMailRussianICalReply.html b/SoObjects/Appointments/SOGoAptMailRussianICalReply.wo/SOGoAptMailRussianICalReply.html
new file mode 100644
index 000000000..cb3ee63c0
--- /dev/null
+++ b/SoObjects/Appointments/SOGoAptMailRussianICalReply.wo/SOGoAptMailRussianICalReply.html
@@ -0,0 +1,2 @@
+<#IsSubject>Ответ на приглашение: <#summary/>#IsSubject>
+<#IsBody><#attendee/> <#HasSentBy>(послал <#sentBy/>) #HasSentBy><#HasAccepted>согласился#HasAccepted><#HasDeclined>отказался#HasDeclined><#HasNotAcceptedNotDeclined>не определился с желанием#HasNotAcceptedNotDeclined> участвовать в запланированном мероприятии.#IsBody>
diff --git a/SoObjects/Appointments/SOGoAptMailRussianICalReply.wo/SOGoAptMailRussianICalReply.wod b/SoObjects/Appointments/SOGoAptMailRussianICalReply.wo/SOGoAptMailRussianICalReply.wod
new file mode 100644
index 000000000..0bb57ca7f
--- /dev/null
+++ b/SoObjects/Appointments/SOGoAptMailRussianICalReply.wo/SOGoAptMailRussianICalReply.wod
@@ -0,0 +1,39 @@
+IsSubject: WOConditional {
+ condition = isSubject;
+}
+
+IsBody: WOConditional {
+ condition = isSubject;
+ negate = YES;
+}
+
+summary: WOString {
+ value = summary;
+ escapeHTML = NO;
+}
+
+attendee: WOString {
+ value = attendeeName;
+ escapeHTML = NO;
+}
+
+HasAccepted: WOConditional {
+ condition = hasAccepted;
+}
+
+HasDeclined: WOConditional {
+ condition = hasDeclined;
+}
+
+HasNotAcceptedNotDeclined: WOConditional {
+ condition = hasNotAcceptedNotDeclined;
+}
+
+HasSentBy: WOConditional {
+ condition = hasSentBy;
+}
+
+sentBy: WOString {
+ value = sentBy;
+ escapeHTML = NO;
+}
diff --git a/SoObjects/Appointments/SOGoAptMailRussianInvitation.wo/SOGoAptMailRussianInvitation.html b/SoObjects/Appointments/SOGoAptMailRussianInvitation.wo/SOGoAptMailRussianInvitation.html
new file mode 100644
index 000000000..deeb2b0a9
--- /dev/null
+++ b/SoObjects/Appointments/SOGoAptMailRussianInvitation.wo/SOGoAptMailRussianInvitation.html
@@ -0,0 +1,2 @@
+<#IsSubject>Приглашение на мероприятие: <#summary/>#IsSubject>
+<#IsBody><#organizer/> <#HasSentBy>(послал <#sentBy/>) #HasSentBy>приглашает Вас на мероприятие <#summary/>.#IsBody>
diff --git a/SoObjects/Appointments/SOGoAptMailRussianInvitation.wo/SOGoAptMailRussianInvitation.wod b/SoObjects/Appointments/SOGoAptMailRussianInvitation.wo/SOGoAptMailRussianInvitation.wod
new file mode 100644
index 000000000..92428f429
--- /dev/null
+++ b/SoObjects/Appointments/SOGoAptMailRussianInvitation.wo/SOGoAptMailRussianInvitation.wod
@@ -0,0 +1,27 @@
+IsSubject: WOConditional {
+ condition = isSubject;
+}
+
+IsBody: WOConditional {
+ condition = isSubject;
+ negate = YES;
+}
+
+organizer: WOString {
+ value = organizerName;
+ escapeHTML = NO;
+}
+
+summary: WOString {
+ value = summary;
+ escapeHTML = NO;
+}
+
+HasSentBy: WOConditional {
+ condition = hasSentBy;
+}
+
+sentBy: WOString {
+ value = sentBy;
+ escapeHTML = NO;
+}
\ No newline at end of file
diff --git a/SoObjects/Appointments/SOGoAptMailRussianUpdate.wo/SOGoAptMailRussianUpdate.html b/SoObjects/Appointments/SOGoAptMailRussianUpdate.wo/SOGoAptMailRussianUpdate.html
new file mode 100644
index 000000000..3abdf48c0
--- /dev/null
+++ b/SoObjects/Appointments/SOGoAptMailRussianUpdate.wo/SOGoAptMailRussianUpdate.html
@@ -0,0 +1,5 @@
+<#IsSubject>Изменено мероприятие "<#Summary />", запланированное на <#OldAptStartDate /> <#OldAptStartTime />.#IsSubject>
+<#IsBody>
+Это мероприятие<#HasSentBy> (пригласил <#sentBy/>)#HasSentBy>, ранее было запланировано на <#OldAptStartDate /><#IsNotOldAllDay> в <#OldAptStartTime />#IsNotOldAllDay><#HasOldLocation> (<#OldAptLocation />)#HasOldLocation> теперь запланировано на <#NewAptStartDate /><#IsNotNewAllDay> в <#NewAptStartTime />#IsNotNewAllDay><#HasNewLocation> (<#NewAptLocation />)#HasNewLocation>.
+Пожалуйста примите решение об участии в мероприятии в новое время и/или в новом месте.
+#IsBody>
diff --git a/SoObjects/Appointments/SOGoAptMailRussianUpdate.wo/SOGoAptMailRussianUpdate.wod b/SoObjects/Appointments/SOGoAptMailRussianUpdate.wo/SOGoAptMailRussianUpdate.wod
new file mode 100644
index 000000000..df9b65c38
--- /dev/null
+++ b/SoObjects/Appointments/SOGoAptMailRussianUpdate.wo/SOGoAptMailRussianUpdate.wod
@@ -0,0 +1,79 @@
+OldAptStartDate: WOString {
+ value = oldStartDate;
+ dateformat = "%d/%m/%y";
+ escapeHTML = NO;
+}
+
+OldAptStartTime: WOString {
+ value = oldStartDate;
+ dateformat = "%H:%M";
+ escapeHTML = NO;
+}
+
+IsNotOldAllDay: WOConditional {
+ condition = previousApt.isAllDay;
+ negate = YES;
+}
+
+NewAptStartDate: WOString {
+ value = newStartDate;
+ dateformat = "%d/%m/%y";
+ escapeHTML = NO;
+}
+
+NewAptStartTime: WOString {
+ value = newStartDate;
+ dateformat = "%H:%M";
+ escapeHTML = NO;
+}
+
+IsNotNewAllDay: WOConditional {
+ condition = apt.isAllDay;
+ negate = YES;
+}
+
+Organizer: WOString {
+ value = organizerName;
+ escapeHTML = NO;
+}
+
+OldAptLocation: WOString {
+ value = previousApt.location;
+ escapeHTML = NO;
+}
+
+NewAptLocation: WOString {
+ value = apt.location;
+ escapeHTML = NO;
+}
+
+IsSubject: WOConditional {
+ condition = isSubject;
+}
+
+IsBody: WOConditional {
+ condition = isSubject;
+ negate = YES;
+}
+
+Summary: WOString {
+ value = summary;
+ escapeHTML = NO;
+}
+
+HasNewLocation: WOConditional {
+ condition = hasNewLocation;
+}
+
+HasOldLocation: WOConditional {
+ condition = hasOldLocation;
+}
+
+HasSentBy: WOConditional {
+ condition = hasSentBy;
+}
+
+sentBy: WOString {
+ value = sentBy;
+ escapeHTML = NO;
+}
\ No newline at end of file
diff --git a/SoObjects/Mailer/SOGoMailRussianForward.wo/SOGoMailRussianForward.html b/SoObjects/Mailer/SOGoMailRussianForward.wo/SOGoMailRussianForward.html
new file mode 100644
index 000000000..3f50a3f64
--- /dev/null
+++ b/SoObjects/Mailer/SOGoMailRussianForward.wo/SOGoMailRussianForward.html
@@ -0,0 +1,10 @@
+-------- Original Message --------
+Subject: <#subject/>
+Date: <#date/>
+From: <#from/>
+<#hasReplyTo>Reply-To: <#replyTo/>#hasReplyTo><#hasOrganization>Organization: <#organization/>#hasOrganization>To: <#to/>
+<#hasCc>CC: <#cc/>#hasCc><#hasNewsGroups>Newsgroups: <#newsgroups/>#hasNewsGroups><#hasReferences>References: <#references/>#hasReferences>
+
+<#messageBody/>
+
+<#signature/>
diff --git a/SoObjects/Mailer/SOGoMailRussianForward.wo/SOGoMailRussianForward.wod b/SoObjects/Mailer/SOGoMailRussianForward.wo/SOGoMailRussianForward.wod
new file mode 100644
index 000000000..df237286f
--- /dev/null
+++ b/SoObjects/Mailer/SOGoMailRussianForward.wo/SOGoMailRussianForward.wod
@@ -0,0 +1,74 @@
+subject: WOString {
+ value = subject;
+ escapeHTML = NO;
+}
+
+date: WOString {
+ value = date;
+ escapeHTML = NO;
+}
+
+from: WOString {
+ value = from;
+ escapeHTML = NO;
+}
+
+hasReplyTo: WOConditional {
+ condition = hasReplyTo;
+}
+
+replyTo: WOString {
+ value = replyTo;
+ escapeHTML = NO;
+}
+
+hasOrganization: WOConditional {
+ condition = hasOrganization;
+}
+
+organization: WOString {
+ value = organization;
+ escapeHTML = NO;
+}
+
+to: WOString {
+ value = to;
+ escapeHTML = NO;
+}
+
+hasCc: WOConditional {
+ condition = hasCc;
+}
+
+cc: WOString {
+ value = cc;
+ escapeHTML = NO;
+}
+
+hasNewsGroups: WOConditional {
+ condition = hasNewsGroups;
+}
+
+newsgroups: WOString {
+ value = newsgroups;
+ escapeHTML = NO;
+}
+
+hasReferences: WOConditional {
+ condition = hasReferences;
+}
+
+references: WOString {
+ value = references;
+ escapeHTML = NO;
+}
+
+messageBody: WOString {
+ value = messageBody;
+ escapeHTML = NO;
+}
+
+signature: WOString {
+ value = signature;
+ escapeHTML = NO;
+}
diff --git a/SoObjects/Mailer/SOGoMailRussianReply.wo/SOGoMailRussianReply.html b/SoObjects/Mailer/SOGoMailRussianReply.wo/SOGoMailRussianReply.html
new file mode 100644
index 000000000..ebfee2a42
--- /dev/null
+++ b/SoObjects/Mailer/SOGoMailRussianReply.wo/SOGoMailRussianReply.html
@@ -0,0 +1,16 @@
+<#signaturePlacementOnTop>
+
+
+<#signature/>
+#signaturePlacementOnTop>
+<#outlookMode>-------- Original Message --------
+Subject: <#subject/>
+Date: <#date/>
+From: <#from/>
+<#hasReplyTo>Reply-To: <#replyTo/>#hasReplyTo><#hasOrganization>Organization: <#organization/>#hasOrganization>To: <#to/>
+<#hasCc>CC: <#cc/>#hasCc><#hasNewsGroups>Newsgroups: <#newsgroups/>#hasNewsGroups><#hasReferences>References: <#references/>#hasReferences>#outlookMode>
+<#standardMode>On <#date/>, <#from/> wrote:#standardMode>
+
+<#messageBody/>
+
+<#signature/>
diff --git a/SoObjects/Mailer/SOGoMailRussianReply.wo/SOGoMailRussianReply.wod b/SoObjects/Mailer/SOGoMailRussianReply.wo/SOGoMailRussianReply.wod
new file mode 100644
index 000000000..df3789cc3
--- /dev/null
+++ b/SoObjects/Mailer/SOGoMailRussianReply.wo/SOGoMailRussianReply.wod
@@ -0,0 +1,101 @@
+outlookMode: WOConditional {
+ condition = outlookMode;
+}
+
+standardMode: WOConditional {
+ condition = outlookMode;
+ negate = YES;
+}
+
+subject: WOString {
+ value = subject;
+ escapeHTML = NO;
+}
+
+date: WOString {
+ value = date;
+ escapeHTML = NO;
+}
+
+from: WOString {
+ value = from;
+ escapeHTML = NO;
+}
+
+hasReplyTo: WOConditional {
+ condition = hasReplyTo;
+}
+
+replyTo: WOString {
+ value = replyTo;
+ escapeHTML = NO;
+}
+
+hasOrganization: WOConditional {
+ condition = hasOrganization;
+}
+
+organization: WOString {
+ value = organization;
+ escapeHTML = NO;
+}
+
+to: WOString {
+ value = to;
+ escapeHTML = NO;
+}
+
+hasCc: WOConditional {
+ condition = hasCc;
+}
+
+cc: WOString {
+ value = cc;
+ escapeHTML = NO;
+}
+
+hasNewsGroups: WOConditional {
+ condition = hasNewsGroups;
+}
+
+newsgroups: WOString {
+ value = newsgroups;
+ escapeHTML = NO;
+}
+
+hasReferences: WOConditional {
+ condition = hasReferences;
+}
+
+references: WOString {
+ value = references;
+ escapeHTML = NO;
+}
+
+messageBody: WOString {
+ value = messageBody;
+ escapeHTML = NO;
+}
+
+signature: WOString {
+ value = signature;
+ escapeHTML = NO;
+}
+
+replyPlacementOnTop: WOConditional {
+ condition = replyPlacementOnTop;
+}
+
+replyPlacementOnBottom: WOConditional {
+ condition = replyPlacementOnTop;
+ negate = YES;
+}
+
+signaturePlacementOnTop: WOConditional {
+ condition = signaturePlacementOnTop;
+}
+
+signaturePlacementOnBottom: WOConditional {
+ condition = signaturePlacementOnTop;
+ negate = YES;
+}
diff --git a/UI/Common/Russian.lproj/Localizable.strings b/UI/Common/Russian.lproj/Localizable.strings
new file mode 100644
index 000000000..1f801e855
--- /dev/null
+++ b/UI/Common/Russian.lproj/Localizable.strings
@@ -0,0 +1,55 @@
+/* this file is in UTF-8 format! */
+
+/* toolbars */
+"Save" = "Сохранить";
+"Close" = "Закрыть";
+"Edit User Rights" = "Редактировать права пользователей";
+
+"Home" = "Начало";
+"Calendar" = "Календарь";
+"Address Book" = "Адресная книга";
+"Mail" = "Почта";
+"Preferences" = "Настройки";
+"Disconnect" = "Выход";
+"Right Administration" = "Управление доступом";
+"Log Console (dev.)" = "Log Console (dev.)";
+
+"User" = "Пользователь";
+
+"Help" = "Помощь";
+
+"noJavascriptError" = "SOGo requires Javascript to run. Please make sure this option is available and activated within your browser preferences.";
+"noJavascriptRetry" = "Повторить попытку";
+
+"Publish the Free/Busy information" = "Публиковать информацию о занятом/свободном времени";
+
+"Default Roles" = "Контроль доступа для всех";
+
+"Sorry, the user rights can not be configured for that object." = "Извините, для данного объекта невозможно настроить права доступа.";
+
+/* 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!" = "Unable to rename that folder!";
+"You have already subscribed to that folder!"
+ = "Вы уже подписались на эту папку!";
+"The user rights cannot be edited for this object!"
+ = "Извините, для данного объекта невозможно настроить права доступа!";
+
+"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."
+= "У Вас нет права производить эту операцию.";
+
+
+/* alarms */
+"Reminder:" = "Напоминание:";
+"Start:" = "Начало:";
+"Due Date:" = "Дата начала:";
+"Location:" = "Место:";
\ No newline at end of file
diff --git a/UI/Contacts/Russian.lproj/Localizable.strings b/UI/Contacts/Russian.lproj/Localizable.strings
new file mode 100644
index 000000000..e863a72c4
--- /dev/null
+++ b/UI/Contacts/Russian.lproj/Localizable.strings
@@ -0,0 +1,155 @@
+/* this file is in UTF-8 format! */
+
+"Addressbook" = "Адресная книга";
+"Addresses" = "Адреса";
+"Update" = "Обновить";
+"Cancel" = "Cancel";
+"Common" = "Common";
+"Contact editor" = "Contact editor";
+"Contact viewer" = "Contact viewer";
+"Email" = "Email";
+"Screen Name" = "Screen Name";
+"Extended" = "Extended";
+"Fax" = "Факс";
+"Firstname" = "Имя";
+"Home" = "Home";
+"HomePhone" = "ДомашнийТелефон";
+"Lastname" = "Фамилия";
+"Location" = "Местоположение";
+"MobilePhone" = "МобильныйТелефон";
+"Name" = "ПолноеИмя";
+"OfficePhone" = "РабочийТелефон";
+"Organization" = "Организация";
+"Work Phone" = "Рабочий телефон";
+"Phone" = "Телефон";
+"Phones" = "Телефоны";
+"Postal" = "Почтовый адрес";
+"Save" = "Сохранить";
+"URL" = "URL";
+"Unit" = "Unit";
+"delete" = "удалить";
+"edit" = "редактировать";
+"invalidemailwarn" = "The specified email is invalid";
+"new" = "новый";
+"Preferred Phone" = "Preferred Phone";
+
+/* Tooltips */
+
+"Create a new address book card" = "Create a new address book card";
+"Create a new list" = "Create a new list";
+"Edit the selected card" = "Edit the selected card";
+"Send a mail message" = "Send a mail message";
+"Delete selected card or address book" = "Delete selected card or address book";
+
+"htmlMailFormat_UNKNOWN" = "Unknown";
+"htmlMailFormat_FALSE" = "Plain Text";
+"htmlMailFormat_TRUE" = "HTML";
+
+"Name or Email" = "Name or Email";
+"Personal Addressbook" = "Personal Addressbook";
+"Search in Addressbook" = "Search in Addressbook";
+
+"New Card" = "New Card";
+"New List" = "New List";
+"Properties" = "Properties";
+"Sharing..." = "Sharing...";
+"Write" = "Write";
+"Delete" = "Delete";
+"Instant Message" = "Instant Message";
+"Add..." = "Add...";
+"Remove" = "Remove";
+
+"Please wait..." = "Подождите пожалуйста...";
+"No possible subscription" = "Нет возможных подписок";
+
+"Preferred" = "Preferred";
+"Card for %@" = "Card for %@";
+"Display Name: " = "Display Name: ";
+"Email Address: " = "Email Address: ";
+
+"Firstname: " = "Firstname: ";
+"Lastname: " = "Lastname: ";
+"Nickname: " = "Nickname: ";
+
+"Telephone" = "Telephone";
+"Work: " = "Work: ";
+"Home: " = "Home: ";
+"Fax: " = "Fax: ";
+"Mobile: " = "Mobile: ";
+"Pager: " = "Pager: ";
+
+"Title: " = "Title: ";
+"Service: " = "Service: ";
+"Company: " = "Company: ";
+"Street Address: " = "Street Address: ";
+"City: " = "City: ";
+"State_Province:" = "State/Province:";
+"ZIP_Postal Code:" = "ZIP/Postal Code:";
+"Country: " = "Country: ";
+"Web: " = "Web: ";
+
+"Work" = "Work";
+"Other Infos" = "Other Infos";
+
+"Note: " = "Note: ";
+"Timezone: " = "Timezone: ";
+"Birthday: " = "Birthday: ";
+"Freebusy URL: " = "Freebusy URL: ";
+
+"Add as..." = "Add as...";
+"Recipient" = "Recipient";
+"Carbon Copy" = "Carbon Copy";
+"Blind Carbon Copy" = "Blind Carbon Copy";
+
+"New Addressbook..." = "New Addressbook...";
+"Subscribe to an Addressbook..." = "Subscribe to an Addressbook...";
+"Remove the selected Addressbook" = "Remove the selected Addressbook";
+
+"Name of the Address Book" = "Name of the Address Book";
+"Are you sure you want to delete the selected 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 a public addressbook.";
+"You cannot remove nor unsubscribe from your personal addressbook."
+= "You cannot remove nor unsubscribe from your personal addressbook.";
+
+"Are you sure you want to delete the selected contacts?"
+= "Are you sure you want to delete the selected contacts?";
+
+"You don't have the required privileges to perform the operation."
+= "You don't have the required privileges to perform the operation.";
+"You cannot delete the card of \"%{0}\"."
+= "You cannot delete the card of \"%{0}\".";
+
+"Address Book Name" = "Address Book Name";
+
+"You cannot subscribe to a folder that you own!"
+= "You cannot subscribe to a folder that you own.";
+"Unable to subscribe to that folder!"
+= "Unable to subscribe to that folder.";
+
+"Default Roles" = "Default Roles";
+"User rights for:" = "User rights for:";
+
+"This person can add cards to this addressbook."
+= "This person can add cards to this addressbook.";
+"This person can edit the cards of this addressbook."
+= "This person can edit the cards of this addressbook.";
+"This person can list the content of this addressbook."
+= "This person can list the content of this addressbook.";
+"This person can read the cards of this addressbook."
+= "This person can read the cards of this addressbook.";
+"This person can erase cards from this addressbook."
+= "This person can erase cards from this addressbook.";
+
+"The selected contact has no email address."
+= "The selected contact has no email address.";
+
+"Please select a contact." = "Please select a contact.";
+
+/* Error messages for move and copy */
+
+"SoAccessDeniedException" = "You cannot write to this address book.";
+"Forbidden" = "You cannot write to this address book.";
+"Invalid Contact" = "The selected contact no longer exists.";
+"Unknown Destination Folder" = "The chosen destination address book no longer exists.";
diff --git a/UI/MailPartViewers/Russian.lproj/Localizable.strings b/UI/MailPartViewers/Russian.lproj/Localizable.strings
new file mode 100644
index 000000000..442036acb
--- /dev/null
+++ b/UI/MailPartViewers/Russian.lproj/Localizable.strings
@@ -0,0 +1,34 @@
+ACCEPTED = "принято";
+COMPLETED = "закончено";
+DECLINED = "отклонено";
+DELEGATED = "делегировано";
+IN-PROCESS = "в процессе";
+NEEDS-ACTION = "требует действия";
+TENTATIVE = "предварительное согласие";
+organized_by_you = "организованные Вами";
+you_are_an_attendee = "с Вашим участием";
+add_info_text = "iMIP 'ADD' requests are not yet supported by SOGo.";
+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 = "предварительно согласиться";
+"Update status in calendar" = "Обновить статус в календаре";
+reply_info_no_attendee = "Вы получили ответ на запланированное мероприятие, но отправителя сообщения нет среди приглашенных.";
+reply_info = "Это ответ на Ваше приглашение на мероприятие.";
+
+"to" = "к";
+
+"Untitled" = "Без названия";
+
+"Size" = "Размер";
diff --git a/UI/MailerUI/Russian.lproj/Localizable.strings b/UI/MailerUI/Russian.lproj/Localizable.strings
new file mode 100644
index 000000000..4508a7c41
--- /dev/null
+++ b/UI/MailerUI/Russian.lproj/Localizable.strings
@@ -0,0 +1,261 @@
+/* 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" = "Сохранить";
+"Priority" = "Важность";
+
+/* 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 */
+"Default Roles" = "Роли по умолчанию";
+"User rights for:" = "Права доступа для:";
+
+"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" = "Помечать письма как удаленные";
+"Modify the acl of this folder" = "Управлять правами доступа к этой папке";
+
+"Update" = "Обновить";
+"Cancel" = "Отмена";
+
+/* Mail edition */
+
+"From" = "От";
+"Subject" = "Тема";
+"To" = "Кому";
+"Cc" = "Копия";
+"Bcc" = "Скрытая копия";
+"Reply-To" = "Обратный адрес";
+"Add address" = "Добавить адрес";
+
+"Attachments:" = "Вложения:";
+
+"to" = "Кому";
+"cc" = "Копия";
+"bcc" = "Скрытая копия";
+
+"Addressbook" = "Адресная книга";
+
+"Edit Draft..." = "Редактировать черновик...";
+"Load Images" = "Загрузить изображения";
+
+"highest" = "Самый высокий";
+"high" = "Высокий";
+"normal" = "Обычный";
+"low" = "Низкий";
+"lowest" = "Самый низкий";
+
+"This mail is being sent from an unsecure network!" = "This mail is being sent from an unsecure network!";
+
+/* Popup "show" */
+
+"all" = "все";
+"read" = "прочитанные";
+"unread" = "непрочитанные";
+"deleted" = "удаленные";
+"flagged" = "помеченные флагом";
+
+/* MailListView */
+
+"Sender" = "Отправитель";
+"Subject or Sender" = "Тема или Отправитель";
+"To or Cc" = "Кому или копия";
+"Entire Message" = "Сообщение целиком";
+
+"Date" = "Дата";
+"View" = "Просмотр";
+"All" = "Все";
+"Unread" = "Непрочитанные";
+"messages" = "сообщения";
+
+"first" = "первая";
+"previous" = "предыдущая";
+"next" = "следующая";
+"last" = "последняя";
+
+"msgnumber_to" = "до";
+"msgnumber_of" = "из";
+
+"Mark Unread" = "Пометить как непрочитанное";
+"Mark Read" = "Пометить как прочитанное";
+
+"Untitled" = "Без темы";
+
+/* Tree */
+
+"SentFolderName" = "Отправленные";
+"TrashFolderName" = "Корзина";
+"InboxFolderName" = "Входящие";
+"DraftsFolderName" = "Черновики";
+"SieveFolderName" = "Папки";
+"Folders" = "Папки"; /* title line */
+
+/* MailMoveToPopUp */
+
+"MoveTo" = "Переместить в …";
+
+/* Address Popup menu */
+"Add to Address Book..." = "Добавиь в адресную книгу...";
+"Compose Mail To" = "Составить письмо для";
+"Create Filter From Message..." = "Создать фильтр из сообщения...";
+
+/* Image Popup menu */
+"Save Image" = "Сохранить изображение";
+
+/* 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" = "Получить новые сообщения";
+
+/* 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" = "Ответить всем упомянутым адресатам";
+"Forward" = "Переслать";
+"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 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 editing */
+"error_validationfailed" = "Проверка завершилась неудачей";
+"error_missingsubject" = "Тема сообщения не указана";
+"error_missingrecipients" = "Не указан адрес получателя";
diff --git a/UI/MainUI/German.lproj/Localizable.strings b/UI/MainUI/German.lproj/Localizable.strings
index 4c6100b24..b94299b52 100644
--- a/UI/MainUI/German.lproj/Localizable.strings
+++ b/UI/MainUI/German.lproj/Localizable.strings
@@ -2,7 +2,7 @@
"title" = "SOGo";
-"Login:" = "Benutzername:";
+"Username:" = "Benutzername:";
"Password:" = "Passwort:";
"Connect" = "Anmelden";
@@ -22,6 +22,8 @@
"German" = "Deutsch";
"Italian" = "Italienisch";
"Spanish" = "Spanisch";
+"Welsh" = "Walisisch";
+"Russian" = "Russisch";
"About" = "About";
"AboutBox" = "SOGo is a groupware server built around OpenGroupware.org (OGo) and the SOPE application server. It focuses on scalability.
@@ -30,4 +32,4 @@ Copyright © 2006-2009 Inverse inc.
Copyright © 2002-2005 SKYRIX Software AG
This software are distributed under the GNU GPL version 2.
Parts of this software are distributed under the GNU LGPL version 2.
-This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.";
\ No newline at end of file
+This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.";
diff --git a/UI/MainUI/Russian.lproj/Locale b/UI/MainUI/Russian.lproj/Locale
new file mode 100644
index 000000000..dc94b7365
--- /dev/null
+++ b/UI/MainUI/Russian.lproj/Locale
@@ -0,0 +1,35 @@
+/* Russian */
+{
+ NSLanguageName = "Russian";
+ NSFormalName = "Русский";
+ NSLocaleCode = "ru"; /* ISO 639-1 */
+ NSLanguageCode = "rus"; /* ISO 639-2 */
+ NSParentContext = "";
+
+ NSAMPMDesignation = (AM, PM);
+ NSCurrencySymbol = " руб.";
+ NSDateFormatString = "%A %e %B %Y";
+ NSDateTimeOrdering = DMYH;
+ NSDecimalDigits = ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
+ NSDecimalSeparator = ".";
+ NSEarlierTimeDesignations = ("первый", "последний", "прошедший", "назад");
+ NSHourNameDesignations = ((0, "полночь"), (10, "утро"), (12, "полдень", "обед"), (14, "день"), (19, "вечер"));
+ NSInternationalCurrencyString = RUB; /* ISO 4217 */
+ NSLaterTimeDesignations = ("позже");
+ NSMonthNameArray = ("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
+ NSNextDayDesignations = ("завтра");
+ NSNextNextDayDesignations = ("завтра");
+ NSPriorDayDesignations = ("вчера");
+ NSShortDateFormatString = "%e/%m/%y";
+ NSShortMonthNameArray = ("Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек");
+ NSShortTimeDateFormatString = "%e/%m/%y %H:%M";
+ NSShortWeekDayNameArray = ("Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб");
+ NSThisDayDesignations = ("сегодня", "сейчас");
+ NSThousandsSeparator = " ";
+ NSTimeDateFormatString = "%A %e %B %Y %H:%M:%S %Z";
+ NSTimeFormatString = "%H:%M:%S";
+ NSWeekDayNameArray = ("Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота");
+ NSYearMonthWeekDesignations = ("год", "месяц", "неделя");
+ NSPositiveCurrencyFormatString = "9 999.00$";
+ NSNegativeCurrencyFormatString = "-9 999.00$";
+}
diff --git a/UI/MainUI/Russian.lproj/Localizable.strings b/UI/MainUI/Russian.lproj/Localizable.strings
new file mode 100644
index 000000000..97bc10e84
--- /dev/null
+++ b/UI/MainUI/Russian.lproj/Localizable.strings
@@ -0,0 +1,35 @@
+/* this file is in UTF-8 format! */
+
+"title" = "SOGo";
+
+"Username:" = "Логин:";
+"Password:" = "Пароль:";
+
+"Connect" = "Соединение";
+
+"Wrong username or password." = "Неправильный логин или пароль.";
+"cookiesNotEnabled" = "Вы не можете войти в систему, так как в Вашем броузере (программа для просмотра страниц в интернете) выключены cookies. Пожалуйста разрешите нашему сайту использовать cookies в настройках Вашего броузера.";
+
+"browserNotCompatible" = "Мы определили что Ваша программа просмотра интернет-страниц (browser) не поддерживает используемую на нашем сайте технологию. Мы рекомендуем использовать одину из совместимых программ (в порядке лучшей совместимости): Firefox, Internet Explorer, Safari, Google Chrome. Скачать свежий Firefox можно тут:";
+"alternativeBrowsers" = "В качестве альтернативы можно использовать следующие программы:";
+"alternativeBrowserSafari" = "Также можно использовать Safari.";
+"Download" = "Скачать";
+
+"Language:" = "Язык:";
+"choose" = "Выбрать ...";
+"Dutch" = "Nederlands";
+"English" = "English";
+"French" = "Français";
+"German" = "Deutsch";
+"Italian" = "Italiano";
+"Spanish" = "Spanish";
+"Russian" = "Русский";
+
+"About" = "О системе";
+"AboutBox" = "SOGo is a groupware server built around OpenGroupware.org (OGo) and the SOPE application server. It focuses on scalability.
+SOGo provides a rich AJAX-based Web interface and supports multiple native clients through the use of standard protocols such as CalDAV, CardDAV and GroupDAV.
+Copyright © 2006-2009 Inverse inc.
+Copyright © 2002-2005 SKYRIX Software AG
+This software are distributed under the GNU GPL version 2.
+Parts of this software are distributed under the GNU LGPL version 2.
+This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.";
\ No newline at end of file
diff --git a/UI/PreferencesUI/German.lproj/Localizable.strings b/UI/PreferencesUI/German.lproj/Localizable.strings
index 448a8006b..228c7ac16 100644
--- a/UI/PreferencesUI/German.lproj/Localizable.strings
+++ b/UI/PreferencesUI/German.lproj/Localizable.strings
@@ -65,7 +65,7 @@
"reminderTime_4800" = "2 Tage";
/* Mailer */
-"Show subscribed mailboxes only" = "Show subscribed mailboxes only";
+"Show subscribed mailboxes only" = "Nur abonnierte Ordner anzeigen";
"Check for new mail:" = "Auf neue Nachrichten prüfen:";
"messagecheck_manually" = "Manuell";
"messagecheck_every_minute" = "Minütlich";
diff --git a/UI/PreferencesUI/Russian.lproj/Localizable.strings b/UI/PreferencesUI/Russian.lproj/Localizable.strings
new file mode 100644
index 000000000..25483d596
--- /dev/null
+++ b/UI/PreferencesUI/Russian.lproj/Localizable.strings
@@ -0,0 +1,106 @@
+/* toolbar */
+"Save and Close" = "Сохранить и закрыть";
+"Close" = "Закрыть не сохраняя";
+
+/* tabs */
+"General" = "Общее";
+"Calendar Options" = "Календарь";
+"Mail Options" = "Почта";
+"Identities" = "Identities";
+"Password" = "Пароль";
+
+/* ooo */
+"I'm currently in the office" = "Я на рабочем месте";
+"I'm currently out of the office" = "Я отошел от рабочего места";
+"AutoReply only once to each sender with the following text :"
+= "Автоматически посылать этот текст каждому отправителю один раз :";
+
+/* d & t */
+"Current Time Zone :" = "Текущая временная зона :";
+"Short Date Format :" = "Короткий формат даты :";
+"Long Date Format :" = "Длинный формат даты :";
+"Time Format :" = "Формат времени :";
+
+"shortDateFmt_0" = "%e/%m/%Y";
+"shortDateFmt_1" = "%d/%m/%Y";
+"shortDateFmt_2" = "%e-%m-%y";
+"shortDateFmt_3" = "%d-%m-%y";
+"shortDateFmt_4" = "%y/%m/%d";
+"shortDateFmt_5" = "%Y-%m-%d";
+"shortDateFmt_6" = "%d-%b-%y";
+"shortDateFmt_7" = "";
+
+"longDateFmt_0" = "%A %e %B %Y";
+"longDateFmt_1" = "%e %b. %Y";
+"longDateFmt_2" = "%e %B %Y";
+"longDateFmt_3" = "%A, %B %d, %Y";
+"longDateFmt_4" = "%B %d, %Y";
+"longDateFmt_5" = "%A, %d %B, %Y";
+"longDateFmt_6" = "%d %B, %Y";
+"longDateFmt_7" = "";
+
+"timeFmt_0" = "%H:%M";
+"timeFmt_1" = "%H.%M";
+"timeFmt_2" = "%H h. %M";
+"timeFmt_3" = "%I:%M %p";
+"timeFmt_4" = "";
+
+/* calendar */
+"Week begins on :" = "Неделя начинается с :";
+"Day start time :" = "Рабочий день начинается в :";
+"Day end time :" = "Рабочий день заканчивается в :";
+"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" = "Первая полная неделя";
+
+"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" = "Показывать только почтовые ящики, на которые подписан";
+"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" = "Приложенным файлом";
+
+"Default identity:" = "Обысно я представляюсь как:";
+"Manage identities..." = "Управлять именами...";
+"Signature" = "Подпись";
+"replyplacement_above" = "Начинать мой ответ над цитируемым текстом";
+"replyplacement_below" = "Начинать мой ответ под цитируемым текстом";
+"And place my signature" = "И поместить мою подпись";
+"signatureplacement_above" = "под ответом";
+"signatureplacement_below" = "под цитируемым текстом письма";
+
+/* Additional Parameters */
+"Additional Parameters" = "Дополнительные параметры";
+
+/* password */
+"New password:" = "Новый пароль:";
+"Confirmation:" = "Повтор нового пароля:";
+"Change" = "Изменить";
diff --git a/UI/Scheduler/German.lproj/Localizable.strings b/UI/Scheduler/German.lproj/Localizable.strings
index 113729615..bb80cceb5 100644
--- a/UI/Scheduler/German.lproj/Localizable.strings
+++ b/UI/Scheduler/German.lproj/Localizable.strings
@@ -239,7 +239,7 @@
"view_next7" = "Termine in den nächsten 7 Tagen";
"view_next14" = "Termine in den nächsten 14 Tagen";
"view_next31" = "Termine in den nächsten 31 Tagen";
-"view_thismonth" = "Termie in diesem Kalendermonat";
+"view_thismonth" = "Termine in diesem Kalendermonat";
"view_future" = "Alle zukünftigen Termine";
"view_selectedday" = "Momentan gewählter Tag";
@@ -389,13 +389,14 @@
"reminder_1_WEEK_BEFORE" = "1 Woche vor";
"reminder_CUSTOM" = "Benutzerdefiniert...";
-"reminder_MINUTES" = "minutes";
-"reminder_HOURS" = "hours";
-"reminder_DAYS" = "days";
-"reminder_BEFORE" = "before";
-"reminder_AFTER" = "after";
-"reminder_START" = "the event starts";
-"reminder_END" = "the event ends";
+"reminder_MINUTES" = "Minuten";
+"reminder_HOURS" = "Stunden";
+"reminder_DAYS" = "Tage";
+"reminder_BEFORE" = "bevor";
+"reminder_AFTER" = "nachdem";
+"reminder_START" = "der Termin startet";
+"reminder_END" = "der Termin endet";
+"Reminder Details" = "Erinnerungsdetails";
"zoom_400" = "400%";
"zoom_200" = "200%";
diff --git a/UI/Scheduler/Russian.lproj/Localizable.strings b/UI/Scheduler/Russian.lproj/Localizable.strings
new file mode 100644
index 000000000..36c3c3dbb
--- /dev/null
+++ b/UI/Scheduler/Russian.lproj/Localizable.strings
@@ -0,0 +1,506 @@
+/* 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" = "Перейти к обзору месяца";
+
+/* Tabs */
+"Date" = "Дата";
+"Calendars" = "Календари";
+
+/* Day */
+
+"Sunday" = "Воскресенье";
+"Monday" = "Понедельник";
+"Tuesday" = "Вторник";
+"Wednesday" = "Среда";
+"Thursday" = "Четверг";
+"Friday" = "Пятница";
+"Saturday" = "Суббота";
+
+"Sun" = "Вск";
+"Mon" = "Пон";
+"Tue" = "Вт";
+"Wed" = "Ср";
+"Thu" = "Чтв";
+"Fri" = "Пят";
+"Sat" = "Суб";
+
+"a2_Sunday" = "Вс";
+"a2_Monday" = "Пн";
+"a2_Tuesday" = "Вт";
+"a2_Wednesday" = "Ср";
+"a2_Thursday" = "Чт";
+"a2_Friday" = "Пт";
+"a2_Saturday" = "Сб";
+
+"dayLabelFormat" = "%d/%m/%Y";
+"today" = "Сегодня";
+
+/* Week */
+
+"Week" = "Неделя";
+"this week" = "эта неделя";
+
+"Week %d" = "Неделя %d";
+
+/* Month */
+
+"this month" = "этот месяц";
+
+"January" = "Январь";
+"February" = "Февраль";
+"March" = "Март";
+"April" = "Апрель";
+"May" = "Май";
+"June" = "Июнь";
+"July" = "Июль";
+"August" = "Август";
+"September" = "Сентябрь";
+"October" = "Октябрь";
+"November" = "Ноябрь";
+"December" = "Декабрь";
+
+"a3_January" = "Января";
+"a3_February" = "Февраля";
+"a3_March" = "Марта";
+"a3_April" = "Апреля";
+"a3_May" = "Мая";
+"a3_June" = "Июня";
+"a3_July" = "Июля";
+"a3_August" = "Августа";
+"a3_September" = "Сентября";
+"a3_October" = "Октября";
+"a3_November" = "Ноября";
+"a3_December" = "Декабря";
+
+/* Year */
+
+"this year" = "этот год";
+
+/* Menu */
+
+"Calendar" = "Календарь";
+"Contacts" = "Адресная книга";
+
+"New Calendar..." = "Новый календарь...";
+"Delete Calendar" = "Удалить календарь";
+"Sharing..." = "Sharing...";
+"Export Calendar..." = "Экспортировать календарь...";
+"Publish Calendar..." = "Опубликовать календарь...";
+"Reload Remote Calendars" = "Обновить удаленные календари";
+"Properties" = "Свойства";
+
+"Compose E-Mail to All Attendees" = "Составить сообщение ко всем приглашенным";
+"Compose E-Mail to Undecided Attendees" = "Составить сообщение ко всем не решившим приглашенным";
+
+/* Folders */
+"Personal calendar" = "Персональный календарь";
+
+/* Misc */
+
+"OpenGroupware.org" = "OpenGroupware.org";
+"Forbidden" = "Запрешено";
+
+/* acls */
+"Default Roles" = "Роли по умолчанию";
+"User rights for:" = "Права пользователя для:";
+
+"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" = "None";
+
+"This person can create objects in my calendar."
+= "Этот участник может создавать записи в моем календаре.";
+"This person can erase objects from my calendar."
+= "Этот участник может удалять записи в моем календаре.";
+
+/* Button Titles */
+
+"New Calendar..." = "Новый календарь...";
+"Subscribe to a Calendar..." = "Подписаться на календарь...";
+"Remove the selected Calendar" = "Удалить выделенный календарь";
+
+"Name of the Calendar" = "Название календаря";
+
+"new" = "Новый";
+"printview" = "Печатать";
+"edit" = "Изменить";
+"delete" = "Удалить";
+"proposal" = "Предложение";
+"Save and Close" = "Сохранить и закрыть";
+"Close" = "Закрыть";
+"Invite Attendees" = "Пригласить участников";
+"Documents" = "Документы";
+"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 Viewer";
+"Appointment editor" = "Appointment Editor";
+"Appointment proposal" = "Appointment Proposal";
+"Appointment on" = "Appointment on";
+"Start:" = "Start:";
+"End:" = "End:";
+"Due Date:" = "Due Date:";
+"Title:" = "Title:";
+"Calendar:" = "Calendar:";
+"Name" = "Name";
+"Email" = "Email";
+"Status:" = "Status:";
+"% complete" = "% complete";
+"Location:" = "Location:";
+"Priority:" = "Priority:";
+"Privacy" = "Privacy";
+"Cycle" = "Cycle";
+"Cycle End" = "Cycle End";
+"Categories" = "Categories";
+"Classification" = "Classification";
+"Duration" = "Duration";
+"Attendees:" = "Attendees:";
+"Resources" = "Resources";
+"Organizer:" = "Organizer:";
+"Description:" = "Description:";
+"Document:" = "Document:";
+"Category:" = "Category:";
+"Repeat:" = "Repeat:";
+"Reminder:" = "Reminder:";
+
+"Target:" = "Target:";
+
+"attributes" = "attributes";
+"attendees" = "attendees";
+/* checkbox title */
+"is private" = "is private";
+/* classification */
+"Public" = "Public";
+"Private" = "Private";
+/* text used in overviews and tooltips */
+"empty title" = "Empty title";
+"private appointment" = "Private appointment";
+
+"Change..." = "Change...";
+
+/* Appointments (participation state) */
+
+"partStat_NEEDS-ACTION" = "Needs action";
+"partStat_ACCEPTED" = "Accepted";
+"partStat_DECLINED" = "Declined";
+"partStat_TENTATIVE" = "Tentative";
+"partStat_DELEGATED" = "Delegated";
+"partStat_OTHER" = "Other";
+
+/* Appointments (error messages) */
+
+"Conflicts found!" = "Conflicts found!";
+"Invalid iCal data!" = "Invalid iCal data!";
+"Could not create iCal data!" = "Could not create iCal data!";
+
+/* Searching */
+
+"view_all" = "All";
+"view_today" = "Today";
+"view_next7" = "Next 7 days";
+"view_next14" = "Next 14 days";
+"view_next31" = "Next 31 days";
+"view_thismonth" = "This Month";
+"view_future" = "All Future Events";
+"view_selectedday" = "Selected Day";
+
+"View:" = "View:";
+"Title or Description" = "Title or Description";
+
+"Search" = "Search";
+"Search attendees" = "Search attendees";
+"Search resources" = "Search resources";
+"Search appointments" = "Search appointments";
+"Search in Anais" = "Search in Anais";
+
+"All day Event" = "All day Event";
+"check for conflicts" = "Check for conflicts";
+
+"Browse URL" = "Browse URL";
+
+"newAttendee" = "Add attendee";
+
+/* calendar modes */
+
+"Overview" = "Overview";
+"Chart" = "Chart";
+"List" = "List";
+"Columns" = "Columns";
+
+/* Priorities */
+
+"prio_0" = "Not specified";
+"prio_1" = "High";
+"prio_2" = "High";
+"prio_3" = "High";
+"prio_4" = "High";
+"prio_5" = "Normal";
+"prio_6" = "Low";
+"prio_7" = "Low";
+"prio_8" = "Low";
+"prio_9" = "Low";
+
+/* access classes (privacy) */
+"PUBLIC_vevent" = "Public Event";
+"CONFIDENTIAL_vevent" = "Confidential Event";
+"PRIVATE_vevent" = "Private Event";
+"PUBLIC_vtodo" = "Public Task";
+"CONFIDENTIAL_vtodo" = "Confidential Task";
+"PRIVATE_vtodo" = "Private Task";
+
+/* status type */
+"status_" = "Not specified";
+"status_NOT-SPECIFIED" = "Not specified";
+"status_TENTATIVE" = "Tentative";
+"status_CONFIRMED" = "Confirmed";
+"status_CANCELLED" = "Cancelled";
+"status_NEEDS-ACTION" = "Needs Action";
+"status_IN-PROCESS" = "In Process";
+"status_COMPLETED" = "Completed on";
+
+/* Cycles */
+
+"cycle_once" = "cycle_once";
+"cycle_daily" = "cycle_daily";
+"cycle_weekly" = "cycle_weekly";
+"cycle_2weeks" = "cycle_2weeks";
+"cycle_4weeks" = "cycle_4weeks";
+"cycle_monthly" = "cycle_monthly";
+"cycle_weekday" = "cycle_weekday";
+"cycle_yearly" = "cycle_yearly";
+
+"cycle_end_never" = "cycle_end_never";
+"cycle_end_until" = "cycle_end_until";
+
+"Recurrence pattern" = "Recurrence pattern";
+"Range of recurrence" = "Range of recurrence";
+
+"Repeat" = "Repeat";
+"Daily" = "Daily";
+"Weekly" = "Weekly";
+"Monthly" = "Monthly";
+"Yearly" = "Yearly";
+"Every" = "Every";
+"Days" = "Days";
+"Week(s)" = "Week(s)";
+"On" = "On";
+"Month(s)" = "Month(s)";
+"The" = "The";
+"Recur on day(s)" = "Recur on day(s)";
+"Year(s)" = "Year(s)";
+"cycle_of" = "of";
+"No end date" = "No end date";
+"Create" = "Create";
+"appointment(s)" = "appointment(s)";
+"Repeat until" = "Repeat until";
+
+"First" = "First";
+"Second" = "Second";
+"Third" = "Third";
+"Fourth" = "Fourth";
+"Fift" = "Fift";
+"Last" = "Last";
+
+/* Appointment categories */
+
+"category_NONE" = "None";
+"category_ANNIVERSARY" = "Anniversary";
+"category_BIRTHDAY" = "Birthday";
+"category_BUSINESS" = "Business";
+"category_CALLS" = "Calls";
+"category_CLIENTS" = "Clients";
+"category_COMPETITION" = "Competition";
+"category_CUSTOMER" = "Customer";
+"category_FAVORITES" = "Favorites";
+"category_FOLLOW UP" = "Follow up";
+"category_GIFTS" = "Gifts";
+"category_HOLIDAYS" = "Holidays";
+"category_IDEAS" = "Ideas";
+"category_ISSUES" = "Issues";
+"category_MISCELLANEOUS" = "Miscellaneous";
+"category_PERSONAL" = "Personal";
+"category_PROJECTS" = "Projects";
+"category_PUBLIC HOLIDAY" = "Public Holiday";
+"category_STATUS" = "Status";
+"category_SUPPLIERS" = "Suppliers";
+"category_TRAVEL" = "Travel";
+"category_VACATION" = "Vacation";
+
+"repeat_NEVER" = "Does not repeat";
+"repeat_DAILY" = "Daily";
+"repeat_WEEKLY" = "Weekly";
+"repeat_BI-WEEKLY" = "Bi-weekly";
+"repeat_EVERY WEEKDAY" = "Every Weekday";
+"repeat_MONTHLY" = "Monthly";
+"repeat_YEARLY" = "Yearly";
+"repeat_CUSTOM" = "Custom...";
+
+"reminder_NONE" = "No reminder";
+"reminder_5_MINUTES_BEFORE" = "5 minutes before";
+"reminder_10_MINUTES_BEFORE" = "10 minutes before";
+"reminder_15_MINUTES_BEFORE" = "15 minutes before";
+"reminder_30_MINUTES_BEFORE" = "30 minutes before";
+"reminder_45_MINUTES_BEFORE" = "45 minutes before";
+"reminder_1_HOUR_BEFORE" = "1 hour before";
+"reminder_2_HOURS_BEFORE" = "2 hours before";
+"reminder_5_HOURS_BEFORE" = "5 hours before";
+"reminder_15_HOURS_BEFORE" = "15 hours before";
+"reminder_1_DAY_BEFORE" = "1 day before";
+"reminder_2_DAYS_BEFORE" = "2 days before";
+"reminder_1_WEEK_BEFORE" = "1 week before";
+"reminder_CUSTOM" = "Custom...";
+
+"reminder_MINUTES" = "минут";
+"reminder_HOURS" = "часов";
+"reminder_DAYS" = "дней";
+"reminder_BEFORE" = "до";
+"reminder_AFTER" = "после";
+"reminder_START" = "начала события";
+"reminder_END" = "конца события";
+
+"zoom_400" = "400%";
+"zoom_200" = "200%";
+"zoom_100" = "100%";
+"zoom_50" = "50%";
+"zoom_25" = "25%";
+
+/* transparency */
+
+"Show Time as Free" = "Отображать время как свободное";
+
+/* validation errors */
+
+validate_notitle = "No title is set, continue?";
+validate_invalid_startdate = "Incorrect startdate field!";
+validate_invalid_enddate = "Incorrect enddate field!";
+validate_endbeforestart = "The end date that you entered occurs before the start date.";
+
+"Tasks" = "Задачи";
+"Show completed tasks" = "Показать выполненные задачи";
+
+/* tabs */
+"Task" = "Задача";
+"Event" = "Событие";
+"Recurrence" = "Повторение";
+
+/* toolbar */
+"New Event" = "Новое событие";
+"New Task" = "Новая задача";
+"Edit" = "Изменить";
+"Delete" = "Удалить";
+"Go to Today" = "Сегодня";
+"Day View" = "День";
+"Week View" = "По неделям";
+"Month View" = "Месяц";
+
+"eventPartStatModificationError" = "Невозможно изменить статус Вашего участия.";
+
+/* menu */
+"New Event..." = "New Event...";
+"New Task..." = "New Task...";
+"Edit Selected Event..." = "Edit Selected Event...";
+"Delete Selected Event" = "Delete Selected Event";
+"Select All" = "Select All";
+"Workweek days only" = "Workweek days only";
+"Tasks in View" = "Tasks in View";
+
+"eventDeleteConfirmation" = "Erasing this event will be permanent.\nWould you like to continue?";
+"taskDeleteConfirmation" = "Erasing this task will be permanent.\nWould you like to continue?";
+
+"You cannot remove nor unsubscribe from your personal calendar."
+= "Вы не можете удалить персональный календарь, равно как и выключить подписку на него.";
+"Are you sure you want to delete the calendar \"%{0}\"?"
+= "Вы уверены что хотите удалить календарь \"%{0}\"?";
+
+/* Legend */
+"Required participant" = "Required participant";
+"Optional participant" = "Optional participant";
+"Chair" = "Chair";
+
+"Needs action" = "Needs action";
+"Accepted" = "Accepted";
+"Declined" = "Declined";
+"Tentative" = "Tentative";
+
+"Free" = "Free";
+"Busy" = "Busy";
+"Maybe busy" = "Maybe busy";
+"No free-busy information" = "No free-busy information";
+
+/* FreeBusy panel buttons and labels */
+"Suggest time slot:" = "Suggest time slot:";
+"Zoom:" = "Zoom:";
+"Previous slot" = "Previous slot";
+"Next slot" = "Next slot";
+"Previous hour" = "Previous hour";
+"Next hour" = "Next hour";
+
+/* apt list */
+"Title" = "Title";
+"Start" = "Start";
+"End" = "End";
+"Location" = "Location";
+"(Private Event)" = "(Private Event)";
+
+vevent_class0 = "(Public event)";
+vevent_class1 = "(Private event)";
+vevent_class2 = "(Confidential event)";
+
+vtodo_class0 = "(Public task)";
+vtodo_class1 = "(Private task)";
+vtodo_class2 = "(Confidential task)";
+
+"closeThisWindowMessage" = "Thank you! You may now close this window or view your ";
+"Multicolumn Day View" = "Multicolumn Day View";
+
+"Please select an event or a task." = "Пожалуйста выберите событие или задачу.";
+
+"editRepeatingItem" = "Вы выбрали для изменения повторяющееся событие. Изменяя свойства этого события, вы можете изменить их для всех повторов или только для выбранного события. Что вы хотите изменить?";
+"button_thisOccurrenceOnly" = "Только это событие";
+"button_allOccurrences" = "Все повторы";
+
+/* Properties dialog */
+"Name:" = "Название:";
+"Color:" = "Цвет:";
+"Tag:" = "Tag:";
diff --git a/UI/Templates/SOGoACLRussianAdditionAdvisory.wox b/UI/Templates/SOGoACLRussianAdditionAdvisory.wox
new file mode 100644
index 000000000..4eab0d69e
--- /dev/null
+++ b/UI/Templates/SOGoACLRussianAdditionAdvisory.wox
@@ -0,0 +1,27 @@
+
+
+
+
+
+ has added you
+
+
+
+ has added you to the access list for his folder.
+
+You can subscribe directly to that folder by following this link:
+ subscribe?mail-invitation=YES
+
+Otherwise, you will be able to subscribe later from the SOGo web interface.
+
+You can also access this resource remotely using the following URL:
+
+
+
+
+
diff --git a/UI/Templates/SOGoACLRussianModificationAdvisory.wox b/UI/Templates/SOGoACLRussianModificationAdvisory.wox
new file mode 100644
index 000000000..9216e7a29
--- /dev/null
+++ b/UI/Templates/SOGoACLRussianModificationAdvisory.wox
@@ -0,0 +1,27 @@
+
+
+
+
+
+ has modified the access rights
+
+
+
+ has modified your access rights for his folder.
+
+You can subscribe directly to that folder by following this link:
+ subscribe?mail-invitation=YES
+
+Otherwise, you will be able to subscribe later from the SOGo web interface.
+
+You can also access this resource remotely using the following URL:
+
+
+
+
+
diff --git a/UI/Templates/SOGoACLRussianRemovalAdvisory.wox b/UI/Templates/SOGoACLRussianRemovalAdvisory.wox
new file mode 100644
index 000000000..c9add113e
--- /dev/null
+++ b/UI/Templates/SOGoACLRussianRemovalAdvisory.wox
@@ -0,0 +1,27 @@
+
+
+
+
+
+ has removed you
+
+
+
+ has removed you from the access list for his folder.
+
+You can unsubscribe directly to that folder by following this link:
+ unsubscribe?mail-invitation=YES
+
+Otherwise, you will be able to unsubscribe later from the SOGo web interface.
+
+You can also no longer access this resource using the following URL:
+
+
+
+
+
diff --git a/UI/Templates/SOGoFolderRussianAdditionAdvisory.wox b/UI/Templates/SOGoFolderRussianAdditionAdvisory.wox
new file mode 100644
index 000000000..44ad674aa
--- /dev/null
+++ b/UI/Templates/SOGoFolderRussianAdditionAdvisory.wox
@@ -0,0 +1,22 @@
+
+
+
+
+
+ has been created
+
+
+
+The folder has been created.
+
+You can access this resource remotely by using the following URL:
+
+
+
+
+
diff --git a/UI/Templates/SOGoFolderRussianRemovalAdvisory.wox b/UI/Templates/SOGoFolderRussianRemovalAdvisory.wox
new file mode 100644
index 000000000..465b868ce
--- /dev/null
+++ b/UI/Templates/SOGoFolderRussianRemovalAdvisory.wox
@@ -0,0 +1,22 @@
+
+
+
+
+
+ has been deleted
+
+
+
+The folder has been deleted.
+
+The following URL is now no longer active:
+
+
+
+
+