Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dart/ru] #4997

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

[dart/ru] #4997

wants to merge 4 commits into from

Conversation

nikaose
Copy link

@nikaose nikaose commented Jul 5, 2024

  • I solemnly swear that this is all original content of which I am the original author
  • Pull request title is prepended with [language/lang-code] (example [python/fr-fr] or [java/en])
  • Pull request touches only one file (or a set of logically related files with similar changes made)
  • Content changes are aimed at intermediate to experienced programmers (this is a poor format for explaining fundamental programming concepts)
  • If you've changed any part of the YAML Frontmatter, make sure it is formatted according to CONTRIBUTING.md
    • Yes, I have double-checked quotes and field names!

@nikaose nikaose requested a review from Menelion as a code owner July 5, 2024 14:41
Он поддерживает потоки, фьючерсы (известные как промисы в JavaScript), дженерики, первоклассные функции (замыкания) и проверку статического типа.
Dart может работать на любой платформе, включая веб-интерфейс, интерфейс командной строки, десктопные, мобильные устройства и устройства IoT.

Самая спорная функция Dart это ~~Необязательный ввод~~ Статическая безопасность типов и [Проверка звукового типа](https://dart.dev/guides/language/sound-dart).
Copy link
Collaborator

@verhovsky verhovsky Jul 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

звукового типа

Это авто перевод? Тут sound это прилагательное, в смысле здравый; правильный; благоразумный. Но вообще эту строку можно просто удалить.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Эту строку удалю

@nikaose nikaose requested a review from verhovsky July 6, 2024 15:16
- ["Joao Pedrosa", "https://github.com/jpedrosa/"]
- ["Vince Ramces Oliveros", "https://github.com/ram231"]
translators:
- ["nikaose", "https://github.com/nikaose"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- ["nikaose", "https://github.com/nikaose"]
- ["nikaose", "https://github.com/nikaose"]


**Dart** это однопоточный язык программирования общего назначения.
Он многое заимствует из других основных языков.
Он поддерживает потоки, фьючерсы (известные как промисы в JavaScript), дженерики, первоклассные функции (замыкания) и проверку статического типа.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Он поддерживает потоки, фьючерсы (известные как промисы в JavaScript), дженерики, первоклассные функции (замыкания) и проверку статического типа.
Он поддерживает потоки, фьючерсы (известные как промисы в JavaScript), дженерики, первоклассные функции (замыкания) и статические типы.

// Однострочный комментарий
/**
* Многострочный комментарий
* Можно прокомментировать несколько строк
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Можно прокомментировать несколько строк
* может прокомментировать несколько строк

/// 4 типа объявления переменных.
/// Константы — это переменные, которые являются неизменяемыми и не могут быть изменены.
/// `const` в Dart должен использовать объявление имени SCREAMING_SNAKE_CASE.
const CONSTANT_VALUE = "Я НЕ МОГУ ПОМЕНЯТЬ";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const CONSTANT_VALUE = "Я НЕ МОГУ ПОМЕНЯТЬ";
const CONSTANT_VALUE = "Я НЕ МОГУ ИЗМЕНИТЬСЯ";

/// Константы — это переменные, которые являются неизменяемыми и не могут быть изменены.
/// `const` в Dart должен использовать объявление имени SCREAMING_SNAKE_CASE.
const CONSTANT_VALUE = "Я НЕ МОГУ ПОМЕНЯТЬ";
CONSTANT_VALUE = "Я сделал?"; // Ошибка
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
CONSTANT_VALUE = "Я сделал?"; // Ошибка
CONSTANT_VALUE = "Или могу?"; // Ошибка


/// `dynamic` — это еще одно объявление переменной, в котором тип не оценивается при проверке статического типа Dart.
/// Он может изменить свое значение и тип данных.
/// Некоторые дартисты используют динамический подход с осторожностью, поскольку он не может отслеживать тип данных. так что используйте его на свой страх и риск
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Некоторые дартисты используют динамический подход с осторожностью, поскольку он не может отслеживать тип данных. так что используйте его на свой страх и риск
/// Некоторые дартисты используют dynamic с осторожностью, поскольку он не может отслеживать тип данных. так что используйте его на свой страх и риск


example5() {
/// Создайте анонимный экземпляр класса Example5Class и вызовите для него метод sayIt
/// Ключевое слово `new` в Dart не является обязательным..
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Ключевое слово `new` в Dart не является обязательным..
/// Ключевое слово `new` в Dart не является обязательным.

new Example5Class().sayIt();
}

/// Объявление класса принимает форму имени класса. { [classBody] }.
Copy link
Collaborator

@verhovsky verhovsky Jul 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Объявление класса принимает форму имени класса. { [classBody] }.
/// Объявление класса принимает форму class имя { [телоКласса] }.

}

/// Объявление класса принимает форму имени класса. { [classBody] }.
/// Где classBody может включать методы и переменные экземпляра,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Где classBody может включать методы и переменные экземпляра,
/// Где телоКласса может включать методы и переменные экземпляра,

Example6Class().sayIt();
}

/// Методы и переменные класса объявляются с помощью «статических» терминов.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Методы и переменные класса объявляются с помощью «статических» терминов.
/// Методы и переменные класса объявляются с помощью static.

}
// методы также могут иметь дженерики
genericMethod<M>(){
print("class:$T, method: $M");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
print("class:$T, method: $M");
print("class: $T, method: $M");

}


/// Список похож на массивы, но список является дочерним элементом Iterable<E>.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Список похож на массивы, но список является дочерним элементом Iterable<E>.
/// Списки (List) похожи на массивы, но List является дочерним элементом Iterable<E>.



/// Список похож на массивы, но список является дочерним элементом Iterable<E>.
/// Поэтому Maps, List, LinkedList являются дочерними элементами Iterable<E>,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Поэтому Maps, List, LinkedList являются дочерними элементами Iterable<E>,
/// Поэтому Map, List, LinkedList являются дочерними элементами Iterable<E>,


/// Список похож на массивы, но список является дочерним элементом Iterable<E>.
/// Поэтому Maps, List, LinkedList являются дочерними элементами Iterable<E>,
/// чтобы иметь возможность зацикливаться с использованием ключевого слова `for`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// чтобы иметь возможность зацикливаться с использованием ключевого слова `for`
/// чтобы их можно было перебирать с помощью ключевого слова `for`

/// {} - Map<K,V>


/// Список — это здорово, но есть ограничение на то, каким может быть список.
Copy link
Collaborator

@verhovsky verhovsky Jul 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Список — это здорово, но есть ограничение на то, каким может быть список.
/// List — это здорово, но есть ограничение на то, каким может быть список



/// Список — это здорово, но есть ограничение на то, каким может быть список.
/// outside of function/method bodies. List on the outer scope of class
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// outside of function/method bodies. List on the outer scope of class

/// Список — это здорово, но есть ограничение на то, каким может быть список.
/// outside of function/method bodies. List on the outer scope of class
/// вне тела функции/метода. Список во внешней области класса или
/// вне класса должен быть постоянным. Строки и числа используются по умолчанию.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// вне класса должен быть постоянным. Строки и числа используются по умолчанию.
/// вне класса должен быть постоянным. Строки и числа постоянные по умолчанию,

/// outside of function/method bodies. List on the outer scope of class
/// вне тела функции/метода. Список во внешней области класса или
/// вне класса должен быть постоянным. Строки и числа используются по умолчанию.
/// А вот массивы и карты — нет. Их можно сделать постоянными,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// А вот массивы и карты — нет. Их можно сделать постоянными,
/// а вот массивы и карты — нет. Их можно сделать постоянными,

/// вне тела функции/метода. Список во внешней области класса или
/// вне класса должен быть постоянным. Строки и числа используются по умолчанию.
/// А вот массивы и карты — нет. Их можно сделать постоянными,
/// объявив их "const". Что-то похожее на Object.freeze() в Javascript.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// объявив их "const". Что-то похожее на Object.freeze() в Javascript.
/// объявив их "const". Что-то похожее на Object.freeze() в JavaScript.

Comment on lines +203 to +206
List<String> explicitList = new List<String>();
Map<String,dynamic> explicitMaps = new Map<String,dynamic>();

explicitList.add("НекоторыйМассив");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
List<String> explicitList = new List<String>();
Map<String,dynamic> explicitMaps = new Map<String,dynamic>();
explicitList.add("НекоторыйМассив");
List<String> explicitList = new List<String>();
Map<String,dynamic> explicitMaps = new Map<String,dynamic>();
explicitList.add("НекоторыйМассив");


/// Циклы в Dart имеют форму стандартных циклов for () {} или while () {},
/// немного более современный for (.. in ..) {} или функциональные обратные вызовы
/// со многими поддерживаемыми функциями, начиная с forEach,map иwhere.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// со многими поддерживаемыми функциями, начиная с forEach,map иwhere.
/// со многими поддерживаемыми функциями, начиная с forEach, map и where.

var example9Array = const ["a", "b"];
example9() {
for (int i = 0; i < example9Array.length; i++) {
print("Example9 цикл цикл '${example9Array[i]}'");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
print("Example9 цикл цикл '${example9Array[i]}'");
print("Example9 цикл for '${example9Array[i]}'");

print("Example10 цикл строковых символов '${example10String[i]}'");
}
for (var i = 0; i < example10String.length; i++) {
print("Example10 цикл извлечения '${example10String.substring(i, i + 1)}'");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
print("Example10 цикл извлечения '${example10String.substring(i, i + 1)}'");
print("Example10 цикл извлечения подстроки '${example10String.substring(i, i + 1)}'");

Comment on lines +362 to +366
} catch (e) {
print("Example15 catch exception being re-thrown: '${e}'");
} finally {
print("Example15 Still run finally");
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

нужно перевести

Comment on lines +369 to +370
/// Чтобы быть эффективным при динамическом создании длинной строки,
/// используйте StringBuffer. Или вы можете присоединиться к массиву строк.
Copy link
Collaborator

@verhovsky verhovsky Jul 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Чтобы быть эффективным при динамическом создании длинной строки,
/// используйте StringBuffer. Или вы можете присоединиться к массиву строк.
/// Чтобы эффективно создать длинную строку, используйте StringBuffer
/// или вы можете объединить массив строк при помощи join.

Comment on lines +381 to +382
/// Строки можно объединить, просто разместив список строк рядом друг с другом
/// без необходимости использования дополнительных операторов.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Строки можно объединить, просто разместив список строк рядом друг с другом
/// без необходимости использования дополнительных операторов.
/// Строки можно объединить, просто разместив их рядом друг с другом
/// без необходимости использования дополнительных операторов.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants