diff --git a/help/cbot/po/ru.po b/help/cbot/po/ru.po
index 425cb17e..9e10ae70 100644
--- a/help/cbot/po/ru.po
+++ b/help/cbot/po/ru.po
@@ -8387,7 +8387,7 @@ msgstr ""
#: ../E/super.txt:1
#, no-wrap
msgid "Keyword super
"
-msgstr ""
+msgstr "Ключевое слово super
"
#. type: Plain text
#: ../E/super.txt:46
@@ -8419,13 +8419,13 @@ msgstr "Ключевое слово extends
"
#: ../E/extends.txt:30
#, no-wrap
msgid "Inherited Members"
-msgstr ""
+msgstr "Наследованные Методы"
#. type: Plain text
#: ../E/extends.txt:31
#, no-wrap
msgid "Only public
and protected
members are inherited. private
members are directly inaccessible even for a child, although they can be accessed indirectly through inherited methods."
-msgstr ""
+msgstr "Только public
и protected
метода наследуются. private
члены напрямую недоступны даже для ребенка, хотя они могут быть доступны косвенно через наследованные методы."
#. type: Plain text
#: ../E/extends.txt:33
@@ -8443,7 +8443,7 @@ msgstr ""
#: ../E/extends.txt:36
#, no-wrap
msgid "Inherited methods can be overriden (redefined) in the child class definition. Example:"
-msgstr ""
+msgstr "Наследованные методы могут быть переопределены в определении класса ребенка. Например:"
#. type: Source code
#: ../E/extends.txt:38
@@ -8482,7 +8482,7 @@ msgstr "Полиморфизм"
#: ../E/extends.txt:63
#, no-wrap
msgid "Reference
of type Parent can point to an object of type Child. However, such a pointer can't be used to access a child member. In order to access a child member, it must be assured that the Parent reference really points to a Child object. If that's the case, it can be safely copied to a pointer of type Child, which has access to the child members."
-msgstr ""
+msgstr "Ссылка
типа Родитель может указывать на объект типа Ребенок. Однако, такой указатель не может использоватсья для доступа к члену ребенка. Для того чтобы получить доступ к члену ребенка, надо быть уверенным, чтобы ссылка на Родитель действительно указывает на объект Ребенка. Если это именно такой случай, то она может быть безопасно скопирована в указатель типа Ребенок, который имеет доступ к членам ребенка."
#. type: Source code
#: ../E/extends.txt:67
@@ -8527,13 +8527,13 @@ msgstr ""
#: ../E/extends.txt:102
#, no-wrap
msgid "Multiple Inheritance"
-msgstr ""
+msgstr "Множественное Наследование"
#. type: Plain text
#: ../E/extends.txt:103
#, no-wrap
msgid "A child cannot have multiple parents, however, a parent can have many children."
-msgstr ""
+msgstr "Ребенок не может иметь несколько родителей, но, родетель может иметь много детей."
#. type: Plain text
#: ../E/extends.txt:106
@@ -8547,7 +8547,7 @@ msgstr ""
#: ../E/super.txt:2
#, no-wrap
msgid "This keyword is similar to this
, however, it grants access to methods from the parent class (see the extends
keyword), which is especially useful for method overriding."
-msgstr ""
+msgstr "Это ключевое слов подобно this
, но, оно дает доступ к методам от родительского класса (смотри ключевое слово extends
), это особенно полезно для перегрузки методов."
#. type: Source code
#: ../E/super.txt:6
@@ -8596,7 +8596,7 @@ msgstr ""
#: ../E/extends.txt:2
#, no-wrap
msgid "This keyword is used in a class
definition when we want the class to inherit members from another class. The class which is extended we usually call a parent or base, the extending class we call a child."
-msgstr ""
+msgstr "Это ключевое слово используется в определении class
когда мы хотим чтобы класс наследовал члены от другого класса. Класс, который расширен, мы обычно называем родителем или базовым классом, а расширяющий класс мы называем ребенком."
#. type: Source code
#: ../E/extends.txt:6
@@ -8630,13 +8630,13 @@ msgstr ""
#: ../E/extends.txt:60
#, no-wrap
msgid "A parent's method can be called inside an overriden method by using the super
keyword."
-msgstr ""
+msgstr "Родительский метод может быть вызван внутри перегруженного метода используя ключевое слово super
."
#. type: Plain text
#: ../E/class.txt:56
#, no-wrap
msgid "As shown in the previous example, the class members can be initialized in the class definition (int x = 3.33;)."
-msgstr ""
+msgstr "Как показано в предыдущем примере, члены класса могут быть инициализированы в определении класса (int x = 3.33;)."
#. type: Plain text
#: ../E/open.txt:13
@@ -8646,6 +8646,9 @@ msgid ""
"\"w\"
mode: open for writing.\n"
"\"a\"
mode: open for appending."
msgstr ""
+"\"r\"
режим: открыть для чтения.\n"
+"\"w\"
режим: открыть для записи.\n"
+"\"w\"
режим: открыть для добавления."
#. type: Plain text
#: ../E/openfile.txt:2
@@ -8661,30 +8664,33 @@ msgid ""
"\"w\"
mode: open for writing.\n"
"\"w\"
mode: open for appending."
msgstr ""
+"\"r\"
режим: открыть для чтения.\n"
+"\"w\"
режим: открыть для записи.\n"
+"\"w\"
режим: открыть для добавления."
#. type: Plain text
#: ../E/function.txt:14
#, no-wrap
msgid "Nothing but a name can be changed in the main function. The keyword extern
distinguishes the main function from others."
-msgstr ""
+msgstr "Ничего кроме имени может быть изменено в главной функции. Ключевое слово extern
отличает главную функцию от других."
#. type: \b; header
#: ../E/function.txt:117
#, no-wrap
msgid "Public Functions"
-msgstr ""
+msgstr "Публичные Функции"
#. type: \b; header
#: ../E/function.txt:129
#, no-wrap
msgid "Default Parameters"
-msgstr ""
+msgstr "Параметры по умолчанию"
#. type: Plain text
#: ../E/function.txt:130
#, no-wrap
msgid "Last function parameters can have default values that can be omitted when calling."
-msgstr ""
+msgstr "Последние параметры функции могут иметь параметры по умолчанию, которые можно опустить, когда вызывается функция."
#. type: Source code
#: ../E/function.txt:132
@@ -8706,13 +8712,13 @@ msgstr ""
#: ../E/function.txt:144
#, no-wrap
msgid "Default Parameters and Overloading"
-msgstr ""
+msgstr "Параметры по умолчанию и Перегрузка"
#. type: Plain text
#: ../E/function.txt:145
#, no-wrap
msgid "Functions with default parameters still can be overloaded, one must only ensure that function calls are not ambiguous. For example, consider the following code:"
-msgstr ""
+msgstr "Функции с параметрами по умолчанию все еще могут быть перегружены, нужно только быть уверенным, что вызовы функций не двусмысленны. Например, рассмотрим следующий код: "
#. type: Source code
#: ../E/function.txt:147
@@ -8739,4 +8745,4 @@ msgstr ""
#: ../E/function.txt:163
#, no-wrap
msgid "Note that in the above example overloading causes the first default parameter to be useless as caller needs to pass it anyway in order to distinguish the two functions."
-msgstr ""
+msgstr "Заметьте, что в вышеприведенном примере, перегрузка приводит к тому, что первый параметр по умолчанию становится бесполезным, т.к. вызывающий должен передать его в любом случае для того, чтобы можно было отличить две функции."