From 73f36a76e2ea93a2323f4c06df041a368c6ec43b Mon Sep 17 00:00:00 2001 From: Denis Arshava Date: Fri, 12 Jul 2024 21:37:42 +0600 Subject: [PATCH] GH-6 Translation --- .../current/about/complying-with-licenses.md | 130 +++++++++--------- .../current/about/credits.md | 32 ++--- .../current/about/docs_changelog.md | 16 +-- .../current/about/faq.md | 40 +++--- .../current/about/index.md | 6 +- .../current/about/introduction.md | 79 +++++------ .../current/about/release-policy.md | 127 ++++++++--------- .../current/about/requirements.md | 20 +-- .../community/tutorials-and-resources.md | 20 +-- .../development/code-style-guidelines.md | 130 +++++++++--------- 10 files changed, 299 insertions(+), 301 deletions(-) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/about/complying-with-licenses.md b/i18n/ru/docusaurus-plugin-content-docs/current/about/complying-with-licenses.md index a8edc3a..6a8b6a5 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/about/complying-with-licenses.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/about/complying-with-licenses.md @@ -3,104 +3,102 @@ sidebar_position: 5 toc_max_heading_level: 4 --- -# Complying with licenses +# Соблюдение лицензий -## What are licenses? +## Что такое лицензии? -Orchestrator is created and distributed under the Apache License, Version 2.0 license. -The project does not have a sole owner, as every contributor that submits code to the project does so under the same license and keeps ownership of their contributions. +Orchestrator создается и распространяется под лицензией Apache License, версия 2.0. +Проект не имеет единственного владельца, так как каждый участник, который вносит код в проект, делает это под той же лицензией и сохраняет право собственности на свои вклад. -The license is the legal requirement for you (or your company) to use and distribute the software (and derivative works, including games made with it). -Your game or project can have a different license, but it still needs to comply with the original one. +Лицензия является юридическим требованием для вас (или вашей компании) использовать и распространять программное обеспечение (и производные работы, включая игры, сделанные с его использованием). +Ваша игра или проект могут иметь другую лицензию, но они все равно должны соответствовать исходной лицензии. :::tip -In your project's credits screen, remember to include third-party notices for assets you're using, such as textures, models, sounds, music, and fonts. -Free assets in particular often come with licenses that require attribution. -Double-check their licenses before using those in public projects. +На экране с указанием авторов вашего проекта не забудьте включить уведомления третьих сторон о ресурсах, которые вы используете, таких как текстуры, модели, звуки, музыка и шрифты. +Особенно часто бесплатные ресурсы сопровождаются лицензиями, требующими указания авторства. +Тщательно проверьте их лицензии перед использованием в публичных проектах. ::: -### Requirements {#requirements} +### Требования {#requirements} -For derived works that include Orchestrator, but do not modify or change its source, include the following: +Для производных работ, которые включают Orchestrator, но не изменяют его исходный код, включите следующее: ```text - This game uses Orchestrator, which is available under the following license: + Эта игра использует Orchestrator, который доступен под следующей лицензией: - Copyright (c) 2023-present Crater Crash Studios, LLC and it's contributors. + Copyright (c) 2023-настоящее время Crater Crash Studios, LLC и его участники. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at + Лицензировано по Apache License, Version 2.0 (далее "Лицензия"); + вы не можете использовать этот файл, кроме как в соответствии с Лицензией. + Вы можете получить копию Лицензии по адресу http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -:::danger[Critical] -For works that not only include Orchestrator, but includes a modified version of the plug-in, be sure you company with the full Apache License, Version 2.0 requirements. -These requirements not only require the inclusion of the above text, but all source files of the original work must retain the original copyright and license preamble. -Additionally, any changes made to the source must be recorded in the headers of the source files. -While changes are not required to be submitted back to the original project, they're welcomed! + Если это не требуется по применимому законодательству или письменно согласовано, программное + обеспечение, распространяемое по Лицензии, распространяется на условиях "КАК ЕСТЬ", + БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. + См. Лицензию для получения конкретных управляющих прав и ограничений. + + +:::danger[Критично] +Для работ, которые не только включают Orchestrator, но и включают модифицированную версию плагина, убедитесь, что вы соблюдаете все требования Apache License, версия 2.0. +Эти требования включают не только вышеуказанный текст, но и то, что все исходные файлы оригинальной работы должны сохранять исходное авторское право и преамбулу лицензии. +Кроме того, любые изменения, внесенные в исходный код, должны быть зафиксированы в заголовках исходных файлов. +Хотя изменения не обязательно должны быть отправлены обратно в исходный проект, они приветствуются! ::: + + :::tip -Your game does not need to be under the same license as Orchestrator. -You are free to release your Godot project under any license, and to create commercial games with this plug-in. +Ваша игра не обязательно должна быть под той же лицензией, что и Orchestrator. +Вы можете выпустить свой проект Godot под любой лицензией и создавать коммерческие игры с этим плагином. ::: -### Inclusion +### Включение -The license does not specify specifically how it must be included in your game. -There are a number of options that you can freely use depending on how you distribute or wish to share license information with your users. -These are the most common approaches, and you only need to implement one, not all. +Лицензия не указывает конкретно, как она должна быть включена в вашу игру. +Существует несколько вариантов, которые вы можете использовать в зависимости от того, как вы распространяете или хотите поделиться информацией о лицензии с вашими пользователями. +Это наиболее распространенные подходы, и вам нужно реализовать только один, а не все. -#### Credits screen +#### Экран с указанием авторов -Include the above [License text](#requirements) somewhere in the credits screen. -It can be at the bottom after showing the rest of the credits. -Most studios use this approach with open source licenses. +Включите вышеупомянутый [текст лицензии](#requirements) где-нибудь на экране с указанием авторов. +Он может быть внизу после отображения остальных авторов. +Большинство студий используют этот подход с лицензиями с открытым исходным кодом. -#### Licenses screen +#### Экран с лицензиями -Some games have a special menu (often in the settings) to display licenses. -This menu is typically accessed with a button called `Third-party Licenses` or `Open Source Licenses`. -If your game uses such a style, include the above [License text](#requirements) there. +Некоторые игры имеют специальное меню (часто в настройках) для отображения лицензий. +Это меню обычно доступно через кнопку `Лицензии третьих сторон` или `Лицензии с открытым исходным кодом`. +Если ваша игра использует такой стиль, включите вышеупомянутый [текст лицензии](#requirements) там. -#### Accompanying file +#### Сопроводительный файл -If the game is distributed on desktop platforms, a file that contains the [License text](#requirements) can be added to the software that is installed on the user's PC. +Если игра распространяется на настольных платформах, файл, содержащий [текст лицензии](#requirements), может быть добавлен к программному обеспечению, установленному на ПК пользователя. -#### Printed manual +#### Печатное руководство -If the game includes printed manuals, [License text](#requirements) can be included there. +Если игра включает печатные руководства, [текст лицензии](#requirements) можно включить туда. -### Third-party licenses +### Лицензии третьих сторон -Orchestrator is free and open-source, and its built using other free and open-source technologies. -Each of those technologies have their own respective licenses, and thanks to them, Orchestrator is possible. +Orchestrator бесплатен и имеет открытый исходный код, и его создание стало возможным благодаря другим бесплатным и открытым технологиям. +Каждая из этих технологий имеет свои собственные лицензии, и благодаря им Orchestrator возможен. #### Godot GDExtension (godot-cpp) ```text -Copyright (c) 2017-present Godot Engine contributors. +Copyright (c) 2017-настоящее время участники Godot Engine. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, -sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or -substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` - +Настоящим предоставляется разрешение, бесплатно, любому лицу, получившему копию этого программного обеспечения +и сопутствующих файлов документации (далее "Программное обеспечение"), использовать Программное обеспечение без ограничений, +включая, помимо прочего, права на использование, копирование, изменение, слияние, публикацию, распространение, +сублицензирование и/или продажу копий Программного обеспечения, а также разрешение лицам, которым Программное обеспечение предоставляется, +делать это, при соблюдении следующих условий: + +Вышеуказанное уведомление об авторских правах и это разрешение должны быть включены во все копии +или значительные части Программного обеспечения. + +ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ", БЕЗ ГАРАНТИЙ ЛЮБОГО РОДА, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, +НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ КОММЕРЧЕСКОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. +НИ В КОЕМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ИСКИ, УБЫТКИ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, +НЕЗАВИСИМО ОТ ФОРМЫ ДЕЙСТВИЯ, ВОЗНИКШИЕ ИЗ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/about/credits.md b/i18n/ru/docusaurus-plugin-content-docs/current/about/credits.md index d1364bf..561bf0e 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/about/credits.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/about/credits.md @@ -2,22 +2,22 @@ sidebar_position: 7 --- -# Credits +# Благодарности -These are assets used by this documentation, but are from other sources. +Это ресурсы, используемые в данной документации, но взятые из других источников. -| Image Names | Attribution | License | +| Названия изображений | Авторство | Лицензия | |:--------------------------------------------------|:------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------| -| scripting_first_script_rotating_godot.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| scripting_first_script_add_sprite_node.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| scripting_first_script_add_sprite_node.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| scripting_first_script_scene_tree.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| scripting_first_script_setting_texture.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| scripting_first_script_centering_sprite.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| scripting_first_script_print_hello_world.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| scripting_first_script_godot_turning_in_place.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| scripting_first_script_rotating_godot.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| scripting_first_script_moving_with_input.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| key_concepts_main_menu.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| key_concepts_character_nodes.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | -| key_concepts_signals.gif | Juan Linietsky, Ariel Manzur and the Godot community. | LICENSE.txt | \ No newline at end of file +| scripting_first_script_rotating_godot.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| scripting_first_script_add_sprite_node.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| scripting_first_script_add_sprite_node.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| scripting_first_script_scene_tree.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| scripting_first_script_setting_texture.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| scripting_first_script_centering_sprite.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| scripting_first_script_print_hello_world.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| scripting_first_script_godot_turning_in_place.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| scripting_first_script_rotating_godot.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| scripting_first_script_moving_with_input.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| key_concepts_main_menu.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| key_concepts_character_nodes.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | +| key_concepts_signals.gif | Juan Linietsky, Ariel Manzur and the Godot community | LICENSE.txt | diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/about/docs_changelog.md b/i18n/ru/docusaurus-plugin-content-docs/current/about/docs_changelog.md index 483a9f5..cea6705 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/about/docs_changelog.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/about/docs_changelog.md @@ -2,17 +2,17 @@ sidebar_position: 6 --- -# Documentation changelog +# Журнал изменений документации -The documentation is continually being improved. -New releases include new pages, fixes, and updates to existing pages, and many updates to the [Script Node Reference](../nodes/all_nodes). -Below is a list of new pages added since version 2.0. +Документация постоянно улучшается. +Новые выпуски включают новые страницы, исправления и обновления существующих страниц, а также множество обновлений в [Справочнике по узлам скриптов](../nodes/all_nodes). +Ниже приведен список новых страниц, добавленных с версии 2.0. :::info -This document only contains new pages so not all changes are reflected. +Этот документ содержит только новые страницы, поэтому не все изменения отражены. ::: -### New pages since version 2.0 +### Новые страницы с версии 2.0 -- Added [Memory](../nodes/memory) nodes for [Creating Objects](../nodes/memory#creating-objects) and [Freeing Objects](../nodes/memory#freeing-objects) details. -- Added [Method Chaining](../nodes/functions#method-chaining) details. \ No newline at end of file +- Добавлены узлы [Memory](../nodes/memory) для [Создания объектов](../nodes/memory#creating-objects) и [Освобождения объектов](../nodes/memory#freeing-objects). +- Добавлены детали [Цепочки методов](../nodes/functions#method-chaining). diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/about/faq.md b/i18n/ru/docusaurus-plugin-content-docs/current/about/faq.md index 6ee753d..991b54e 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/about/faq.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/about/faq.md @@ -2,33 +2,33 @@ sidebar_position: 4 --- -# Frequently asked questions +# Часто задаваемые вопросы -## General +## Общие вопросы -* **What license is Orchestrator code under?**
-Orchestrator is licensed under the Apache License, Version 2.0. +* **Под какой лицензией находится код Orchestrator?**
+Orchestrator лицензирован под лицензией Apache, версия 2.0. -* **What license is Orchestrator logo and marketing images under?**
-The Orchestrator logo and marketing images, including this website, are Copyright © 2023 Crater Crash Studios. All Rights Reserved. +* **Под какой лицензией находятся логотип и маркетинговые изображения Orchestrator?**
+Логотип и маркетинговые изображения Orchestrator, включая этот веб-сайт, являются Copyright © 2023 Crater Crash Studios. Все права защищены. -* **Do you offer support for this plugin?**
-Yes, we are committed to providing support for our plugin, simply leave your questions on our discord. +* **Предоставляете ли вы поддержку для этого плагина?**
+Да, мы обязуемся предоставлять поддержку для нашего плагина, просто оставьте свои вопросы в нашем Discord. -* **Where can I find the source code for Orchestrator?**
-You can find the source code on our GitHub repository. +* **Где я могу найти исходный код Orchestrator?**
+Вы можете найти исходный код в нашем репозитории GitHub. -* **I have a suggestion or idea, how do I provide this to you?**
-Feel free to leave it in our discord in the `#suggestions` channel, or our GitHub repository. +* **У меня есть предложение или идея, как я могу поделиться этим с вами?**
+Не стесняйтесь оставить его в нашем канале `#suggestions` на Discord или в нашем репозитории GitHub. -* **Are you affiliated with Godot or the Godot Engine?**
- No, Crater Crash Studios is not affiliated with Godot or the Godot Engine. +* **Вы аффилированы с Godot или движком Godot?**
+Нет, Crater Crash Studios не аффилирована с Godot или движком Godot. -* **Does Orchestrator support Godot 4.2 and above?**
- Yes, Orchestrator supports Godot 4.2 and above. It does not work with any version of Godot prior to 4.2. +* **Поддерживает ли Orchestrator Godot 4.2 и выше?**
+Да, Orchestrator поддерживает Godot 4.2 и выше. Он не работает с версиями Godot ниже 4.2. -## Troubleshooting +## Устранение неполадок -* **Error: "Required virtual method ScriptExtension::_get_language must be overridden before calling."**
-This is an unfortunate bug in the Godot engine, and it's normal for GDExtension plug-ins. -This will have no impact on the plug-in's stability, so it's safe to ignore. +* **Ошибка: "Required virtual method ScriptExtension::_get_language must be overridden before calling."**
+Это досадная ошибка в движке Godot, и это нормально для плагинов GDExtension. +Это не повлияет на стабильность плагина, так что можно безопасно игнорировать. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/about/index.md b/i18n/ru/docusaurus-plugin-content-docs/current/about/index.md index a88c2cf..6cd508b 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/about/index.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/about/index.md @@ -7,8 +7,10 @@ slug: / # Документация Godot Orchestrator :::info -Документация Orchestrator доступна на различных языках и в различных версиях. -Разверните селектор языка или версии в верхней панели навигации, чтобы увидеть возможные варианты. +Документация Orchestrator доступна на различных языках и в различных версиях. Разверните селектор языка или версии в верхней панели навигации, чтобы увидеть возможные варианты. +::: +:::info +Обратите, пожалуйста, внимание, что основная документация Orchestrator написана на английском языке. Документация Orchestrator на русском языке может быть не полностью переведена с английского языка, а также учитывайте, что документация по Orchestrator регулярно обновляется, и актуализация документации на русском языке занимает время. Если вы хотите получить всегда самую актуальную документацию, используйте, пожалуйста, документацию на английском языке. ::: Добро пожаловать в официальную документацию Orchestrator, лучшего решения для визуального скриптинга, специально разработанного для платформы Godot. Если вы новичок в этой документации, мы рекомендуем прочитать [введение](./introduction.md), чтобы получить общее представление о том, что эта документация предлагает. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/about/introduction.md b/i18n/ru/docusaurus-plugin-content-docs/current/about/introduction.md index 7d24c67..ad5e8a3 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/about/introduction.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/about/introduction.md @@ -2,65 +2,66 @@ sidebar_position: 1 --- -# Introduction +# Введение -Welcome to the official documentation of **Orchestrator**, the ultimate Visual-Scripting plug-in for Godot. -Orchestrator is a powerful, yet user-friendly plug-in that you can use to develop any type of game. +Добро пожаловать в официальную документацию **Orchestrator**, лучшего визуально-скриптового плагина для Godot. +Orchestrator — это мощный, но при этом удобный в использовании плагин, который вы можете использовать для разработки любого типа игр. -This page gives a broad overview of the plug-in and this documentation, so you know where to start if you are a beginner or where to look should you need more specific information on a feature. +Эта страница дает общее представление о плагине и документации, чтобы вы знали, с чего начать, если вы новичок, или где искать более конкретную информацию о функции. -## Before you start +## Прежде чем начать -The [Tutorials and resources](../community/tutorials-and-resources) page has a list of video tutorials contributed by various authors, including the authors of the plug-in. -If you prefer video to text, consider checking them out. -Otherwise, [Getting Started](../getting-started/introduction) is a great starting point. +На странице [Уроки и ресурсы](../community/tutorials-and-resources) представлен список видеоуроков от различных авторов, включая авторов плагина. +Если вы предпочитаете видео вместо текста, обратите внимание на них. +В противном случае, [Начало работы](../getting-started/introduction) — отличная отправная точка. -In case you have trouble with one of the tutorials or your project, you can always find help through the Crater Crash Studios Discord community, our Forums, or the Godot Discord. +Если у вас возникли проблемы с одним из уроков или вашим проектом, вы всегда можете найти помощь в сообществе Crater Crash Studios на Discord, на наших форумах или в Discord-сообществе Godot. -## About Orchestrator +## О Orchestrator -Every game emerges from a single idea, and the creation of a game involves many moving parts. -Orchestrator's goal is to provide a series of easy to use, highly customizable features to create game logic, interactions, and supporting logic using visual scripting rather than traditional text-based code. +Каждая игра начинается с одной идеи, и создание игры включает множество движущихся частей. +Цель Orchestrator — предоставить серию простых в использовании, высоко настраиваемых функций для создания игровой логики, взаимодействий и поддерживающей логики с использованием визуального скриптинга, а не традиционного текстового кода. -Orchestrator is completely free and open source under the Apache License, Version 2.0. -The game you create is yours, down to the last line of code. -This plug-in's development is fully independent and entirely community-driven, giving the community the ability to shape the plug-in's future for their needs and expectations. +Orchestrator полностью бесплатен и имеет открытый исходный код под лицензией Apache License, Version 2.0. +Игра, которую вы создаете, принадлежит вам, до последней строки кода. +Разработка этого плагина полностью независима и полностью ориентирована на сообщество, что дает сообществу возможность формировать будущее плагина в соответствии с их потребностями и ожиданиями. -## Organization of the documentation +## Организация документации -This documentation is organized into several sections: +Эта документация организована в несколько разделов: -* **About** contains this introduction, as well as information about the plug-in, its history, licensing, authors, and more. -It also contains the [Frequently asked questions](../about/faq) section, helping answer some of the most common questions. +* **О проекте** содержит это введение, а также информацию о плагине, его истории, лицензировании, авторах и многом другом. +Он также содержит раздел [Часто задаваемые вопросы](../about/faq), помогающий ответить на некоторые из самых распространенных вопросов. -* **Getting Started** contains all necessary information on using the plug-in to make games. -It starts with a **Step by Step** tutorial which should be the entry point for all new users. -**This is the best place to start if you're new**! +* **Начало работы** содержит всю необходимую информацию по использованию плагина для создания игр. +Он начинается с **пошагового** руководства, которое должно быть отправной точкой для всех новых пользователей. +**Это лучшее место для начала, если вы новичок**! -* The **Manual** can be read or referenced as needed, in any order. -It contains feature-specific tutorials and documentation. +* **Руководство** можно читать или использовать по мере необходимости, в любом порядке. +Оно содержит руководства и документацию по конкретным функциям. -* **Contributing** provides information related to contributing back to Orchestrator, whether to the plug-in's code, documentation, examples, or other aspects. -It describes how to report bugs, how contributor workflows are organized, and more. -It also has sections intended for advanced users and contributors, with information on compiling the plug-in. +* **Участие** предоставляет информацию, связанную с внесением вклада в Orchestrator, будь то код плагина, документация, примеры или другие аспекты. +Оно описывает, как сообщать об ошибках, как организованы рабочие процессы участников и многое другое. +Также есть разделы, предназначенные для опытных пользователей и участников, с информацией о компиляции плагина. -* **Community** is dedicated to the life of the Orchestrator plug-in's community. -It refers to various community outlets and discords, and contains a list of recommended tutorials and materials beyond this documentation. +* **Сообщество** посвящено жизни сообщества плагина Orchestrator. +Он ссылается на различные сообщества и Discord-каналы, а также содержит список рекомендуемых уроков и материалов за пределами этой документации. -* The **Script Node Reference** documents each Orchestrator visual script node type, how you can use them, their purpose, and how to configure them. -This is where you should check if you don't understand a specific node or are unsure how to locate a specific node or feature. +* **Справочник по узлам скриптов** документирует каждый тип узла визуального скрипта Orchestrator, как вы можете их использовать, их назначение и как их настраивать. +Здесь следует искать, если вы не понимаете конкретный узел или не уверены, как найти конкретный узел или функцию. -In addition to this documentation, you may also want to take a look at the various Orchestrator example projects. +В дополнение к этой документации, вы также можете взглянуть на различные примеры проектов Orchestrator. -## About this documentation +## О документации -The Orchestrator community continuously writes, corrects, edits, and improves this documentation. -We are always looking for more help. -You can also contribute by opening GitHub issues or translating the documentation into your own language. -If you are interested in helping, see [Ways to contribute](../contributing/ways-to-contribute) and [Writing documentation](../contributing/writing-documentation), or get in touch with the team on Discord. +Сообщество Orchestrator постоянно пишет, исправляет, редактирует и улучшает эту документацию. +Мы всегда ищем больше помощи. +Вы также можете внести свой вклад, открывая вопросы на GitHub или переводя документацию на свой язык. +Если вы хотите помочь, смотрите [Способы участия](../contributing/ways-to-contribute) и [Написание документации](../contributing/writing-documentation), или свяжитесь с командой на Discord. -All documentation content is licensed under the permissive Creative Commons Attribution 3.0 (CC BY 3.0) license, with attribution to *"Crater Crash Studios, LLC and the community"* unless otherwise noted. +Все содержимое документации лицензировано по свободной лицензии Creative Commons Attribution 3.0 (CC BY 3.0) с указанием авторства *"Crater Crash Studios, LLC и сообщество"*, если не указано иное. + +***Приятного чтения и создания игр с Orchestrator!*** -***Have fun reading and making games with Orchestrator!*** diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/about/release-policy.md b/i18n/ru/docusaurus-plugin-content-docs/current/about/release-policy.md index 0c0d88d..5dcb696 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/about/release-policy.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/about/release-policy.md @@ -2,107 +2,108 @@ sidebar_position: 5 --- -# Release policy +# Политика релизов -Orchestrator's release policy is constantly evolving. -The description below provides a general idea of what to expect, but what may actually happen depends on multiple factors, including the needs of the community at any given moment. +Политика релизов Orchestrator постоянно развивается. +Описание ниже дает общее представление о том, чего ожидать, но фактически происходящее зависит от множества факторов, включая потребности сообщества в любой данный момент. -## Versioning +## Версионирование -Orchestrator loosely follows Semantic Versioning with a `major.minor.patch` version system. +Orchestrator вольно следует семантическому версионированию с системой версий `major.minor.patch`. -* The `major` version is incremented when major compatibility breakages happen which imply significant porting work to move projects from one major version to another. +* `major` версия увеличивается, когда происходят серьезные несовместимости, которые предполагают значительную работу по переносу проектов с одной основной версии на другую. - For example, porting Orchestrator-based projects from Orchestrator v2.x to Orchestrator v3.x requires running the project through a conversion tool, and then performing potentially a number of further adjustments manually for what the tool could not do automatically. + Например, перенос проектов, основанных на Orchestrator, с версии Orchestrator v2.x на Orchestrator v3.x требует запуска проекта через инструмент конверсии, а затем, возможно, выполнения ряда дополнительных корректировок вручную для того, что инструмент не смог сделать автоматически. -* The `minor` version is incremented for feature releases that do not break compatibility in a major way. -Minor compatibility breakage in very specific circumstances *may* happen in minor versions, but the vast majority of projects should not be affected or require significant porting work. +* `minor` версия увеличивается для релизов с новыми функциями, которые не приводят к серьезным несовместимостям. +Незначительные несовместимости в очень специфических обстоятельствах *могут* происходить в минорных версиях, но подавляющее большинство проектов не должны быть затронуты или требовать значительной работы по переносу. - This is because Orchestrator provides features that cover a vast array of Godot game engine features, like rendering, physics, and scripting. -Fixing bugs or implementing new features in one area could require changes to a feature's behavior or modifying some code aspect, even if the change remains mostly backward compatible. + Это связано с тем, что Orchestrator предоставляет функции, охватывающие широкий спектр возможностей игрового движка Godot, таких как рендеринг, физика и скриптинг. +Исправление ошибок или реализация новых функций в одной области может потребовать изменений в поведении функции или модификации некоторого аспекта кода, даже если изменение остается в основном обратно совместимым. :::tip - Upgrading to a new minor version is recommended for all users, but some testing should be done to ensure that your projects behave as expected. + Рекомендуется обновляться до новой минорной версии всем пользователям, но необходимо провести тестирование, чтобы убедиться, что ваши проекты работают как ожидалось. ::: -* The `patch`, or often referred to as maintenance or bugfix, version is incremented for maintenance releases which focus on fixing bugs, security issues, implementing new requirements, and backporting safe usable enhancements. -Patch releases are backwards compatible. +* `patch`, или часто называемая версиями обслуживания или исправления ошибок, увеличивается для выпусков обслуживания, которые фокусируются на исправлении ошибок, проблем безопасности, реализации новых требований и обратном переносе безопасных улучшений. +Patch-релизы являются обратно совместимыми. - Patch versions may include minor new features which do not impact the existing API, and thus have no risk of impacting existing projects. + Patch-версии могут включать небольшие новые функции, которые не влияют на существующий API, и, следовательно, не представляют риска для существующих проектов. :::tip - Updating to new patch versions is therefore considered safe and strongly recommended to all users. + Обновление до новых patch-версий считается безопасным и настоятельно рекомендуется всем пользователям. ::: -We call `major.minor` combinations _stable branches_. -Each stable branch starts with a `major.minor` release without the `0` for `patch`) and is further developed for maintenance releases in a Git branch of the same name (for example patch updates for the 2.0 stable branch are developed in the `2.0` Git branch). +Мы называем комбинации `major.minor` _стабильными ветками_. +Каждая стабильная ветка начинается с релиза `major.minor` без `0` для `patch`, и далее развивается для выпусков обслуживания в Git-ветке с тем же именем (например, обновления для стабильной ветки 2.0 разрабатываются в Git-ветке `2.0`). -## Release support timeline +## Таймлайн поддержки релизов -Stable branches are supported *at least* until the next stable branch is released and has received its first patch update. -In practice, we support stable branches on a *best effort* basis for as long as they have active users who need maintenance updates. +Стабильные ветки поддерживаются *как минимум* до выпуска следующей стабильной ветки и получения ею первого обновления patch. +На практике, мы поддерживаем стабильные ветки на *максимально возможных* основаниях, пока у них есть активные пользователи, которым нужны обновления обслуживания. -Whenever a new major version is released, we make the previous stable branch a long-term supported release, and do our best to provide fixes for issues encountered by users of that branch who cannot port complex projects to the new major version. +Каждый раз, когда выпускается новая основная версия, мы делаем предыдущую стабильную ветку выпуском с долгосрочной поддержкой и делаем все возможное, чтобы предоставлять исправления для проблем, с которыми сталкиваются пользователи этой ветки, которые не могут перенести сложные проекты на новую основную версию. -In a given minor release series, only the latest patch releases receives support. -If you experience an issue using an older patch release, please upgrade to the latest patch release of that series and test again before reporting issues on GitHub. +В каждой серии минорных релизов поддерживаются только последние patch-релизы. +Если у вас возникла проблема с использованием более старого patch-релиза, пожалуйста, обновитесь до последнего patch-релиза этой серии и протестируйте снова перед тем, как сообщать о проблемах на GitHub. -| Version | Release Date | Support Level | -|:------------------------|:-------------------------|:-----------------------------------------------------------------------------------------------------------------------------| -| Orchestrator 2.1 (main) | June 2024
(estimate) | *Development.* Receives new features, usability and performance improvements, as well as bug fixes, while under development. | -| Orchestrator 2.0 | March 2024 | Receives fixes for bugs and security issues, as well as patches that enable platform support and other minor features. | -| Orchestrator 1.1 | December 2023 | No longer supported. | -| Orchestrator 1.0 | August 2023 | No longer supported (last update: 1.0.5). | +| Версия | Дата релиза | Уровень поддержки | +|:-----------------------|:-------------------------|:--------------------------------------------------------------------------------------------------------------------------------| +| Orchestrator 2.1 (основная) | Июнь 2024
(оценка) | *Разработка.* Получает новые функции, улучшения удобства использования и производительности, а также исправления ошибок, пока находится в разработке. | +| Orchestrator 2.0 | Март 2024 | Получает исправления ошибок и проблем безопасности, а также патчи, которые обеспечивают поддержку платформ и другие небольшие функции. | +| Orchestrator 1.1 | Декабрь 2023 | Больше не поддерживается. | +| Orchestrator 1.0 | Август 2023 | Больше не поддерживается (последнее обновление: 1.0.5). | -Pre-release Orchestrator plug-in versions aren't intended to be used in production and are provided for testing purposes only. +Предрелизные версии плагина Orchestrator не предназначены для использования в производственных условиях и предоставляются только для тестирования. -## Which version should I use for a new project? +## Какую версию следует использовать для нового проекта? -We recommend using Orchestrator 2.0 for all new projects, as the Orchestrator 1.x series has been discontinued. +Мы рекомендуем использовать Orchestrator 2.0 для всех новых проектов, так как серия Orchestrator 1.x больше не поддерживается. -## When is the next release out? +## Когда выйдет следующий релиз? -The Orchestrator contributors do not work under any strict deadlines, but we strive to publish minor releases relatively frequently. -We generally try and focus on a three-month cadence for a minor release, starting at the first month of the calendar quarter and releasing a stable version of that minor release toward the end of the quarter. +Участники Orchestrator не работают по строгим срокам, но мы стремимся публиковать минорные релизы относительно часто. +Мы обычно стараемся придерживаться трехмесячного цикла для минорного релиза, начиная с первого месяца календарного квартала и выпуская стабильную версию этого минорного релиза к концу квартала. -For example, Orchestrator 2.0 entered pre-release review for testing at the start of January 2024, was released stable in March 2024. -In addition, Orchestrator 2.1 entered development in early April and is planned for a stable release toward the end of June 2024. +Например, Orchestrator 2.0 вошел в предрелизное рассмотрение для тестирования в начале января 2024 года, был выпущен стабильным в марте 2024 года. +Кроме того, Orchestrator 2.1 вошел в разработку в начале апреля и планируется к стабильному выпуску к концу июня 2024 года. -## What are the criteria for compatibility across versions? +## Каковы критерии совместимости между версиями? :::info -This section is intended to be used by contributors to determine which changes are safe for a given release. -This list is in no way exhaustive; it only outlines the most common situations seen during development. +Этот раздел предназначен для использования участниками, чтобы определить, какие изменения безопасны для данного релиза. +Этот список никоим образом не исчерпывающий; он только описывает наиболее распространенные ситуации, наблюдаемые во время разработки. ::: -The following are acceptable changes in patch releases: +Следующие изменения допустимы в patch-релизах: -* Fixing a bug in a way that has no major negative impact on most projects, such as a visual or physics bug. -If fixing a bug has a negative impact that could jeopardize a lot of projects, it should be made optional (using a project setting). -* Adding a new optional parameter to a method. -* Small-scale editor usability tweaks. +* Исправление ошибки таким образом, чтобы это не имело серьезного негативного влияния на большинство проектов, например, визуальной или физической ошибки. +Если исправление ошибки имеет негативное влияние, которое может поставить под угрозу многие проекты, оно должно быть сделано опциональным (используя настройку проекта). +* Добавление нового опционального параметра к методу. +* Небольшие улучшения удобства использования редактора. :::info -Note that maintainers may be more conservative with fixes in subsequent patch releases. -For instance, 2.0.1 may receive more impactful fixes than 2.0.2. +Обратите внимание, что мейнтейнеры могут быть более консервативными с исправлениями в последующих patch-релизах. +Например, 2.0.1 может получить более значительные исправления, чем 2.0.2. ::: -The following changes are acceptable in minor releases, but not patch releases: +Следующие изменения допустимы в минорных релизах, но не в patch-релизах: -* Significant new features. -* Renaming of method parameters due to integration limitations with C# and GDScript. -* Deprecating methods, variables, or classes. -This is done by adding a deprecated flag to the class reference, which should show in the editor. -When a method is marked deprecated, it's slated to be removed in the next *major* release. -* Changes that affect the default visuals. -* Bug fixes that significantly change the behavior or output, with the aim to meet user expectations better. -In comparison, in patch releases, we favor keeping buggy behavior to avoid breaking existing projects who may rely on that wrong behavior or use workarounds. -* Performance optimizations that result in visual changes. +* Значительные новые функции. +* Переименование параметров методов из-за ограничений интеграции с C# и GDScript. +* Устаревание методов, переменных или классов. +Это делается путем добавления флага устаревания в справочник классов, который должен отображаться в редакторе. +Когда метод помечен как устаревший, он планируется к удалению в следующем *основном* релизе. +* Изменения, влияющие на визуальное оформление по умолчанию. +* Исправления ошибок, которые значительно изменяют поведение или вывод, с целью лучше соответствовать ожиданиям пользователей. +Для сравнения, в patch-релизах мы предпочитаем сохранять неправильное поведение, чтобы избежать нарушения существующих проектов, которые могут полагаться на это неправильное поведение или использовать обходные пути. +* Оптимизации производительности, которые приводят к визуальным изменениям. -The following changes are considered **compatibility-breaking** and can only occur in new major releases: +Следующие изменения считаются **нарушающими совместимость** и могут происходить только в новых основных релизах: -* Renaming or removing methods, variables, or classes. -* Modifying a node's inheritance or behavior to where the node acts entirely different. -* Changing the default value of a setting in a way that affects existing projects. +* Переименование или удаление методов, переменных или классов. +* Изменение наследования или поведения узла таким образом, что узел действует совершенно иначе. +* Изменение значения настройки по умолчанию таким образом, что это влияет на существующие проекты. + +Поскольку Orchestrator 3.0 еще не был выделен в отдельную ветку, мы настоятельно не рекомендуем вносить изменения, нарушающие совместимость. -As Orchestrator 3.0 hasn't been branched off yet, we strongly discourage any compatibility breaking changes. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/about/requirements.md b/i18n/ru/docusaurus-plugin-content-docs/current/about/requirements.md index ce44596..7cf8fda 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/about/requirements.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/about/requirements.md @@ -2,21 +2,21 @@ sidebar_position: 3 --- -# System requirements +# Системные требования -This page outlines the system requirements for the Orchestrator plug-in. -These specifications are given for informative purposes only, but they can be referred to if you're looking to build or upgrade a system to use develop games using Orchestrator. +Эта страница описывает системные требования для плагина Orchestrator. +Эти спецификации предоставлены только для информационных целей, но их можно использовать, если вы планируете создать или обновить систему для разработки игр с использованием Orchestrator. ## Orchestrator -Orchestrator is a plug-in that runs inside the Godot Editor during development. -Therefore, the use of the plug-in depends solely on meeting the requirements to run the Godot Editor. +Orchestrator — это плагин, который работает внутри редактора Godot во время разработки. +Поэтому использование плагина полностью зависит от соответствия требованиям для запуска редактора Godot. -The current **minimum** specifications required to run the Godot Editor are available in the Godot documentation. +Текущие **минимальные** спецификации, необходимые для запуска редактора Godot, доступны в документации Godot. -## Exported Orchestrator project +## Экспортированный проект Orchestrator -Similarly, to use Orchestrator in an exported Godot game, the plug-in must run inside the Godot engine. -Therefore, the use of the plug-in depends solely on meeting the requirements to run the Godot engine. +Аналогично, для использования Orchestrator в экспортированной игре Godot, плагин должен работать внутри движка Godot. +Поэтому использование плагина полностью зависит от соответствия требованиям для запуска движка Godot. -The current **minimum** specifications required to run an exported Godot project are available in the Godot documentation. \ No newline at end of file +Текущие **минимальные** спецификации, необходимые для запуска экспортированного проекта Godot, доступны в документации Godot. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/community/tutorials-and-resources.md b/i18n/ru/docusaurus-plugin-content-docs/current/community/tutorials-and-resources.md index 3548440..72eb4ba 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/community/tutorials-and-resources.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/community/tutorials-and-resources.md @@ -1,17 +1,17 @@ -# Tutorials and resources +# Уроки и ресурсы -This page maintains a list of various tutorials and resources created by Crater Crash Studios and community contributors. +На этой странице содержится список различных уроков и ресурсов, созданных Crater Crash Studios и участниками сообщества. -If you believe something is missing here, submit a Pull Request. +Если вы считаете, что здесь чего-то не хватает, отправьте Pull Request. -## Tutorials +## Уроки -* Godot Documentation 2D Tutorial with Orchestrator -* Godot Documentation 3D Tutorial with Orchestrator -* [Step-By-Step Example Guide](../getting-started/step-by-step) +* Документация Godot: Урок 2D с Orchestrator +* Документация Godot: Урок 3D с Orchestrator +* [Пошаговое руководство](../getting-started/step-by-step) -## Showcase Videos +## Видеоролики -* Godot Visual Script is Back! - Credit: @Gamesfromscratch, February 2024. -* I Tried Godot VisualScript In 2024 ( And Found An Alternative ) - Credit: @Code_It_All, April 2024. +* Визуальный скрипт Godot вернулся! - Автор: @Gamesfromscratch, февраль 2024. +* Я попробовал Godot VisualScript в 2024 году (и нашел альтернативу) - Автор: @Code_It_All, апрель 2024. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/contributing/development/code-style-guidelines.md b/i18n/ru/docusaurus-plugin-content-docs/current/contributing/development/code-style-guidelines.md index 8a55ba0..7fb83bb 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/contributing/development/code-style-guidelines.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/contributing/development/code-style-guidelines.md @@ -1,84 +1,80 @@ +# Руководство по стилю кода -# Code style guidelines +При внесении вклада в исходный код Orchestrator от вас ожидается соблюдение приведенных ниже рекомендаций по стилю. +Некоторые из них проверяются с помощью непрерывной интеграции, и рецензенты могут попросить вас исправить потенциальные проблемы, поэтому, в общем, хорошей идеей будет настроить вашу систему, как указано ниже, чтобы уменьшить количество проблем с вашими коммитами на раннем этапе. -When contributing to Orchestrator's source ode, you will be expected to follow the style guidelines outlined below. -Some of them are checked via Continuous Integration and reviewers will ask that you fix potential issues, so it's generally a godo ide to set up your system as outlined below to mitigate issues with your commits early. +## C++ и Objective-C -## C++ and Objective-C +Письменных рекомендаций нет, но общий стиль кода согласован с основными разработчиками и применяется с помощью beautifier `clang-format`. +Это делает следующее для вас: -There are no written guidelines, but the code's general style is agreed upon by the core developers, and is enforced via the `clang-format` code beautifier. -This takes care of the following for you: +* Отступы и выравнивание основаны на табуляциях (соответственно один и два таба) +* Один пробел вокруг операторов соответствия и присваивания, а также после запятых +* Операторы указателей и ссылок присоединяются к имени типа, а не к идентификатору переменной +* См. ниже для включений заголовков -* Indentation and alignment are both tab based (respectively one and two tabs) -* One space around match and assignment operators, as well as after commas -* Pointer and reference operators are affixed to the type name, not the variable identifier -* See further down for header includes +Правила для clang-format изложены в файле `.clang-format` в репозитории Orchestrator на Git. -The rules for the clang-format are outlined in the `.clang-format` file in the Orchestrator Git repository. - -As long as your style matches the surrounding code and that you are not introducing trailing whitespaces or space-indentation, you should be fine. -If you plan to contribute regularly, however, we strongly advise that you set up clang-format to check and fix all your commits. +Пока ваш стиль соответствует окружающему коду и вы не вводите конечные пробелы или пробелы-отступы, все должно быть в порядке. +Однако, если вы планируете регулярно вносить вклад, настоятельно рекомендуем настроить clang-format для проверки и исправления всех ваших коммитов. :::warning -Orchestrator's code style guidelines should not be applied to third-party or external git submodule code. -In other words, it should only be applied to the files contained within the `/src` directory. +Руководство по стилю кода Orchestrator не должно применяться к коду сторонних или внешних подмодулей git. +Другими словами, оно должно применяться только к файлам, находящимся в каталоге `/src`. ::: -## File names +## Имена файлов -Use `snake_case` for file names. -Avoid using capital letters, as these are handled slightly differently across operating systems. +Используйте `snake_case` для имен файлов. +Избегайте использования заглавных букв, так как они обрабатываются по-разному в разных операционных системах. -## Header includes +## Включения заголовков -When adding new C++ or Objective-C files, or including new headers in existing ones, the following rules should be followed: +При добавлении новых файлов C++ или Objective-C или включении новых заголовков в существующие файлы, должны соблюдаться следующие правила: -* The first lines in the file should be Orchestrator's copyright header and Apache License 2.0, copy-pasted from another file. -* In a `.h` header, include guards should be used with the form `ORCHESTRATOR_FILENAME_H` or `OSCRIPT_FILENAME_H`. -* In a `.cpp` file (e.g. `filename.cpp`), the first include should be the one where the class is declared (e.g. `#include "filename.h"`), followed by an empty line for separation. -* Then come headers from Orchestrator's code base, included in alphabetical order, with paths relative to the root folder. The includes should be surrounded using quotes, e.g. `#include "core/object.h"`. -The block of Orchestrator includes should then be followed by an empty line for separation. -* Then come headers from Godot's `godot-cpp` library, included in alphabetical order. The includes should be surrounded with brackets, e.g. `#include `, followed by an empty line for separation. -* Finally, any remaining includes should be included, again using the brackets, listed in alphabetical order. +* Первые строки в файле должны содержать заголовок авторских прав Orchestrator и лицензию Apache 2.0, скопированные из другого файла. +* В заголовке `.h` должны использоваться охранители включения в форме `ORCHESTRATOR_FILENAME_H` или `OSCRIPT_FILENAME_H`. +* В файле `.cpp` (например, `filename.cpp`) первым должно быть включение, где объявлен класс (например, `#include "filename.h"`), за которым следует пустая строка для разделения. +* Затем идут заголовки из базы кода Orchestrator, включенные в алфавитном порядке, с путями относительно корневого каталога. Включения должны быть окружены кавычками, например, `#include "core/object.h"`. +Блок включений Orchestrator должен быть отделен пустой строкой. +* Затем идут заголовки из библиотеки `godot-cpp` Godot, включенные в алфавитном порядке. Включения должны быть окружены скобками, например, `#include `, за которыми следует пустая строка для разделения. +* Наконец, должны быть включены все оставшиеся заголовки, опять же используя скобки, перечисленные в алфавитном порядке. -```text title="Example Header" -// This file is part of the Godot Orchestrator project. +```text title="Пример заголовка" +// Этот файл является частью проекта Godot Orchestrator. // -// Copyright (c) 2023-present Crater Crash Studios LLC and its contributors. +// Copyright (c) 2023-настоящее время Crater Crash Studios LLC и его участники. // -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at +// Лицензировано по Apache License, версия 2.0 (далее "Лицензия"); +// вы не можете использовать этот файл, кроме как в соответствии с Лицензией. +// Вы можете получить копию Лицензии по адресу // // http://www.apache.org/licenses/LICENSE-2.0 // -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Если это не требуется по применимому законодательству или письменно согласовано, программное +// обеспечение, распространяемое по Лицензии, предоставляется "КАК ЕСТЬ", +// БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. +// См. Лицензию для получения конкретных управляющих прав и ограничений. // #ifndef ORCHESTRATOR_ABOUT_DIALOG_H ... #endif ORCHESTRATOR_ABOUT_DIALOG_H -``` -```text title="Example Implementation (cpp)" -// This file is part of the Godot Orchestrator project. + +// Этот файл является частью проекта Godot Orchestrator. // -// Copyright (c) 2023-present Crater Crash Studios LLC and its contributors. +// Copyright (c) 2023-настоящее время Crater Crash Studios LLC и его участники. // -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at +// Лицензировано по Apache License, версия 2.0 (далее "Лицензия"); +// вы не можете использовать этот файл, кроме как в соответствии с Лицензией. +// Вы можете получить копию Лицензии по адресу // // http://www.apache.org/licenses/LICENSE-2.0 // -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// Если это не требуется по применимому законодательству или письменно согласовано, программное +// обеспечение, распространяемое по Лицензии, предоставляется "КАК ЕСТЬ", +// БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. +// См. Лицензию для получения конкретных управляющих прав и ограничений. // #include "about_dialog.h" @@ -102,29 +98,29 @@ The block of Orchestrator includes should then be followed by an empty line for #include #include #include -``` -## Class names -All C++ class names should use **Pascal Case**. +## Имена классов -Additionally, there are two naming conventions that should be followed, depending on the context of the class. -Editor functionality related classes should be prefixed with `Orchestrator`. -Runtime script functionality related classes should be prefixed with `OScript`. +Все имена классов C++ должны использовать **Pascal Case**. -* **Editor Example**: `OrchestratorMainView` or `OrchestratorPlugin`. -* **Script Example**: `OScriptNodeConstant` or `OScriptNodeInitContext`. +Кроме того, существуют два соглашения об именах, которых следует придерживаться в зависимости от контекста класса. +Классы, связанные с функциональностью редактора, должны иметь префикс `Orchestrator`. +Классы, связанные с функциональностью скриптов во время выполнения, должны иметь префикс `OScript`. -As a rule of thumb, we prefer one class per file, but there are some instances where it may make sense to include multiple classes within a single file. -Please do so sparsely, preferring one class per file ideally. +* **Пример для редактора**: `OrchestratorMainView` или `OrchestratorPlugin`. +* **Пример для скрипта**: `OScriptNodeConstant` или `OScriptNodeInitContext`. -## Function and variable names +Как правило, мы предпочитаем один класс на файл, но есть случаи, когда имеет смысл включать несколько классов в один файл. +Пожалуйста, делайте это редко, предпочтительно один класс на файл. -All functions and variables should be defined using `snake_case`. -If a function or variable is not public, it should be prefixed with an underscore (`_`). +## Имена функций и переменных -Additionally, all function arguments should be prefixed with `p_` unless the value is being returned to the caller, in which case it should be prefixed with `r_`. +Все функции и переменные должны быть определены с использованием `snake_case`. +Если функция или переменная не является публичной, она должна иметь префикс подчеркивания (`_`). -```cpp title="Example" +Кроме того, все аргументы функций должны иметь префикс `p_`, если значение не возвращается вызывающему, в этом случае оно должно иметь префикс `r_`. + +```cpp title="Пример" class MyClass : public Resource { GDCLASS(MyClass, Resource) @@ -137,7 +133,7 @@ protected: public: String get_the_name() const; }; -``` + Additionally, function and variables of like scope should be grouped together. Lastly, all functions that do not override a parent class method should be documented.